/* The checkout is opt-in; existing room dialogs keep their original layout. */
#room-dialog.guest-checkout-dialog {
  --gc-ink: #2d2a1c;
  --gc-olive: #555b37;
  --gc-muted: #747362;
  --gc-line: #e0dfd2;
  --gc-paper: #faf9f3;
  --gc-soft: #f1f1e7;
  width: min(1180px, calc(100vw - 48px));
  max-width: none;
  max-height: calc(100vh - 48px);
  max-height: calc(100svh - 48px);
  padding: 0;
  border: 1px solid #e6e4d8;
  border-radius: 20px;
  overflow: hidden;
  background: var(--gc-paper);
  color: var(--gc-ink);
  box-shadow: 0 28px 100px #22251535;
  font-family: var(--brand-body, Arial, sans-serif);
  font-size: 15px;
  line-height: 1.5;
}

#room-dialog.guest-checkout-dialog::backdrop {
  background: #25271f8c;
  backdrop-filter: blur(5px);
}

#room-dialog.guest-checkout-dialog *,
#room-dialog.guest-checkout-dialog *::before,
#room-dialog.guest-checkout-dialog *::after {
  box-sizing: border-box;
}

#room-dialog.guest-checkout-dialog #room-detail {
  max-height: calc(100vh - 50px);
  max-height: calc(100svh - 50px);
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scroll-padding-block: 24px;
}

#room-dialog.guest-checkout-dialog > .dialog-close {
  position: absolute;
  z-index: 5;
  top: 17px;
  right: 18px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--gc-line);
  border-radius: 50%;
  background: #faf9f3f5;
  color: var(--gc-ink);
  font-size: 25px;
  line-height: 1;
}

#room-dialog.guest-checkout-dialog :is(button, a, input, select, textarea):focus-visible {
  outline: 3px solid #959668;
  outline-offset: 3px;
}

#room-dialog.guest-checkout-dialog .gc-shell { min-width: 0; }

#room-dialog.guest-checkout-dialog .gc-header {
  padding: 24px 76px 22px 34px;
  border-bottom: 1px solid var(--gc-line);
  background: #fffef9;
}

#room-dialog.guest-checkout-dialog .gc-brand {
  color: var(--gc-olive);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  line-height: 1.5;
}

#room-dialog.guest-checkout-dialog .gc-progress {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: checkout-step;
}

#room-dialog.guest-checkout-dialog .gc-progress li {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  color: var(--gc-muted);
  font-size: 12px;
  line-height: 1.35;
  counter-increment: checkout-step;
}

#room-dialog.guest-checkout-dialog .gc-progress li::before {
  content: counter(checkout-step);
  display: grid;
  flex: 0 0 27px;
  place-items: center;
  width: 27px;
  height: 27px;
  border: 1px solid #d8d9cb;
  border-radius: 50%;
  background: var(--gc-paper);
  font-size: 12px;
  font-weight: 600;
}

#room-dialog.guest-checkout-dialog .gc-progress li.active { color: var(--gc-ink); font-weight: 600; }
#room-dialog.guest-checkout-dialog .gc-progress li.active::before { border-color: var(--gc-olive); background: var(--gc-olive); color: #fff; }
#room-dialog.guest-checkout-dialog .gc-progress li.complete { color: var(--gc-olive); }
#room-dialog.guest-checkout-dialog .gc-progress li.complete::before { content: "✓"; border-color: #d6dac4; background: #e9eddf; color: var(--gc-olive); }

#room-dialog.guest-checkout-dialog .gc-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 350px);
  align-items: start;
  gap: 32px;
  padding: 30px 34px 34px;
}

#room-dialog.guest-checkout-dialog .gc-main { min-width: 0; }
#room-dialog.guest-checkout-dialog .gc-kicker { display: block; margin-bottom: 8px; color: var(--gc-olive); font-size: 11px; font-weight: 600; letter-spacing: 1.7px; text-transform: uppercase; }
#room-dialog.guest-checkout-dialog .gc-step-title { margin: 0 0 10px; font-family: var(--brand-heading, Georgia, serif); font-size: clamp(26px, 3vw, 34px); font-weight: 400; line-height: 1.2; letter-spacing: -.5px; }
#room-dialog.guest-checkout-dialog .gc-help { margin: 0 0 22px; color: var(--gc-muted); font-size: 14px; line-height: 1.7; }

#room-dialog.guest-checkout-dialog .gc-summary {
  position: sticky;
  top: 24px;
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--gc-line);
  border-radius: 15px;
  background: #fffef9;
}

#room-dialog.guest-checkout-dialog :is(.gc-summary-compact, .gc-summary-toggle) { display: none; }
#room-dialog.guest-checkout-dialog .gc-summary-details { display: block; }
#room-dialog.guest-checkout-dialog .gc-summary-photo { display: block; width: 100%; height: 162px; margin: 0 0 17px; border-radius: 9px; object-fit: cover; background: var(--gc-soft); }
#room-dialog.guest-checkout-dialog .gc-summary-photo img { display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
#room-dialog.guest-checkout-dialog .gc-summary-property { margin: 0 0 5px; font-family: var(--brand-heading, Georgia, serif); font-size: 23px; font-weight: 400; line-height: 1.3; }
#room-dialog.guest-checkout-dialog .gc-summary-address { margin: 0; color: var(--gc-muted); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
#room-dialog.guest-checkout-dialog .gc-summary-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0 14px; padding: 15px 0; border-block: 1px solid var(--gc-line); }
#room-dialog.guest-checkout-dialog .gc-summary-dates dt { margin: 0 0 5px; color: var(--gc-muted); font-size: 11px; }
#room-dialog.guest-checkout-dialog .gc-summary-dates dd { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
#room-dialog.guest-checkout-dialog .gc-summary-room { margin: 0 0 15px; font-size: 13px; line-height: 1.7; }
#room-dialog.guest-checkout-dialog .gc-summary-room strong { display: block; font-size: 15px; }
#room-dialog.guest-checkout-dialog .gc-summary-room > span { display: block; }
#room-dialog.guest-checkout-dialog .gc-price-lines .gc-total dt { color: var(--gc-ink); font-size: 14px; font-weight: 600; }
#room-dialog.guest-checkout-dialog .gc-price-lines .gc-total dd { color: var(--gc-olive); font-size: 22px; font-weight: 600; }
#room-dialog.guest-checkout-dialog .gc-price-lines { display: grid; gap: 10px; margin: 0; padding: 15px 0; border-top: 1px solid var(--gc-line); }
#room-dialog.guest-checkout-dialog .gc-price-lines > div { display: flex; justify-content: space-between; gap: 16px; }
#room-dialog.guest-checkout-dialog .gc-price-lines dt { color: var(--gc-muted); font-size: 12px; }
#room-dialog.guest-checkout-dialog .gc-price-lines dd { margin: 0; text-align: right; font-size: 13px; font-weight: 500; font-variant-numeric: tabular-nums; }
#room-dialog.guest-checkout-dialog .gc-total { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin: 0; padding-top: 16px; border-top: 1px solid var(--gc-line); font-size: 14px; font-weight: 600; }
#room-dialog.guest-checkout-dialog .gc-total strong { color: var(--gc-olive); font-size: 24px; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
#room-dialog.guest-checkout-dialog .gc-tax-note { margin: 7px 0 0; color: var(--gc-muted); font-size: 11px; line-height: 1.65; }

#room-dialog.guest-checkout-dialog .gc-card { margin: 20px 0; padding: 22px; border: 1px solid var(--gc-line); border-radius: 12px; background: #fffefb; }
#room-dialog.guest-checkout-dialog .gc-card-heading { margin: 0 0 17px; font-family: var(--brand-heading, Georgia, serif); font-size: 21px; font-weight: 400; line-height: 1.35; }
#room-dialog.guest-checkout-dialog .gc-form { display: grid; gap: 19px; }
#room-dialog.guest-checkout-dialog .gc-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
#room-dialog.guest-checkout-dialog .gc-field { display: grid; gap: 7px; min-width: 0; }
#room-dialog.guest-checkout-dialog :is(label, .gc-field > label) { margin: 0; font-size: 13px; font-weight: 500; line-height: 1.5; }
#room-dialog.guest-checkout-dialog :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: 12px 13px; border: 1px solid #d8d8c9; border-radius: 7px; background: #fff; color: var(--gc-ink); font-family: inherit; font-size: 16px; line-height: 1.4; }
#room-dialog.guest-checkout-dialog textarea { min-height: 100px; resize: vertical; }
#room-dialog.guest-checkout-dialog :is(input, textarea)::placeholder { color: #969687; opacity: 1; }
#room-dialog.guest-checkout-dialog :is(input, select, textarea)[aria-invalid="true"] { border-color: #a85143; }
#room-dialog.guest-checkout-dialog .gc-field :is(small, .gc-help) { margin: 0; color: var(--gc-muted); font-size: 12px; line-height: 1.6; }
#room-dialog.guest-checkout-dialog .gc-check { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0; color: #5b5d4c; font-size: 13px; line-height: 1.65; }
#room-dialog.guest-checkout-dialog .gc-check input { flex: 0 0 18px; width: 18px; height: 18px; min-height: 18px; margin: 2px 0 0; padding: 0; accent-color: var(--gc-olive); }
#room-dialog.guest-checkout-dialog .gc-check a { text-decoration: underline; text-underline-offset: 3px; }

#room-dialog.guest-checkout-dialog .gc-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; }
#room-dialog.guest-checkout-dialog :is(.gc-primary, .gc-secondary) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 13px 21px; border: 1px solid transparent; border-radius: 7px; font-size: 14px; font-weight: 600; line-height: 1.45; text-align: center; text-decoration: none; cursor: pointer; }
#room-dialog.guest-checkout-dialog .gc-primary { background: var(--gc-olive); color: #fff; }
#room-dialog.guest-checkout-dialog .gc-primary:hover { background: #41472a; }
#room-dialog.guest-checkout-dialog .gc-secondary { border-color: #d5d6c7; background: transparent; color: #53563e; }
#room-dialog.guest-checkout-dialog .gc-secondary:hover { background: #eeefe3; }
#room-dialog.guest-checkout-dialog :is(.gc-primary, .gc-secondary):disabled { opacity: .5; cursor: not-allowed; }
#room-dialog.guest-checkout-dialog .gc-actions > .gc-primary:last-child { margin-left: auto; }
#room-dialog.guest-checkout-dialog .gc-footer-note { margin: 16px 0 0; color: var(--gc-muted); font-size: 11px; line-height: 1.65; }

#room-dialog.guest-checkout-dialog .gc-guest-review { display: grid; gap: 8px; margin: 0; overflow-wrap: anywhere; }
#room-dialog.guest-checkout-dialog .gc-guest-review > div { display: flex; justify-content: space-between; gap: 18px; }
#room-dialog.guest-checkout-dialog .gc-guest-review dt { color: var(--gc-muted); font-size: 13px; }
#room-dialog.guest-checkout-dialog .gc-guest-review dd { margin: 0; font-size: 14px; text-align: right; }
#room-dialog.guest-checkout-dialog .gc-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
#room-dialog.guest-checkout-dialog .gc-info-card { min-width: 0; padding: 16px; border: 1px solid var(--gc-line); border-radius: 10px; background: #f4f4eb; }
#room-dialog.guest-checkout-dialog .gc-info-card :is(h3, strong) { margin: 0 0 6px; font-size: 14px; font-weight: 600; }
#room-dialog.guest-checkout-dialog .gc-info-card p { margin: 6px 0 0; color: #6e6f5f; font-size: 12px; line-height: 1.65; }
#room-dialog.guest-checkout-dialog .gc-error { margin: 12px 0; padding: 12px 14px; border: 1px solid #ead5ce; border-radius: 8px; background: #fbf0eb; color: #914b3e; font-size: 13px; line-height: 1.6; }
#room-dialog.guest-checkout-dialog .gc-error:empty { display: none; }
#room-dialog.guest-checkout-dialog .gc-warning { margin: 18px 0; padding: 15px 17px; border: 1px solid #e8ddbf; border-radius: 9px; background: #faf5e8; color: #786137; font-size: 13px; line-height: 1.7; }
#room-dialog.guest-checkout-dialog .gc-success-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 20px; border: 1px solid #d3dcc0; border-radius: 50%; background: #e9eddf; color: var(--gc-olive); font-size: 26px; }
#room-dialog.guest-checkout-dialog .gc-booking-code { display: block; margin: 15px 0; padding: 15px 18px; border: 1px dashed #b9bba1; border-radius: 9px; background: #f4f5eb; font-size: 20px; font-weight: 600; letter-spacing: 1px; overflow-wrap: anywhere; }
#room-dialog.guest-checkout-dialog .gc-booking-code > * { display: block; }
#room-dialog.guest-checkout-dialog .gc-booking-code > span { margin-bottom: 5px; color: var(--gc-muted); font-size: 12px; letter-spacing: 0; }
#room-dialog.guest-checkout-dialog .gc-booking-code > small { margin-top: 8px; color: var(--gc-muted); font-size: 11px; font-weight: 400; letter-spacing: 0; }
#room-dialog.guest-checkout-dialog .gc-status { margin: 12px 0; color: var(--gc-olive); font-size: 13px; line-height: 1.6; }
#room-dialog.guest-checkout-dialog .gc-receipt { margin: 22px 0; padding: 22px; border: 1px solid var(--gc-line); border-radius: 12px; background: #fffef9; }
#room-dialog.guest-checkout-dialog .gc-empty { padding: 45px 26px; text-align: center; }
#room-dialog.guest-checkout-dialog .gc-empty p { margin: 14px auto 20px; max-width: 460px; color: var(--gc-muted); }

/* Existing payment markup is restyled only inside the new checkout. */
#room-dialog.guest-checkout-dialog .payment-panel { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--gc-line); }
#room-dialog.guest-checkout-dialog .payment-heading .eyebrow { color: var(--gc-olive); font-size: 10px; letter-spacing: 1.4px; }
#room-dialog.guest-checkout-dialog .payment-heading h3 { margin: 8px 0 10px; font-family: var(--brand-heading, Georgia, serif); font-size: 25px; font-weight: 400; line-height: 1.35; }
#room-dialog.guest-checkout-dialog .payment-heading p { color: var(--gc-muted); font-size: 13px; line-height: 1.7; }
#room-dialog.guest-checkout-dialog .payment-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 20px 0; }
#room-dialog.guest-checkout-dialog .payment-option { display: grid; gap: 7px; min-width: 0; min-height: 78px; padding: 15px; border: 1px solid #d6d7c6; border-radius: 9px; background: #fffef9; text-align: left; }
#room-dialog.guest-checkout-dialog .payment-option span { color: var(--gc-muted); font-size: 12px; }
#room-dialog.guest-checkout-dialog .payment-option strong { color: var(--gc-ink); font-size: 18px; font-weight: 600; overflow-wrap: anywhere; }
#room-dialog.guest-checkout-dialog .payment-option.selected { border-color: var(--gc-olive); background: #eeefe2; box-shadow: inset 0 0 0 1px var(--gc-olive); }
#room-dialog.guest-checkout-dialog .payment-transfer { display: grid; grid-template-columns: minmax(130px, 175px) minmax(0, 1fr); align-items: start; gap: 20px; padding: 18px; border: 1px solid var(--gc-line); border-radius: 11px; background: #f3f3e9; }
#room-dialog.guest-checkout-dialog .payment-transfer > img { display: block; width: 100%; height: auto; aspect-ratio: 1; padding: 5px; border-radius: 7px; background: #fff; object-fit: contain; }
#room-dialog.guest-checkout-dialog .payment-transfer dl { display: grid; gap: 10px; min-width: 0; margin: 0; }
#room-dialog.guest-checkout-dialog .payment-transfer dl > div { padding-bottom: 9px; border-bottom: 1px solid var(--gc-line); }
#room-dialog.guest-checkout-dialog .payment-transfer dl > div:last-child { padding-bottom: 0; border-bottom: 0; }
#room-dialog.guest-checkout-dialog .payment-transfer dt { margin: 0 0 3px; color: var(--gc-muted); font-size: 11px; }
#room-dialog.guest-checkout-dialog .payment-transfer dd { margin: 0; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
#room-dialog.guest-checkout-dialog .copy-payment { margin-left: 4px; padding: 6px 4px; color: var(--gc-olive); font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
#room-dialog.guest-checkout-dialog .payment-note { margin: 18px 0; padding-left: 13px; border-left: 2px solid #a3a477; color: #747052; font-size: 12px; line-height: 1.75; }
#room-dialog.guest-checkout-dialog .payment-actions { display: grid; gap: 14px; margin-top: 20px; }
#room-dialog.guest-checkout-dialog .payment-actions :is(.primary, .outline) { width: 100%; min-height: 48px; margin: 0; padding: 13px 18px; border-radius: 7px; font-size: 14px; line-height: 1.5; }
#room-dialog.guest-checkout-dialog .payment-actions .primary { background: var(--gc-olive); color: #fff; }
#room-dialog.guest-checkout-dialog .payment-actions .primary:hover { background: #41472a; }
#room-dialog.guest-checkout-dialog .payment-actions .outline { border: 1px solid #b9bba4; background: #fffef9; color: var(--gc-olive); }
#room-dialog.guest-checkout-dialog .reception-choice { display: grid; gap: 8px; }
#room-dialog.guest-checkout-dialog .reception-choice p { margin: 0; color: #7b613d; font-size: 12px; line-height: 1.7; }
#room-dialog.guest-checkout-dialog .payment-action-status { margin: 0; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
#room-dialog.guest-checkout-dialog .payment-action-status.success { padding: 13px 15px; border: 1px solid #d5ddc9; border-radius: 8px; background: #edf2e6; color: #4c6139; }

@media (max-width: 980px) {
  #room-dialog.guest-checkout-dialog .gc-layout { grid-template-columns: minmax(0, 1fr) minmax(255px, 300px); gap: 22px; padding: 26px; }
  #room-dialog.guest-checkout-dialog .gc-header { padding-left: 26px; }
  #room-dialog.guest-checkout-dialog .gc-progress { gap: 12px; }
  #room-dialog.guest-checkout-dialog .gc-summary { padding: 17px; }
  #room-dialog.guest-checkout-dialog .gc-summary-photo { height: 138px; }
  #room-dialog.guest-checkout-dialog .gc-card { padding: 18px; }
  #room-dialog.guest-checkout-dialog .gc-field-grid { grid-template-columns: 1fr; }
  #room-dialog.guest-checkout-dialog .payment-transfer { grid-template-columns: 1fr; }
  #room-dialog.guest-checkout-dialog .payment-transfer > img { width: min(220px, 100%); margin-inline: auto; }
}

@media (max-width: 760px) {
  #room-dialog.guest-checkout-dialog { inset: 0; width: 100%; height: 100vh; height: 100svh; max-height: 100vh; max-height: 100svh; margin: 0; padding: 0; border: 0; border-radius: 0; }
  #room-dialog.guest-checkout-dialog #room-detail { height: 100%; max-height: none; scrollbar-gutter: auto; scroll-padding-block: 22px; }
  #room-dialog.guest-checkout-dialog > .dialog-close { top: max(14px, env(safe-area-inset-top)); right: 15px; }
  #room-dialog.guest-checkout-dialog .gc-header { padding: calc(20px + env(safe-area-inset-top)) 65px 20px 20px; }
  #room-dialog.guest-checkout-dialog .gc-brand { font-size: 10px; letter-spacing: 1.5px; }
  #room-dialog.guest-checkout-dialog .gc-progress { gap: 10px; margin-top: 18px; }
  #room-dialog.guest-checkout-dialog .gc-progress li { flex: 1; flex-direction: column; align-items: flex-start; gap: 6px; font-size: 10px; }
  #room-dialog.guest-checkout-dialog .gc-progress li::before { flex-basis: 25px; width: 25px; height: 25px; font-size: 11px; }
  #room-dialog.guest-checkout-dialog .gc-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; padding: 20px 20px calc(28px + env(safe-area-inset-bottom)); }
  #room-dialog.guest-checkout-dialog .gc-summary { position: static; order: -1; padding: 16px; border-radius: 12px; }
  #room-dialog.guest-checkout-dialog .gc-summary-compact { display: block; }
  #room-dialog.guest-checkout-dialog .gc-summary-compact h2 { margin: 0 0 5px; color: var(--gc-ink); font-family: var(--brand-heading, Georgia, serif); font-size: 19px; font-weight: 400; line-height: 1.3; }
  #room-dialog.guest-checkout-dialog .gc-summary-compact p { margin: 0; color: var(--gc-ink); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
  #room-dialog.guest-checkout-dialog .gc-summary-compact p span { color: var(--gc-muted); }
  #room-dialog.guest-checkout-dialog .gc-summary-compact-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 9px; }
  #room-dialog.guest-checkout-dialog .gc-summary-compact-total > span { color: var(--gc-muted); font-size: 12px; }
  #room-dialog.guest-checkout-dialog .gc-summary-compact-total > strong { color: var(--gc-olive); font-size: 20px; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
  #room-dialog.guest-checkout-dialog .gc-summary-toggle { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 44px; margin: 10px 0 -8px; padding: 9px 0; border: 0; border-top: 1px solid var(--gc-line); border-radius: 0; background: transparent; color: var(--gc-olive); font: inherit; font-size: 12px; font-weight: 600; text-align: left; cursor: pointer; }
  #room-dialog.guest-checkout-dialog .gc-summary-chevron { font-size: 20px; line-height: 1; }
  #room-dialog.guest-checkout-dialog .gc-summary-toggle[aria-expanded="true"] .gc-summary-chevron { transform: rotate(180deg); }
  #room-dialog.guest-checkout-dialog .gc-summary-details { display: none; }
  #room-dialog.guest-checkout-dialog .gc-summary.is-expanded .gc-summary-details { display: flow-root; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--gc-line); }
  #room-dialog.guest-checkout-dialog .gc-summary-photo { float: left; width: 84px; height: 84px; margin: 0 14px 12px 0; border-radius: 7px; }
  #room-dialog.guest-checkout-dialog .gc-summary-property { margin-top: 2px; font-size: 20px; }
  #room-dialog.guest-checkout-dialog .gc-summary-address { font-size: 11px; }
  #room-dialog.guest-checkout-dialog .gc-summary-dates { clear: both; gap: 12px; margin: 13px 0 10px; padding: 12px 0; }
  #room-dialog.guest-checkout-dialog .gc-summary-room { margin-bottom: 10px; font-size: 12px; }
  #room-dialog.guest-checkout-dialog .gc-price-lines { gap: 7px; padding: 12px 0; }
  #room-dialog.guest-checkout-dialog .gc-total { padding-top: 12px; }
  #room-dialog.guest-checkout-dialog .gc-total strong { font-size: 22px; }
  #room-dialog.guest-checkout-dialog .gc-tax-note { font-size: 10px; }
  #room-dialog.guest-checkout-dialog .gc-step-title { font-size: 29px; }
  #room-dialog.guest-checkout-dialog .gc-help { margin-bottom: 19px; font-size: 13px; }
  #room-dialog.guest-checkout-dialog .gc-card { margin: 17px 0; padding: 18px 16px; }
  #room-dialog.guest-checkout-dialog .gc-form { gap: 17px; }
  #room-dialog.guest-checkout-dialog .gc-actions { flex-direction: column-reverse; align-items: stretch; gap: 10px; }
  #room-dialog.guest-checkout-dialog .gc-actions > :is(.gc-primary, .gc-secondary) { width: 100%; margin: 0; }
  #room-dialog.guest-checkout-dialog .gc-info-grid { gap: 10px; }
  #room-dialog.guest-checkout-dialog .gc-info-card { padding: 14px; }
  #room-dialog.guest-checkout-dialog .gc-booking-code { font-size: 18px; }
  #room-dialog.guest-checkout-dialog .gc-receipt { padding: 18px 16px; }
  #room-dialog.guest-checkout-dialog .payment-transfer { padding: 16px; }
  #room-dialog.guest-checkout-dialog .gc-empty { padding: 80px 24px 40px; }
}

@media (max-width: 380px) {
  #room-dialog.guest-checkout-dialog .gc-layout { padding-inline: 14px; }
  #room-dialog.guest-checkout-dialog .gc-header { padding-left: 16px; }
  #room-dialog.guest-checkout-dialog .gc-progress { gap: 8px; }
  #room-dialog.guest-checkout-dialog .gc-info-grid { grid-template-columns: 1fr; }
  #room-dialog.guest-checkout-dialog .payment-options { gap: 8px; }
  #room-dialog.guest-checkout-dialog .payment-option { padding: 12px; }
  #room-dialog.guest-checkout-dialog .payment-option strong { font-size: 16px; }
}
