@media (max-width:1100px){

/* KEEP HEADER AS-IS */

/* COMPACT ALL STANDARD HOMEPAGE SECTIONS */
html body main#main > section:not(.hero){
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
}

html body main#main > .section-wrap:not(.hero):not(.area-hero),
html body main#main > section.section-wrap:not(.hero):not(.area-hero){
    min-height:0 !important;
    height:auto !important;
    padding-top:16px !important;
    padding-bottom:16px !important;
}

/* REMOVE LARGE INTERNAL SECTION GAPS */
html body main#main .section-top,
html body main#main .reserve,
html body main#main .reserve-closing,
html body main#main .deck-story,
html body main#main .hosts-section{
    min-height:0 !important;
    height:auto !important;
    padding-top:20px !important;
    padding-bottom:20px !important;
}

/* TIGHTER COPY RHYTHM */
html body main#main p{
    margin-top:0 !important;
    margin-bottom:14px !important;
    line-height:1.45 !important;
}

html body main#main .eyebrow{
    margin-bottom:10px !important;
}

/* LIVE AVAILABILITY */
html body #reserve{
    min-height:0 !important;
    height:auto !important;
    padding-top:16px !important;
    padding-bottom:16px !important;
}

html body #reserve .booking-panel,
html body .booking-panel{
    min-height:0 !important;
    height:auto !important;
    padding-top:22px !important;
    padding-bottom:22px !important;
    margin-top:0 !important;
    margin-bottom:10px !important;
}

/* SMALL FLOATING BOOKING BUTTON */
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;
    top:auto !important;
    bottom:calc(6px + env(safe-area-inset-bottom)) !important;

    width:250px !important;
    max-width:calc(100% - 90px) !important;

    height:38px !important;
    min-height:38px !important;

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

    transform:translateX(-50%) !important;

    font-size:12px !important;
    line-height:1 !important;

    border-radius:5px !important;
    box-shadow:0 -3px 10px rgba(0,0,0,.16) !important;
}

/* DO NOT COVER PAGE COPY */
html body main#main{
    padding-bottom:48px !important;
}

html body footer{
    padding-bottom:52px !important;
}

/* HIDE CTA WHEN MENU IS OPEN */
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;
}

}

/* ==========================================================
   FINAL MOBILE SPACING CORRECTION
   ========================================================== */

@media (max-width:1100px){

/* Remove legacy section stretching */
html body main#main > section:not(.hero),
html body main#main > .section-wrap:not(.hero){
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
}

/* Standard section spacing */
html body main#main > section:not(.hero){
    padding-top:20px !important;
    padding-bottom:20px !important;
}

/* AVAILABILITY — remove giant internal blank zones */
html body #reserve,
html body #reserve.section-wrap{
    min-height:0 !important;
    height:auto !important;
    padding-top:14px !important;
    padding-bottom:14px !important;
}

html body #reserve .booking-panel{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    align-content:start !important;
    justify-content:start !important;
    gap:14px !important;
    padding-top:20px !important;
    padding-bottom:20px !important;
}

html body #reserve .booking-panel > *{
    margin-top:0 !important;
    margin-bottom:14px !important;
}

html body #reserve .booking-panel > *:last-child{
    margin-bottom:0 !important;
}

/* Stats directly below calendar */
html body #reserve + section,
html body #reserve + .section-wrap{
    margin-top:0 !important;
    padding-top:18px !important;
    padding-bottom:18px !important;
}

/* RUSTIC SOUL / THOUGHTFUL DETAILS */
html body .reserve,
html body .reserve-closing,
html body .deck-story{
    min-height:0 !important;
    height:auto !important;
    max-height:none !important;
    padding-top:22px !important;
    padding-bottom:22px !important;
}

html body .reserve > *,
html body .reserve-closing > *,
html body .deck-story > *{
    margin-top:0 !important;
}

html body .reserve p,
html body .reserve-closing p,
html body .deck-story p{
    margin-bottom:14px !important;
}

/* Prevent decorative gaps from becoming full-screen gaps */
html body main#main .section-top{
    min-height:0 !important;
    height:auto !important;
    padding-top:22px !important;
    padding-bottom:22px !important;
}

/* Floating CTA — noticeably smaller and less intrusive */
html body > a.rr-mobile-plan-portal-v20[href*="#reserve"],
html body > a.rr-mobile-plan-portal-v21[href*="#reserve"]{
    width:230px !important;
    max-width:calc(100% - 110px) !important;
    height:36px !important;
    min-height:36px !important;
    padding:0 12px !important;
    font-size:11px !important;
    bottom:calc(5px + env(safe-area-inset-bottom)) !important;
}

/* Drawer — clean compact luxury rows */
html body #rrGlobalMenu .menu-drawer-nav a{
    grid-template-columns:32px minmax(0,1fr) !important;
    padding:9px 3px !important;
    min-height:0 !important;
    font-size:19px !important;
}

html body #rrGlobalMenu .rr-menu-number{
    font-size:10px !important;
}

}

/* ==========================================================
   MOBILE — EXACT SECTION SPACING OVERRIDES
   Beat legacy master-system specificity
   ========================================================== */

@media (max-width:1100px){

html body main#main > #amenities.amenities.section-wrap,
html body main#main > #reviews.reviews-section.section-wrap,
html body main#main > #experiences.experiences.section-wrap,
html body main#main > #faq.faq-section.section-wrap{
    padding-top:22px !important;
    padding-bottom:22px !important;
    min-height:0 !important;
    height:auto !important;
}

html body main#main > #location.location.section-wrap{
    padding-top:22px !important;
    padding-bottom:22px !important;
    min-height:0 !important;
    height:auto !important;
}

html body main#main > .reserve.reserve-closing.section-wrap{
    padding-top:24px !important;
    padding-bottom:24px !important;
    min-height:0 !important;
    height:auto !important;
}

/* Area pages */
html body main#main.area-page > .area-hero.section-wrap{
    padding-top:28px !important;
    padding-bottom:24px !important;
}

html body main#main.area-page > .area-group.section-wrap{
    padding-top:24px !important;
    padding-bottom:24px !important;
}

html body main#main.area-page > .area-ending.section-wrap{
    padding-top:18px !important;
    padding-bottom:24px !important;
}

}

/* ==========================================================
   MOBILE AVAILABILITY — REMOVE HIDDEN HEADING DEAD SPACE
   ========================================================== */

@media (max-width:1100px){

/* "Choose your cabin days." is unnecessary on mobile
   and its layout box is creating the large blank area */
html body #reserve .section-top h2,
html body #reserve h2{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
}

/* Tighten the availability introduction */
html body #reserve .section-top{
    min-height:0 !important;
    height:auto !important;
    padding-top:0 !important;
    padding-bottom:16px !important;
    margin:0 !important;
}

html body #reserve .section-top .eyebrow{
    margin:0 0 14px 0 !important;
}

html body #reserve .section-top p{
    margin:0 !important;
    padding:0 !important;
}

}

/* ==========================================================
   MOBILE — TIGHTEN STATS TO RUSTIC SOUL TRANSITION
   ========================================================== */

@media (max-width:1100px){

/* Stats section */
html body main#main .stats,
html body main#main .property-stats,
html body main#main .stay-stats{
    margin-bottom:0 !important;
    padding-bottom:14px !important;
}

/* Section immediately following the stats */
html body main#main .stats + .section-wrap,
html body main#main .property-stats + .section-wrap,
html body main#main .stay-stats + .section-wrap{
    margin-top:0 !important;
    padding-top:16px !important;
}

/* Directly tighten the Rustic Soul / Thoughtful Details section */
html body main#main .reserve.reserve-closing.section-wrap{
    margin-top:0 !important;
    padding-top:16px !important;
}

}

/* ==========================================================
   MOBILE — FACTS TO INTRO GAP FIX
   ========================================================== */

@media (max-width:1100px){

html body main#main > .facts{
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding-top:18px !important;
    padding-bottom:10px !important;
    min-height:0 !important;
    height:auto !important;
}

html body main#main > #cabin.intro.section-wrap{
    margin-top:0 !important;
    padding-top:14px !important;
}

}

/* ==========================================================
   MOBILE MENU — CLEAR RETURN TO WEBSITE CONTROL
   ========================================================== */

@media (max-width:1100px){

html body #rrGlobalMenu .menu-drawer-head{
    position:relative !important;
}

html body #rrGlobalMenu .rr-menu-back-site{
    appearance:none !important;
    background:transparent !important;
    border:0 !important;
    padding:10px 0 !important;
    margin:12px 0 0 0 !important;

    font-family:var(--rr5-sans,Arial,sans-serif) !important;
    font-size:12px !important;
    font-weight:600 !important;
    letter-spacing:.12em !important;
    text-transform:uppercase !important;

    color:#8a6f27 !important;
    cursor:pointer !important;
}

html body #rrGlobalMenu .rr-menu-back-site span{
    display:inline-block !important;
    margin-right:7px !important;
    font-size:15px !important;
}

/* Make existing X much easier to understand */
html body #rrGlobalMenu .menu-close{
    color:#d8b464 !important;
}

}

/* MOBILE MENU — USE ONE CLEAR EXIT CONTROL */
@media (max-width:1100px){
  html body #rrGlobalMenu .menu-close{
    display:none !important;
  }

  html body #rrGlobalMenu .rr-menu-back-site{
    margin-top:14px !important;
  }
}
