@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Inter:wght@400;500;600&display=swap");

/* ============================================================
   THE RUSTIC RESERVE — SITEWIDE DESIGN SYSTEM v5
   Authoritative visual layer loaded LAST on every live page.
   Purpose: one typography, color, button, card, header, footer,
   form, calendar and utility-control language sitewide.
   Layout/functionality is intentionally preserved.
   ============================================================ */

:root{
  --rr5-black:#080806;
  --rr5-surface:#11110F;
  --rr5-surface-2:#171612;
  --rr5-ivory:#F4F0E7;
  --rr5-ivory-2:#FBF8F1;
  --rr5-ink:#27241F;
  --rr5-gold:#D8B464;
  --rr5-gold-deep:#7E672A;
  --rr5-muted-light:#BFB6A6;
  --rr5-muted-dark:#6E665A;
  --rr5-line-dark:rgba(216,180,100,.28);
  --rr5-line-light:rgba(39,36,31,.18);
  --rr5-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --rr5-sans:"Inter",Arial,Helvetica,sans-serif;
  --rr5-control-h:48px;
}

html,body{background:var(--rr5-black);}
body{font-family:var(--rr5-sans)!important;color:var(--rr5-ivory);}

/* -------- Typography hierarchy -------- */
h1,h2,
.area-hero h1,.area-group h2,.area-ending h2,
.contact-luxury-hero h1,.rr-review-card h1,.rr-vip-intro h1,
.page-shell .hero h1,.guide-card h2,
.section-top h2,.deck-story h2,.rr-airbnb-recognition h2,
.live-availability-copy h2,.direct-booking-card h3,
.room-gallery-meta strong,.sleeping-grid h3,.amenity-grid h3,
.rr-airbnb-recognition-card h3,.guest-review-card p:first-of-type,
.contact-luxury-option h2{
  font-family:var(--rr5-display)!important;
  font-weight:400!important;
}

h1 em,h2 em,.area-hero h1 em,.section-top h2 em,.deck-story h2 em{
  font-family:var(--rr5-display)!important;
  font-style:italic!important;
  font-weight:400!important;
  color:var(--rr5-gold)!important;
}

p,li,address,label,input,textarea,select,
.area-page,.guest-review-card,.reviewer-meta,.calendar-note,
.rr-calendar-note,.rr-calendar-fallback,.contact-luxury-lede,
.contact-luxury-location,.privacy-note,.rr-note{
  font-family:var(--rr5-sans)!important;
  font-weight:400!important;
}

.eyebrow,.menu-kicker,.rr-airbnb-recognition-kicker,
.contact-luxury-eyebrow,.amenities-directory-heading .eyebrow,
.area-page .eyebrow,.rr-vip-intro .eyebrow,.rr-review-card .eyebrow,
.footer-directory .eyebrow,.footer-contact>p{
  font-family:var(--rr5-sans)!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:600!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  color:var(--rr5-gold)!important;
}

/* -------- Shared dark/light palettes -------- */
.area-page,.page-shell,.contact-luxury-main,.rr-review-main,.rr-vip-main,
.photo-section,.section-wrap,.amenities,.sleeping,.rr-airbnb-recognition,
.location,.reserve,.guest-questions,.guest-comforts,.experiences{
  color:var(--rr5-ivory);
}

/* Neutralize olive/green cast on cards. */
.area-card,.guide-card,.rr-vip-card,.rr-review-card,
.contact-luxury-option,.rr-airbnb-recognition-card,
.direct-booking-card,.sleeping-grid article>div,
.package-detail,.faq-section details,.amenities-directory [data-slot="accordion-item"]{
  background:var(--rr5-surface)!important;
  border-color:var(--rr5-line-dark)!important;
  color:var(--rr5-ivory)!important;
  box-shadow:none!important;
}

.area-card:hover,.guide-card:hover,.contact-luxury-option:hover{
  background:var(--rr5-surface-2)!important;
  border-color:rgba(216,180,100,.48)!important;
}

/* Ivory review/calendar surfaces stay warm, never stark white. */
.reviews-section,.live-availability-calendar,.rr-calendar-wrap{
  background:var(--rr5-ivory)!important;
  color:var(--rr5-ink)!important;
}
.guest-review-card{
  background:var(--rr5-ivory-2)!important;
  border-color:var(--rr5-line-light)!important;
  color:var(--rr5-ink)!important;
}
.guest-review-card .reviewer-meta,.guest-review-card .reviewer-meta-line{
  color:var(--rr5-muted-dark)!important;
}
.review-card-stars,.reviewer-meta-rating{color:var(--rr5-gold-deep)!important;}

/* -------- Header: compact masthead, readable logo -------- */
@media (min-width:1101px){
  html body>header.site-header,
  html body>header.site-header[data-rr-master-header="1"]{
    height:138px!important;min-height:138px!important;max-height:138px!important;
    background:var(--rr5-black)!important;
    border-bottom:1px solid rgba(216,180,100,.42)!important;
    box-shadow:none!important;
  }
  html body>header.site-header .brand-logo,
  html body>header.site-header .brand-logo img{
    width:124px!important;height:124px!important;
    min-width:124px!important;max-width:124px!important;
    min-height:124px!important;max-height:124px!important;
    object-fit:contain!important;
  }
  html body>header.site-header .header-actions{right:38px!important;gap:27px!important;}
}

.site-header .rr-guest-help-btn,.site-header .rr-plan-btn,
.site-header .menu-trigger,.site-header .menu-label{
  font-family:var(--rr5-sans)!important;
  font-size:14px!important;font-weight:500!important;
  line-height:1!important;letter-spacing:.01em!important;text-transform:none!important;
  color:var(--rr5-ivory)!important;
}
.site-header .menu-mark>span{background:var(--rr5-gold)!important;}

/* -------- Menu drawer -------- */
#rrGlobalMenu,.menu-drawer{background:var(--rr5-black)!important;color:var(--rr5-ivory)!important;}
#rrGlobalMenu a,#rrGlobalMenu button,.menu-drawer-head p,.menu-drawer-foot p{
  font-family:var(--rr5-sans)!important;
}
.menu-drawer-nav a{font-family:var(--rr5-display)!important;font-weight:400!important;color:var(--rr5-ivory)!important;}
.menu-drawer-nav a small{font-family:var(--rr5-sans)!important;color:var(--rr5-gold)!important;font-weight:500!important;}
.menu-drawer-head p:not(.menu-kicker),.menu-drawer-foot p{color:var(--rr5-muted-light)!important;}

/* -------- One primary CTA system -------- */
a.button,button.button,.rr-review-button,.rr-vip-anchor,
.rr-pathway-button,.rr-pathway-button.secondary,
.amenities-page-link.button,.reserve-closing .button,.booking-panel .button,
.expanded-footer .rr-check-availability,[data-rr-master-footer="1"] .rr-check-availability{
  min-height:var(--rr5-control-h)!important;
  padding:0 22px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  font-family:var(--rr5-sans)!important;font-size:14px!important;font-weight:500!important;
  line-height:1!important;letter-spacing:.01em!important;text-transform:none!important;
  color:var(--rr5-ink)!important;background:var(--rr5-gold)!important;
  border:1px solid var(--rr5-gold)!important;border-radius:0!important;
  box-shadow:none!important;text-decoration:none!important;
}
a.button:hover,button.button:hover,.rr-review-button:hover,.rr-vip-anchor:hover,
.rr-pathway-button:hover,.amenities-page-link.button:hover,.reserve-closing .button:hover,
.booking-panel .button:hover,.expanded-footer .rr-check-availability:hover{
  background:#C9A85E!important;border-color:#C9A85E!important;color:var(--rr5-ink)!important;
}

/* Secondary/text action language */
.hero-secondary,.text-link,.rr-airbnb-recognition-link,.area-actions a,
.contact-luxury-option,.rr-review-back{
  font-family:var(--rr5-sans)!important;font-size:14px!important;font-weight:500!important;
  letter-spacing:.01em!important;text-transform:none!important;
}
.hero-secondary,.text-link,.rr-airbnb-recognition-link,.area-actions a:not(.button),.rr-review-back{
  color:var(--rr5-gold)!important;
  text-decoration:none!important;border-bottom:1px solid rgba(216,180,100,.72)!important;
  padding-bottom:7px!important;
}

/* -------- Homepage pathway/recognition cards -------- */
#guest-pathways .rr-pathway-button,#guest-pathways .rr-pathway-button.secondary{font-weight:500!important;}
.rr-airbnb-recognition-card{background:var(--rr5-surface)!important;}
.rr-airbnb-recognition-card h3{color:var(--rr5-ivory)!important;}
.rr-airbnb-recognition-card p{color:var(--rr5-muted-light)!important;}

/* -------- Calendar: CSS shell + widget controls -------- */
.live-availability,.rr-calendar-wrap{border-color:rgba(216,180,100,.28)!important;}
.live-availability-copy,.rr-availability-copy{color:var(--rr5-ink)!important;}
.live-availability-copy p,.rr-availability-copy p{color:var(--rr5-muted-dark)!important;}
#hostaway-calendar-widget,#rrAmenitiesAvailability,#rrReserveAvailability,
#hostaway-calendar-widget *{font-family:var(--rr5-sans)!important;}
#hostaway-calendar-widget button,#rrAmenitiesAvailability button,#rrReserveAvailability button{
  font-family:var(--rr5-sans)!important;font-weight:500!important;border-radius:0!important;
}
#hostaway-calendar-widget button{box-shadow:none!important;}

/* -------- FAQ / accordion / utility controls -------- */
.faq-section button,.faq-expand,.amenities-expand,
[data-slot="accordion-trigger"],.show-all-photos,.reviews-toggle{
  font-family:var(--rr5-sans)!important;font-size:14px!important;font-weight:500!important;
  letter-spacing:.01em!important;text-transform:none!important;
}
.faq-expand,.amenities-expand,.show-all-photos{
  border-color:rgba(216,180,100,.52)!important;color:var(--rr5-gold)!important;background:transparent!important;
}
[data-slot="accordion-trigger"]{color:var(--rr5-ivory)!important;}
.amenities-category-label{font-family:var(--rr5-display)!important;font-weight:400!important;color:var(--rr5-ivory)!important;}

/* -------- Photos/gallery -------- */
.room-gallery-meta strong{font-size:21px!important;color:var(--rr5-ivory)!important;}
.room-gallery-meta small,.gallery-photo-count{font-family:var(--rr5-sans)!important;color:var(--rr5-muted-light)!important;font-weight:400!important;}
.room-gallery-card{background:transparent!important;color:var(--rr5-ivory)!important;}

/* -------- Explore/SEO cards -------- */
.area-card h2,.area-card h3,.seo-card-title{font-family:var(--rr5-display)!important;font-weight:400!important;color:var(--rr5-ivory)!important;}
.area-card p,.area-card address,.area-card .area-phone,.area-card .area-distance{color:var(--rr5-muted-light)!important;}
.area-card a{font-family:var(--rr5-sans)!important;font-weight:500!important;}

/* -------- Contact / Review / VIP / Guest Help -------- */
.contact-luxury-option,.guide-card{border-radius:0!important;}
.contact-luxury-number,.contact-luxury-arrow,.guide-card-icon,.arrow{color:var(--rr5-gold)!important;}
.rr-review-button{width:auto!important;}
.rr-vip-frame{border-color:var(--rr5-line-dark)!important;background:var(--rr5-surface)!important;}
.guide-card p,.contact-luxury-option p,.rr-vip-card p,.rr-review-card p{color:var(--rr5-muted-light)!important;}

/* -------- Footer: one architecture and type system -------- */
.expanded-footer,[data-rr-master-footer="1"]{background:var(--rr5-black)!important;border-top:1px solid rgba(216,180,100,.34)!important;}
@media (min-width:1101px){
  .expanded-footer .footer-brand-logo,.expanded-footer .footer-brand-logo img,
  [data-rr-master-footer="1"] .footer-brand-logo,[data-rr-master-footer="1"] .footer-brand-logo img{
    width:158px!important;height:158px!important;min-width:158px!important;max-width:158px!important;
    min-height:158px!important;max-height:158px!important;object-fit:contain!important;
  }
}
.expanded-footer .footer-directory a,[data-rr-master-footer="1"] .footer-directory a{
  font-family:var(--rr5-sans)!important;font-size:14px!important;font-weight:500!important;
  line-height:1.45!important;letter-spacing:.01em!important;color:var(--rr5-ivory)!important;
}
.expanded-footer .footer-contact>p,[data-rr-master-footer="1"] .footer-contact>p{
  font-family:var(--rr5-sans)!important;font-size:12px!important;font-weight:600!important;
  letter-spacing:.13em!important;color:var(--rr5-gold)!important;
}
.expanded-footer .footer-legal p,.expanded-footer .footer-legal a{
  font-family:var(--rr5-sans)!important;font-size:11px!important;font-weight:400!important;color:var(--rr5-muted-light)!important;
}

/* -------- Mobile: preserve proven structure, unify look -------- */
@media (max-width:1100px){
  .site-header .rr-guest-help-btn,.site-header .menu-trigger,.site-header .menu-label{font-weight:500!important;}
  a.rr-mobile-plan-portal-v21{font-family:var(--rr5-sans)!important;font-weight:500!important;background:var(--rr5-gold)!important;color:var(--rr5-ink)!important;}
  .expanded-footer .footer-directory a{font-size:14px!important;}
}

@media (min-width:1101px){html body>header.site-header{height:122px!important;min-height:122px!important;max-height:122px!important}html body>header.site-header .brand-logo,html body>header.site-header .brand-logo img{width:104px!important;height:104px!important;min-width:104px!important;max-width:104px!important;min-height:104px!important;max-height:104px!important}}html body .hero .hero-actions a.button,html body footer.expanded-footer a.rr-check-availability,html body footer[data-rr-master-footer="1"] a.rr-check-availability,html body .rr-pathway-button,html body .amenities-page-link.button,html body .reserve-closing .button,html body .booking-panel .button{font-family:var(--rr5-sans)!important;font-weight:500!important;font-size:14px!important;letter-spacing:.01em!important}html body .hero .hero-secondary,html body .rr-airbnb-recognition-link,html body main a.text-link{font-family:var(--rr5-sans)!important;font-weight:500!important;font-size:14px!important}html body footer.expanded-footer .footer-directory a,html body footer[data-rr-master-footer="1"] .footer-directory a{font-family:var(--rr5-sans)!important;font-weight:500!important}html body .rr-vip-card,html body .rr-review-card,html body .guide-card,html body .contact-luxury-option,html body .rr-airbnb-recognition-card,html body .direct-booking-card,html body .package-detail,html body .area-card{background:#0F0F0D!important;border-color:rgba(216,180,100,.26)!important}

/* v5.2 FINAL SHARED UI CLEANUP */
html body header.site-header[data-rr-master-header="1"]{height:108px!important;min-height:108px!important;max-height:108px!important}html body header.site-header[data-rr-master-header="1"] .brand-logo,html body header.site-header[data-rr-master-header="1"] .brand-logo img{width:90px!important;height:90px!important;min-width:90px!important;min-height:90px!important;max-width:90px!important;max-height:90px!important}html body .hero-actions a.button,html body .hero-actions a.button *,html body .rr-pathway-button,html body .rr-pathway-button *,html body .booking-panel .button,html body .booking-panel .button *,html body .reserve-closing .button,html body .reserve-closing .button *,html body .amenities-page-link.button,html body .amenities-page-link.button *,html body footer .rr-check-availability,html body footer .rr-check-availability *,html body .rr-vip-card a,html body .rr-vip-card a *,html body .rr-review-card a,html body .rr-review-card a *{font-family:var(--rr5-sans)!important;font-weight:500!important;letter-spacing:.01em!important}html body .rr-vip-card,html body .rr-airbnb-recognition-card,html body .direct-booking-card,html body .package-detail,html body .area-card{background:#10100E!important;border-color:rgba(211,184,95,.30)!important}.rr-vip-frame{height:1220px!important;min-height:1220px!important;overflow:hidden!important}@media(max-width:760px){.rr-vip-frame{height:1500px!important;min-height:1500px!important}}


/* v5.3 PRECISION FINISH */
@media (min-width:1101px){html body header.site-header[data-rr-master-header="1"]{height:116px!important;min-height:116px!important;max-height:116px!important}html body header.site-header[data-rr-master-header="1"] .brand-logo,html body header.site-header[data-rr-master-header="1"] .brand-logo img{width:100px!important;height:100px!important;min-width:100px!important;min-height:100px!important;max-width:100px!important;max-height:100px!important}}html body a.button,html body a.button *,html body button,html body button *,html body .rr-pathway-button,html body .rr-pathway-button *,html body footer .rr-check-availability,html body footer .rr-check-availability *,html body .hero-actions a,html body .hero-actions a *,html body .booking-panel .button,html body .booking-panel .button *,html body .reserve-closing .button,html body .reserve-closing .button *{font-family:var(--rr5-sans)!important;font-weight:500!important}html body footer .rr-check-availability,html body footer .rr-check-availability *{font-size:14px!important;letter-spacing:.01em!important;color:#201d17!important}.rr-vip-frame{height:650px!important;min-height:650px!important;overflow:hidden!important}@media(max-width:760px){.rr-vip-frame{height:760px!important;min-height:760px!important}}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
