/* Guest-only presentation. Shared dashboard CSS and transactional emails stay unchanged.
   Original Adobe Source Sans 3 variable files, license in assets/fonts/SourceSans3-OFL.txt. */
:root {  --gold: #e4c64e; }
body { font-size: 17px; }
/* Logo-sampled gold with a restrained shine, requested by the owner. */
.hero h1 em, .luminous-gold { background-image: none; color: #f6e168; }
@supports (background-clip: text) {
 .hero h1 em, .luminous-gold {
  background-image: linear-gradient(110deg, #e4c64e 0%, #f6e168 38%, #fef786 48%, #efd655 70%, #f6e168 100%);
  background-clip: text; -webkit-background-clip: text; color: transparent;
 }
}
.brand-cta { color: #f6e168; border-color: #f6e168; font-size: 16px; }
.brand-cta:hover { background-color: rgb(228 198 78 / 8%); }
.brand-cta:focus-visible { outline-color: #f6e168; }
.location-map-link .cta-arrow { color: #f6e168; }
/* Preserve complete images and stable gallery geometry, without lavender bars. */
.photo-track { background: var(--cream); }
/* Readable hierarchy: main copy, supporting text, then small nonessential labels. */
.hero-description { font-size: 18px; }
.hero-note { font-size: 14px; }
.welcome-copy p { font-size: 17px; }
/* Start the welcome story and window at one shared desktop baseline. */
@media (min-width: 641px) {
 .welcome { align-items: start; }
 .welcome-story > .eyebrow { margin-top: 0; }
}
.faqs summary { font-size: 16px; min-height: 28px; align-items: center; }
.faqs details p { font-size: 16px; line-height: 1.75; }
.site-footer p, .site-footer .contact-link { font-size: 15px; }
.site-footer .footer-note { font-size: 14px; line-height: 1.65; }
.site-footer .text-button { font-size: 15px; min-height: 44px; }
.reviews-note, .catalog-note, .valley-card figcaption span { font-size: 13px; }
.guest-quote figcaption, .review-rating-source { font-size: 14px; }
.guest-quote .review-context { font-size: 16px; line-height: 1.7; }
/* Share quote, summary and attribution rows across the desktop review columns.
   Row heights follow the longest text instead of relying on fixed spacers. */
@media (min-width: 641px) {
 @supports (grid-template-rows: subgrid) {
  .guest-quotes { grid-template-rows: auto auto auto; }
  .guest-quote { display: grid; grid-template-rows: subgrid; grid-row: span 3; }
 }
}
.stay-comforts > p, .room-highlights li, .location-photo figcaption { font-size: 14px; }
.room-amenities dl { font-size: 16px; }
.valley-motion, .valley-controls label, .valley-controls .text-button { font-size: 14px; }
/* Forms and dialogs retain their original controls and state behavior. */
.request-intro > p:not(.eyebrow) { font-size: 17px; }
.request-intro .request-note { font-size: 15px !important; }
.required-note, .availability-note, .estimate-note, .form-footnote, .field-help { font-size: 14px; }
.field label, .checkbox-label, .availability-status, .form-error { font-size: 16px; }
.field label span { font-size: 13px; }
.field input, .field textarea, .field select { font-size: 16px; }
.field input::placeholder, .field textarea::placeholder { font-size: 15px; color: var(--muted); }
#stay-estimate { font-size: 16px; }
#review-dialog p, #success-dialog p { font-size: 16px; }
#review-dialog .eyebrow, #success-dialog .eyebrow { font-size: 12px; }
#success-dialog .receipt-note { font-size: 14px; }
#review-dialog .summary-row dt, #review-dialog .summary-row dd { font-size: 16px; line-height: 1.6; }
#review-dialog .summary-row dd, #success-dialog .receipt-details > div { font-size: 16px; }
#review-dialog .confirmation-note { font-size: 14px !important; }
#review-dialog .review-policy summary, #review-dialog label, .success-actions { font-size: 15px; }
/* Increase desktop presence only; keep mobile artwork within its existing frame. */
@media (min-width: 1000px) { .valley-frame { max-width: 410px; } }
@media (max-width: 640px) {
 .hero-description { font-size: 17px; }
 .hero-note { font-size: 14px; }
 .guest-quote .review-context { font-size: 16px; }
 .comforts-list li { font-size: 15px; }
 .site-footer { gap: 22px; }
}
@media (forced-colors: active) {
 .hero h1 em, .luminous-gold { background-image: none; color: CanvasText; }
 .brand-cta { color: LinkText; border-color: LinkText; }
}

/* Keep important facts clear without adding emphasis to longer notes. */
.stay-price-breakdown dd { font-weight: 600; }
#review-dialog .summary-row dd strong { font-weight: 700; }
.success-actions a { display: inline-flex; align-items: center; gap: 8px; }

/* Give booking information the same reading size and touch controls as the journey. */
#privacy-dialog { width: min(620px, calc(100% - 32px)); }
#privacy-dialog p { font-size: 16px; line-height: 1.7; }
#privacy-dialog .eyebrow { font-size: 12px; }
.close-dialog { min-width: 44px; min-height: 44px; }
@media (max-width: 640px) {
 #privacy-dialog { padding: 36px 22px 26px; }
 #privacy-dialog h2 { font-size: 31px; }
}
