

:root{--rr-gold:#d8b464;--rr-gold-soft:#e9cf90;--rr-black:#050505;--rr-ivory:#f3eee3;--rr-muted:#c9c1b2;--rr-line:rgba(216,180,100,.42)}
/* Master site chrome — one header, one menu, one footer. */
.site-header[data-rr-master-header="1"]{z-index:4000!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;align-items:center!important;height:var(--brand-chrome-height,176px)!important;min-height:var(--brand-chrome-height,176px)!important;padding:0 4.5%!important;position:sticky!important;top:0!important;background:#000!important;border-bottom:1px solid rgba(216,180,100,.55)!important;box-shadow:0 8px 24px rgba(0,0,0,.25)!important;overflow:visible!important}
.site-header[data-rr-master-header="1"] .header-contact{grid-column:1!important;justify-self:start!important;color:var(--rr-ivory)!important;letter-spacing:.18em!important;text-transform:uppercase!important;font-size:.7rem!important;font-weight:600!important;text-decoration:none!important;white-space:nowrap!important}
.site-header[data-rr-master-header="1"] .brand-logo{grid-column:2!important;justify-self:center!important;width:var(--brand-chrome-logo,136px)!important;height:var(--brand-chrome-logo,136px)!important;margin:0!important}
.site-header[data-rr-master-header="1"] .brand-logo img{width:100%!important;height:100%!important;object-fit:contain!important}
.site-header[data-rr-master-header="1"] .header-actions{grid-column:3!important;justify-self:end!important;display:flex!important;align-items:center!important;gap:14px!important;min-width:0!important}
.site-header[data-rr-master-header="1"] .header-actions>.button{position:static!important;width:auto!important;height:auto!important;min-height:42px!important;padding:11px 16px!important;display:inline-flex!important;white-space:nowrap!important;font-size:.72rem!important;line-height:1.1!important;background:var(--rr-gold)!important;color:#0b0905!important;border:1px solid var(--rr-gold)!important}
.site-header[data-rr-master-header="1"] .header-actions>.button:hover,.site-header[data-rr-master-header="1"] .header-actions>.button:focus-visible{background:#ead19a!important;color:#0b0905!important}
.site-header[data-rr-master-header="1"] .menu-trigger{position:static!important;display:inline-flex!important;color:var(--rr-ivory)!important;background:transparent!important;border:0!important;letter-spacing:.17em!important;text-transform:uppercase!important;gap:10px!important;min-height:42px!important;padding:8px 0!important;cursor:pointer!important;font-size:.68rem!important;font-weight:600!important;white-space:nowrap!important}
.site-header[data-rr-master-header="1"] .menu-trigger:hover,.site-header[data-rr-master-header="1"] .menu-trigger:focus-visible{color:var(--rr-gold)!important}
.site-header[data-rr-master-header="1"] .menu-mark{display:flex!important;flex-direction:column!important;justify-content:space-between!important;width:23px!important;height:15px!important}
.site-header[data-rr-master-header="1"] .menu-mark>span{display:block!important;width:100%!important;height:1px!important;background:var(--rr-gold)!important}
body.rr-menu-open{overflow:hidden!important}
#rrGlobalMenu[hidden]{display:none!important}
#rrGlobalMenu.menu-overlay{position:fixed!important;z-index:12000!important;inset:0!important;background:rgba(0,0,0,.58)!important;backdrop-filter:blur(9px)!important}
#rrGlobalMenu .menu-drawer{box-sizing:border-box!important;position:absolute!important;top:0!important;right:0!important;width:min(560px,100vw)!important;height:100vh!important;height:100dvh!important;padding:34px 54px 30px!important;background:#f3eee3!important;color:#14110d!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;box-shadow:-24px 0 70px rgba(0,0,0,.35)!important;overflow:hidden!important}
#rrGlobalMenu .menu-drawer-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:24px!important;padding-bottom:22px!important;border-bottom:1px solid #b9a983!important}
#rrGlobalMenu .menu-drawer-head p{margin:0!important}
#rrGlobalMenu .menu-kicker{margin:0 0 3px!important;color:#8c6f30!important;font-size:.67rem!important;font-weight:400!important;letter-spacing:.22em!important;text-transform:uppercase!important}
#rrGlobalMenu .menu-drawer-head>div>p:last-child{color:#6c6255!important;font-size:.76rem!important;letter-spacing:.1em!important}
#rrGlobalMenu .menu-close{width:48px!important;height:48px!important;border:0!important;border-radius:50%!important;background:#0b0a08!important;color:#f3eee3!important;display:grid!important;place-items:center!important;font:300 2rem/1 Georgia,serif!important;cursor:pointer!important;flex-shrink:0!important}
#rrGlobalMenu .menu-close:hover,#rrGlobalMenu .menu-close:focus-visible{background:#8c6f30!important;color:#fff!important}
#rrGlobalMenu .menu-drawer-nav{position:static!important;transform:none!important;width:auto!important;padding:24px 0!important;margin:0!important;display:block!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:auto!important}
#rrGlobalMenu .menu-drawer-nav a{padding:11px 2px!important;border-bottom:1px solid rgba(140,111,48,.24)!important;color:#17130e!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px!important;background:transparent!important;font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(1.35rem,2.3vw,1.8rem)!important;font-weight:400!important;line-height:1.18!important;text-decoration:none!important;transition:padding .18s,color .18s!important}
#rrGlobalMenu .menu-drawer-nav a:hover,#rrGlobalMenu .menu-drawer-nav a:focus-visible,#rrGlobalMenu .menu-drawer-nav a[aria-current="page"]{padding-left:10px!important;color:#8c6f30!important}
#rrGlobalMenu .menu-drawer-nav small{flex:none!important;color:#8c6f30!important;font:600 .6rem/1 Arial,sans-serif!important;letter-spacing:.13em!important}
#rrGlobalMenu .menu-drawer-foot{padding-top:20px!important;border-top:1px solid #b9a983!important;display:flex!important;justify-content:space-between!important;align-items:end!important;gap:20px!important}
#rrGlobalMenu .menu-drawer-foot p{margin:0!important;font-family:Georgia,'Times New Roman',serif!important;font-style:italic!important;color:#5e5549!important;font-size:.95rem!important}
#rrGlobalMenu .menu-drawer-foot a{color:#4c3b1c!important;font-size:.72rem!important;text-decoration:underline!important;text-underline-offset:4px!important;text-align:right!important}
/* Keep the canonical footer visually identical on every route. */
.expanded-footer[data-rr-master-footer="1"]{background:#000!important;color:var(--rr-ivory)!important;border-top:1px solid var(--rr-line)!important}
.expanded-footer[data-rr-master-footer="1"] .footer-directory .eyebrow,.expanded-footer[data-rr-master-footer="1"] .footer-contact>p{color:var(--rr-gold)!important}
.expanded-footer[data-rr-master-footer="1"] .footer-directory nav a,.expanded-footer[data-rr-master-footer="1"] .footer-contact>a:not(.button){color:var(--rr-ivory)!important;text-decoration:none!important}
.expanded-footer[data-rr-master-footer="1"] .footer-directory nav a:hover{color:var(--rr-gold)!important}
.expanded-footer[data-rr-master-footer="1"] .footer-legal,.expanded-footer[data-rr-master-footer="1"] .footer-legal p,.expanded-footer[data-rr-master-footer="1"] .footer-legal a{color:var(--rr-muted)!important}
.expanded-footer[data-rr-master-footer="1"] .button{background:var(--rr-gold)!important;color:#0b0905!important;border-color:var(--rr-gold)!important}
/* Explore page: tighter editorial rhythm and consistent contact actions. */
.area-page .area-hero{padding-bottom:34px!important}
.area-page .area-group{padding-top:42px!important;padding-bottom:38px!important}
.area-page .area-grid{gap:18px!important;margin-top:24px!important}
.area-page .area-card{height:auto!important;min-height:0!important;padding:24px!important}
.area-page .area-origin{margin-top:28px!important}
.area-page .area-phone{display:inline-flex!important;align-items:center!important;width:max-content!important;color:var(--rr-gold-soft)!important;margin:0 0 16px!important;text-underline-offset:4px!important}
.area-page .area-actions{gap:12px 18px!important}
.area-page .area-actions a{color:var(--rr-ivory)!important}
.area-page .area-actions a:hover{color:var(--rr-gold)!important}
/* Amenities live availability, using the same visual language as the home page. */
#rrAmenitiesAvailability{width:min(1240px,90%);margin:42px auto 72px;padding:32px;display:grid;grid-template-columns:minmax(240px,.66fr) minmax(540px,1.34fr);align-items:start;gap:clamp(28px,5vw,64px);background:#f3eee3;color:#17130e;border-top:2px solid var(--rr-gold)}
#rrAmenitiesAvailability .eyebrow,html body main#main #reserve.quick-booking.live-availability .live-availability-copy > .eyebrow{color:#6f5b2e!important;margin-bottom:14px}
#rrAmenitiesAvailability h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3.1vw,3.35rem);font-weight:400;line-height:1.08;margin:0 0 18px;color:#17130e}
#rrAmenitiesAvailability p{line-height:1.65}
#rrAmenitiesAvailability .rr-calendar-wrap{min-width:0;background:#fffdf7;padding:20px;min-height:410px;position:relative}
#rrAmenitiesAvailability #hostaway-calendar-widget{min-height:340px}
#rrAmenitiesAvailability .rr-calendar-note{margin:12px 0 0;font-size:.78rem;color:#6b6254;text-align:center}
#rrAmenitiesAvailability .rr-calendar-fallback{display:none;margin-top:18px;padding:18px;border:1px solid #b9a983;background:#f8f2e6}
#rrAmenitiesAvailability .rr-calendar-fallback.is-visible{display:block}
#rrAmenitiesAvailability .rr-calendar-fallback a{display:inline-flex;margin-top:10px;color:#17130e;font-weight:700;text-decoration:underline;text-underline-offset:4px}
/* Context navigation for Guest Help stays inside the content, while the global header/menu remains consistent. */
.rr-help-topics{width:min(1180px,90%);margin:24px auto 0;padding:14px 18px;border:1px solid rgba(216,180,100,.36);background:#11100d;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rr-help-topics strong{color:var(--rr-gold);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;margin-right:4px}
.rr-help-topics a{color:var(--rr-ivory);font-size:.78rem;text-decoration:none;border-bottom:1px solid transparent;padding:5px 0}
.rr-help-topics a:hover,.rr-help-topics a[aria-current="page"]{color:var(--rr-gold);border-color:var(--rr-gold)}
@media(max-width:900px){#rrAmenitiesAvailability{grid-template-columns:1fr;width:92%;gap:18px;padding:24px 18px}.area-page .area-grid{gap:16px!important}}
@media(max-width:700px){
 :root{--brand-chrome-height:96px;--brand-chrome-logo:86px}
 body{padding-bottom:62px!important}
 .site-header[data-rr-master-header="1"]{height:96px!important;min-height:96px!important;padding:0 4%!important;gap:0!important;grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr)!important}
 .site-header[data-rr-master-header="1"] .header-contact{font-size:.59rem!important;letter-spacing:.1em!important}
 .site-header[data-rr-master-header="1"] .brand-logo{width:86px!important;height:86px!important}
 .site-header[data-rr-master-header="1"] .header-actions{gap:8px!important;justify-self:end!important}
 .site-header[data-rr-master-header="1"] .rr-guest-help-btn{position:static!important;width:auto!important;height:34px!important;min-height:34px!important;padding:0!important;background:transparent!important;color:var(--rr-ivory)!important;border:0!important;font-size:15px!important;line-height:1!important}
 .site-header[data-rr-master-header="1"] .rr-plan-btn{display:none!important;visibility:hidden!important;position:static!important;}
 .site-header[data-rr-master-header="1"] .menu-label{display:none!important}
 .site-header[data-rr-master-header="1"] .menu-trigger{padding:8px 0!important;min-height:34px!important}
 .site-header[data-rr-master-header="1"] .menu-mark{width:22px!important;height:14px!important}
 #rrGlobalMenu .menu-drawer{width:100vw!important;padding:24px 24px 22px!important}
 #rrGlobalMenu .menu-drawer-nav{padding:18px 0!important}
 #rrGlobalMenu .menu-drawer-nav a{font-size:1.3rem!important;padding:10px 2px!important}
 #rrGlobalMenu .menu-close{width:44px!important;height:44px!important;font-size:1.8rem!important}
 .rr-help-topics{width:92%;margin-top:18px;padding:12px 14px;gap:8px 14px}
 .rr-help-topics strong{width:100%}
 #rrAmenitiesAvailability{margin:28px auto 54px;padding:20px 14px}
 #rrAmenitiesAvailability .rr-calendar-wrap{padding:12px;min-height:390px}
 .area-page .area-hero{padding-bottom:28px!important}
 .area-page .area-group{padding-top:34px!important;padding-bottom:30px!important}
}

/* ==========================================================================
   THE RUSTIC RESERVE — CANONICAL SITEWIDE FOOTER GRID
   2026-09-23
   Purpose: make the footer navigation break in the same intentional places
   on every route instead of allowing flex-wrap to choose different rows.
   Desktop row 1: The cabin · Photos · Amenities · Explore · Guest Help · Reviews
   Desktop row 2: VIP Guest List · Leave a Google Review · Contact
   ========================================================================== */

.expanded-footer[data-rr-master-footer="1"]{
  box-sizing:border-box!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  padding:0!important;
}

.expanded-footer[data-rr-master-footer="1"] .footer-main{
  box-sizing:border-box!important;
  width:min(1320px,92%)!important;
  max-width:1320px!important;
  margin:0 auto!important;
  padding:36px 0 30px!important;
  display:grid!important;
  grid-template-columns:160px minmax(0,1fr) 300px!important;
  column-gap:clamp(36px,4.2vw,68px)!important;
  row-gap:20px!important;
  align-items:center!important;
}

.expanded-footer[data-rr-master-footer="1"] .footer-brand-logo{
  display:block!important;
  width:136px!important;
  height:136px!important;
  margin:0!important;
  justify-self:start!important;
  align-self:center!important;
}
.expanded-footer[data-rr-master-footer="1"] .footer-brand-logo img{
  display:block!important;
  width:136px!important;
  height:136px!important;
  object-fit:contain!important;
}

.expanded-footer[data-rr-master-footer="1"] .footer-directory{
  min-width:0!important;
  align-self:center!important;
}
.expanded-footer[data-rr-master-footer="1"] .footer-directory .eyebrow{
  margin:0 0 14px!important;
}
.expanded-footer[data-rr-master-footer="1"] .footer-directory nav{
  display:grid!important;
  grid-template-columns:repeat(6,max-content)!important;
  grid-auto-flow:row!important;
  justify-content:start!important;
  align-items:center!important;
  gap:12px 24px!important;
  margin:0!important;
  padding:0!important;
}
.expanded-footer[data-rr-master-footer="1"] .footer-directory nav a{
  display:block!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  line-height:1.35!important;
}

.expanded-footer[data-rr-master-footer="1"] .footer-contact{
  min-width:0!important;
  justify-self:end!important;
  align-self:center!important;
  text-align:left!important;
  display:grid!important;
  justify-items:start!important;
  gap:14px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.expanded-footer[data-rr-master-footer="1"] .footer-contact>p{
  margin:0!important;
  white-space:nowrap!important;
}

.expanded-footer[data-rr-master-footer="1"] .footer-legal{
  box-sizing:border-box!important;
  width:min(1320px,92%)!important;
  max-width:1320px!important;
  margin:0 auto!important;
  padding:13px 0 17px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:24px!important;
  border-top:1px solid rgba(216,180,100,.32)!important;
}
.expanded-footer[data-rr-master-footer="1"] .footer-legal p{
  margin:0!important;
}
.expanded-footer[data-rr-master-footer="1"] .footer-legal nav{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
  gap:8px 18px!important;
}

/* Tablet: deliberate three-column link grid rather than random wrapping. */
@media(max-width:1180px) and (min-width:701px){
  .expanded-footer[data-rr-master-footer="1"] .footer-main{
    grid-template-columns:150px minmax(0,1fr)!important;
    align-items:start!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-brand-logo{
    grid-row:1 / span 2!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-directory nav{
    grid-template-columns:repeat(3,max-content)!important;
    gap:11px 24px!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-contact{
    grid-column:2!important;
    justify-self:start!important;
    grid-template-columns:auto auto!important;
    align-items:center!important;
    gap:16px 22px!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-contact>p{
    grid-column:1 / -1!important;
  }
}

/* Mobile: intentional two-column navigation and centered booking block. */
@media(max-width:700px){
  .expanded-footer[data-rr-master-footer="1"]{
    padding-bottom:18px!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-main{
    width:88%!important;
    padding:30px 0 24px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:center!important;
    row-gap:22px!important;
    text-align:center!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-brand-logo,
  .expanded-footer[data-rr-master-footer="1"] .footer-brand-logo img{
    width:112px!important;
    height:112px!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-brand-logo{
    justify-self:center!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-directory{
    width:100%!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-directory .eyebrow{
    text-align:center!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-directory nav{
    width:100%!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:13px 18px!important;
    justify-content:stretch!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-directory nav a{
    white-space:normal!important;
    text-align:left!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-contact{
    width:100%!important;
    justify-self:center!important;
    justify-items:center!important;
    text-align:center!important;
    padding-top:18px!important;
    border-top:1px solid rgba(216,180,100,.28)!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-contact>p{
    white-space:normal!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-legal{
    width:88%!important;
    padding:16px 0 6px!important;
    display:grid!important;
    justify-items:center!important;
    text-align:center!important;
    gap:12px!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .footer-legal nav{
    justify-content:center!important;
  }
}

/* Footer v4 — two independent navigation rows.
   This prevents the long "Leave a Google Review" label on row 2
   from widening the Photos column on row 1. */
.expanded-footer[data-rr-master-footer="1"] .footer-directory nav{
  display:block!important;
  margin:0!important;
  padding:0!important;
}
.expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-row{
  margin:0!important;
  padding:0!important;
}
.expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-primary,
.expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-secondary{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:24px!important;
}
.expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-secondary{
  margin-top:12px!important;
}
.expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-row a{
  display:block!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  line-height:1.35!important;
}
@media(max-width:1180px) and (min-width:701px){
  .expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-primary,
  .expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-secondary{
    display:grid!important;
    grid-template-columns:repeat(3,max-content)!important;
    gap:11px 24px!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-secondary{
    margin-top:11px!important;
  }
}
@media(max-width:700px){
  .expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-primary,
  .expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-secondary{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:13px 18px!important;
    width:100%!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-secondary{
    margin-top:13px!important;
  }
  .expanded-footer[data-rr-master-footer="1"] .rr-footer-nav-row a{
    white-space:normal!important;
    text-align:left!important;
  }
}

/* ==========================================================================
   THE RUSTIC RESERVE — AIRBNB CREDIBILITY / TRUST SECTION
   ========================================================================== */
.rr-airbnb-recognition{
  position:relative;
  padding-top:84px!important;
  padding-bottom:84px!important;
  border-top:1px solid rgba(216,180,100,.34);
  border-bottom:1px solid rgba(216,180,100,.34);
}
.rr-airbnb-recognition::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(216,180,100,.035),rgba(216,180,100,0));
}
.rr-airbnb-recognition-copy{
  position:relative;
  z-index:1;
  max-width:840px;
}
.rr-airbnb-recognition-copy .eyebrow{
  margin-bottom:16px;
}
.rr-airbnb-recognition-copy h2{
  margin:0;
  max-width:760px;
}
.rr-airbnb-recognition-intro{
  max-width:790px;
  margin:22px 0 0;
  color:#c9c1b3;
  font-size:1.02rem;
  line-height:1.75;
}
.rr-airbnb-recognition-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:42px;
}
.rr-airbnb-recognition-card{
  min-height:225px;
  padding:28px 28px 30px;
  border:1px solid rgba(216,180,100,.30);
  background:linear-gradient(180deg,rgba(26,23,18,.98),rgba(18,16,13,.98));
}
.rr-airbnb-recognition-kicker{
  display:block;
  margin-bottom:18px;
  color:#d8b464;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
}
.rr-airbnb-recognition-card h3{
  margin:0 0 14px;
  color:#f5f1e7;
  font-size:1.62rem;
  line-height:1.18;
}
.rr-airbnb-recognition-card p{
  margin:0;
  color:#c9c1b3;
  line-height:1.7;
}
.rr-airbnb-recognition-link{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:30px;
  padding-bottom:5px;
  color:#f5f1e7;
  border-bottom:1px solid #d8b464;
  text-decoration:none;
  font-weight:700;
}
.rr-airbnb-recognition-link:hover,
.rr-airbnb-recognition-link:focus-visible{
  color:#d8b464;
}
@media(max-width:900px){
  .rr-airbnb-recognition{
    padding-top:64px!important;
    padding-bottom:64px!important;
  }
  .rr-airbnb-recognition-grid{
    grid-template-columns:1fr;
    gap:16px;
    margin-top:34px;
  }
  .rr-airbnb-recognition-card{
    min-height:0;
  }
}

/* ==========================================================================
   THE RUSTIC RESERVE — MOBILE/TABLET HEADER CORRECTION
   Applies through 950px because some Android/large-phone browser viewports
   resolve wider than the previous 700px breakpoint.
   ========================================================================== */
@media(max-width:950px){
  :root{
    --brand-chrome-height:96px;
    --brand-chrome-logo:86px;
  }

  body{
    padding-bottom:62px!important;
  }

  .site-header[data-rr-master-header="1"]{
    box-sizing:border-box!important;
    height:96px!important;
    min-height:96px!important;
    padding:0 4%!important;
    gap:0!important;
    grid-template-columns:minmax(70px,1fr) 86px minmax(120px,1fr)!important;
    align-items:center!important;
    overflow:visible!important;
  }

  .site-header[data-rr-master-header="1"] .header-contact{
    grid-column:1!important;
    justify-self:start!important;
    font-size:.59rem!important;
    letter-spacing:.10em!important;
    white-space:nowrap!important;
  }

  .site-header[data-rr-master-header="1"] .brand-logo{
    grid-column:2!important;
    justify-self:center!important;
    align-self:center!important;
    width:86px!important;
    height:86px!important;
    margin:0!important;
    position:relative!important;
    z-index:1!important;
  }

  .site-header[data-rr-master-header="1"] .brand-logo img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
  }

  .site-header[data-rr-master-header="1"] .header-actions{
    grid-column:3!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    min-width:0!important;
    position:relative!important;
    z-index:2!important;
  }

  .site-header[data-rr-master-header="1"] .rr-guest-help-btn{
    position:static!important;
    width:auto!important;
    height:34px!important;
    min-height:34px!important;
    padding:7px 9px!important;
    background:transparent!important;
    color:var(--rr-ivory)!important;
    border:0!important;
    font-size:15px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .site-header[data-rr-master-header="1"] .rr-plan-btn{display:none!important;visibility:hidden!important;position:static!important;}

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

  .site-header[data-rr-master-header="1"] .menu-trigger{
    position:static!important;
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    padding:7px 0!important;
    display:inline-flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
  }

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

@media(max-width:430px){
  .site-header[data-rr-master-header="1"]{
    padding:0 3.5%!important;
    grid-template-columns:minmax(62px,1fr) 80px minmax(112px,1fr)!important;
  }
  .site-header[data-rr-master-header="1"] .brand-logo{
    width:80px!important;
    height:80px!important;
  }
  .site-header[data-rr-master-header="1"] .rr-guest-help-btn{
    padding:7px 7px!important;
    font-size:.54rem!important;
  }
  .site-header[data-rr-master-header="1"] .header-actions{
    gap:7px!important;
  }
}


/* v18 consolidated hydration-safe header rule */
@media(max-width:1100px){
  .site-header[data-rr-master-header="1"] .rr-plan-btn{display:none!important;visibility:hidden!important;position:static!important;}
  .site-header[data-rr-master-header="1"] .rr-guest-help-btn{
    background:transparent!important;
    color:var(--rr-ivory,#f3eee3)!important;
    border:0!important;
    box-shadow:none!important;
  }
}

/* =====================================================================
   THE RUSTIC RESERVE — SITEWIDE MOBILE LAYOUT / HEADER v21
   2026-09-24
   Purpose: one authoritative phone layout inside the framework-managed CSS.
   ===================================================================== */
@media (max-width:1100px){
  :root{--brand-chrome-height:88px!important;--brand-chrome-logo:72px!important}
  html{scroll-padding-top:96px!important;overflow-x:hidden!important}
  html body{overflow-x:hidden!important;padding-bottom:calc(70px + env(safe-area-inset-bottom))!important}

  /* Header is a true 3-column grid. Nothing in it participates in page flow. */
  html body header.site-header{
    box-sizing:border-box!important;
    position:sticky!important;top:0!important;left:0!important;right:0!important;
    z-index:12000!important;
    display:grid!important;
    grid-template-columns:minmax(72px,1fr) 76px minmax(118px,1fr)!important;
    grid-template-rows:88px!important;
    align-items:center!important;
    gap:0!important;
    width:100%!important;max-width:none!important;
    height:88px!important;min-height:88px!important;max-height:88px!important;
    margin:0!important;padding:0 14px!important;
    background:#050505!important;
    border-bottom:1px solid rgba(216,180,100,.38)!important;
    transform:none!important;overflow:visible!important;
  }
  html body header.site-header .header-contact{
    grid-column:1!important;grid-row:1!important;align-self:center!important;justify-self:start!important;
    position:static!important;inset:auto!important;transform:none!important;
    width:auto!important;height:auto!important;margin:0!important;padding:0!important;
    color:#f3eee3!important;background:transparent!important;border:0!important;
    font-size:15px!important;font-weight:600!important;line-height:1!important;letter-spacing:.12em!important;
    text-transform:uppercase!important;text-decoration:none!important;white-space:nowrap!important;z-index:3!important;
  }
  html body header.site-header .brand-logo{
    grid-column:2!important;grid-row:1!important;align-self:center!important;justify-self:center!important;
    position:static!important;inset:auto!important;transform:none!important;
    width:72px!important;height:72px!important;min-width:72px!important;max-width:72px!important;
    min-height:72px!important;max-height:72px!important;margin:0!important;padding:0!important;z-index:2!important;
  }
  html body header.site-header .brand-logo img{
    display:block!important;width:72px!important;height:72px!important;min-width:72px!important;max-width:72px!important;
    min-height:72px!important;max-height:72px!important;object-fit:contain!important;margin:0!important;
  }
  html body header.site-header .header-actions{
    grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:end!important;
    position:static!important;inset:auto!important;transform:none!important;
    display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;
    width:auto!important;height:36px!important;min-height:36px!important;margin:0!important;padding:0!important;z-index:3!important;
  }
  html body header.site-header .header-actions .header-menu,
  html body header.site-header .header-actions .section-menu{
    position:static!important;display:flex!important;align-items:center!important;width:auto!important;height:auto!important;
    margin:0!important;padding:0!important;transform:none!important;
  }
  html body header.site-header .rr-guest-help-btn,
  html body header.site-header .guest-help-header-link,
  html body header.site-header .header-actions>a[href^="/guest-help"]{
    position:static!important;display:inline-flex!important;visibility:visible!important;
    align-items:center!important;justify-content:center!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;
    background:transparent!important;color:#f3eee3!important;border:0!important;
    border-radius:0!important;box-shadow:none!important;font-size:15px!important;font-weight:400!important;
    line-height:1!important;letter-spacing:0!important;text-transform:none!important;text-decoration:none!important;white-space:nowrap!important;
  }
  html body header.site-header .header-actions>a[href*="#reserve"],
  html body header.site-header .rr-plan-btn,
  html body header.site-header .plan-button{
    display:none!important;visibility:hidden!important;position:static!important;transform:none!important;width:0!important;height:0!important;
    min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;
  }
  html body header.site-header .menu-label{display:none!important}
  html body header.site-header .menu-trigger{
    position:static!important;inset:auto!important;transform:none!important;
    display:inline-flex!important;visibility:visible!important;align-items:center!important;justify-content:flex-end!important;
    width:32px!important;min-width:32px!important;max-width:32px!important;height:34px!important;min-height:34px!important;max-height:34px!important;
    margin:0!important;padding:7px 0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#f3eee3!important;
  }
  html body header.site-header .menu-mark{display:flex!important;flex-direction:column!important;justify-content:space-between!important;width:25px!important;height:17px!important;margin:0!important;padding:0!important}
  html body header.site-header .menu-mark>span{display:block!important;width:25px!important;height:1px!important;background:#d8b464!important}

  /* Bottom booking CTA stays outside the header and never covers the last content. */
  html body>a.rr-mobile-plan-portal-v20[href*="#reserve"],
  html body>a.rr-mobile-plan-portal-v21[href*="#reserve"]{
    box-sizing:border-box!important;position:fixed!important;left:50%!important;right:auto!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;top:auto!important;
    z-index:2147483000!important;display:flex!important;visibility:visible!important;align-items:center!important;justify-content:center!important;gap:9px!important;
    width:88%!important;min-width:0!important;max-width:360px!important;height:50px!important;
    min-height:50px!important;margin:0!important;padding:0 18px env(safe-area-inset-bottom)!important;
    background:#d8b464!important;color:#0b0905!important;border:0!important;border-top:1px solid #ead19a!important;border-radius:8px!important;
    box-shadow:0 -8px 24px rgba(0,0,0,.24)!important;font-size:14px!important;font-weight:800!important;line-height:1!important;text-decoration:none!important;transform:translateX(-50%)!important;
  }
  html body.rr-menu-open>a.rr-mobile-plan-portal-v20,
  html body.rr-menu-open>a.rr-mobile-plan-portal-v21{display:none!important}

  /* Footer gets a true safe zone above the fixed booking bar. */
  html body .expanded-footer{padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}
}

@media (max-width:700px){
  /* Consistent luxury rhythm: intentional breathing room, not empty screens. */
  html body main#main .section-wrap{padding-top:48px!important;padding-bottom:48px!important}
  html body main#main .guest-comforts.section-wrap,
  html body main#main .photo-section.section-wrap,
  html body main#main .sleeping.section-wrap,
  html body main#main .amenities.section-wrap,
  html body main#main .reviews-section.section-wrap,
  html body main#main .location.section-wrap,
  html body main#main .experiences.section-wrap,
  html body main#main .faq-section.section-wrap,
  html body main#main .reserve.section-wrap,
  html body main#main .rr-airbnb-recognition.section-wrap{padding-top:48px!important;padding-bottom:48px!important}

  html body main#main .comforts-grid{margin-top:28px!important;gap:28px!important}
  html body main#main .amenity-grid{margin-top:30px!important;gap:30px 24px!important}
  html body main#main .sleeping-grid{margin-top:30px!important;gap:22px!important}
  html body main#main .location-grid{margin-top:28px!important;gap:22px!important}
  html body main#main .local-map{margin-top:34px!important;gap:24px!important}
  html body main#main .package-list{gap:6px!important}
  html body main#main .deck-story>div{padding:46px 7% 50px!important}

  /* Reviews -> location was reading like an empty screen. */
  html body main#main #reviews.reviews-section{padding-bottom:34px!important}
  html body main#main #reviews .review-verified{margin-top:16px!important;margin-bottom:0!important}
  html body main#main #reviews + #location.location{padding-top:44px!important}

  /* Photos: remove the long dead zone between the last gallery card and booking CTA. */
  html body main.area-page>.photo-section.standalone-gallery.section-wrap{padding-top:46px!important;padding-bottom:26px!important}
  html body main.area-page>.photo-section.standalone-gallery .room-gallery-list{margin-top:26px!important;padding-bottom:12px!important}
  html body main.area-page>.photo-section.standalone-gallery + .area-ending.section-wrap{padding-top:12px!important;padding-bottom:38px!important}

  /* Amenities / Explore: compact transitions between content groups. */
  html body main.area-page>.area-hero.section-wrap{padding-top:48px!important;padding-bottom:38px!important}
  html body main.area-page>.area-group.section-wrap{padding-top:38px!important;padding-bottom:24px!important}
  html body main.area-page>.area-ending.section-wrap{padding-top:12px!important;padding-bottom:32px!important}
  html body main.area-page>.area-ending.section-wrap .button{margin-top:0!important}
  html body main.area-page #rrAmenitiesAvailability{margin:10px auto 40px!important;padding:20px 14px!important;gap:18px!important}
  html body main.area-page #rrAmenitiesAvailability .rr-calendar-wrap{min-height:360px!important}
  html body main.area-page #essentials.area-group{padding-bottom:18px!important}
  html body main.area-page #essentials.area-group + .area-ending.section-wrap{padding-top:12px!important}

  /* Hero content should begin directly below the 88px header, not a second header-height later. */
  html body main.area-page .area-hero{scroll-margin-top:96px!important}

  /* Home page closing booking section and footer should not feel detached. */
  html body main#main .reserve.reserve-closing{padding-top:48px!important;padding-bottom:46px!important;gap:26px!important}
  html body main#main .direct-booking-card{padding:26px 20px!important}
}

@media (max-width:370px){
  html body header.site-header{grid-template-columns:minmax(62px,1fr) 68px minmax(108px,1fr)!important;padding:0 10px!important}
  html body header.site-header .header-contact{font-size:9px!important}
  html body header.site-header .brand-logo,
  html body header.site-header .brand-logo img{width:66px!important;height:66px!important;min-width:66px!important;max-width:66px!important;min-height:66px!important;max-height:66px!important}
  html body header.site-header .header-actions{gap:5px!important}
  html body header.site-header .rr-guest-help-btn,
  html body header.site-header .header-actions>a[href^="/guest-help"]{height:32px!important;min-height:32px!important;max-height:32px!important;padding:0 6px!important;font-size:9px!important}
  html body header.site-header .menu-trigger{width:29px!important;min-width:29px!important;max-width:29px!important}
  html body header.site-header .menu-mark,
  html body header.site-header .menu-mark>span{width:22px!important}
}


/* ==========================================================================
   THE RUSTIC RESERVE — AMENITIES MOBILE SPACING SPECIFICITY FIX v25
   Uses #main so these rules outrank the older sitewide #main .section-wrap
   mobile padding rule that was still creating large vertical gaps.
   ========================================================================== */
@media (max-width:700px){

  /* Intro paragraph -> first amenity card */
  html body main#main.area-page > .area-hero.section-wrap{
    padding-bottom:8px!important;
  }
  html body main#main.area-page > .area-group.section-wrap{
    padding-top:0!important;
    padding-bottom:0!important;
  }
  html body main#main.area-page > .area-group.section-wrap > .area-grid{
    margin-top:8px!important;
    gap:16px!important;
  }

  /* Amenities directory */
  html body main#main.area-page .all-amenities{
    margin-top:24px!important;
    padding-top:20px!important;
  }
  html body main#main.area-page .amenities-directory-heading{
    margin-bottom:14px!important;
    gap:12px!important;
  }
  html body main#main.area-page .amenities-directory [data-slot="accordion-trigger"]{
    min-height:62px!important;
    padding:16px 0!important;
  }

  /* Services -> booking CTA */
  html body main#main.area-page > .area-ending.section-wrap{
    box-sizing:border-box!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
    margin:0!important;
  }
  html body main#main.area-page > .area-ending.section-wrap .button{
    box-sizing:border-box!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:min(92%,620px)!important;
    max-width:620px!important;
    margin:0 auto!important;
    text-align:center!important;
  }

  /* Booking CTA -> Live Availability */
  html body main#main.area-page > #rrAmenitiesAvailability{
    width:92%!important;
    margin:8px auto 28px!important;
    padding:18px 14px!important;
    gap:16px!important;
  }
}


/* ==========================================================================
   THE RUSTIC RESERVE — LUXURY MOBILE AESTHETIC SYSTEM v26
   Layout/aesthetic only. Navigation and header JavaScript are untouched.
   Establishes one consistent mobile rhythm, centered CTA geometry and
   deliberate section transitions across the cabin website.
   ========================================================================== */
@media (max-width:700px){

  /* ---------- Shared luxury geometry ---------- */
  html body{
    --rr-luxury-edge:7vw;
    --rr-luxury-section:34px;
    --rr-luxury-tight:22px;
    --rr-luxury-card-gap:18px;
  }

  html body main#main .section-wrap{
    padding-left:var(--rr-luxury-edge)!important;
    padding-right:var(--rr-luxury-edge)!important;
  }

  /* ---------- Hamburger menu refinement ---------- */
  html body #rrGlobalMenu .menu-drawer-nav{
    padding:16px 0 18px!important;
  }
  html body #rrGlobalMenu .menu-drawer-nav a{
    box-sizing:border-box!important;
    min-height:52px!important;
    padding:12px 16px 12px 2px!important;
    gap:18px!important;
    line-height:1.22!important;
  }
  html body #rrGlobalMenu .menu-drawer-nav small{
    box-sizing:border-box!important;
    flex:0 0 34px!important;
    min-width:34px!important;
    margin:0!important;
    padding:0 4px 0 0!important;
    text-align:right!important;
    line-height:1!important;
  }

  /* ---------- Homepage: one deliberate vertical rhythm ---------- */
  html body main#main:not(.area-page) > .section-wrap{
    padding-top:var(--rr-luxury-section)!important;
    padding-bottom:var(--rr-luxury-section)!important;
  }

  html body main#main > #cabin.intro.section-wrap{
    padding-top:38px!important;
    padding-bottom:30px!important;
    gap:34px!important;
  }
  html body main#main > .guest-comforts.section-wrap{
    padding-top:30px!important;
    padding-bottom:32px!important;
  }
  html body main#main > #photos.photo-section.section-wrap{
    padding-top:32px!important;
    padding-bottom:16px!important;
  }
  html body main#main > #photos.photo-section .section-top{
    margin-bottom:24px!important;
  }
  html body main#main > #photos.photo-section .room-gallery-list{
    margin-top:20px!important;
    padding-bottom:6px!important;
  }
  html body main#main > #sleeping.sleeping.section-wrap{
    padding-top:24px!important;
    padding-bottom:34px!important;
  }
  html body main#main > #sleeping .sleeping-grid{
    margin-top:24px!important;
    gap:18px!important;
  }
  html body main#main > #amenities.amenities.section-wrap{
    padding-top:34px!important;
    padding-bottom:34px!important;
  }
  html body main#main > #amenities .amenity-grid{
    margin-top:26px!important;
    gap:26px 22px!important;
  }
  html body main#main > .deck-story>div{
    padding:38px var(--rr-luxury-edge) 40px!important;
  }
  html body main#main > .rr-airbnb-recognition.section-wrap{
    padding-top:32px!important;
    padding-bottom:32px!important;
  }

  /* Guest Reviews -> Broken Bow/Hochatown: remove the empty-screen transition. */
  html body main#main > #reviews.reviews-section.section-wrap{
    padding-top:30px!important;
    padding-bottom:16px!important;
  }
  html body main#main > #reviews.reviews-section>p:not(.eyebrow){
    margin-top:16px!important;
  }
  html body main#main > #reviews .review-verified{
    margin-top:12px!important;
    margin-bottom:0!important;
  }
  html body main#main > #location.location.section-wrap{
    padding-top:24px!important;
    padding-bottom:34px!important;
  }
  html body main#main > #location .location-grid{
    margin-top:20px!important;
    gap:18px!important;
  }
  html body main#main > #location .local-map{
    margin-top:26px!important;
    gap:18px!important;
  }

  html body main#main > #experiences.experiences.section-wrap,
  html body main#main > #faq.faq-section.section-wrap{
    padding-top:32px!important;
    padding-bottom:32px!important;
  }
  html body main#main > .reserve.reserve-closing.section-wrap{
    padding-top:32px!important;
    padding-bottom:36px!important;
    gap:22px!important;
  }

  /* ---------- Standalone Photos ---------- */
  html body main#main.area-page > .photo-section.standalone-gallery.section-wrap{
    padding-top:34px!important;
    padding-bottom:12px!important;
  }
  html body main#main.area-page > .photo-section.standalone-gallery .room-gallery-list{
    margin-top:20px!important;
    padding-bottom:6px!important;
  }
  html body main#main.area-page > .photo-section.standalone-gallery + .area-ending.section-wrap{
    box-sizing:border-box!important;
    display:flex!important;
    justify-content:center!important;
    padding-top:10px!important;
    padding-bottom:28px!important;
  }
  html body main#main.area-page > .photo-section.standalone-gallery + .area-ending.section-wrap .button{
    width:min(92%,620px)!important;
    max-width:620px!important;
    margin:0 auto!important;
    justify-content:center!important;
    text-align:center!important;
  }

  /* ---------- Explore / local guide: compact, premium section transitions ---------- */
  html body main#main.area-page > .area-hero.section-wrap{
    padding-top:34px!important;
    padding-bottom:26px!important;
  }

  html body main#main.area-page > #dining.area-group.section-wrap,
  html body main#main.area-page > #adventures.area-group.section-wrap,
  html body main#main.area-page > #casino.area-group.section-wrap,
  html body main#main.area-page > #groceries.area-group.section-wrap,
  html body main#main.area-page > #essentials.area-group.section-wrap{
    padding-top:24px!important;
    padding-bottom:18px!important;
  }
  html body main#main.area-page > #dining.area-group h2,
  html body main#main.area-page > #adventures.area-group h2,
  html body main#main.area-page > #casino.area-group h2,
  html body main#main.area-page > #groceries.area-group h2,
  html body main#main.area-page > #essentials.area-group h2{
    margin-bottom:12px!important;
  }
  html body main#main.area-page > #dining .area-grid,
  html body main#main.area-page > #adventures .area-grid,
  html body main#main.area-page > #casino .area-grid,
  html body main#main.area-page > #groceries .area-grid,
  html body main#main.area-page > #essentials .area-grid{
    margin-top:18px!important;
    gap:16px!important;
  }
  html body main#main.area-page .rr-explore-meta{
    margin:10px 0 18px!important;
  }
  html body main#main.area-page .rr-explore-bottom-wrap{
    margin:20px 0 0!important;
    justify-content:center!important;
  }
  html body main#main.area-page .rr-explore-bottom-toggle{
    width:min(100%,620px)!important;
    max-width:620px!important;
    margin:0 auto!important;
  }
  html body main#main.area-page > #essentials.area-group.section-wrap{
    padding-bottom:14px!important;
  }
  html body main#main.area-page > #essentials.area-group + .area-ending.section-wrap{
    padding-top:14px!important;
    padding-bottom:28px!important;
  }

  /* ---------- Amenities: preserve the spacing that passed testing ---------- */
  html body:has(#rrAmenitiesAvailability) main#main.area-page > .area-hero.section-wrap{
    padding-bottom:8px!important;
  }
  html body:has(#rrAmenitiesAvailability) main#main.area-page > .area-group.section-wrap{
    padding-top:0!important;
    padding-bottom:0!important;
  }
  html body:has(#rrAmenitiesAvailability) main#main.area-page > .area-group.section-wrap > .area-grid{
    margin-top:8px!important;
    gap:16px!important;
  }
  html body:has(#rrAmenitiesAvailability) main#main.area-page > .area-ending.section-wrap{
    box-sizing:border-box!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
    margin:0!important;
  }
  html body:has(#rrAmenitiesAvailability) main#main.area-page > .area-ending.section-wrap .button{
    width:min(92%,620px)!important;
    max-width:620px!important;
    margin:0 auto!important;
    justify-content:center!important;
    text-align:center!important;
  }
  html body:has(#rrAmenitiesAvailability) main#main.area-page > #rrAmenitiesAvailability{
    width:92%!important;
    margin:8px auto 28px!important;
    padding:18px 14px!important;
    gap:16px!important;
  }

  /* ---------- Shared mobile cards / CTAs ---------- */
  html body main.area-page .area-card{
    padding:22px!important;
  }
  html body main.area-page .area-actions{
    gap:14px!important;
    padding-top:18px!important;
  }
}

/* Slightly narrower phones retain the same rhythm without crowding. */
@media (max-width:370px){
  html body #rrGlobalMenu .menu-drawer-nav a{
    padding-right:12px!important;
    gap:14px!important;
  }
  html body #rrGlobalMenu .menu-drawer-nav small{
    flex-basis:30px!important;
    min-width:30px!important;
  }
}
