/* 115 Schiller v0.9.40 — MOBILE QA batch 02. Desktop deliberately retained.
   Source register: SCH-QA-001...016. 320px priority; no external resources. */
@media(max-width:700px){
  html{scroll-padding-top:82px}
  body{max-width:100%;margin:0}
  :where(main,section,article,figure){min-width:0}
  :where(img,video){max-width:100%}
  :where(button,a,input,select){-webkit-tap-highlight-color:transparent}
  :where(.section-head,.comforts-container,.arrival-wrap,.house-wrap,.safe-body,.sch-v0930-inner){min-width:0}
  /* 002: Booking form: labels and values cannot overlap; maintain native accessible controls. */
  .booking-float{width:calc(100% - 28px);max-width:100%;padding:0;margin:-22px auto 0}
  .booking-float .bookbar{grid-template-columns:minmax(0,1fr);width:100%;overflow:visible;border-radius:12px}
  .bookbar>div{min-width:0;padding:13px 16px;border-right:0;border-bottom:1px solid #dbe1d8}
  .bookbar :is(select,input[type=date]){display:block;min-width:0;width:100%;max-width:100%;height:36px;font-size:16px;line-height:1.3}
  .bookbar .sch-date-control{min-width:0;max-width:100%}
  .bookbar :is(button,.bookbtn,.btn){max-width:100%;min-height:48px}
  /* 003: Amenity icons replace generic circular bullets. */
  .sch-shared-comforts{gap:12px;margin:16px 0 6px;padding:17px}
  .sch-shared-comforts>span{display:flex;align-items:center;gap:10px;min-width:0;line-height:1.5;font-size:13px}
  .sch-shared-comforts .sch-amenity-icon{display:block;width:19px;height:19px;min-width:19px;flex:0 0 19px;color:#487456}
  .sch-shared-comforts a{margin-left:0;width:100%;padding-top:7px}
  /* 001 + 004: Host header and following section get actual separation. */
  .host-editorial{padding-bottom:clamp(52px,13vw,75px)}
  .host-editorial .host-grid{gap:clamp(26px,8vw,38px)}
  .host-panel{margin-top:10px;margin-bottom:12px;min-width:0}
  .host-panel :is(.tiny,.host-monogram,h3){margin-bottom:12px}
  .host-editorial+.section,.host-editorial+.muted-section{padding-top:48px}
  /* 005 / 006: mobile image-first seasonal campaign. CSS overrides legacy hardcoded row sizes. */
  .sch-seasonal-campaign .sch-summer-inner{display:flex;flex-direction:column;min-height:0}
  .sch-seasonal-campaign .sch-summer-visual{order:-1;min-height:0;width:100%;margin:0}
  .sch-seasonal-campaign .sch-summer-visual img{display:block;width:100%;height:clamp(210px,72vw,300px);min-height:0;max-height:300px;object-fit:cover;object-position:center 48%}
  .sch-seasonal-campaign .sch-summer-visual figcaption{bottom:12px;left:15px;right:15px;gap:5px;font-size:9px;letter-spacing:.05em}
  .sch-seasonal-campaign .sch-summer-copy{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:0;grid-template-rows:none;gap:0;padding:30px 19px 32px}
  .sch-seasonal-campaign .sch-summer-kicker{margin:0 0 12px;font-size:10px}
  .sch-seasonal-campaign .sch-summer-copy h2{margin:0;font-size:clamp(35px,10.5vw,50px);line-height:1.08;letter-spacing:-.04em}
  .sch-seasonal-campaign .sch-summer-intro{margin:14px 0 0;font-size:14px;line-height:1.55}
  .sch-seasonal-campaign .sch-summer-availability{margin:12px 0 0;font-size:12px;line-height:1.55}
  .sch-seasonal-campaign .sch-summer-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin:20px 0 0;width:100%}
  .sch-seasonal-campaign .sch-summer-actions>a{width:100%;min-width:0;min-height:48px;padding:11px 15px;font-size:12px}
  .sch-seasonal-campaign .sch-summer-disclosure{margin:15px 0 0;font-size:10px;line-height:1.55}
  .sch-seasonal-campaign .sch-seasonal-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 10px;margin:22px 0 0;width:100%;align-items:center}
  .sch-seasonal-campaign .sch-seasonal-footer>span{grid-column:1/-1;font-size:10px}
  .sch-seasonal-campaign .sch-seasonal-tabs{grid-column:1/-1;display:flex;max-width:100%;width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;white-space:nowrap;flex-wrap:nowrap!important;border-radius:12px;padding:4px}
  .sch-seasonal-campaign .sch-seasonal-tabs button{flex:0 0 auto;min-height:41px;padding:8px 11px;font-size:12px}
  .sch-seasonal-campaign .sch-season-wheel-tools{grid-column:1;max-width:100%;width:max-content;margin:0}
  .sch-seasonal-campaign .sch-season-wheel-tools button{min-width:43px;min-height:43px;font-size:13px}
  .sch-seasonal-campaign .sch-seasonal-all{grid-column:2;justify-self:end;font-size:12px;white-space:nowrap}
  /* 010: arrival content and hero transition */
  .arrival-hero{padding-top:66px;padding-bottom:67px}
  .arrival-intro{padding-top:49px;padding-bottom:48px;gap:25px}
  .arrival-wrap{padding-inline:18px}
  .arrival-intro p{line-height:1.72}
  .arrival-panel{min-width:0;overflow-wrap:anywhere}
  /* 011: editorial credits / captions */
  .comforts-page-hero .sch-art-credit,.sch-art-credit-dark,.comforts-page-section .sch-art-credit{display:block;max-width:calc(100% - 32px);margin:14px 16px;text-align:left;line-height:1.55;font-size:10px}
  .comforts-page-section{padding-block:44px}
  .sch-delivery-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
  /* 013: only inline icons, never default intrinsic SVG dimensions */
  .sch-property-care .sch-v0930-icon,.sch-care-tile .sch-v0930-icon,.house-rule svg,.house-trust svg{display:inline-block;width:24px!important;height:24px!important;min-width:24px;max-width:24px;min-height:24px;max-height:24px;flex:0 0 24px}
  .sch-property-care .sch-care-grid{grid-template-columns:minmax(0,1fr)}
  .house-rule{padding:22px}.house-rule h3{font-size:25px}
  /* 014: safety icon dimensions, emergency CTA contrast and no unwanted wrapping */
  .safe-body :is(.safe-icon,.safe-card svg,.safe-emergency svg,.safe-contact svg){width:22px!important;height:22px!important;max-width:22px!important;max-height:22px!important;flex:0 0 22px!important;vertical-align:middle}
  .safe-body .safe-emergency{display:flex;flex-direction:column;align-items:stretch;gap:17px;min-width:0}
  .safe-body .safe-emergency>a[href="tel:911"]{display:inline-flex;align-items:center;justify-content:center;gap:11px;width:100%;max-width:100%;min-height:52px;padding:14px 17px;background:#fff;color:#12382b!important;border:2px solid #fff;border-radius:9px;font-size:16px;font-weight:850;text-align:center;text-decoration:none}
  .safe-body .safe-emergency>a[href="tel:911"]:focus-visible{outline:3px solid #d8b685;outline-offset:3px}
  /* 015: Hayden introductory microspacing, no desktop change. */
  .comforts-strip .comfort-kicker{margin-bottom:20px}
  .comforts-strip-head{display:flex;align-items:flex-start;gap:13px;margin-top:8px;margin-bottom:14px;flex-wrap:wrap}
  .comforts-strip-head .comfort-icon{flex:0 0 24px;width:24px;height:24px}
  .comforts-strip-head h2{margin:0;font-size:clamp(24px,7.5vw,34px);line-height:1.18;flex:1 1 200px}
  /* 016: consistent page margin, buttons, captions */
  :where(.sch-v0930-resource,.sch-property-care,.house-rule,.arrival-grid article){min-width:0;overflow-wrap:break-word}
  :where(.sch-v0930-page,.safe-body,.arrival-hero,.comforts-page-section){max-width:100%}
}
@media(max-width:730px){
  /* 007: real mobile tabs: horizontal swipe, no overlapping; active state visible. */
  #gs-app{max-width:100%;min-width:0;padding-inline:14px}
  #gs-app .gs-tabs{display:flex;flex-wrap:nowrap;width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:4px;gap:6px;scrollbar-width:thin;padding:9px 0 10px;margin-bottom:23px;-webkit-overflow-scrolling:touch}
  #gs-app .gs-tab{min-width:max-content;flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;scroll-snap-align:start;white-space:nowrap;min-height:46px;border:1px solid #dce4da;border-radius:10px;padding:11px 12px;background:#fffdfa;font-size:12px;line-height:1.3}
  #gs-app .gs-tab.active,#gs-app .gs-tab[aria-selected="true"]{background:#173e30;color:#fff;border-color:#173e30}
  #gs-app .gs-tab:focus-visible{outline:3px solid #b88d53;outline-offset:2px}
  /* 008: currency amounts never truncate or push containers sideways */
  #gs-app .gs-stats{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  #gs-app .gs-stats>div{min-width:0;padding:18px 20px}
  #gs-app .gs-stats strong{display:block;min-width:0;font-size:clamp(26px,8vw,36px);line-height:1.14;overflow-wrap:anywhere;word-break:normal}
  #gs-app .gs-payment-row{min-width:0;flex-wrap:wrap;align-items:flex-start;gap:5px 14px}
  #gs-app .gs-payment-row>div{min-width:0;flex:1 1 170px;overflow-wrap:anywhere}
  #gs-app .gs-payment-row>strong{flex:0 1 auto;white-space:normal;overflow-wrap:anywhere}
  #gs-app .gs-white-panel,#gs-app .gs-detail-panel{min-width:0;overflow-wrap:anywhere}
  /* 009: demo intro becomes legible mini panel with discrete exit */
  #gs-app .gs-demo-notice{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:15px 14px;margin-top:16px;align-items:start}
  #gs-app .gs-demo-notice>.gs-svg{grid-column:1;grid-row:1;width:22px;height:22px}
  #gs-app .gs-demo-notice>div{grid-column:2;grid-row:1;min-width:0;gap:4px}
  #gs-app .gs-demo-notice span{display:block;line-height:1.5}
  #gs-app .gs-demo-notice>a{grid-column:2;grid-row:2;display:inline-flex;width:max-content;max-width:100%;min-height:40px;align-items:center;padding:7px 10px;margin:2px 0 0;border:1px solid #d1bc99;border-radius:8px;background:#fffefa;white-space:normal;font-size:12px}
  #gs-app .gs-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:360px){
  #gs-app .gs-detail-grid{grid-template-columns:minmax(0,1fr)}
  #gs-app .gs-masthead h1{font-size:clamp(43px,13.5vw,54px)}
  #gs-app .gs-btn{white-space:normal}
  .sch-seasonal-campaign .sch-summer-copy{padding-inline:16px}
  .sch-seasonal-campaign .sch-seasonal-footer{grid-template-columns:minmax(0,1fr)}
  .sch-seasonal-campaign .sch-season-wheel-tools,.sch-seasonal-campaign .sch-seasonal-all{grid-column:1;justify-self:start}
}
@media(prefers-reduced-motion:reduce){.sch-seasonal-campaign *,#gs-app .gs-section{animation:none!important;transition:none!important}}
/* SCH-QA-001: /andrew/ family welcome overline, heading, and portrait separation. */
@media(max-width:700px){
 .story-host-hero .story-host-grid{gap:30px;padding-top:55px;padding-bottom:59px}
 .story-host-hero .story-eyebrow{display:block;margin-bottom:19px;line-height:1.5}
 .story-host-hero h1{font-size:clamp(42px,10.9vw,63px);line-height:1.07;margin:0 0 22px;overflow-wrap:normal}
 .story-host-hero .story-host-byline{margin:24px 0 26px}
 .story-host-hero .story-host-photo{margin-top:7px;min-width:0}
}

/* Seasonal artwork itself is a discoverable tap target only on phones. */
.sch-seasonal-media-tap{display:none}
@media(max-width:700px){
 .sch-seasonal-campaign .sch-summer-visual{position:relative}
 .sch-seasonal-campaign .sch-seasonal-media-tap{display:block;position:absolute;inset:0;z-index:1;border-radius:0}
 .sch-seasonal-campaign .sch-seasonal-media-tap:focus-visible{outline:3px solid #e5bf80;outline-offset:-5px}
 .sch-seasonal-campaign .sch-summer-visual figcaption{z-index:2;pointer-events:none}
}
