/* Mobile refinements of the published Baia Marina design. */
.map-destination-picker{display:none}
@media(max-width:900px){
  html{scroll-padding-top:96px}
  html.menu-open{overflow-y:auto}html.menu-open body{overflow:visible}
  .site-header{z-index:100}
  .site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px}
  .site-header .brand{justify-self:start;min-width:0}
  .site-header .language-switch{grid-column:2;grid-row:1;gap:0;font-size:13px}
  .site-header .language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;opacity:.7}
  .site-header .language-switch a[aria-current=true]{opacity:1}
  .site-header .menu-toggle{grid-column:3;grid-row:1;min-width:44px;min-height:44px;padding:8px}
  .site-header nav,html[lang=it] .site-header nav{top:100%;left:0;right:0;gap:2px;padding:12px 5% max(20px,env(safe-area-inset-bottom));max-height:calc(100dvh - 98px);overflow-y:auto;overscroll-behavior:auto;font-size:14px}
  .site-header nav>a{display:flex;align-items:center;min-height:48px;padding:10px 4px}
  .site-header nav>a.btn,html[lang=it] .site-header nav>a.btn{justify-content:center;margin-top:8px;padding:14px 16px;font-size:12px;white-space:normal;text-align:center}
  .site-header nav .nav-wave{flex-shrink:0}
  .menu-open .mobile-book,.menu-open .whatsapp-contact{visibility:hidden}
}
@media(max-width:700px){
  html{scrollbar-gutter:auto;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
  body{padding-bottom:calc(var(--mobile-book-height,76px) + env(safe-area-inset-bottom));font-size:16px}
  main,.wrap,section,article,form,figure,.card,.story-text{min-width:0}
  .wrap{width:calc(100% - 36px)}
  h1,h2,h3,p,address,.eyebrow,.small-note{overflow-wrap:break-word}
  .btn{max-width:100%;white-space:normal;text-align:center;gap:12px}
  .site-header .brand strong{font-size:17px;letter-spacing:.1em}
  .site-header .brand small{font-size:7px;letter-spacing:.21em}
  .site-header .brand svg{width:48px;height:16px}
  .site-header nav,html[lang=it] .site-header nav{max-height:calc(100dvh - 80px)}
  .hero{min-height:640px;height:auto;align-items:flex-start}
  .hero>img{object-position:58% center}
  .hero .hero-copy{max-width:none;padding:38px 0 190px}
  .hero .hero-copy h1{font-size:clamp(44px,12.5vw,54px);line-height:1.08}
  .hero .hero-copy p{max-width:300px;font-size:18px;line-height:1.55}
  .home-dusk .hero:after{background:linear-gradient(180deg,#faf8f3e8 0%,#faf8f3db 38%,#faf8f36b 64%,transparent 83%)}
  .hero .hero-note{top:auto;bottom:34px;right:6%;width:155px;max-width:50%;pointer-events:none}
  html[lang=it] .hero-note .italian-handwriting{font-size:30px;max-width:100%}
  .booking-bar{margin-top:0;padding:22px;gap:18px}
  .booking-bar .serif{font-size:25px;line-height:1.3}
  .section-head .living-elegant,html[lang=it] .section-head .living-elegant,.living-handwritten,html[lang=it] .living-handwritten{font-size:34px;line-height:1.18;white-space:normal}
  .cards,.listing .cards,.home-dusk .cards:has(.home-stay-card){grid-template-columns:minmax(0,1fr)}
  .card .apartment-name,.stay-gallery-card h3.apartment-name,.stay-gallery-card h3.terrace-name,.detail-top .apartment-name.terrace-name{white-space:normal;overflow-wrap:break-word}
  .card .apartment-name,.stay-gallery-card h3.apartment-name{font-size:27px;line-height:1.2}
  .home-stay-card:hover,.home-stay-card:focus-within,.home-stay-card:hover img{transform:none}
  .home-stay-card .stay-prev,.home-stay-card .stay-next,.home-stay-card .stay-photo-count,.home-stay-card:hover .stay-prev,.home-stay-card:hover .stay-next,.home-stay-card:hover .stay-photo-count{opacity:1;pointer-events:auto}
  .stay-preview .stay-prev,.stay-preview .stay-next,.home-stay-card .stay-prev,.home-stay-card .stay-next,.round{width:44px;height:44px;min-width:44px;min-height:44px;font-size:28px}
  .stay-preview,.gallery-main,.place-gallery,.destination-gallery, #lightbox>img{touch-action:pan-y pinch-zoom}
  .stay-preview img,.gallery-main,.place-gallery img,.destination-gallery img{user-select:none;-webkit-user-drag:none}
  .stay-photo-count{font-size:13px}
  .stay-facts{gap:12px;font-size:14px}
  .stay-facts>span+span{padding-left:12px}
  .detail-top .apartment-name{font-size:34px}
  .quick-facts{grid-template-columns:repeat(2,minmax(0,1fr));font-size:15px}
  .quick-facts span{min-width:0;align-items:flex-start;overflow-wrap:break-word}
  .feature-pair article{grid-template-columns:minmax(0,1fr);gap:14px}
  .feature-pair img{height:auto;aspect-ratio:1.6;object-fit:cover}
  .gallery-main{height:auto;aspect-ratio:4/3}
  .gallery-controls{top:calc((100vw - 36px)*.375 - 22px);inset-inline:10px}
  .counter{top:calc((100vw - 36px)*.75 - 38px);right:10px}
  .thumbs{max-width:100%;gap:8px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}
  .thumbs button{flex:0 0 80px;max-width:80px;scroll-snap-align:start;min-height:60px}
  .thumbs img{height:60px}
  .anchor-nav{flex-wrap:wrap;white-space:normal;overflow:visible;gap:4px 20px;font-size:12px;padding-bottom:10px}
  .anchor-nav a{display:flex;align-items:center;min-height:44px}
  .anchor-nav a[aria-current=location]{padding-bottom:0;margin-bottom:0;border-bottom-width:2px}
  .about-atmosphere{height:auto;min-height:490px;padding:45px 18px 100px;scroll-margin-top:96px}
  .about-words{width:100%;padding:0;gap:12px}
  .about-words button{font-size:40px;max-width:100%;min-height:58px}
  .about-read-story{bottom:30px;max-width:calc(100% - 36px);min-height:44px;font-size:14px}
  .about-panel{scroll-margin-top:96px;min-width:0}
  .about-close-story{font-size:14px;min-height:44px}
  .about-editorial,.about-editorial-anna{display:flex;flex-direction:column;height:auto;min-height:0;overflow:visible;margin:0 18px 35px;padding:0}
  .about-editorial:after{display:none}
  .about-editorial>img,.about-editorial-anna>img{position:static;grid-area:auto;order:0;width:100%;height:auto;min-height:0;max-height:none;margin:0;object-fit:contain;z-index:auto}
  .about-editorial-copy,.about-editorial-anna>.about-editorial-copy,.about-editorial-balestrate .about-editorial-copy{grid-area:auto;order:1;width:100%;max-width:none;align-self:auto;justify-self:auto;padding:26px 22px;margin:0;background:#193644;overflow:visible}
  .about-editorial-anna>.about-editorial-copy{background:#292929}
  .about-editorial-copy h1,.about-editorial-anna>.about-editorial-copy>h1{font-size:32px;line-height:1.2;white-space:normal}
  .about-editorial-copy p,.about-editorial-anna>.about-editorial-copy>p{font-size:16px;line-height:1.75;max-width:100%}
  .about-editorial-anna>.about-editorial-copy>.eyebrow{font-size:12px}
  .balestrate-collage{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 18px}
  .balestrate-collage figcaption{font-size:12px;line-height:1.4;padding:24px 10px 10px}
  .collage-story{width:100%;min-width:0}
  .collage-story summary{min-height:44px;padding:10px 0;font-size:15px}
  .collage-story small{font-size:12px}
  .collection-hero{min-height:350px}
  .collection-hero-copy{padding:28px 22px;min-width:0;width:100%}
  .collection-hero h1{font-size:40px;line-height:1.1;overflow-wrap:break-word}
  .collection-hero p{font-size:18px;line-height:1.5}
  .collection-hero:after{background:linear-gradient(90deg,#073c58ed,#073c58a6 65%,#073c5840)}
  .story-hero{height:auto;min-height:520px;max-height:none}
  .story-hero-copy{padding:40px 0;width:calc(100% - 36px)}
  .story-hero-copy>h1{font-size:40px;line-height:1.15;overflow-wrap:break-word}
  .story-hero-copy>p{font-size:21px;line-height:1.5}
  .story-chapter,.story-chapter:nth-of-type(odd){grid-template-columns:minmax(0,1fr);gap:24px;width:calc(100% - 36px);margin:45px auto}
  .story-chapter:nth-of-type(odd)>.story-text{order:0}
  .story-chapter figure>img{height:auto;max-height:none;aspect-ratio:4/3;object-fit:cover}
  .story-chapters{gap:4px 18px;font-size:13px}
  .story-chapters a{display:flex;align-items:center;min-height:44px}
  .sicily-collection .filters{gap:4px 18px}
  .sicily-collection .filter,.filters .filter{min-height:44px;white-space:normal;font-size:13px}
  .place-grid,.discovery-triptych{grid-template-columns:minmax(0,1fr)}
  .story-card-link,.discovery-tile .story-card-link{display:grid;grid-template-columns:minmax(0,1fr);height:auto;min-height:0;overflow:visible}
  .story-card-link>.experience-photo,.discovery-tile .experience-photo{position:relative;grid-area:1/1;inset:auto;width:100%;height:320px;margin:0;z-index:0;transform:none}
  .story-card-link:after,.discovery-tile .story-card-link:after{position:relative;grid-area:1/1;inset:auto;z-index:1;background:linear-gradient(0deg,#082a42e6,transparent 75%);pointer-events:none}
  .story-card-link .story-card-title,.story-card-link:hover .story-card-title,.story-card-link.is-revealed .story-card-title,.story-card-link:focus-visible .story-card-title{position:relative;grid-area:1/1;align-self:end;left:auto;right:auto;top:auto;bottom:auto;margin:0;padding:24px;z-index:2}
  .story-card-title>h3,.discovery-tile .story-card-title h3{font-size:29px;line-height:1.2}
  .story-card-link .story-card-reveal{display:none;position:relative;grid-area:2/1;inset:auto;transform:none;padding:24px;max-height:none;overflow:visible;background:#073746}
  .story-card-link.is-revealed .story-card-reveal{display:block}
  .story-card-reveal>p,.discovery-tile .story-card-reveal>p{max-width:none;font-size:19px;line-height:1.55}
  .story-card-action{display:block;font-size:12px;line-height:1.5;max-width:100%;width:auto}
  #sicily-map{min-width:0;scroll-margin-top:96px}
  .map-heading h2{font-size:32px;line-height:1.2}
  .map-heading p,.map-story p{font-size:16px}
  .map-layout{grid-template-columns:minmax(0,1fr)}
  .map-story{display:block;min-width:0;max-height:none;overflow:visible}
  .map-story-content{padding:22px 18px}
  .map-story>img{height:auto;aspect-ratio:1.6;min-height:0}
  .map-toolbar{position:relative;top:auto;left:auto;padding:8px;flex-wrap:wrap}
  .map-toolbar button,.map-more,.trip-modes button,.map-story-tabs button,.boat-itineraries button,.destination-close{min-height:44px;min-width:44px;font-size:14px}
  .map-caption{font-size:12px!important;line-height:1.5}
  .map-destination-picker{display:block;margin:18px 0;font-size:14px}
  .map-destination-picker select{display:block;width:100%;min-width:0;min-height:48px;font:16px var(--font-body);color:var(--navy);background:var(--ivory);border:1px solid var(--line);padding:10px;margin-top:8px}
  .island-map{touch-action:pan-y pinch-zoom}
  .island-map.map-zoomed{touch-action:pan-y pinch-zoom;cursor:grab}
  .map-pin text{font-size:29px}
  .map-legend{font-size:14px;gap:10px 18px}
  #sicily-map>.boat-itineraries{padding:20px 16px;margin:24px 0;max-width:100%}
  #sicily-map>.boat-itineraries>button{font-size:14px;white-space:normal;text-align:left;width:100%;line-height:1.5}
  #itinerary-stops{min-width:0;max-width:100%}
  #itinerary-stops button{white-space:normal;max-width:100%}
  .booking-opening{padding:38px 0 45px}
  .booking-opening:after{background:linear-gradient(90deg,#faf8f3f2 0%,#faf8f3db 60%,#faf8f37a 100%)}
  .booking-opening h1{font-size:46px;line-height:1.12}
  .booking-opening p{font-size:18px;max-width:100%}
  .booking-page .booking-home-options{grid-template-columns:minmax(0,1fr);gap:22px}
  .booking-page .booking-home-choice h3.apartment-name{font-size:26px;white-space:normal;overflow-wrap:break-word;margin:18px 18px 8px}
  .booking-page .booking-card-caption{font-size:16px;line-height:1.5;margin:0 18px 16px}
  .booking-page .stay-facts{font-size:14px;margin:0 18px;gap:12px}
  .booking-page .booking-home-choice>img{aspect-ratio:1.6}
  .booking-intro,.booking-page .enquiry-panel>p{font-size:16px}
  .booking-page .enquiry-panel{padding:24px 18px;scroll-margin-top:96px}
  .booking-page .enquiry-panel label{font-size:13px}
  .booking-page .enquiry-panel input,.booking-page .enquiry-panel select,.inline-dates input,.enquiry-panel input,.enquiry-panel select{font-size:16px;min-height:48px;max-width:100%;min-inline-size:0;box-sizing:border-box}
  input[type=date]{display:block;max-inline-size:100%;appearance:none;-webkit-appearance:none}
  input[type=date]::-webkit-date-and-time-value{text-align:left}
  .booking-page .enquiry-panel .small-note{font-size:14px;line-height:1.6}
  .booking-page .enquiry-panel .btn{font-size:13px;min-height:48px}
  .booking-welcome p,.booking-faq .faq p{font-size:16px}
  .booking-arrival dl{font-size:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .booking-page .booking-faq .small-note{font-size:13px;overflow-wrap:anywhere}
  .request-dates,.inline-dates .date-links{grid-template-columns:minmax(0,1fr)}
  .booking-view{padding-bottom:env(safe-area-inset-bottom)}
  .booking-view .mobile-book{display:none}
  dialog{width:calc(100% - 24px);max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:12px;box-sizing:border-box;overscroll-behavior:contain}
  .lightbox-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:4px;align-items:start}
  .lightbox-toolbar button{width:44px;height:44px;padding:6px;font-size:28px}
  .lb-caption{min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:14px;line-height:1.4;padding-top:9px}
  #lightbox>img{width:100%;max-width:100%;height:auto;max-height:calc(100dvh - 155px);object-fit:contain}
  .destination-dialog{padding:20px 16px;max-height:calc(100dvh - 24px)}
  .destination-dialog h3{font-size:29px;overflow-wrap:break-word;margin-right:40px}
  .destination-close{top:4px;right:4px;padding:4px}
  .destination-gallery{gap:5px}
  .destination-gallery button{width:44px;height:44px;flex:0 0 44px}
  .destination-gallery figure{min-width:0}
  .destination-gallery img{width:100%;max-width:100%;height:190px}
  .destination-gallery figcaption{font-size:14px;overflow-wrap:break-word}
  .destination-dialog p{font-size:16px}
  body:has(dialog[open]) .mobile-book,body:has(dialog[open]) .whatsapp-contact,.editing-dates .mobile-book{visibility:hidden}
  .mobile-book{gap:10px;padding:10px 18px max(10px,env(safe-area-inset-bottom));align-items:center;z-index:60}
  .mobile-book>span{font-size:16px;line-height:1.3;flex:1;min-width:0}
  .mobile-book .btn{flex:0 1 58%;min-height:48px;padding:10px 12px;font-size:11px;line-height:1.4}
  .whatsapp-contact{bottom:calc(var(--mobile-book-height,76px) + 12px + env(safe-area-inset-bottom));right:18px}
  .whatsapp-contact.contact-preview{position:static;width:max-content;max-width:calc(100% - 36px);margin:28px auto 0;padding:12px 16px;box-shadow:none;font-size:14px}
  .contact-preview small{font-size:12px;letter-spacing:0}
  footer{padding-bottom:30px}
  footer .top{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
  footer .brand{margin-bottom:0}
  footer .links{flex-wrap:wrap;gap:4px 24px;margin:0;font-size:14px}
  footer .links a,footer .text-link{display:inline-flex;align-items:center;min-height:44px}
  footer .photo-credits summary,footer .photo-credits p{font-size:12px;line-height:1.6}
  footer .photo-credits summary{min-height:44px}
  .guest-confidence{font-size:13px;line-height:1.5;gap:8px 16px}
  .guest-confidence a{min-height:44px;display:inline-flex;align-items:center}
  .guest-confidence .confidence-divider{display:none}
  .review-platform-preview>div{font-size:14px}
}
