/* Visual continuity only; request state, markup and actions are unchanged. */
body { font-size: 14px; line-height: 1.55; }
.request-topbar { background: var(--paper); color: var(--ink); border-bottom: 1px solid var(--line); }
.property-brand strong { font-family: var(--display-font); font-size: 34px; font-weight: 300; letter-spacing: .03em; text-transform: uppercase; }
.property-brand span { color: var(--muted); font-size: 11px; }
.back-link { border-color: transparent; font-size: 11px; }
.back-link:hover { background: var(--panel); }
.page-heading h1 { font-family: var(--display-font); font-size: 56px; font-weight: 300; letter-spacing: 0; text-transform: uppercase; }
.request-shell { padding-top: 40px; }
h2 { font-family: var(--display-font); font-size: 30px; font-weight: 300; letter-spacing: 0; }
.section-intro, .muted, .card p, .recovery-block p { font-size: 13px; line-height: 1.6; }
button, .button { font-size: 12px; }
input, textarea { font-size: 16px; border-color: var(--control-line); }
.form-grid label { font-size: 12px; }
.card { border-color: var(--line); }
.access-panel { padding: 26px; }
.summary-panel { background: var(--panel); color: var(--ink); border: 1px solid var(--line); }
.summary-panel h2 { font-family: var(--display-font); font-size: 34px; font-weight: 300; }
.summary-grid, .request-progress li { border-color: var(--line); }
.request-progress li { color: var(--muted); }
.request-progress li.is-complete, .request-progress li[aria-current="step"] { color: var(--ink); border-color: var(--ink); }
.reference-line button { color: var(--ink); }
.reference-line button:hover { background: var(--paper-deep); }
.summary-grid dd { font-size: 16px; }
.reservation-message, .summary-grid dt { color: var(--muted); }
.reservation-message { font-size: 13px; line-height: 1.6; }
@media (max-width: 600px) {
  .property-brand strong { font-size: 28px; }
  .property-brand span { max-width: 24ch; }
  .request-shell { padding-top: 28px; }
  .page-heading h1 { font-size: 46px; }
}

/* Readable continuation of the property page; no request behavior changes. */
@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/guest-fonts/barlow-condensed-medium.ttf") format("truetype");
}
body { --paper: #101010; --panel: #191919; --muted: #b5b3ac; font-size: 17px; line-height: 1.6; }
.topbar-inner { min-height: 96px; }
.property-brand strong { font-size: 36px; font-weight: 500; letter-spacing: .035em; }
.property-brand span { font-size: 14px; line-height: 1.5; }
.back-link { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
.request-shell { padding-top: 42px; }
body[data-request-view="access"] .request-shell, body[data-request-view="loading"] .request-shell { max-width: 620px; }
.page-heading { margin-bottom: 26px; }
.page-heading h1 { font-size: clamp(48px, 5vw, 68px); font-weight: 500; line-height: 1.05; }
h2 { font-size: 32px; font-weight: 500; line-height: 1.2; }
.eyebrow { font-size: 12px; letter-spacing: .1em; }
.section-intro, .muted, .card p, .recovery-block p { font-size: 16px; line-height: 1.65; }
.section-intro { margin-bottom: 24px; }
button, .button { min-height: 48px; font-size: 16px; }
.session-tools button { min-height: 44px; font-size: 14px; }
input, textarea { min-height: 50px; font-size: 17px; padding: 12px 14px; }
textarea { min-height: 104px; }
.form-grid { gap: 20px; }
.form-grid label { font-size: 16px; gap: 9px; }
.optional { font-size: 13px; }
.access-panel { padding: 32px; }
.card { padding: 26px; }
.form-message { font-size: 16px; line-height: 1.6; }
.summary-panel { border-left: 3px solid var(--ink); padding: 26px 28px; }
.summary-panel h2 { font-size: 40px; font-weight: 500; line-height: 1.1; }
.reservation-message { font-size: 16px; line-height: 1.6; }
.status-pill { font-size: 14px; padding: 5px 10px; }
#reservation-reference { font-size: 13px; }
.reference-line button { min-height: 44px; font-size: 14px; }
.summary-grid { margin-top: 20px; padding-top: 18px; }
.summary-grid dt { font-size: 14px; }
.summary-grid dd { font-size: 22px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.request-progress { margin-top: 24px; }
.request-progress li { font-size: 14px; line-height: 1.5; padding-top: 10px; }
.request-progress li span { font-size: 12px; }
.last-updated { font-size: 13px; margin-top: 12px; margin-bottom: 24px; }
.request-columns { gap: 24px; }
.request-primary, .request-secondary { gap: 20px; }
.quote-row { font-size: 17px; line-height: 1.5; }
.quote-row.total { font-size: 26px; }
.quote-row.deposit, .deadline { font-size: 15px; }
.instructions { padding: 18px; }
.instructions h3 { font-size: 18px; }
.notice { font-size: 16px; line-height: 1.6; }
.action-card { border-color: var(--ink); }
.disclosure-card { padding: 0; }
.disclosure-card > summary { min-height: 68px; font-size: 20px; padding: 20px 22px; }
.disclosure-amount { font-size: 17px; }
.disclosure-body { padding: 0 22px 24px; }
.details-preview { margin-inline: 22px; font-size: 15px; }
.recovery-block summary, .guide-section summary { min-height: 52px; font-size: 18px; }
.guide-row strong, dt { font-size: 14px; }
.guide-row p { font-size: 17px; line-height: 1.6; }
.support-area { margin-top: 32px; }
.support-area .host-contact h2, .support-area summary { font-size: 18px; }
.support-area .host-contact-links a { min-height: 44px; font-size: 16px; }
.support-area .contact-note { font-size: 16px; line-height: 1.6; }
button, a, summary { transition: background-color 150ms ease, border-color 150ms ease; }
@media (max-width: 800px) {
  .request-columns { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .topbar-inner { align-items: flex-start; flex-direction: column; gap: 8px; padding-block: 20px 12px; }
  .property-brand strong { font-size: 32px; }
  .property-brand span { max-width: none; font-size: 14px; }
  .back-link { padding-left: 0; }
  .request-shell { padding-top: 28px; }
  .page-heading h1 { font-size: 52px; }
  .page-heading { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
  .card, .access-panel { padding: 24px 20px; }
  .summary-panel { padding: 22px 20px; }
  .summary-panel h2 { font-size: 34px; }
  .summary-grid { gap: 16px 12px; }
  .summary-grid dd { font-size: 18px; }
  .request-progress { gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .disclosure-card { padding: 0; }
  .disclosure-card > summary { padding: 18px 20px; font-size: 18px; }
  .row-actions { gap: 12px; }
  .row-actions > button { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  button, a, summary { transition: none; }
}

/* Keep the money total separate from its label on narrow phones. */
@media (max-width: 380px) {
  .quote-row.total { grid-template-columns: minmax(0, 1fr); gap: 4px; }
}

/* State, money and next action have distinct reading surfaces. */
.next-action { margin-top: 20px; padding: 16px 18px; border-left: 1px solid var(--muted); background: var(--paper); }
.next-action h3 { margin: 0 0 5px; color: var(--muted); font-family: var(--ui-font); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.next-action p { margin: 0; max-width: 70ch; font-size: 16px; }
.money-panel { margin-bottom: 24px; }
.money-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 20px 0 0; }
.money-summary:empty { display: none; }
.money-summary dt { font-size: 14px; }
.money-summary dd { font-family: var(--display-font); font-size: 30px; line-height: 1.2; font-variant-numeric: tabular-nums; }
.money-summary > div:last-child { border-left: 1px solid var(--line); padding-left: 20px; }
#money-note { font-size: 14px; }
.agreement-price { margin-top: 16px; font-weight: 600; }
.agreement-terms { white-space: pre-line; overflow-wrap: anywhere; }
#booking-history-content { display: grid; gap: 20px; }
#booking-history-content > .card { padding: 0; border: 0; background: transparent; }
#booking-history-content #offer-heading { font-size: 26px; }
#booking-history-content .disclosure-card > summary { padding-inline: 0; }
#booking-history-content .disclosure-body { padding-inline: 0; }
#booking-history-content .section-heading { gap: 8px; }
#submitted-reference { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .money-summary { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .money-summary > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: baseline; }
  .money-summary > div:last-child { border-left: 0; border-top: 1px solid var(--line); padding: 14px 0 0; }
  .money-summary dd { margin: 0; text-align: right; font-size: 26px; }
  .next-action { padding: 14px; }
}
