@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;700&display=swap");

/* ============================================================
   THE RUSTIC RESERVE — SITEWIDE BRAND FOUNDATION v1
   Typography + color + navigation + footer + CTA system only.
   No structural/layout/JavaScript behavior changes.
   ============================================================ */

:root{
  --rr-brand-black:#080806;
  --rr-brand-surface:#12110f;
  --rr-brand-card:#1a1814;
  --rr-brand-ivory:#f4f0e7;
  --rr-brand-ink:#27241f;
  --rr-brand-gold:#d8b464;
  --rr-brand-gold-deep:#7e672a;
  --rr-brand-muted-light:#bfb6a6;
  --rr-brand-muted-dark:#6e665a;
  --rr-brand-line:rgba(216,180,100,.34);
  --rr-brand-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --rr-brand-sans:"Inter",Arial,Helvetica,sans-serif;
}

/* ---------- Core typography ---------- */

html body{
  font-family:var(--rr-brand-sans)!important;
  background:var(--rr-brand-black);
}

html body main,
html body main p,
html body main li,
html body main label,
html body main input,
html body main textarea,
html body main select{
  font-family:var(--rr-brand-sans)!important;
}

html body main h1,
html body main h2,
html body main h3,
html body main h4,
html body .editorial-title,
html body .section-title{
  font-family:var(--rr-brand-display)!important;
}

html body main h1,
html body main h2{
  font-weight:400!important;
  letter-spacing:-.03em!important;
}

html body main h3,
html body main h4{
  font-weight:500!important;
  letter-spacing:-.015em!important;
}

html body main h1 em,
html body main h2 em,
html body main h3 em,
html body main h1 i,
html body main h2 i,
html body main h3 i{
  font-family:var(--rr-brand-display)!important;
  font-style:italic!important;
  font-weight:400!important;
  color:var(--rr-brand-gold)!important;
}

html body .eyebrow,
html body .kicker,
html body [class*="eyebrow"],
html body [class*="kicker"]{
  font-family:var(--rr-brand-sans)!important;
  font-weight:600!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
  color:var(--rr-brand-gold)!important;
}

/* Approved light editorial sections keep the deeper refined gold. */
html body main .guest-comforts h1 em,
html body main .guest-comforts h2 em,
html body main .guest-comforts h3 em,
html body main .reviews-section h1 em,
html body main .reviews-section h2 em,
html body main .reviews-section h3 em{
  color:var(--rr-brand-gold-deep)!important;
}

/* ---------- Header ---------- */

html body header.site-header .rr-guest-help-btn,
html body header.site-header .rr-plan-btn,
html body header.site-header .menu-trigger,
html body header.site-header .menu-label{
  font-family:var(--rr-brand-sans)!important;
  font-size:14px!important;
  font-weight:500!important;
  letter-spacing:.025em!important;
  line-height:1!important;
  color:var(--rr-brand-ivory)!important;
  text-transform:none!important;
}

html body header.site-header .rr-guest-help-btn:hover,
html body header.site-header .rr-plan-btn:hover,
html body header.site-header .menu-trigger:hover,
html body header.site-header .rr-guest-help-btn:focus-visible,
html body header.site-header .rr-plan-btn:focus-visible,
html body header.site-header .menu-trigger:focus-visible{
  color:var(--rr-brand-gold)!important;
}

html body header.site-header .menu-mark span{
  background:var(--rr-brand-gold)!important;
}

/* ---------- Menu drawer ---------- */

html body #rrGlobalMenu .menu-drawer{
  background:var(--rr-brand-ivory)!important;
  color:var(--rr-brand-ink)!important;
  font-family:var(--rr-brand-sans)!important;
}

html body #rrGlobalMenu .menu-kicker{
  font-family:var(--rr-brand-sans)!important;
  color:var(--rr-brand-gold-deep)!important;
  font-weight:600!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
}

html body #rrGlobalMenu .menu-drawer-head p:not(.menu-kicker),
html body #rrGlobalMenu .menu-drawer-foot,
html body #rrGlobalMenu .menu-drawer-foot a{
  font-family:var(--rr-brand-sans)!important;
  color:var(--rr-brand-muted-dark)!important;
}

html body #rrGlobalMenu .menu-drawer-nav a{
  font-family:var(--rr-brand-sans)!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
  color:var(--rr-brand-ink)!important;
}

html body #rrGlobalMenu .menu-drawer-nav a small{
  font-family:var(--rr-brand-sans)!important;
  color:var(--rr-brand-gold-deep)!important;
  font-weight:600!important;
  letter-spacing:.08em!important;
}

html body #rrGlobalMenu .menu-drawer-nav a:hover,
html body #rrGlobalMenu .menu-drawer-nav a:focus-visible,
html body #rrGlobalMenu .menu-drawer-nav a[aria-current="page"]{
  color:var(--rr-brand-gold-deep)!important;
}

html body #rrGlobalMenu .menu-close{
  font-family:var(--rr-brand-sans)!important;
  color:var(--rr-brand-ink)!important;
}

/* ---------- Footer ---------- */

html body footer.expanded-footer,
html body footer[data-rr-master-footer="1"]{
  font-family:var(--rr-brand-sans)!important;
  background:var(--rr-brand-black)!important;
  color:var(--rr-brand-ivory)!important;
}

html body footer.expanded-footer .eyebrow,
html body footer[data-rr-master-footer="1"] .eyebrow,
html body footer.expanded-footer .footer-contact>p,
html body footer[data-rr-master-footer="1"] .footer-contact>p{
  font-family:var(--rr-brand-sans)!important;
  color:var(--rr-brand-gold)!important;
  font-weight:600!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}

html body footer.expanded-footer a:not(.button),
html body footer[data-rr-master-footer="1"] a:not(.button){
  font-family:var(--rr-brand-sans)!important;
  font-size:14px!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
  color:var(--rr-brand-ivory)!important;
}

html body footer.expanded-footer a:not(.button):hover,
html body footer[data-rr-master-footer="1"] a:not(.button):hover{
  color:var(--rr-brand-gold)!important;
}

html body footer.expanded-footer .footer-legal,
html body footer.expanded-footer .footer-legal a,
html body footer[data-rr-master-footer="1"] .footer-legal,
html body footer[data-rr-master-footer="1"] .footer-legal a{
  font-family:var(--rr-brand-sans)!important;
  color:var(--rr-brand-muted-light)!important;
  font-size:12px!important;
}

/* ---------- Unified CTA/button language ---------- */

html body a.button,
html body button.button,
html body .rr-check-availability,
html body .amenities-page-link.button,
html body .reserve-closing .button,
html body .booking-panel .button,
html body .footer-contact .button{
  font-family:var(--rr-brand-sans)!important;
  font-size:14px!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  color:var(--rr-brand-ink)!important;
  background:var(--rr-brand-gold)!important;
  border:1px solid var(--rr-brand-gold)!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-decoration:none!important;
}

html body a.button:hover,
html body button.button:hover,
html body .rr-check-availability:hover,
html body .amenities-page-link.button:hover,
html body .reserve-closing .button:hover,
html body .booking-panel .button:hover,
html body .footer-contact .button:hover{
  background:#c6a354!important;
  border-color:#c6a354!important;
  color:var(--rr-brand-ink)!important;
}

/* Dark inverse CTA for light editorial sections. */
html body .reviews-section .reviews-toggle{
  font-family:var(--rr-brand-sans)!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  background:var(--rr-brand-ink)!important;
  border:1px solid var(--rr-brand-ink)!important;
  color:var(--rr-brand-ivory)!important;
}

html body .reviews-section .reviews-toggle:hover{
  background:#171511!important;
  color:var(--rr-brand-gold)!important;
}

/* Outline/utility controls remain restrained rather than bright filled blocks. */
html body .faq-expand,
html body .show-all-photos{
  font-family:var(--rr-brand-sans)!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  background:transparent!important;
  border:1px solid var(--rr-brand-gold)!important;
  color:var(--rr-brand-ivory)!important;
  border-radius:0!important;
}

html body .faq-expand:hover,
html body .show-all-photos:hover{
  background:rgba(216,180,100,.10)!important;
  color:var(--rr-brand-gold)!important;
}

/* ---------- Text links ---------- */

html body main .text-link,
html body main a.text-link,
html body main .hero-secondary{
  font-family:var(--rr-brand-sans)!important;
  font-weight:600!important;
  color:var(--rr-brand-gold)!important;
  text-decoration-color:var(--rr-brand-gold)!important;
  text-underline-offset:5px!important;
}

html body main .text-link:hover,
html body main a.text-link:hover,
html body main .hero-secondary:hover{
  color:#e4c578!important;
}

/* ---------- Booking/calendar surface ---------- */

html body #rrReserveAvailability,
html body #rrAmenitiesAvailability{
  font-family:var(--rr-brand-sans)!important;
}

html body #rrReserveAvailability h2,
html body #rrReserveAvailability h3,
html body #rrAmenitiesAvailability h2,
html body #rrAmenitiesAvailability h3{
  font-family:var(--rr-brand-display)!important;
  color:var(--rr-brand-ink)!important;
}

html body #rrReserveAvailability .eyebrow,
html body #rrAmenitiesAvailability .eyebrow{
  color:#6f5b2e!important;
}

html body #rrReserveAvailability .button,
html body #rrAmenitiesAvailability .button{
  font-family:var(--rr-brand-sans)!important;
  background:var(--rr-brand-gold)!important;
  border-color:var(--rr-brand-gold)!important;
  color:var(--rr-brand-ink)!important;
}

/* ---------- Mobile fixed booking CTA ---------- */

html body>a.rr-mobile-plan-portal-v21{
  font-family:var(--rr-brand-sans)!important;
  font-size:18px!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  background:var(--rr-brand-gold)!important;
  color:var(--rr-brand-ink)!important;
  border-top:1px solid rgba(39,36,31,.2)!important;
}

/* Header text remains readable on narrow devices without reverting to 9px-era rules. */
@media(max-width:700px){
  html body header.site-header .rr-guest-help-btn,
  html body header.site-header .rr-plan-btn,
  html body header.site-header .menu-trigger,
  html body header.site-header .menu-label{
    font-size:11px!important;
    font-weight:600!important;
    letter-spacing:.01em!important;
  }

  html body footer.expanded-footer a:not(.button),
  html body footer[data-rr-master-footer="1"] a:not(.button){
    font-size:13px!important;
  }
}


/* ============================================================
   SITEWIDE BRAND FOUNDATION v2 — LUXURY CHROME REFINEMENT
   Desktop header + footer proportion refinements.
   Structure and JavaScript remain unchanged.
   ============================================================ */

@media (min-width:1101px){

  /* Compact luxury masthead: substantially less dead space. */
  html{
    scroll-padding-top:160px !important;
  }

  html body header.site-header,
  html body header.site-header[data-rr-master-header="1"]{
    height:148px !important;
    min-height:148px !important;
    max-height:148px !important;
    background:var(--rr-brand-black) !important;
    border-bottom:1px solid rgba(216,180,100,.42) !important;
    box-shadow:0 8px 22px rgba(0,0,0,.18) !important;
  }

  html body header.site-header .brand-logo,
  html body header.site-header[data-rr-master-header="1"] .brand-logo,
  html body header.site-header .brand-logo img,
  html body header.site-header[data-rr-master-header="1"] .brand-logo img{
    width:116px !important;
    height:116px !important;
    min-width:116px !important;
    max-width:116px !important;
    min-height:116px !important;
    max-height:116px !important;
  }

  html body header.site-header .header-actions,
  html body header.site-header[data-rr-master-header="1"] .header-actions{
    right:4.2% !important;
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    gap:26px !important;
  }

  html body header.site-header .rr-guest-help-btn,
  html body header.site-header .rr-plan-btn,
  html body header.site-header .menu-trigger,
  html body header.site-header .menu-label,
  html body header.site-header[data-rr-master-header="1"] .rr-guest-help-btn,
  html body header.site-header[data-rr-master-header="1"] .rr-plan-btn,
  html body header.site-header[data-rr-master-header="1"] .menu-trigger,
  html body header.site-header[data-rr-master-header="1"] .menu-label{
    height:42px !important;
    min-height:42px !important;
    max-height:42px !important;
    font-family:var(--rr-brand-sans) !important;
    font-size:13px !important;
    font-weight:500 !important;
    letter-spacing:.035em !important;
    color:var(--rr-brand-ivory) !important;
  }

  html body header.site-header .menu-trigger,
  html body header.site-header[data-rr-master-header="1"] .menu-trigger{
    gap:10px !important;
  }

  html body header.site-header .menu-mark,
  html body header.site-header[data-rr-master-header="1"] .menu-mark{
    width:23px !important;
    height:14px !important;
  }

  html body header.site-header .menu-mark>span,
  html body header.site-header[data-rr-master-header="1"] .menu-mark>span{
    width:23px !important;
    background:var(--rr-brand-gold) !important;
  }

  /* Footer: tighter, more architectural, same luxury typography. */
  html body footer.expanded-footer,
  html body footer.expanded-footer[data-rr-master-footer="1"]{
    background:var(--rr-brand-black) !important;
    border-top:1px solid rgba(216,180,100,.34) !important;
  }

  html body footer.expanded-footer .footer-main,
  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-main{
    width:min(1320px,90%) !important;
    max-width:1320px !important;
    padding:34px 0 28px !important;
    grid-template-columns:150px minmax(0,1fr) 270px !important;
    gap:38px !important;
  }

  html body footer.expanded-footer .footer-brand-logo,
  html body footer.expanded-footer .footer-brand-logo img,
  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-brand-logo,
  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-brand-logo img{
    width:128px !important;
    height:128px !important;
    min-width:128px !important;
    max-width:128px !important;
    min-height:128px !important;
    max-height:128px !important;
  }

  html body footer.expanded-footer .footer-directory .eyebrow,
  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-directory .eyebrow{
    margin-bottom:15px !important;
    font-family:var(--rr-brand-sans) !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:.18em !important;
  }

  html body footer.expanded-footer .rr-footer-nav-primary,
  html body footer.expanded-footer .rr-footer-nav-secondary,
  html body footer.expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-primary,
  html body footer.expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-secondary{
    gap:11px 24px !important;
  }

  html body footer.expanded-footer .footer-directory a,
  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-directory a{
    font-family:var(--rr-brand-sans) !important;
    font-size:13px !important;
    font-weight:500 !important;
    line-height:1.4 !important;
    letter-spacing:.01em !important;
  }

  html body footer.expanded-footer .footer-contact,
  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-contact{
    gap:16px !important;
  }

  html body footer.expanded-footer .footer-contact>p,
  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-contact>p{
    font-family:var(--rr-brand-sans) !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:.16em !important;
  }

  html body footer.expanded-footer .rr-check-availability,
  html body footer.expanded-footer[data-rr-master-footer="1"] .rr-check-availability{
    min-height:46px !important;
    padding:0 22px !important;
    font-family:var(--rr-brand-sans) !important;
    font-size:13px !important;
    font-weight:600 !important;
    background:var(--rr-brand-gold) !important;
    border-color:var(--rr-brand-gold) !important;
    color:var(--rr-brand-ink) !important;
  }

  html body footer.expanded-footer .footer-legal,
  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-legal{
    width:min(1320px,90%) !important;
    max-width:1320px !important;
    padding:13px 0 17px !important;
    border-top:1px solid rgba(216,180,100,.20) !important;
  }

  html body footer.expanded-footer .footer-legal p,
  html body footer.expanded-footer .footer-legal a,
  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-legal p,
  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-legal a{
    font-family:var(--rr-brand-sans) !important;
    font-size:11px !important;
    color:var(--rr-brand-muted-light) !important;
  }
}

/* Mobile/tablet header geometry remains the currently approved 88px system.
   Only typography/color language is normalized by the base foundation. */



/* ============================================================
   SITEWIDE BRAND FOUNDATION v3
   Corrective visual pass based on live desktop screenshots.
   Focus: larger logos, tighter header, uniform CTA/button system,
   consistent header/footer typography and location treatment.
   ============================================================ */

@media (min-width:1101px){
  /* Tighter than legacy 210px, but large enough for a readable brand mark. */
  html body > header.site-header,
  html body > header.site-header[data-rr-master-header="1"]{
    height:140px !important;
    min-height:140px !important;
    max-height:140px !important;
    padding:0 34px !important;
    background:var(--rr-brand-black) !important;
    border-bottom:1px solid rgba(216,180,100,.46) !important;
  }

  /* Increase logo legibility versus v2. */
  html body > header.site-header .brand-logo,
  html body > header.site-header[data-rr-master-header="1"] .brand-logo{
    width:140px !important;
    height:140px !important;
    min-width:140px !important;
    max-width:140px !important;
    min-height:140px !important;
    max-height:140px !important;
  }

  html body > header.site-header .brand-logo img,
  html body > header.site-header[data-rr-master-header="1"] .brand-logo img{
    width:140px !important;
    height:140px !important;
    min-width:140px !important;
    max-width:140px !important;
    min-height:140px !important;
    max-height:140px !important;
    object-fit:contain !important;
  }

  html body > header.site-header .header-actions,
  html body > header.site-header[data-rr-master-header="1"] .header-actions{
    right:42px !important;
    gap:28px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
  }

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

  html body > header.site-header .menu-trigger{
    gap:11px !important;
  }

  html body > header.site-header .menu-mark,
  html body > header.site-header .menu-mark > span{
    width:25px !important;
  }

  /* Larger footer logo so the wording within the mark remains legible. */
  html body footer.expanded-footer .footer-main,
  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-main{
    width:min(1380px,92%) !important;
    max-width:1380px !important;
    grid-template-columns:190px minmax(0,1fr) 300px !important;
    gap:42px !important;
    padding:38px 0 30px !important;
  }

  html body footer.expanded-footer .footer-brand-logo,
  html body footer.expanded-footer .footer-brand-logo img,
  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-brand-logo,
  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-brand-logo img{
    width:170px !important;
    height:170px !important;
    min-width:170px !important;
    max-width:170px !important;
    min-height:170px !important;
    max-height:170px !important;
    object-fit:contain !important;
  }
}

/* ---------------- One shared navigation/interface type language ---------------- */

html body header.site-header .rr-guest-help-btn,
html body header.site-header .rr-plan-btn,
html body header.site-header .menu-trigger,
html body header.site-header .menu-label,
html body #rrGlobalMenu,
html body #rrGlobalMenu a,
html body #rrGlobalMenu button,
html body footer.expanded-footer,
html body footer.expanded-footer a,
html body footer.expanded-footer p{
  font-family:var(--rr-brand-sans) !important;
}

/* Menu drawer location line uses the same supporting type language. */
html body #rrGlobalMenu .menu-drawer-head p:not(.menu-kicker){
  font-family:var(--rr-brand-sans) !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1.4 !important;
  letter-spacing:.02em !important;
  color:var(--rr-brand-muted-dark) !important;
}

/* Footer navigation: one consistent size/weight on every row. */
html body footer.expanded-footer .footer-directory a,
html body footer.expanded-footer .footer-directory a:link,
html body footer.expanded-footer .footer-directory a:visited,
html body footer[data-rr-master-footer="1"] .footer-directory a,
html body footer[data-rr-master-footer="1"] .footer-directory a:link,
html body footer[data-rr-master-footer="1"] .footer-directory a:visited{
  font-family:var(--rr-brand-sans) !important;
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  letter-spacing:.01em !important;
  color:var(--rr-brand-ivory) !important;
}

/* Footer location gets a deliberate brand treatment instead of looking unrelated. */
html body footer.expanded-footer .footer-contact > p,
html body footer[data-rr-master-footer="1"] .footer-contact > p{
  font-family:var(--rr-brand-sans) !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.4 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase !important;
  color:var(--rr-brand-gold) !important;
}

/* ---------------- Unified CTA system ---------------- */

/* Dark-surface primary CTAs — same visual language everywhere. */
html body a.button,
html body button.button,
html body .rr-pathway-button,
html body .rr-pathway-button.secondary,
html body footer.expanded-footer .rr-check-availability,
html body footer[data-rr-master-footer="1"] .rr-check-availability,
html body .amenities-page-link.button,
html body .reserve-closing .button,
html body .booking-panel .button,
html body #rrReserveAvailability .button,
html body #rrAmenitiesAvailability .button{
  font-family:var(--rr-brand-sans) !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
  text-transform:none !important;
  min-height:48px !important;
  padding:0 22px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  background:var(--rr-brand-gold) !important;
  border:1px solid var(--rr-brand-gold) !important;
  color:var(--rr-brand-ink) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

html body a.button:hover,
html body button.button:hover,
html body .rr-pathway-button:hover,
html body .rr-pathway-button.secondary:hover,
html body footer.expanded-footer .rr-check-availability:hover,
html body footer[data-rr-master-footer="1"] .rr-check-availability:hover,
html body .amenities-page-link.button:hover,
html body .reserve-closing .button:hover,
html body .booking-panel .button:hover,
html body #rrReserveAvailability .button:hover,
html body #rrAmenitiesAvailability .button:hover{
  background:#c6a354 !important;
  border-color:#c6a354 !important;
  color:var(--rr-brand-ink) !important;
}

/* Ivory-section action remains the intentional inverse of the primary CTA. */
html body .reviews-section .reviews-toggle{
  font-family:var(--rr-brand-sans) !important;
  font-size:14px !important;
  font-weight:600 !important;
  min-height:48px !important;
  padding:0 22px !important;
  background:var(--rr-brand-ink) !important;
  border:1px solid var(--rr-brand-ink) !important;
  color:var(--rr-brand-ivory) !important;
  border-radius:0 !important;
}

/* Homepage pathway cards now use the same button design, not two competing styles. */
html body #guest-pathways .rr-pathway-button,
html body #guest-pathways .rr-pathway-button.secondary{
  margin-top:auto !important;
  background:var(--rr-brand-gold) !important;
  border:1px solid var(--rr-brand-gold) !important;
  color:var(--rr-brand-ink) !important;
  font-family:var(--rr-brand-sans) !important;
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
}

/* Mobile keeps the proven 88px header geometry but improves logo legibility slightly. */
@media (max-width:1100px){
  html body header.site-header .rr-guest-help-btn{
    font-family:var(--rr-brand-sans) !important;
    font-weight:600 !important;
  }

  html body > a.rr-mobile-plan-portal-v21{
    font-family:var(--rr-brand-sans) !important;
    font-weight:600 !important;
    background:var(--rr-brand-gold) !important;
    color:var(--rr-brand-ink) !important;
  }
}



/* ============================================================
   SITEWIDE BRAND FOUNDATION v4
   Final interface-normalization pass after detailed live review.
   ============================================================ */

/* One interface weight everywhere: navigation, buttons, utility links. */
html body header.site-header .rr-guest-help-btn,
html body header.site-header .rr-plan-btn,
html body header.site-header .menu-trigger,
html body header.site-header .menu-label,
html body footer.expanded-footer .footer-directory a,
html body footer[data-rr-master-footer="1"] .footer-directory a,
html body footer.expanded-footer .rr-check-availability,
html body footer[data-rr-master-footer="1"] .rr-check-availability,
html body a.button,
html body button.button,
html body .rr-pathway-button,
html body .amenities-page-link.button,
html body .reserve-closing .button,
html body .booking-panel .button,
html body .hero-secondary,
html body main .text-link,
html body main a.text-link{
  font-family:var(--rr-brand-sans)!important;
  font-weight:500!important;
  letter-spacing:.01em!important;
}

/* Primary CTA labels must all match — no footer/hero weight mismatch. */
html body .hero .button,
html body footer.expanded-footer .rr-check-availability,
html body footer[data-rr-master-footer="1"] .rr-check-availability,
html body #guest-pathways .rr-pathway-button,
html body #guest-pathways .rr-pathway-button.secondary,
html body .amenities-page-link.button,
html body .reserve-closing .button,
html body .booking-panel .button{
  font-size:14px!important;
  font-weight:500!important;
  line-height:1!important;
  min-height:48px!important;
  padding:0 22px!important;
  background:var(--rr-brand-gold)!important;
  border:1px solid var(--rr-brand-gold)!important;
  color:var(--rr-brand-ink)!important;
}

/* Secondary text links: same font weight and underline treatment. */
html body .hero-secondary,
html body main .text-link,
html body main a.text-link,
html body .recognition-link,
html body .location a:not(.button),
html body .deck-story a:not(.button){
  font-size:14px!important;
  font-weight:500!important;
  color:var(--rr-brand-gold)!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:6px!important;
}

/* Footer location label: reduce heaviness while keeping luxury tracking. */
html body footer.expanded-footer .footer-contact>p,
html body footer[data-rr-master-footer="1"] .footer-contact>p{
  font-weight:500!important;
  letter-spacing:.10em!important;
}

/* FAQ and gallery utility controls use the same interface weight. */
html body .faq-expand,
html body .show-all-photos,
html body .reviews-section .reviews-toggle{
  font-family:var(--rr-brand-sans)!important;
  font-weight:500!important;
}

/* Calendar shell and controls: unified typography and calmer border treatment. */
html body #rrReserveAvailability,
html body #rrAmenitiesAvailability,
html body .live-availability-calendar,
html body .hostaway-calendar-widget{
  font-family:var(--rr-brand-sans)!important;
}

html body #rrReserveAvailability button,
html body #rrAmenitiesAvailability button,
html body .live-availability-calendar button,
html body .hostaway-calendar-widget button{
  font-family:var(--rr-brand-sans)!important;
  font-weight:500!important;
}

html body #rrReserveAvailability,
html body #rrAmenitiesAvailability{
  border-color:rgba(126,103,42,.34)!important;
}

html body #rrReserveAvailability .button,
html body #rrAmenitiesAvailability .button{
  background:var(--rr-brand-gold)!important;
  border-color:var(--rr-brand-gold)!important;
  color:var(--rr-brand-ink)!important;
  font-weight:500!important;
}

/* Clear-date / outline calendar control: refined deep-gold border rather than bright yellow. */
html body #rrReserveAvailability button:not(.button),
html body #rrAmenitiesAvailability button:not(.button){
  border-color:rgba(126,103,42,.50)!important;
  color:var(--rr-brand-ink)!important;
}

/* Desktop footer navigation hit area */
@media (min-width:1101px){
  html body footer.expanded-footer .rr-footer-column-links a,
  html body footer[data-rr-master-footer="1"] .rr-footer-column-links a{
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:30px !important;
    padding:5px 0 !important;
    box-sizing:border-box !important;
    cursor:pointer !important;
  }
}

/* Hostaway disabled calendar dates: WCAG contrast */
html body .live-availability-calendar [class*="CalendarDay"][disabled] {
  color: rgba(39, 36, 31, 0.65);
}
