/* THE RUSTIC RESERVE — FINAL LUXURY SYSTEM v1 */
:root{--rr-final-black:#080806;--rr-final-charcoal:#10100e;--rr-final-ivory:#f4f0e7;--rr-final-gold:#d8b464;--rr-final-gold-muted:#8e7a52;--rr-final-ink:#27241f;}
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 *{font-family:Inter,Arial,sans-serif!important;font-size:13px!important;font-weight:500!important;letter-spacing:.01em!important;text-transform:none!important;color:var(--rr-final-ink)!important}
html body .hero-actions a.button,html body .rr-pathway-button,html body .booking-panel .button,html body .reserve-closing .button,html body .amenities-page-link.button,html body footer .rr-check-availability{background:var(--rr-final-gold)!important;border-color:var(--rr-final-gold)!important}
html body footer .rr-check-availability strong,html body footer .rr-check-availability b,html body footer .rr-check-availability span{font-weight:500!important}

/* =========================================================

/* =========================================================
   THE RUSTIC RESERVE — AUTHORITATIVE SHARED UI
   Header / Footer / Navigation / Shared CTAs
   ========================================================= */

:root{
  --rr-final-black:#080806;
  --rr-final-ivory:#f4f0e7;
  --rr-final-gold:#d8b464;
  --rr-final-gold-muted:#8e7a52;
  --rr-final-ink:#27241f;
  --rr-final-content:1280px;
  --rr-final-serif:Georgia,"Times New Roman",serif;
  --rr-final-sans:Inter,Arial,Helvetica,sans-serif;
}

/* ---------- DESKTOP HEADER ---------- */

@media (min-width:1101px){

  html body header.site-header[data-rr-master-header="1"]{
    position:sticky!important;
    top:0!important;
    z-index:12000!important;
    height:184px!important;
    min-height:184px!important;
    max-height:184px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    background:var(--rr-final-black)!important;
    border-bottom:1px solid rgba(216,180,100,.32)!important;
  }

  /*
     The logo is positioned from the same 1280px content line
     used by the footer. This makes the two left edges identical.
  */
  html body header.site-header[data-rr-master-header="1"] .brand-logo{
    position:absolute!important;
    left:max(28px,calc((100vw - var(--rr-final-content))/2))!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:block!important;
    width:160px!important;
    height:160px!important;
    min-width:160px!important;
    max-width:160px!important;
    min-height:160px!important;
    max-height:160px!important;
    margin:0!important;
    padding:0!important;
  background:transparent!important;
  }

  html body header.site-header[data-rr-master-header="1"] .brand-logo img{
    display:block!important;
    width:160px!important;
    height:160px!important;
    min-width:160px!important;
    max-width:160px!important;
    min-height:160px!important;
    max-height:160px!important;
    object-fit:contain!important;
    margin:0!important;
  }

  /* Old desktop Guest Help / Plan / hamburger controls */
  html body header.site-header[data-rr-master-header="1"] .header-actions{
    display:none!important;
  }

  /*
     Runtime desktop navigation is centered in the viewport,
     independently of the logo.
  */
  html body .rr-final-desktop-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:22px!important;
    margin:0!important;
    padding:0!important;
    white-space:nowrap!important;
    left:50%;
    top:50%;
    width:min(var(--rr-final-content),calc(100% - 56px));
    transform:translate(-50%,-50%);
}

html body .rr-final-desktop-nav .rr-book-stay{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);

  }

  /* ---------- ONE NAVIGATION TYPE SYSTEM ---------- */

  html body .rr-final-desktop-nav a:not(.button),
  html body footer.expanded-footer .rr-footer-column-links a{
    font-family:var(--rr-final-serif)!important;
    font-size:15px!important;
    font-style:normal!important;
    font-weight:400!important;
    line-height:1.15!important;
    letter-spacing:0!important;
    text-transform:none!important;
    text-decoration:none!important;
    color:var(--rr-final-ivory)!important;
  }

  html body .rr-final-desktop-nav a:not(.button):hover,
  html body footer.expanded-footer .rr-footer-column-links a:hover{
    color:var(--rr-final-gold)!important;
  }

  /* ---------- FOOTER GEOMETRY ---------- */

  html body footer.expanded-footer[data-rr-master-footer="1"]{
    display:block!important;
    width:100%!important;
    padding:0!important;
    background:var(--rr-final-black)!important;
  }

  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-main{
    width:min(var(--rr-final-content),calc(100% - 56px))!important;
    margin:0 auto!important;
    padding:34px 0!important;
    box-sizing:border-box!important;
    display:grid!important;
    grid-template-columns:160px minmax(0,1fr) 220px!important;
    grid-template-areas:"logo nav contact"!important;
    column-gap:48px!important;
    align-items:center!important;
  }

  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-brand-logo{
    grid-area:logo!important;
    position:static!important;
    transform:none!important;
    justify-self:start!important;
    align-self:center!important;
    display:block!important;
    width:160px!important;
    height:160px!important;
    min-width:160px!important;
    max-width:160px!important;
    min-height:160px!important;
    max-height:160px!important;
    margin:0!important;
    padding:0!important;
  background:transparent!important;
  }

  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-brand-logo img{
    display:block!important;
    width:160px!important;
    height:160px!important;
    min-width:160px!important;
    max-width:160px!important;
    min-height:160px!important;
    max-height:160px!important;
    object-fit:contain!important;
    margin:0!important;
    padding:0!important;
  background:transparent!important;
  }

  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-directory{
    min-width:0!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:32px!important;
    align-items:start!important;
    width:100%!important;
    margin:0!important;
}

  html body footer.expanded-footer[data-rr-master-footer="1"] .rr-footer-column-heading{
    margin:0 0 16px!important;
    text-align:left!important;
  }

  html body footer.expanded-footer[data-rr-master-footer="1"] .rr-footer-column-links{
    min-width:0!important;
    max-width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:9px!important;
    width:100%!important;
    margin:0!important;
}

  html body footer.expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-secondary{
    margin-top:14px!important;
  }

  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-contact{
    width:100%!important;
    justify-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    text-align:right!important;
    grid-column:3!important;
    justify-self:end!important;
    grid-area:contact!important;
    position:static!important;
    transform:none!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
    padding:0!important;
  }

  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-legal{
    width:min(var(--rr-final-content),calc(100% - 56px))!important;
    margin:0 auto!important;
    padding:16px 0 18px!important;
    box-sizing:border-box!important;
  }

  /* ---------- SHARED GOLD CTA BUTTONS ---------- */

  html body .rr-pathway-button,
  html body footer.expanded-footer a.button.small.rr-check-availability{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    min-height:46px!important;
    padding:0 22px!important;
    border:1px solid var(--rr-final-gold)!important;
    border-radius:0!important;
    background:var(--rr-final-gold)!important;
    color:var(--rr-final-ink)!important;
    font-family:var(--rr-final-sans)!important;
    font-size:13px!important;
    font-style:normal!important;
    font-weight:400!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    text-transform:none!important;
    text-decoration:none!important;
  }

  html body footer.expanded-footer a.button.small.rr-check-availability::after{
    content:"↗";
    font-family:var(--rr-final-sans)!important;
    font-size:13px!important;
    font-weight:400!important;
  }
}


/* ---------- TABLET + PHONE ---------- */

@media (max-width:1100px){

  html body{
    background:var(--rr-final-black)!important;
    color:var(--rr-final-ivory)!important;
  }

  html body .rr-final-desktop-nav{
    display:none!important;
  }


  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-label{
    font-family:var(--rr-final-serif)!important;
    font-size:13px!important;
    font-weight:400!important;
    font-style:normal!important;
    letter-spacing:0!important;
    text-transform:none!important;
    color:var(--rr-final-ivory)!important;
    text-decoration:none!important;
  }

  html body header.site-header[data-rr-master-header="1"] .menu-label{
    display:inline!important;
  }

  html body header.site-header[data-rr-master-header="1"] .menu-trigger{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

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

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

  html body .button,
  html body .rr-pathway-button,
  html body .booking-panel .button,
  html body .reserve-closing .button,
  html body .amenities-page-link.button,
  html body footer .rr-check-availability{
    font-family:var(--rr-final-sans)!important;
    font-size:13px!important;
    font-weight:400!important;
    letter-spacing:.01em!important;
  }

  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-main{
    width:calc(100% - 32px)!important;
    margin:0 auto!important;
    padding:30px 0!important;
    display:grid!important;
    grid-template-columns:180px minmax(0,1fr) 280px!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:56px!important;
  }


  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-directory{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:28px!important;
    align-items:start!important;
    margin:0!important;
}

  html body footer.expanded-footer[data-rr-master-footer="1"] .rr-footer-column-links{
    min-width:0!important;
    max-width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    margin:0!important;
}

  html body footer.expanded-footer[data-rr-master-footer="1"] .rr-footer-column-links a{
    font-family:var(--rr-final-serif)!important;
    font-size:13px!important;
    font-weight:400!important;
    letter-spacing:0!important;
    color:var(--rr-final-ivory)!important;
  }

  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-contact{
    width:100%!important;
    justify-self:stretch!important;
    display:none!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    text-align:right!important;
    grid-column:3!important;
    justify-self:end!important;
    position:static!important;
    transform:none!important;
    margin:0!important;
    text-align:center!important;
  }

  html body footer.expanded-footer[data-rr-master-footer="1"] .footer-legal{
    width:calc(100% - 32px)!important;
    margin:0 auto!important;
    padding:16px 0 calc(18px + env(safe-area-inset-bottom))!important;
  }
}

@media (max-width:600px){
  html body header.site-header[data-rr-master-header="1"]{
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    grid-template-columns:minmax(62px,1fr) 82px minmax(128px,1fr)!important;
    padding:0 10px!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:80px!important;
    height:80px!important;
    min-width:80px!important;
    max-width:80px!important;
    min-height:80px!important;
    max-height:80px!important;
  }

  html body header.site-header[data-rr-master-header="1"] .header-actions{
    gap:8px!important;
  }

  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-label{
    font-size:11px!important;
  }
}

/* ---------- HOSTAWAY PRIMARY BRAND COLOR ---------- */

/*
   The widget is real DOM, so these values remain in force after
   widget re-renders unless Hostaway writes a more-specific inline
   !important style.
*/
html body #hostaway-calendar-widget{
  --rr-calendar-gold:var(--rr-final-gold);
  --rr-calendar-ink:var(--rr-final-ink);
}


/* ---------- HOSTAWAY PRIMARY ACTION BUTTON ---------- */

html body #hostaway-calendar-widget button,
html body #hostaway-calendar-widget [role="button"]{
  font-family:var(--rr-final-sans)!important;
  font-size:13px!important;
  font-style:normal!important;
  font-weight:400!important;
  letter-spacing:.01em!important;
}

/* Primary reservation action */
html body #hostaway-calendar-widget button:last-of-type{
  background:var(--rr-final-gold)!important;
  border-color:var(--rr-final-gold)!important;
  color:var(--rr-final-ink)!important;
  font-family:var(--rr-final-sans)!important;
  font-size:13px!important;
  font-weight:400!important;
  letter-spacing:.01em!important;
}

/* Clear Dates remains outlined */
html body #hostaway-calendar-widget button:first-of-type{
  background:transparent!important;
  border-color:var(--rr-final-gold)!important;
  color:var(--rr-final-ink)!important;
  font-family:var(--rr-final-sans)!important;
  font-size:13px!important;
  font-weight:400!important;
  letter-spacing:.01em!important;
}

/* ---------- AUTHORITATIVE MOBILE FIXED CTA ---------- */
@media (max-width:1100px){

  html body a.rr-mobile-plan-portal-v20[href*="#reserve"],html body a.rr-mobile-plan-portal-v21[href*="#reserve"]{
    position:fixed!important;
    left:50%!important;
    right:auto!important;
    bottom:var(--rr-mobile-cta-bottom,-17px)!important;
    top:auto!important;transform:translateX(-50%)!important;
    z-index:2147483000!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;

    width:76%!important;
    min-width:0!important;
    max-width:300px!important;

    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;

    margin:0!important;
    padding:0 16px!important;

    background:var(--rr-final-gold)!important;
    color:var(--rr-final-ink)!important;

    border:0!important;
    border-top:1px solid rgba(216,180,100,.55)!important;
    border-radius:8px!important;

    box-shadow:0 -8px 24px rgba(0,0,0,.24)!important;

    font-family:var(--rr-final-sans)!important;
    font-size:13px!important;
    font-style:normal!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    text-transform:none!important;
    text-decoration:none!important;
  }

  html body.rr-menu-open a.rr-mobile-plan-portal-v20[href*="#reserve"]{
    display:none!important;
  }

  html body{
    padding-bottom:calc(56px + env(safe-area-inset-bottom))!important;
  }

  html body header.site-header[data-rr-master-header="1"] .rr-guest-help-btn{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
    padding:0!important;
    font-weight:400!important;
  }

  html body footer.expanded-footer[data-rr-master-footer="1"] .rr-check-availability{
    font-family:var(--rr-final-sans)!important;
    font-size:13px!important;
    font-weight:400!important;
    letter-spacing:.01em!important;
    text-transform:none!important;
  }
}

/* =========================================================

/* =========================================================

/* =========================================================
   FINAL MOBILE HEADER GEOMETRY
   ========================================================= */
@media (max-width:1100px){

  html body header.site-header[data-rr-master-header="1"]{
    position:fixed!important;
    top:0!important;
    z-index:12000!important;

    height:88px!important;
    min-height:88px!important;
    max-height:88px!important;

    display:grid!important;
    grid-template-columns:minmax(72px,1fr) 92px minmax(118px,1fr)!important;
    align-items:center!important;

    padding:0 14px!important;
    box-sizing:border-box!important;

    background:var(--rr-final-black)!important;
    border-bottom:-17px!important;
  }

  /* Exact 160px logo — same scale as footer */
  html body header.site-header[data-rr-master-header="1"] .brand-logo{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:center!important;
    align-self:center!important;

    position:static!important;
    inset:auto!important;
    transform:none!important;

    display:block!important;

    width:88px!important;
    height:88px!important;
    min-width:88px!important;
    min-height:88px!important;
    max-width:88px!important;
    max-height:88px!important;

    margin:0!important;
    padding:0!important;
  }
html body footer.expanded-footer[data-rr-master-footer="1"] .footer-brand-logo{
    display:none!important;
}

  html body header.site-header[data-rr-master-header="1"] .brand-logo img{
    display:block!important;
    width:88px!important;
    height:88px!important;
    min-width:88px!important;
    min-height:88px!important;
    max-width:88px!important;
    max-height:88px!important;
    object-fit:contain!important;
    margin:0!important;
    padding:0!important;
  }

  /* Let Guest Help and MENU sit independently around centered logo */
  html body header.site-header[data-rr-master-header="1"] .header-actions{
    display:contents!important;
  }

  /* Guest Help — left side */
  html body header.site-header[data-rr-master-header="1"] .rr-guest-help-btn,
  html body header.site-header[data-rr-master-header="1"] .header-actions>a[href^="/guest-help"]{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:center!important;

    position:static!important;
    inset:auto!important;
    transform:translateY(8px)!important;

    width:auto!important;
    height:auto!important;
    min-width:0!important;
    min-height:0!important;
    max-width:none!important;
    max-height:none!important;

    margin:0!important;
    padding:0!important;

    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;

    color:var(--rr-ivory)!important;

    font-size:.68rem!important;
    font-weight:600!important;
    line-height:1.1!important;
    letter-spacing:.17em!important;
    text-transform:uppercase!important;
    text-decoration:none!important;
    white-space:nowrap!important;
}

html body .rr-final-desktop-nav .rr-book-stay{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);

  }

  /* MENU — right side */
  html body header.site-header[data-rr-master-header="1"] .menu-trigger{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;

    position:static!important;
    inset:auto!important;
    transform:translateY(8px)!important;

    display:inline-flex!important;
    align-items:center!important;
    gap:10px!important;

    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;

    margin:0!important;
    padding:0!important;

    background:transparent!important;
    border:0!important;
    box-shadow:none!important;

    color:var(--rr-ivory)!important;

    font-size:.68rem!important;
    font-weight:600!important;
    line-height:1.1!important;
    letter-spacing:.17em!important;
    text-transform:uppercase!important;
  }

  html body header.site-header[data-rr-master-header="1"] .menu-label{
    display:inline!important;
    font-size:.68rem!important;
    font-weight:600!important;
    line-height:1.1!important;
    letter-spacing:.17em!important;
    text-transform:uppercase!important;
    color:var(--rr-ivory)!important;
  }
}

/* =========================================================
   THE RUSTIC RESERVE — MOBILE CONTENT CTA CONSISTENCY
   Centers content buttons without affecting Plan your stay
   ========================================================= */
@media (max-width:700px){

  html body .amenities-page-link.button,
  html body .direct-booking-card .button,
  html body #guest-pathways .rr-pathway-button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;

    width:calc(100% - 48px)!important;
    max-width:320px!important;
    min-width:0!important;

    min-height:52px!important;
    height:auto!important;

    margin-left:auto!important;
    margin-right:auto!important;
    padding:14px 20px!important;

    box-sizing:border-box!important;
    text-align:center!important;

    font-family:var(--rr-final-sans)!important;
    font-size:13px!important;
    font-weight:500!important;
    line-height:1.2!important;
    letter-spacing:.01em!important;
    text-transform:none!important;
  }
}

/* FINAL DESKTOP HEADER CLICK-LAYER FIX */
@media (min-width:1101px){
  html body header.site-header[data-rr-master-header="1"] .rr-final-desktop-nav{
    position:absolute!important;
    z-index:100!important;
    pointer-events:auto!important;
  }

  html body header.site-header[data-rr-master-header="1"] .rr-final-desktop-nav a:not(.rr-book-stay){
    position:relative!important;
    z-index:101!important;
    pointer-events:auto!important;
  }

  html body header.site-header[data-rr-master-header="1"] .header-actions{
    pointer-events:none!important;
  }

  html body header.site-header[data-rr-master-header="1"] .header-actions .rr-final-desktop-nav,
  html body header.site-header[data-rr-master-header="1"] .header-actions .rr-final-desktop-nav a:not(.rr-book-stay){
    pointer-events:auto!important;
  }
}

/* =========================================================
   RUSTIC RESERVE — LUXURY TYPOGRAPHY HIERARCHY
   2026-10-20
   ========================================================= */

/* Display headings: Cormorant only at true display scale */
html body main#main > section > h1,
html body main#main > section > h2,
html body main#main > section > div > h1,
html body main#main > section > div > h2 {
    font-family:"Cormorant Garamond", Georgia, serif !important;
    font-weight:500 !important;
    letter-spacing:-0.025em !important;
    line-height:0.98 !important;
}

/* H2 display scale */
html body main#main h2 {
    font-size:clamp(44px,5vw,68px) !important;
}

/* H3 is supporting typography — not another display headline */
html body main#main h3 {
    font-family:Inter,Arial,Helvetica,sans-serif !important;
    font-size:clamp(20px,1.65vw,26px) !important;
    font-weight:500 !important;
    line-height:1.25 !important;
    letter-spacing:-0.015em !important;
    font-style:normal !important;
}

/* Eyebrows become restrained supporting labels */
html body main#main .eyebrow {
    font-family:Inter,Arial,Helvetica,sans-serif !important;
    font-size:11px !important;
    font-weight:600 !important;
    line-height:1.2 !important;
    letter-spacing:.18em !important;
    text-transform:uppercase !important;
}

/* Non-clickable display headings use ivory, not gold */
html body main#main h1,
html body main#main h2,
html body main#main h3 {
    color:var(--rr-final-ivory) !important;
}


/* Heading emphasis follows the ivory hierarchy — gold reserved for interaction */
html body main#main h1 em,
html body main#main h2 em,
html body main#main h3 em {
    color:var(--rr-final-ivory) !important;
    font-style:inherit !important;
}

/* =========================================================
   RUSTIC RESERVE — RESTRAINED EDITORIAL ITALICS
   Keep emphasis special instead of using it on every heading
   ========================================================= */

/* Functional sections: remove repeated italic treatment */
html body main#main .guest-comforts h2 em,
html body main#main .photo-section h2 em,
html body main#main .amenities h2 em,
html body main#main .rr-airbnb-recognition h2 em,
html body main#main .location h2 em,
html body main#main .reserve-closing h2 em {
    font-style:normal !important;
}

/* =========================================================
   RUSTIC RESERVE — FOUR-SURFACE HOMEPAGE HIERARCHY
   ========================================================= */

:root{
    --rr-surface-black:#080806;
    --rr-surface-charcoal:#14110D;
    --rr-surface-pine:#18231D;
    --rr-surface-paper:#F4F0E7;
}

/* Primary dark storytelling */
html body main#main .intro,
html body main#main .sleeping,
html body main#main .deck-story,
html body main#main .reviews-section,
html body main#main .experiences{
    background:var(--rr-surface-black) !important;
}

/* Secondary warm-dark sections */
html body main#main .guest-comforts,
html body main#main .amenities,
html body main#main .rr-airbnb-recognition,
html body main#main .faq-section{
    background:var(--rr-surface-charcoal) !important;
}

/* Forest-toned destination sections */
html body main#main .hosts-section,
html body main#main .location{
    background:var(--rr-surface-pine) !important;
}

/* Booking close gets a deliberate visual break */
html body main#main .reserve-closing{
    background:var(--rr-surface-paper) !important;
    color:#27241F !important;
}

html body main#main .reserve-closing h1,
html body main#main .reserve-closing h2,
html body main#main .reserve-closing h3,
html body main#main .reserve-closing p:not(.eyebrow){
    color:#27241F !important;
}


/* =========================================================
   RUSTIC RESERVE — FINAL HOMEPAGE COLOR RHYTHM
   Explicit section surfaces — 2026-10-20
   ========================================================= */

/* PRIMARY BLACK — editorial storytelling */
html body main#main .intro,
html body main#main .sleeping,
html body main#main .deck-story,
html body main#main .reviews-section,
html body main#main .experiences {
    background:var(--rr-surface-black) !important;
}

/* WARM CHARCOAL — supporting experience */
html body main#main .guest-comforts,
html body main#main .photo-section,
html body main#main .amenities,
html body main#main .rr-airbnb-recognition,
html body main#main .faq-section {
    background:var(--rr-surface-charcoal) !important;
}

/* FOREST PINE — people and place */
html body main#main .hosts-section,
html body main#main .location {
    background:var(--rr-surface-pine) !important;
}

/* WARM PAPER — booking close */
html body main#main .reserve-closing {
    background:var(--rr-surface-paper) !important;
    color:#27241F !important;
}

html body main#main .reserve-closing h1,
html body main#main .reserve-closing h2,
html body main#main .reserve-closing h3,
html body main#main .reserve-closing p:not(.eyebrow) {
    color:#27241F !important;
}


/* ==========================================================
   AIRBNB RECOGNITION — CARD SURFACE HIERARCHY
   Dark editorial cards against the warm-charcoal section
   ========================================================== */

html body main#main .rr-airbnb-recognition .rr-airbnb-recognition-card{
    background:var(--rr-surface-black) !important;
}

/* ==========================================================
   GUEST REVIEWS — CARD SURFACE HIERARCHY
   Distinguishes review cards from shared dark utility cards
   ========================================================== */

html body main#main #reviews .rr-review-card{
    background:var(--rr-surface-charcoal) !important;
    border:1px solid rgba(216,180,100,.26) !important;
}


/* ==========================================================
   LOCATION — DESTINATION PANEL HIERARCHY
   Quiet dark panels against the forest-pine section
   ========================================================== */

html body main#main #location .location-grid > div{
    background:rgba(8,8,6,.44) !important;
    border:1px solid rgba(216,180,100,.18) !important;
    padding:24px !important;
    box-sizing:border-box !important;
}

html body main#main #location .location-grid > div > span{
    color:rgba(244,240,231,.56) !important;
}

html body main#main #location .location-grid > div h3{
    color:var(--rr-final-ivory) !important;
}

html body main#main #location .location-grid > div p{
    color:rgba(244,240,231,.78) !important;
}


/* ==========================================================
   OCCASION PACKAGES — COMPACT DESKTOP GRID
   Two columns on desktop, stacked on mobile
   ========================================================== */

@media (min-width:801px){
    html body main#main .experiences .package-list{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:12px !important;
    }

    html body main#main .experiences .package-list > li{
        margin:0 !important;
        height:100% !important;
    }

    html body main#main .experiences .package-list > li:last-child{
        grid-column:1 / -1 !important;
    }
}

@media (max-width:800px){
    html body main#main .experiences .package-list{
        display:grid !important;
        grid-template-columns:1fr !important;
    }
}


/* ==========================================================
   TYPOGRAPHY — FUNCTIONAL SECTION RESTRAINT
   Reserve gold editorial italics for signature moments
   ========================================================== */

html body main#main .sleeping h2 em,
html body main#main .reviews-section h2 em,
html body main#main .faq-section h2 em{
    font-style:normal !important;
    color:var(--rr-final-ivory) !important;
}


/* ==========================================================
   THE RUSTIC RESERVE — HOMEPAGE VISUAL REPAIR
   Final surface, contrast, typography and section rhythm
   2026-10-21
   ========================================================== */

/* Major section breathing room and separation */
html body main#main > .reviews-section,
html body main#main > .hosts-section,
html body main#main > #location.location,
html body main#main > .experiences,
html body main#main > .faq-section,
html body main#main > .reserve-closing{
    padding-top:clamp(56px,5vw,76px) !important;
    padding-bottom:clamp(56px,5vw,76px) !important;
    border-top:1px solid rgba(216,180,100,.18) !important;
    box-sizing:border-box !important;
}

/* ---------- GUEST REVIEWS ---------- */
html body main#main > #reviews.reviews-section{
    background:#080806 !important;
    color:#F4F0E7 !important;
}

html body main#main > #reviews.reviews-section > .eyebrow{
    color:#D8B464 !important;
}

html body main#main > #reviews.reviews-section > h2,
html body main#main > #reviews.reviews-section > h2 em{
    color:#F4F0E7 !important;
    font-style:normal !important;
}

html body main#main > #reviews.reviews-section > p:not(.eyebrow),
html body main#main > #reviews.reviews-section .review-verified{
    color:rgba(244,240,231,.72) !important;
}

html body main#main #reviews .guest-review-card{
    background:#F4F0E7 !important;
    color:#27241F !important;
}

html body main#main #reviews .guest-review-card blockquote,
html body main#main #reviews .guest-review-card .reviewer-name{
    color:#27241F !important;
}

html body main#main #reviews .guest-review-card .reviewer-meta,
html body main#main #reviews .guest-review-card .reviewer-meta-line{
    color:#6F685F !important;
}

/* ---------- HOSTS ---------- */
html body main#main > .hosts-section{
    background:#14110D !important;
    color:#F4F0E7 !important;
}

html body main#main > .hosts-section .eyebrow{
    color:#D8B464 !important;
}

html body main#main > .hosts-section h2,
html body main#main > .hosts-section h3{
    color:#F4F0E7 !important;
}

html body main#main > .hosts-section p{
    color:rgba(244,240,231,.84) !important;
}

html body main#main > .hosts-section strong{
    color:#F4F0E7 !important;
}

html body main#main > .hosts-section .hosts-signature{
    color:#D8B464 !important;
    opacity:1 !important;
}


/* ==========================================================
   HOMEPAGE VISUAL REPAIR — BLOCK 2
   Location + Occasions
   ========================================================== */

/* ---------- LOCATION ---------- */
html body main#main > #location.location{
    background:#18231D !important;
    color:#F4F0E7 !important;
}

html body main#main > #location.location > .eyebrow{
    color:#D8B464 !important;
}

html body main#main > #location.location > h2,
html body main#main > #location.location > h2 em{
    color:#F4F0E7 !important;
    font-style:normal !important;
}

html body main#main > #location.location > p:not(.eyebrow){
    color:rgba(244,240,231,.82) !important;
}

html body main#main #location .location-grid > div{
    background:rgba(8,8,6,.48) !important;
    border:1px solid rgba(216,180,100,.22) !important;
    padding:24px !important;
}

html body main#main #location .location-grid > div > span{
    color:#D8B464 !important;
}

html body main#main #location .location-grid > div h3{
    color:#F4F0E7 !important;
}

html body main#main #location .location-grid > div p{
    color:rgba(244,240,231,.80) !important;
}

html body main#main #location .local-map .eyebrow{
    color:#D8B464 !important;
}

html body main#main #location .local-map h3{
    color:#F4F0E7 !important;
}

html body main#main #location .local-map p{
    color:rgba(244,240,231,.80) !important;
}

/* ---------- OCCASIONS ---------- */
html body main#main > #experiences.experiences{
    background:#0F0F0D !important;
    color:#F4F0E7 !important;
}

html body main#main > #experiences.experiences .eyebrow{
    color:#D8B464 !important;
}

html body main#main > #experiences.experiences h2{
    color:#F4F0E7 !important;
}

html body main#main > #experiences.experiences h2 em{
    color:#D8B464 !important;
}

html body main#main > #experiences.experiences > div > p{
    color:rgba(244,240,231,.84) !important;
}


/* ==========================================================
   HOMEPAGE VISUAL REPAIR — BLOCK 3
   FAQ + Booking + Mobile Rhythm
   ========================================================== */

/* ---------- FAQ ---------- */
html body main#main > #faq.faq-section{
    background:#14110D !important;
    color:#F4F0E7 !important;
}

html body main#main > #faq.faq-section .eyebrow{
    color:#D8B464 !important;
}

html body main#main > #faq.faq-section h2,
html body main#main > #faq.faq-section h2 em{
    color:#F4F0E7 !important;
    font-style:normal !important;
}

html body main#main > #faq.faq-section h3{
    color:#F4F0E7 !important;
}

html body main#main > #faq.faq-section p{
    color:rgba(244,240,231,.80) !important;
}


/* ---------- BOOKING CLOSE ---------- */
html body main#main > .reserve-closing{
    background:#F4F0E7 !important;
    color:#27241F !important;
}

html body main#main > .reserve-closing .eyebrow{
    color:#9B7A20 !important;
}

html body main#main > .reserve-closing h2,
html body main#main > .reserve-closing h2 em{
    color:#27241F !important;
    font-style:normal !important;
}

html body main#main > .reserve-closing > div > p:not(.eyebrow){
    color:#4A453E !important;
}

/* Dark booking card */
html body main#main .reserve-closing .direct-booking-card{
    background:#0F0F0D !important;
    border:1px solid rgba(216,180,100,.28) !important;
    color:#F4F0E7 !important;
}

html body main#main .reserve-closing .direct-booking-card .eyebrow{
    color:#D8B464 !important;
}

html body main#main .reserve-closing .direct-booking-card h3,
html body main#main .reserve-closing .direct-booking-card strong{
    color:#F4F0E7 !important;
}

html body main#main .reserve-closing .direct-booking-card p{
    color:rgba(244,240,231,.82) !important;
}

html body main#main .reserve-closing .direct-booking-card a{
    color:#D8B464 !important;
}


/* ---------- MOBILE RHYTHM ---------- */
@media (max-width:800px){
    html body main#main > .reviews-section,
    html body main#main > .hosts-section,
    html body main#main > #location.location,
    html body main#main > .experiences,
    html body main#main > .faq-section,
    html body main#main > .reserve-closing{
        padding-top:44px !important;
        padding-bottom:44px !important;
    }
}


/* ==========================================================
   LUXURY GOLD ACCENT REFINEMENT
   ========================================================== */

html body main#main > #hosts.hosts-section .eyebrow{
    color:#D8B464 !important;
    opacity:1 !important;
}

html body main#main > #reviews.reviews-section h2{
    color:#F4F0E7 !important;
}

html body main#main > #reviews.reviews-section h2 em{
    color:#D8B464 !important;
    font-style:normal !important;
}

html body main#main > #location.location h2{
    color:#F4F0E7 !important;
}

html body main#main > #location.location h2 em{
    color:#D8B464 !important;
    font-style:normal !important;
}

html body main#main > .reserve-closing h2{
    color:#27241F !important;
}

html body main#main > .reserve-closing h2 em{
    color:#B2912E !important;
    font-style:normal !important;
}


/* ==========================================================
   LUXURY GOLD ACCENT REFINEMENT
   ========================================================== */

html body main#main > #hosts.hosts-section .eyebrow{
    color:#D8B464 !important;
    opacity:1 !important;
}

html body main#main > #reviews.reviews-section h2{
    color:#F4F0E7 !important;
}

html body main#main > #reviews.reviews-section h2 em{
    color:#D8B464 !important;
    font-style:normal !important;
}

html body main#main > #location.location h2{
    color:#F4F0E7 !important;
}

html body main#main > #location.location h2 em{
    color:#D8B464 !important;
    font-style:normal !important;
}

html body main#main > .reserve-closing h2{
    color:#27241F !important;
}

html body main#main > .reserve-closing h2 em{
    color:#B2912E !important;
    font-style:normal !important;
}


/* ==========================================================
   BOOKING CARD — FINAL TEXT CONTRAST
   ========================================================== */

html body main#main .reserve-closing .direct-booking-card,
html body main#main .reserve-closing .direct-booking-card p,
html body main#main .reserve-closing .direct-booking-card .rr-direct-savings,
html body main#main .reserve-closing .direct-booking-card .rr-cancellation-summary{
    color:rgba(244,240,231,.84) !important;
    opacity:1 !important;
}

html body main#main .reserve-closing .direct-booking-card strong,
html body main#main .reserve-closing .direct-booking-card h3{
    color:#F4F0E7 !important;
    opacity:1 !important;
}

html body main#main .reserve-closing .direct-booking-card a{
    color:#D8B464 !important;
    opacity:1 !important;
}


/* ==========================================================
   REVIEWS — FINAL TOGGLE LABEL
   19 reviews total / 3 visible = 16 more
   ========================================================== */

#reviews .review-deck-toggle[aria-expanded="false"] .review-toggle-label{
    font-size:0 !important;
}

#reviews .review-deck-toggle[aria-expanded="false"] .review-toggle-label::after{
    content:"Show 16 more reviews";
    font-size:16px;
}

#reviews .review-deck-toggle[aria-expanded="true"] .review-toggle-label{
    font-size:0 !important;
}

#reviews .review-deck-toggle[aria-expanded="true"] .review-toggle-label::after{
    content:"Show fewer reviews";
    font-size:16px;
}


/* ==========================================================
   BOOKING SECTION — FINAL DESKTOP COMPOSITION
   ========================================================== */

@media (min-width:901px){

  html body main#main > .reserve.reserve-closing.section-wrap{
      display:grid !important;
      grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr) !important;
      column-gap:52px !important;
      align-items:center !important;

      padding-left:clamp(70px,15vw,290px) !important;
      padding-right:clamp(70px,15vw,290px) !important;
      padding-top:38px !important;
      padding-bottom:38px !important;
  }

  html body main#main > .reserve.reserve-closing.section-wrap > div:first-child{
      width:100% !important;
      max-width:470px !important;
      justify-self:start !important;
  }

  html body main#main > .reserve.reserve-closing.section-wrap > .direct-booking-card{
      width:100% !important;
      max-width:620px !important;
      justify-self:end !important;
      box-sizing:border-box !important;
      padding:34px 38px !important;
  }

}


/* Booking section — final vertical balance */
@media (min-width:901px){
  html body main#main > .reserve.reserve-closing.section-wrap > div:first-child{
      transform:translateY(14px) !important;
  }
}

/* ==========================================================
   HOSTS → LOCATION — FINAL SECTION TRANSITION
   ========================================================== */

/* HOSTS */
html body main#main > #hosts.hosts-section{
    background:#14110D !important;
    color:#F4F0E7 !important;

    padding-top:72px !important;
    padding-bottom:78px !important;

    border-top:1px solid rgba(216,180,100,.18) !important;
    border-bottom:1px solid rgba(216,180,100,.30) !important;

    box-sizing:border-box !important;
}

html body main#main > #hosts.hosts-section .hosts-inner{
    max-width:760px !important;
    margin:0 auto !important;
}

html body main#main > #hosts.hosts-section .eyebrow{
    color:#D8B464 !important;
    margin-bottom:18px !important;
}

html body main#main > #hosts.hosts-section h2{
    color:#F4F0E7 !important;
    margin-top:0 !important;
    margin-bottom:30px !important;
}

html body main#main > #hosts.hosts-section p:not(.eyebrow){
    color:rgba(244,240,231,.84) !important;
}

html body main#main > #hosts.hosts-section .hosts-signature{
    color:#D8B464 !important;
    margin-top:30px !important;
}


/* LOCATION */
html body main#main > #location.location{
    background:#18231D !important;
    color:#F4F0E7 !important;

    padding-top:76px !important;
    padding-bottom:82px !important;

    border-top:0 !important;

    box-sizing:border-box !important;
}

html body main#main > #location.location > .eyebrow{
    color:#D8B464 !important;
    margin-bottom:18px !important;
}

html body main#main > #location.location > h2{
    color:#F4F0E7 !important;
    margin-top:0 !important;
    margin-bottom:28px !important;
}

html body main#main > #location.location > h2 em{
    color:#D8B464 !important;
    font-style:normal !important;
}

html body main#main #location .location-grid{
    margin-top:38px !important;
    gap:28px !important;
}

html body main#main #location .location-grid > div{
    background:#10150F !important;
    border:1px solid rgba(216,180,100,.24) !important;
    padding:28px !important;
}

html body main#main #location .location-grid > div > span{
    color:#D8B464 !important;
}

html body main#main #location .location-grid > div h3{
    color:#F4F0E7 !important;
}

html body main#main #location .location-grid > div p{
    color:rgba(244,240,231,.80) !important;
}


/* MOBILE */
@media (max-width:800px){

    html body main#main > #hosts.hosts-section{
        padding-top:52px !important;
        padding-bottom:56px !important;
    }

    html body main#main > #location.location{
        padding-top:56px !important;
        padding-bottom:60px !important;
    }

    html body main#main #location .location-grid{
        margin-top:28px !important;
        gap:18px !important;
    }
}


/* ==========================================================
   OCCASIONS — FINAL LUXURY TREATMENT
   ========================================================== */

html body main#main > #experiences.experiences{
    background:#15120E !important;
    color:#F4F0E7 !important;

    padding-top:72px !important;
    padding-bottom:76px !important;

    border-top:1px solid rgba(216,180,100,.26) !important;
    border-bottom:1px solid rgba(216,180,100,.18) !important;

    box-sizing:border-box !important;
}

/* Eyebrow */
html body main#main > #experiences.experiences .eyebrow{
    color:#D8B464 !important;
    margin-bottom:18px !important;
}

/* Main heading */
html body main#main > #experiences.experiences h2{
    color:#F4F0E7 !important;
    margin-top:0 !important;
    margin-bottom:26px !important;
}

/* Signature gold phrase */
html body main#main > #experiences.experiences h2 em{
    color:#D8B464 !important;
}

/* Intro copy */
html body main#main > #experiences.experiences > div > p{
    color:rgba(244,240,231,.82) !important;
    line-height:1.7 !important;
}

/* Package cards */
html body main#main #experiences .package-list > li{
    background:#0E0E0C !important;
    border:1px solid rgba(216,180,100,.30) !important;
    padding:24px 26px !important;
    box-sizing:border-box !important;
}

/* Card titles */
html body main#main #experiences .package-list > li strong{
    color:#F4F0E7 !important;
}

/* Card descriptions */
html body main#main #experiences .package-list > li span{
    color:rgba(244,240,231,.78) !important;
}

/* Lower notice/details area */
html body main#main #experiences .package-notice,
html body main#main #experiences .package-detail{
    color:rgba(244,240,231,.80) !important;
}

/* Links stay gold */
html body main#main #experiences a{
    color:#D8B464 !important;
}

/* Mobile rhythm */
@media (max-width:800px){
    html body main#main > #experiences.experiences{
        padding-top:54px !important;
        padding-bottom:58px !important;
    }

    html body main#main #experiences .package-list > li{
        padding:22px !important;
    }
}


/* Occasions intro copy — final readability */
html body main#main > #experiences.experiences > div:first-child > p:not(.eyebrow){
    color:rgba(244,240,231,.90) !important;
}


/* ==========================================================
   FAQ — FINAL LUXURY TREATMENT
   Occasions → FAQ → Booking
   ========================================================== */

html body main#main > #faq.faq-section{
    background:#111A16 !important;
    color:#F4F0E7 !important;

    padding-top:72px !important;
    padding-bottom:76px !important;

    border-top:1px solid rgba(216,180,100,.24) !important;
    border-bottom:1px solid rgba(216,180,100,.22) !important;

    box-sizing:border-box !important;
}

/* Section eyebrow */
html body main#main > #faq.faq-section .eyebrow{
    color:#D8B464 !important;
    margin-bottom:18px !important;
}

/* Main FAQ headline */
html body main#main > #faq.faq-section h2{
    color:#F4F0E7 !important;
    margin-top:0 !important;
    margin-bottom:30px !important;
}

/* Gold accent if headline contains emphasis */
html body main#main > #faq.faq-section h2 em{
    color:#D8B464 !important;
    font-style:normal !important;
}

/* Individual FAQ rows */
html body main#main #faq [data-slot="accordion-item"]{
    background:#0D120F !important;
    border:1px solid rgba(216,180,100,.20) !important;
    margin-bottom:10px !important;
    padding:0 22px !important;
    box-sizing:border-box !important;
}

/* Question buttons */
html body main#main #faq button[data-slot="accordion-trigger"]{
    color:#F4F0E7 !important;
    font-weight:500 !important;
    text-decoration:none !important;

    width:100% !important;
    padding:18px 0 !important;
}

/* Gold hover/focus cue */
html body main#main #faq button[data-slot="accordion-trigger"]:hover,
html body main#main #faq button[data-slot="accordion-trigger"]:focus-visible{
    color:#D8B464 !important;
    text-decoration:none !important;
}

/* Chevron */
html body main#main #faq [data-slot="accordion-trigger-icon"]{
    color:#D8B464 !important;
}

/* Answer copy */
html body main#main #faq [data-slot="accordion-item"] p{
    color:rgba(244,240,231,.80) !important;
    line-height:1.7 !important;
}

/* View all questions control */
html body main#main #faq .faq-expand{
    color:#F4F0E7 !important;
    border:1px solid rgba(216,180,100,.34) !important;
    background:#0D120F !important;
}

html body main#main #faq .faq-expand:hover{
    color:#D8B464 !important;
    border-color:rgba(216,180,100,.60) !important;
}

/* Mobile */
@media (max-width:800px){
    html body main#main > #faq.faq-section{
        padding-top:54px !important;
        padding-bottom:58px !important;
    }

    html body main#main #faq [data-slot="accordion-item"]{
        padding:0 18px !important;
        margin-bottom:8px !important;
    }

    html body main#main #faq button[data-slot="accordion-trigger"]{
        padding:16px 0 !important;
    }
}


/* ==========================================================
   GUEST COMFORTS — FINAL EDITORIAL REFINEMENT
   ========================================================== */

html body main#main > .guest-comforts .comforts-grid article{
    border-top:1px solid rgba(154,123,32,.38) !important;
}

html body main#main > .guest-comforts .comforts-grid article p{
    color:#514C43 !important;
}

