@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/assets/fonts/bricolage-grotesque-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/onest-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* caratteri della versione mobile (OFL, serviti da noi): il desktop non li usa, --f-head/--f-body/--f-acc sono ridefiniti solo in @media (max-width:1060px) */
@font-face{font-family:'Outfit';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/outfit-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Outfit';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/outfit-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/figtree-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/figtree-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/figtree-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/figtree-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-serif-latin-400-italic.woff2) format('woff2')}
:root{
  --brand:#125F7B;--brand-d:#0c4559;--cream:#FDF2E8;--cream-2:#fbeadb;--line:#e6e6e6;--star:#f5a623;
  --f-body:"Onest",system-ui,sans-serif;--f-head:"Bricolage Grotesque","Onest",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:400 16px/1.45 var(--f-body);color:var(--brand);background:#fff;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand)}
h1,h2,h3{font-family:var(--f-head);font-weight:500;color:var(--brand);margin:0 0 .5em}
h1{font-size:clamp(2.6rem,8vw,5rem);line-height:1.2}
h2,.sec-h{font-size:clamp(2rem,4.4vw,2.8125rem);line-height:1.2}
.h-sm{font-size:1.875rem;line-height:1.2}
h3{font-size:1.25rem;line-height:1.3}
p{margin:0 0 1em}
.ic{width:1.15em;height:1.15em;flex:none}
.wrap{width:min(1240px,100% - 64px);margin-inline:auto}
.narrow{width:min(820px,100% - 40px)}
.center{text-align:center}
.lead{font-size:1.25rem;line-height:1.4}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:10px;top:10px}
.hp{position:absolute;left:-9999px}
:focus-visible{outline:3px solid var(--star);outline-offset:2px}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;justify-content:center;background:var(--brand);color:#fff;border:0;border-radius:9999px;padding:15px 30px;font:400 16px/16px var(--f-body);letter-spacing:.5px;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--brand-d)}
.btn-sm{padding:13px 26px}
.btn-ghost{background:transparent;color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand)}
.btn-ghost:hover{background:var(--brand);color:#fff}
.btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(255,255,255,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .25s,box-shadow .25s}
.site-header.stuck{background:#fff;box-shadow:0 1px 0 var(--line)}
body:not(.has-hero){padding-top:var(--hh)}
body:not(.has-hero) .site-header{background:#fff;box-shadow:0 1px 0 var(--line)}
.bar{display:flex;align-items:center;height:var(--hh)}
.brand img{height:42px;width:auto}
.nav{display:flex;align-items:center;gap:30px;flex:1;margin-left:48px}
.nav>a,.dd-btn{white-space:nowrap;color:var(--brand);text-decoration:none;font:400 14px/1 var(--f-body);background:none;border:0;padding:8px 0;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.nav>a:hover,.dd-btn:hover,.nav>a[aria-current]{text-decoration:underline;text-underline-offset:6px}
.hdr-phone{margin-left:auto}.hdr-phone .ic{width:15px;height:15px}
.flag{width:16px;height:11px;display:inline-block;border-radius:1px;flex:none}
.dd{position:relative}
.dd .ic{width:12px;height:12px}
.dd-menu{position:absolute;top:100%;left:-14px;background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(18,95,123,.18);padding:8px;min-width:170px;display:none;z-index:5}
.dd-right{left:auto;right:0;min-width:110px}
.dd.open .dd-menu,.dd:hover .dd-menu,.dd:focus-within .dd-menu{display:block}
.dd-menu a{display:flex;align-items:center;gap:8px;color:var(--brand);text-decoration:none;font-size:14px;padding:.6em .8em;border-radius:8px}
.dd-menu a:hover{background:var(--cream)}
.burger{display:none;background:none;border:0;color:var(--brand);cursor:pointer;padding:8px;margin-left:auto}
.burger .ic{width:30px;height:30px}
@media (max-width:1060px){
  .burger{display:block}
  .nav{position:fixed;inset:var(--hh) 0 auto 0;background:#fff;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:10px 20px 24px;display:none;box-shadow:0 14px 30px rgba(18,95,123,.15);max-height:calc(100vh - var(--hh));overflow:auto}
  .nav.open{display:flex}
  .nav>a,.dd-btn{font-size:17px;padding:14px 4px;width:100%;border-bottom:1px solid var(--line)}
  .dd-menu{position:static;box-shadow:none;display:block;padding:0 0 0 14px;min-width:0}
  .dd .dd-btn .ic{display:none}
  .hdr-phone{margin-left:0}
  .lang-dd .dd-menu{display:none}.lang-dd.open .dd-menu{display:block}
}

/* Hero */
.hero{position:relative;min-height:711px;padding:128px 0 64px;isolation:isolate;border-bottom:1px solid var(--line);text-align:center}
.hero-sm{min-height:430px;display:flex;align-items:center;padding-top:120px}
.hero-bg{position:absolute;inset:0;z-index:-1;background:#e9f1f4;overflow:hidden}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s}
.hero-bg img.on{opacity:1}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.62) 0,rgba(255,255,255,.5) 55%,#fff 100%)}
.hero-in{width:min(1024px,100% - 40px)}
.hero-pre{font-size:12px;letter-spacing:.08em;margin:0 0 6px;color:var(--brand)}
.rot{display:inline-grid;font-weight:400}
.rot span{grid-area:1/1;opacity:0;transition:opacity .5s}
.rot span.on{opacity:1}
.hero h1{margin:0 0 .3em;font-weight:500}
.hero-p{font-size:1.125rem;max-width:620px;margin:0 auto 1.8em;line-height:1.45}
.search{max-width:900px;margin:0 auto}
.hero-note{display:flex;gap:.5em;align-items:center;justify-content:center;font-size:13px;margin:22px 0 8px;font-weight:500}
.hero-note .ic{color:var(--star);width:14px;height:14px}
.rline{display:flex;gap:7px;align-items:center;justify-content:center;font-size:12px;letter-spacing:.02em}
.rline img{width:18px;height:18px;border-radius:3px}
.stars{display:inline-flex;gap:1px;color:var(--star)}
.stars .ic{width:12px;height:12px;fill:currentColor;stroke:none}

/* Sections */
.sec{padding:70px 0}
.sec-cream{background:var(--cream)}
.sec-first{padding-top:60px}
.sec-h{margin-bottom:.6em}
.sec-dest{padding:54px 0 70px}
.dests{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}
.dest{position:relative;display:block;aspect-ratio:308/450;border-radius:999px 999px 14px 14px;overflow:hidden;text-decoration:none}
.dest img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.dest:hover img{transform:scale(1.05)}
.dest::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.45))}
.dest b{position:absolute;left:0;right:0;bottom:24px;z-index:2;text-align:center;color:#fff;font:600 26px/1.1 var(--f-head)}
@media (max-width:720px){.dests{grid-template-columns:1fr;max-width:340px;margin-inline:auto}}

.sec-tailor{padding:40px 0 80px}
.tailor{display:grid;grid-template-columns:354px 1fr;gap:40px;align-items:center}
.tailor-img{display:flex;gap:46px;justify-content:center;align-items:center}
.arch{object-fit:cover;border-radius:999px 999px 14px 14px}
.a1{width:188px;height:397px;margin-top:70px}
.a2{width:320px;height:485px}
@media (max-width:900px){.tailor{grid-template-columns:1fr}.tailor-img{gap:20px}.a1{width:36%;height:auto;aspect-ratio:188/397}.a2{width:56%;height:auto;aspect-ratio:320/485}}

.sec-best{background:linear-gradient(0deg,var(--cream) 30%,#fff 99%);padding:70px 0 40px}
.sec-best .lead{margin-bottom:1.1em}
.marq{background:var(--cream);overflow:hidden;padding:10px 0 70px}
.marq-track{display:flex;gap:14px;width:max-content;animation:marq 70s linear infinite}
.marq-track img{width:200px;height:298px;object-fit:cover;border-radius:24px;flex:none}
@keyframes marq{to{transform:translateX(calc(-50% - 7px))}}

.sec-rev{background:linear-gradient(0deg,#fff 60%,var(--cream));padding:90px 0 60px;overflow:hidden}
.rev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:26px}
.rev-head .sec-h{max-width:440px;margin:0}
.rev-badge{display:flex;flex-direction:column;gap:6px;font-size:14px}
.rev-badge .rline{justify-content:flex-start}
.rb{display:flex;gap:10px;align-items:center}
.rb img{width:28px;height:28px}.rb p{margin:0;line-height:1.35}
.rv-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 0}
.rv-track::-webkit-scrollbar{display:none}
.rv{flex:0 0 min(477px,86%);scroll-snap-align:start;margin:0;background:var(--cream);border-radius:32px;padding:26px 32px;display:flex;flex-direction:column;min-height:263px;position:relative}
.rv .q{font:700 2.6rem/1 var(--f-head)}
.rv .q2{align-self:flex-end;order:2;margin-top:auto}
.rv blockquote{margin:0;font-size:1.05rem;line-height:1.4}
.rv figcaption{order:3;display:flex;flex-direction:column;margin-top:-34px}
.rv figcaption b{font:600 1.15rem var(--f-head)}
.rv figcaption span{font-size:11px;letter-spacing:.1em}
.dots{display:flex;gap:8px;justify-content:center;margin-top:20px}
.dots button{width:8px;height:8px;border-radius:50%;border:0;background:#cfd6da;padding:0;cursor:pointer}
.dots button.on{background:var(--brand)}

.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:34px}
.g-top{align-items:start}
.svc{background:var(--cream);border-radius:24px;padding:28px}
.svc-ic{width:50px;height:50px;border-radius:14px;background:#fff;display:grid;place-items:center;margin-bottom:18px}
.svc-ic .ic{width:26px;height:26px}
.svc h3{font-weight:600}
.svc p{margin:0;font-size:15px;line-height:1.5}

/* Properties */
.sec-props{padding:60px 0 40px}
.props{display:flex;flex-direction:column;gap:96px}
.prop{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;scroll-margin-top:110px}
.pinfo h2{margin-bottom:12px}
.pinfo .rline{justify-content:flex-start;margin-bottom:14px}
.facts,.amen,.advs,.clist,.fgrid ul{list-style:none;margin:0;padding:0}
.facts{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:12px;letter-spacing:.03em;margin-bottom:22px}
.facts li,.amen li,.advs li,.clist li{display:flex;gap:.5em;align-items:center}
.facts .ic{width:14px;height:14px}
.pinfo>p{font-size:1.0625rem;line-height:1.5;margin-bottom:1.3em}
.pinfo h3{font:600 1rem var(--f-body);margin:0 0 12px}
.amen{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:13px}
.amen .ic{width:15px;height:15px}
.pside{border-radius:22px;overflow:hidden;background:var(--cream);box-shadow:0 2px 14px rgba(18,95,123,.08)}
.pgal{position:relative}
.slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;aspect-ratio:4/3}
.slides::-webkit-scrollbar{display:none}
.slide{flex:0 0 100%;scroll-snap-align:start}
.slide button{display:block;width:100%;height:100%;padding:0;border:0;background:#dfe9ee;cursor:zoom-in}
.slide img{width:100%;height:100%;object-fit:cover}
.gp,.gn{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.6);color:var(--brand);display:grid;place-items:center;cursor:pointer;opacity:.85}
.gp{left:10px}.gn{right:10px}.gp:hover,.gn:hover{background:#fff;opacity:1}
.pbook{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:20px 26px}
.pb-t{display:flex;flex-direction:column;gap:6px}
.pb-t b{font:500 1.25rem var(--f-head)}
.pb-t span{font-size:13px;line-height:1.4}
.pb-b{display:flex;flex-direction:column;align-items:center;gap:8px}
.pb-b small{display:flex;gap:5px;align-items:center;font-size:11px}
.pb-b small .ic{color:var(--star);width:13px;height:13px}
@media (max-width:860px){.prop{grid-template-columns:1fr}.pbook{grid-template-columns:1fr}.pb-b{align-items:flex-start}}

/* Owners / forms / contact */
.advs{display:flex;flex-direction:column;gap:14px;margin-top:28px}
.advs .ic{margin-top:.2em;align-self:flex-start}
.advs li{align-items:flex-start}
.two{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:start}
.info{display:flex;flex-direction:column;gap:16px}
.icard,.formcard{background:var(--cream);border-radius:24px;padding:clamp(20px,3vw,34px)}
.icard h3{display:flex;gap:.5em;align-items:center;margin-bottom:.3em}
.icard p{margin:0}
@media (max-width:860px){.two{grid-template-columns:1fr}}
.form label{display:flex;flex-direction:column;gap:6px;font-weight:500;font-size:14px}
.form input,.form select,.form textarea{font:inherit;color:var(--ink,#14262e);padding:.8em 1em;border:1.5px solid #7d8f98;border-radius:12px;background:#fff;width:100%}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(18,95,123,.15)}
.fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.full{grid-column:1/-1}
.check{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-weight:400!important}
.check input{width:auto;margin-top:.25em}
.req{font-size:13px}
.form-ok{background:#e8f6ee;color:#14633a;padding:14px;border-radius:12px;margin-top:16px}
.form-err{background:#fdecea;color:#8a1f12;padding:14px;border-radius:12px;margin-top:16px}
@media (max-width:600px){.fgrid2{grid-template-columns:1fr}}
.prose{line-height:1.6}.prose h2{font-size:1.5rem;margin-top:1.8em}.h-page{font-size:clamp(2rem,5vw,3rem)}

/* Footer */
.site-footer{background:#fff;color:var(--brand);padding:70px 0 0;border-top:1px solid var(--line)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px;align-items:start}
.fgrid h3{font:600 1rem var(--f-body);margin:0 0 14px}
.fgrid li{margin-bottom:.55em;font-size:14px}
.site-footer a{color:var(--brand)}
.flogo{height:64px;width:auto;margin-bottom:20px}
.clist li{margin-bottom:.6em;font-size:14px}
.clist a{text-decoration:none}
.legal{margin-top:50px;padding:22px 0 26px;font-size:12px}
@media (max-width:760px){.fgrid{grid-template-columns:1fr}}

/* Cookie */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;max-height:calc(100vh - 32px);overflow:auto;margin:auto;background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.25);padding:18px 22px;z-index:95;font-size:14px;color:var(--brand)}
.cookie[hidden]{display:none}
.cookie h2{font-size:19px;margin:0 0 6px}
.cookie .ck-text{margin:0 0 14px;line-height:1.5}
.ck-btns{display:flex;gap:10px;flex-wrap:wrap}
.cookie [hidden]{display:none!important}
.ck-btns .btn{flex:1 1 150px;font-size:13px;padding:13px 18px}
.ck-list{list-style:none;margin:0 0 16px;padding:0;border-top:1px solid var(--line)}
.ck-row{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}
.ck-row b{display:block;font-weight:600;margin-bottom:2px}.ck-row span{display:block;font-size:13px;line-height:1.4;color:#4d6670}
.ck-row em{font-style:normal;font-size:12px;white-space:nowrap;color:#1c9b4f;font-weight:600}
.ck-sw{position:relative;flex:none;width:46px;height:26px;cursor:pointer}
.ck-sw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.ck-sw i{position:absolute;inset:0;border-radius:99px;background:#c5d3d9;transition:background .2s}
.ck-sw i::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s}
.ck-sw input:checked+i{background:var(--brand)}.ck-sw input:checked+i::after{transform:translateX(20px)}
.ck-sw input:focus-visible+i{outline:3px solid #238d98;outline-offset:2px}
.linkbtn{background:none;border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-align:left;text-decoration:underline}
@media (max-width:560px){.cookie{left:10px;right:10px;bottom:10px;padding:16px}.ck-btns .btn{flex:1 1 100%}}

/* Lightbox */
.lb{position:fixed;inset:0;background:rgba(5,15,20,.94);z-index:200;display:none;align-items:center;justify-content:center}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:84vh;border-radius:8px;object-fit:contain}
.lb button{position:absolute;background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:50%;width:48px;height:48px;cursor:pointer;display:grid;place-items:center}
.lb button:hover{background:rgba(255,255,255,.3)}
.lb .x{top:18px;right:18px}.lb .p{left:18px;top:50%}.lb .n{right:18px;top:50%}.lb .p svg{transform:rotate(180deg)}
.lb .cnt{position:absolute;bottom:18px;color:#fff;font-size:.9rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.marq-track{animation:none}}

/* ===== Home v2 (conversione) ===== */
:root{--accent:#C6441D;--accent-d:#A83A17;--sand:#ffd7a3;--deep:#072f3f;--ink:#0e2a35;--mut:#52666f}
/* token strutturali (validi ovunque); il look mobile (colori, forme, ombre, caratteri) e' nella sezione 1 di "FONDAMENTA MOBILE" */
:root{
  --hh:87px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;
  --gut:20px;                    /* unico valore fuori scala: gutter laterale e padding interno delle card */
  --ctl-sm:44px;   /* compatto, minimo toccabile */
  --ctl:52px;      /* pulsante e campo standard */
  --ctl-lg:56px;   /* CTA principale (.btn-lg, .sgo, Paga) */
  --z-menu-scrim:49;--z-header:50;--z-bar:70;--z-wa:80;--z-scrim:110;--z-sheet:120;--z-cookie:130; /* .lb resta 200 */
}
@media (max-width:1060px){:root{--hh:64px}}
.btn-accent{background:var(--accent);box-shadow:0 8px 22px rgba(198,68,29,.35)}
.btn-accent:hover{background:var(--accent-d)}
.btn-lg{padding:20px 42px;font-size:17px;line-height:17px}
.hdr-cta{margin-left:4px}
@media (max-width:1180px){.hdr-phone span{display:none}}
.hdr-icon{display:inline-flex;align-items:center;gap:10px;position:relative}
.hdr-icon .ic{width:22px;height:22px}
.hdr-icon .hdr-icon-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}   /* a schermo largo solo l'icona; il testo resta per i lettori di schermo */
@media (max-width:1060px){.hdr-icon .hdr-icon-t{position:static;width:auto;height:auto;clip:auto;overflow:visible;white-space:normal}}
@media (max-width:1180px) and (min-width:1061px){.nav{gap:18px;margin-left:24px}}   /* con la voce "La mia prenotazione" la barra deve stare in una riga fino alla soglia del menu a tendina */

/* header su hero scuro */
.hero-dark .site-header:not(.stuck){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.hero-dark .site-header:not(.stuck) .brand img{filter:brightness(0) invert(1)}
@media (min-width:1061px){.hero-dark .site-header:not(.stuck) .nav>a:not(.btn),.hero-dark .site-header:not(.stuck) .dd-btn{color:#fff}}   /* voci del menu desktop sulla foto */

/* hero */
.hero2{position:relative;min-height:max(100vh,720px);max-height:980px;display:flex;align-items:center;padding:120px 0 150px;color:#fff;text-align:center}
.hero2-bg{position:absolute;inset:0;z-index:0;background:var(--deep);overflow:hidden}
.hero2-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s}
.hero2-bg img.on{opacity:1;animation:kb 16s ease-out forwards}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.09)}}
.hero2-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,28,38,.62) 0,rgba(5,28,38,.28) 38%,rgba(5,28,38,.55) 78%,rgba(5,28,38,.8) 100%)}
.hero2-in{position:relative;z-index:10;width:min(1100px,100% - 64px)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:8px 18px;font-size:14px;margin:0 0 26px}
.eyebrow .stars .ic{width:13px;height:13px}
.hero2 h1{text-wrap:balance;color:#fff;font-size:clamp(2.8rem,6.4vw,5.4rem);line-height:1.04;font-weight:600;letter-spacing:-.02em;margin:0 0 22px;text-shadow:0 4px 40px rgba(0,0,0,.3)}
.hero2 h1 em{font-style:normal;color:var(--sand)}
.hero2-sub{font-size:1.25rem;max-width:660px;margin:0 auto 38px;line-height:1.5;opacity:.95}
.chips2{display:flex;flex-wrap:wrap;gap:12px 30px;justify-content:center;list-style:none;padding:0;margin:34px 0 0;font-size:14.5px}
.chips2 li{display:flex;gap:8px;align-items:center}
.chips2 .ic{color:var(--sand);width:17px;height:17px}

/* search bar */
.cerca{max-width:980px;margin:0 auto;position:relative}
.sbar{position:relative;display:grid;grid-template-columns:1.2fr 1fr 1fr 1.05fr auto;align-items:stretch;background:#fff;border-radius:999px;padding:8px;box-shadow:0 24px 70px rgba(0,0,0,.4);text-align:left;color:var(--ink)}
.sf{position:relative}
.sf+.sf::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:1px;background:#e3e9ec;pointer-events:none}
.sf-b{width:100%;height:100%;text-align:left;background:none;border:0;border-radius:999px;padding:14px 26px;cursor:pointer;display:flex;flex-direction:column;gap:3px;font-family:var(--f-body)}
.sf-b:hover,.sf.open .sf-b{background:#f1f5f7}
.sf-l{font-weight:700;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--brand)}
.sf-v{font-weight:500;font-size:15.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sf-v.set{color:var(--ink)}
.sgo{background:var(--accent);color:#fff;border:0;border-radius:999px;padding:0 34px;font:600 17px var(--f-body);display:flex;gap:10px;align-items:center;cursor:pointer;margin-left:6px;transition:background .2s}
.sgo:hover{background:var(--accent-d)}
.sgo .ic{width:20px;height:20px}
.pop{position:absolute;top:calc(100% + 14px);background:#fff;border-radius:26px;box-shadow:0 24px 70px rgba(7,47,63,.32);padding:22px;z-index:30;color:var(--ink)}
.pop[hidden]{display:none}
.pop-dest{left:0;width:360px;padding:12px}
.pop-guests{right:0;width:330px}
.pop-cal{left:50%;transform:translateX(-50%);width:min(780px,calc(100vw - 32px))}
.sbar>.pop-cal{top:calc(100% + 14px)}
.pop-dest,.pop-guests{top:calc(100% + 18px)}
.po{display:flex;gap:14px;align-items:center;width:100%;background:none;border:0;border-radius:16px;padding:10px 12px;cursor:pointer;text-align:left;font-family:var(--f-body);color:var(--ink)}
.po:hover{background:#f1f5f7}
.po img,.po-i{width:44px;height:44px;border-radius:12px;object-fit:cover;flex:none;background:var(--cream);display:grid;place-items:center;color:var(--brand)}
.po span:last-child{display:flex;flex-direction:column}
.po b{font-weight:600;font-size:15px}.po small{color:var(--mut);font-size:13px}
.gr{display:flex;justify-content:space-between;align-items:center;padding:12px 4px}
.gr+.gr{border-top:1px solid #e8eef1}
.gr b{display:block;font-weight:600}.gr small{color:var(--mut);font-size:13px}
.gr-max{margin:0;padding:8px 4px 0;font-size:13px;color:var(--mut)}
.step{display:flex;align-items:center;gap:16px}
.step button{width:36px;height:36px;border-radius:50%;border:1.5px solid #b9c7ce;background:#fff;color:var(--brand);cursor:pointer;display:grid;place-items:center}
.step button:hover{border-color:var(--brand)}
.step output{min-width:20px;text-align:center;font-weight:600}
.cerca-up .pop{top:auto;bottom:calc(100% + 14px)}
.cerca-up .sbar>.pop-cal{top:auto}
.cerca-up .pop-dest,.cerca-up .pop-guests{top:auto;bottom:calc(100% + 18px)}

/* stats */
.stats-wrap{position:relative;z-index:5;margin-top:-68px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:28px;box-shadow:0 20px 60px rgba(7,47,63,.16);padding:30px 14px}
.stat{text-align:center;padding:4px 14px;display:flex;flex-direction:column;gap:2px}
.stat+.stat{border-left:1px solid #e6edf0}
.stat b{font:600 46px/1.1 var(--f-head);color:var(--brand)}
.stat b small{font-size:22px;font-weight:500;margin-left:2px;color:var(--mut)}
.stat span{font-size:14px;color:var(--mut)}

/* sezioni */
.sh{margin-bottom:38px}
.sh h2{margin:0 0 8px;font-size:clamp(2rem,4vw,3rem);font-weight:600;letter-spacing:-.015em}
.sh p{margin:0;font-size:1.15rem;color:var(--mut)}
.sh-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.sec-dest2{padding:90px 0 70px}
.dests2{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.dests2 .dest{aspect-ratio:3/4.1;border-radius:999px 999px 24px 24px;box-shadow:0 14px 40px rgba(7,47,63,.18)}
.dests2 .dest::after{inset:26% 0 0;background:linear-gradient(transparent,rgba(5,28,38,.85))}
.dest-t{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 26px 30px;text-align:center;color:#fff;display:flex;flex-direction:column;gap:6px}
.dest-t b{font:600 34px/1.1 var(--f-head)}
.dest-t span{font-size:15px;opacity:.92}
.dest-t i{font-style:normal;font-size:13px;letter-spacing:.06em;text-transform:uppercase;display:inline-flex;gap:8px;justify-content:center;align-items:center;margin-top:6px;color:var(--sand)}
.dest-t i .ic{width:15px;height:15px;transition:transform .25s}
.dest:hover .dest-t i .ic{transform:translateX(5px)}
.sec-top{background:var(--cream);padding:90px 0}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tab{border:1.5px solid rgba(18,95,123,.25);background:#fff;color:var(--brand);border-radius:999px;padding:10px 22px;font:500 15px var(--f-body);cursor:pointer;transition:.2s}
.tab:hover{border-color:var(--brand)}
.tab.on{background:var(--brand);border-color:var(--brand);color:#fff}
.pcs{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.pc{display:block;background:#fff;border-radius:24px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 8px 30px rgba(7,47,63,.08);transition:transform .3s,box-shadow .3s}
.pc[hidden]{display:none}
.pc:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(7,47,63,.18)}
.pc-img{position:relative;aspect-ratio:4/3;overflow:hidden}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.pc:hover .pc-img img{transform:scale(1.07)}
.score{position:absolute;left:14px;top:14px;background:#fff;color:var(--brand);border-radius:12px;padding:7px 12px;font-size:13px;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.score b{font:700 17px var(--f-head);margin-right:3px}
.pc-b{padding:20px 24px 24px}
.pc-loc{display:flex;gap:6px;align-items:center;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);font-weight:600}
.pc-loc .ic{width:14px;height:14px}
.pc h3{font:600 1.5rem/1.2 var(--f-head);color:var(--ink);margin:8px 0 6px}
.pc p{margin:0 0 16px;color:var(--mut);font-size:14.5px}
.pc-cta{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--accent);font-size:15px}
.pc-cta .ic{width:17px;height:17px;transition:transform .25s}
.pc:hover .pc-cta .ic{transform:translateX(5px)}
.sec-why{background:radial-gradient(1200px 500px at 80% -10%,#0f6384 0,transparent 60%),linear-gradient(180deg,#0a4560,#072f3f);color:#fff;padding:100px 0}
.sec-why h2{color:#fff;font-size:clamp(2rem,4vw,3rem);font-weight:600;margin-bottom:56px}
.whys{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-bottom:60px}   /* tre vantaggi (c'erano quattro prima di togliere il deposito bagagli) */
.why-i{width:62px;height:62px;border-radius:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:var(--sand);display:grid;place-items:center;margin-bottom:20px}
.why-i .ic{width:30px;height:30px}
.why h3{color:#fff;font-weight:600;font-size:1.3rem;margin-bottom:8px}
.why p{margin:0;color:rgba(255,255,255,.8);font-size:15.5px;line-height:1.55}
.sec-rev2{padding:100px 0;background:#fff}
.rev2{display:grid;grid-template-columns:320px minmax(0,1fr);gap:56px;align-items:center}
.score-box{background:var(--cream);border-radius:32px;padding:36px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.sb-l{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.sb-n{font:600 108px/1 var(--f-head);letter-spacing:-.03em}
.sb-n small{font-size:30px;font-weight:500;color:var(--mut);letter-spacing:0}
.score-box .stars .ic{width:20px;height:20px}
.score-box b{font:600 1.6rem var(--f-head)}
.score-box img{width:40px;height:40px;margin-top:10px}
.rev2-r h2{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:600;margin-bottom:24px}
.rev2 .rv{flex:0 0 min(390px,86%);min-height:230px;background:var(--cream)}
.rev2 .rv figcaption{margin-top:auto}
.final{position:relative;isolation:isolate;padding:120px 0 110px;text-align:center;color:#fff}
.final-bg{position:absolute;inset:0;z-index:-1;background:var(--deep)}
.final-bg img{width:100%;height:100%;object-fit:cover}
.final-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,28,38,.82),rgba(5,28,38,.58))}
.final-in{width:min(1040px,100% - 40px)}
.final h2{color:#fff;font-size:clamp(2.2rem,5vw,3.8rem);font-weight:600;letter-spacing:-.02em;margin-bottom:12px}
.final p{font-size:1.25rem;margin-bottom:34px;opacity:.95}
.final .final-wa{margin:34px 0 0;font-size:1.05rem}
.final-wa a{color:#fff;display:inline-flex;gap:8px;align-items:center;font-weight:600}
.own{background:var(--cream);padding:46px 0}
.own-in{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.own h2{font-size:1.9rem;margin-bottom:6px}.own p{margin:0}
.wa-float{position:fixed;right:22px;bottom:22px;z-index:80;width:58px;height:58px;border-radius:50%;background:#1c9b4f;color:#fff;display:grid;place-items:center;box-shadow:0 10px 28px rgba(0,0,0,.28);transition:transform .2s}
.wa-float:hover{transform:scale(1.08)}
.wa-float .ic{width:30px;height:30px}
@media (max-width:1000px){
  .sbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:28px}
  .sgo{grid-column:1/-1;padding:16px;justify-content:center;margin:6px 0 0;width:100%}
  .sf+.sf::before{display:none}
  .stats,.whys{grid-template-columns:1fr 1fr;gap:24px}
  .dests2,.pcs{grid-template-columns:1fr 1fr}
  .rev2{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){.dests2,.pcs,.stats,.whys{grid-template-columns:1fr}.stat+.stat{border-left:0}}
.nav>a.btn{background:var(--accent);color:#fff;padding:13px 24px;font-size:14px;line-height:14px;text-decoration:none}
.nav>a.btn:hover{background:var(--accent-d);text-decoration:none}
.dests2 .dest-t b{position:static;text-align:center;bottom:auto;color:#fff;font:600 34px/1.1 var(--f-head)}
.site-header .bar{width:min(1360px,100% - 64px)}
.cerca{max-width:1040px}
@media (max-width:640px){.wrap{width:calc(100% - 40px)}.site-header .bar,.hero2-in{width:calc(100% - 40px)}}
.h-card{font:600 1.25rem var(--f-head);color:var(--brand);margin:0 0 .3em;display:flex;gap:.5em;align-items:center}
.pcs-more{text-align:center;margin:36px 0 0}.pcs-more[hidden]{display:none}
.hero2-city{min-height:620px;max-height:none;padding:130px 0 120px}
.hero2-city .hero2-sub{margin-bottom:32px}
.rev2>*,.tailor>*,.prop>*,.two>*,.fgrid>*{min-width:0}
@media (max-width:640px){
  .dests2,.pcs,.stats,.whys{grid-template-columns:minmax(0,1fr)}
  .sec-dest2,.sec-top,.sec-why,.sec-rev2{padding-top:60px;padding-bottom:60px}
  .final{padding:80px 0}
  .sb-n{font-size:84px}
  .eyebrow{font-size:13px;padding:8px 14px;text-align:center}
  .hero2{padding:110px 0 120px}
  .chips2{flex-direction:column;align-items:center;gap:8px}
  .stats-wrap{margin-top:-48px}
  .own-in{flex-direction:column;align-items:flex-start}
  .wa-float{width:52px;height:52px;right:16px;bottom:16px}
}

/* strutture senza foto / destinazioni senza foto */
.pgal-ph{aspect-ratio:4/3;background:linear-gradient(135deg,#dcebf0,#f4e6d6);display:grid;place-items:center}
.ph-in{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--brand);opacity:.85}
.ph-in .ic{width:38px;height:38px}.ph-in b{font:500 1.05rem var(--f-head)}
.pc-ph{display:grid;place-items:center;background:linear-gradient(135deg,#dcebf0,#f4e6d6)}
.dests2 .dest-ph{background:radial-gradient(circle at 30% 20%,#1b7a9b 0,#0e4a63 55%,#072f3f 100%)}
.dests2{grid-template-columns:repeat(4,1fr);gap:22px}
.hero2-ph{background:radial-gradient(1200px 600px at 70% 0,#1b7a9b 0,#0e4a63 55%,#072f3f 100%)}
.hero2-ph::after{background:linear-gradient(180deg,rgba(5,28,38,.2),rgba(5,28,38,.5))}
@media (max-width:1000px){.dests2{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.dests2{grid-template-columns:minmax(0,1fr)}}
.dest-t b{font-size:30px}
.dest-t i{flex-wrap:wrap;text-align:center;gap:4px 8px}

/* ===== Rifinitura professionale ===== */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
a:focus-visible{border-radius:6px}
.hero-dark .site-header:not(.stuck) a:focus-visible,.hero-dark .site-header:not(.stuck) button:focus-visible{outline-color:#fff}

/* mini barra di ricerca nell'header (compare quando la ricerca esce dallo schermo) */
.hdr-mini{display:none;align-items:center;gap:0;margin:0 auto;padding:6px 6px 6px 22px;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:0 4px 18px rgba(7,47,63,.14);cursor:pointer;font:500 14px var(--f-body);color:var(--ink)}
.hdr-mini:hover{box-shadow:0 6px 22px rgba(7,47,63,.22)}
.hdr-mini span[data-m]{padding:0 14px;white-space:nowrap}
.hdr-mini span[data-m="dest"]{font-weight:600}
.hdr-mini i{width:1px;height:20px;background:#d9e3e8}
.hm-go{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;margin-left:8px}
.hm-go .ic{width:17px;height:17px}
.site-header.show-mini .hdr-mini{display:flex}
.site-header.show-mini .nav{flex:0 0 auto;margin-left:0}
.site-header.show-mini .nav>.dd:first-child,.site-header.show-mini .nav>a:not(.hdr-cta),.site-header.show-mini .hdr-phone{display:none}
.site-header.show-mini .lang-dd{margin-left:0}
@media (max-width:1060px){.hdr-mini{display:none!important}}

/* schede: servizi in icona */
.pc-am{list-style:none;margin:0 0 16px;padding:0;display:flex;gap:10px;color:var(--brand)}
.pc-am li{width:34px;height:34px;border-radius:10px;background:#eaf3f7;display:grid;place-items:center}
.pc-am .ic{width:17px;height:17px}

/* domande frequenti */
.sec-faq{background:#fff;padding:90px 0 40px}
.sec-faq .sh h2{margin-bottom:8px}
.faq{display:flex;flex-direction:column;gap:12px}
.qa{background:var(--cream);border-radius:18px;padding:0 26px;transition:background .2s}
.qa[open]{background:#fbe8d6}
.qa summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 0;font:500 1.15rem/1.35 var(--f-head);color:var(--brand)}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23125F7B' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .25s}
.qa[open] summary::after{transform:rotate(45deg)}
.qa p{margin:0 0 22px;font-size:1.02rem;line-height:1.6;max-width:62ch}

/* comparsa allo scorrimento (solo con JS e senza "riduci animazioni") */
@keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
html.js .reveal:not(.in){opacity:0}
html.js .reveal.in{animation:rise .75s cubic-bezier(.2,.8,.2,1) backwards;animation-delay:var(--d,0s)}
@media (prefers-reduced-motion:reduce){html.js .reveal:not(.in){opacity:1}html.js .reveal.in{animation:none}}

/* ===== Pagine delle città ===== */
.sec-cityintro{padding:70px 0 30px}
.cityintro{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:56px;align-items:start}
.crumbs{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--mut);margin-bottom:20px}
.crumbs a{color:var(--brand)}
.ci-txt h2{font-size:clamp(2rem,3.6vw,2.7rem);font-weight:600;letter-spacing:-.015em;margin-bottom:.5em}
.ci-txt p{font-size:1.15rem;line-height:1.65}
.ci-txt h3{font:600 .85rem var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin:1.8em 0 .9em}
.see{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}
.see li{display:flex;gap:12px;align-items:flex-start}
.see .ic{flex:none;width:26px;height:26px;padding:5px;border-radius:50%;background:#eaf3f7;color:var(--brand);margin-top:2px}
.see b{display:block;font:600 1.05rem var(--f-head)}.see span{display:block;font-size:.96rem;line-height:1.5;color:var(--mut)}
.ci-card{background:var(--cream);border-radius:26px;padding:30px;position:sticky;top:110px}
.ci-card dl{margin:0 0 22px;display:grid;gap:14px}
.ci-card dl>div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(18,95,123,.15);padding-bottom:12px}
.ci-card dt{color:var(--mut);font-size:14px}.ci-card dd{margin:0;font-weight:600;text-align:right}
.ci-card h3{font:600 .85rem var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin:0 0 8px}
.jump{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}
.jump a{display:block;padding:8px 0;color:var(--brand);text-decoration:none;font-weight:500}
.jump a:hover{text-decoration:underline;text-underline-offset:4px}

.sec-props{padding:50px 0 80px}
.props{display:flex;flex-direction:column;gap:30px}
.cf{display:flex;flex-wrap:wrap;align-items:center;gap:14px 34px;padding:16px 22px;background:var(--cream);border-radius:20px;margin-bottom:26px;position:sticky;top:98px;z-index:6;box-shadow:0 6px 24px rgba(7,47,63,.08)}
.cf-g{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cf-l{font:600 12px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin-right:4px}
.chipf{border:1.5px solid rgba(18,95,123,.25);background:#fff;color:var(--brand);border-radius:999px;padding:8px 16px;font:500 14px var(--f-body);cursor:pointer;transition:.2s}
.chipf:hover{border-color:var(--brand)}
.chipf[aria-pressed=true]{background:var(--brand);color:#fff;border-color:var(--brand)}
.cf-count{margin:0 0 0 auto;font-weight:600;font-size:14px}
.cf-empty{text-align:center;padding:34px;background:#fff;border:1px dashed #c9d7dd;border-radius:20px;margin-bottom:20px}
.cf-empty[hidden],.pcard[hidden]{display:none}
.cf-empty p{margin:0 0 14px}

.pcard{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:0 10px 40px rgba(7,47,63,.08);overflow:hidden;scroll-margin-top:170px;transition:box-shadow .3s}
.pcard:hover{box-shadow:0 18px 54px rgba(7,47,63,.14)}
.pc-g{position:relative;min-height:400px;background:#dfe9ee}
.pc-g .pgal{position:absolute;inset:0;height:100%}
.pc-g .slides{height:100%;aspect-ratio:auto}
.pc-g .pgal-ph{position:absolute}
.pg-all{position:absolute;right:14px;bottom:14px;display:flex;gap:8px;align-items:center;background:rgba(7,28,38,.74);color:#fff;border:0;border-radius:999px;padding:9px 16px;font:500 13px var(--f-body);cursor:pointer;backdrop-filter:blur(6px)}
.pg-all:hover{background:rgba(7,28,38,.9)}.pg-all .ic{width:16px;height:16px}
.pc-i{padding:30px 34px;display:flex;flex-direction:column}
.pc-tags{display:flex;gap:8px;margin-bottom:12px}
.tag{font:600 11px var(--f-body);letter-spacing:.08em;text-transform:uppercase;background:#eaf3f7;color:var(--brand);border-radius:999px;padding:6px 12px}
.tag-l{background:transparent;border:1px solid var(--line)}
.pcard h2{font:600 2rem/1.15 var(--f-head);margin:0 0 8px;letter-spacing:-.01em}
.pc-addr{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:14px;margin:0 0 16px;color:var(--mut)}
.pc-addr .ic{width:16px;height:16px;color:var(--brand)}.pc-addr a{font-weight:600;color:var(--brand)}
.pc-facts{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:8px}
.pc-facts li{display:flex;gap:8px;align-items:center;background:var(--cream);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:500}
.pc-facts .ic{width:16px;height:16px}
.clamp{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.clamp.open{display:block}
.clamp p{margin:0;font-size:1.02rem;line-height:1.6}
.more{align-self:flex-start;background:none;border:0;color:var(--brand);font:600 14px var(--f-body);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 0 0}
.pcard .amen{margin:16px 0 22px;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13.5px}
.pc-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:18px;border-top:1px solid var(--line);flex-wrap:wrap}
.pc-foot .best{margin:0}
.dests3{grid-template-columns:repeat(3,1fr)}
.dests3 .dest{aspect-ratio:3/3.3}
.sec-also{padding:70px 0 90px;background:#fff}
@media (max-width:1000px){
  .cityintro{grid-template-columns:minmax(0,1fr)}.ci-card{position:static}.see{grid-template-columns:1fr}
  .pcard{grid-template-columns:minmax(0,1fr)}.pc-g{min-height:0;aspect-ratio:4/3}.cf{position:static}.dests3{grid-template-columns:repeat(2,1fr)}
}
.pc-foot .btn{margin-left:auto;white-space:nowrap}

/* ===== Pagina struttura ===== */
.pcard h2 a{color:inherit;text-decoration:none}.pcard h2 a:hover{text-decoration:underline;text-underline-offset:5px}
.more-link{display:inline-flex;gap:6px;align-items:center;font-weight:600;color:var(--brand);text-decoration:none;font-size:15px}
.more-link .ic{width:16px;height:16px;transition:transform .25s}.more-link:hover .ic{transform:translateX(4px)}
.pp-top{padding:26px 0 10px}
.pp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:4px 0 24px}
.pp-head h1{font-size:clamp(2.1rem,4.4vw,3.2rem);font-weight:600;letter-spacing:-.015em;line-height:1.1;margin:0 0 10px}
.score-top{position:static;box-shadow:none;background:var(--brand);color:#fff;font-size:15px;padding:10px 16px;border-radius:14px;flex:none}
.score-top b{color:#fff;font-size:22px}
.gm{position:relative;display:grid;gap:10px;height:480px;border-radius:28px;overflow:hidden}
.gm-5{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}.gm-5 .mt-0{grid-row:1/3}
.gm-3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.gm-3 .mt-0{grid-row:1/3}
.gm-2{grid-template-columns:1fr 1fr}.gm-1{grid-template-columns:1fr}
.gm-0{display:grid;place-items:center;background:linear-gradient(135deg,#dcebf0,#f4e6d6)}
.mt{border:0;padding:0;background:#dfe9ee;cursor:zoom-in;overflow:hidden;position:relative;min-width:0;min-height:0}
.mt img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.mt:hover img{transform:scale(1.04)}
.gm-all{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 6px 20px rgba(0,0,0,.2)}.gm-all:hover{background:#f1f5f7}
.pp-main{padding:20px 0 70px}
.pp-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:60px;align-items:start}
.pp-sec{padding:34px 0;border-bottom:1px solid var(--line)}
.pp-sec:first-child{padding-top:14px}
.pp-sec h2{font-size:1.75rem;font-weight:600;margin-bottom:.7em}
.pp-sec h3{font:600 .85rem var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin:1.6em 0 .8em}
.pp-desc{font-size:1.12rem;line-height:1.75;margin:0 0 1.2em}
.am-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 28px}
.am-grid li{display:flex;gap:14px;align-items:center;font-size:1.02rem}
.am-grid .ic{width:24px;height:24px;color:var(--brand)}
.pp-dl{margin:0;display:grid}
.pp-dl>div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.pp-dl>div:last-child{border-bottom:0}
.pp-dl dt{color:var(--mut)}.pp-dl dd{margin:0;font-weight:500}
.pc-addr.big{font-size:1.05rem}
.near{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.near b{display:block;font:600 1.05rem var(--f-head)}.near span{color:var(--mut);font-size:.98rem}
.rv-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:20px}
.rv-s{flex:none;min-height:0;padding:24px 26px;flex-basis:auto}.rv-s blockquote{font-size:1rem}
.rv-s figcaption{margin-top:10px}
.pp-rate{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.score-b{font-size:1rem}.score-b b{font:600 2.6rem/1 var(--f-head)}
.pp-side{position:sticky;top:108px}
.pp-book{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 18px 50px rgba(7,47,63,.14);padding:26px}
.pp-bt{display:flex;flex-direction:column;gap:4px;margin:0 0 18px}
.pp-bt b{font:600 1.45rem var(--f-head)}.pp-bt span{font-size:14px;color:#1a7a47;font-weight:500}
.sbar-card{display:flex;flex-direction:column;gap:10px;background:transparent;box-shadow:none;border-radius:0;padding:0}
.sc-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sbar-card .sf{border:1.5px solid #d6e2e8;border-radius:16px}
.sbar-card .sf-b{border-radius:15px;padding:12px 16px}
.sbar-card .sf+.sf::before{display:none}
.sbar-card .sgo-card{margin:6px 0 0;padding:17px;justify-content:center;border-radius:16px;width:100%;font-size:16px}
.sbar-card .pop-cal{left:auto;right:0;transform:none;top:calc(100% + 10px);width:min(740px,calc(100vw - 48px))}
.sbar-card .pop-guests{left:0;right:0;width:auto;top:calc(100% + 8px)}
.pp-chips{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px;font-size:14px}
.pp-chips li{display:flex;gap:10px;align-items:center}.pp-chips .ic{color:var(--brand)}
.pp-tax{font-size:12.5px;line-height:1.5;color:var(--mut);margin:14px 0 0}
.pp-wa{display:flex;gap:8px;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-weight:600;font-size:14px;color:var(--brand);text-decoration:none}
.pp-wa:hover{text-decoration:underline}
@media (max-width:1000px){
  .pp-grid{grid-template-columns:minmax(0,1fr)}.pp-side{position:static;order:-1}.gm{height:340px}.am-grid,.rv-grid{grid-template-columns:1fr}
  .pp-dl>div{grid-template-columns:1fr}
}
.gm-0{height:260px}

/* ===== Pagina proprietari ===== */
.muted{color:var(--mut)}
.btn-light{background:#fff;color:var(--brand);box-shadow:none}.btn-light:hover{background:#eaf3f7}
.ohero{text-align:left;min-height:0;max-height:none;padding:132px 0 150px;display:block}
.ohero-in{width:min(1240px,100% - 64px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.92fr);gap:60px;align-items:center}
.ohero .eyebrow{margin-bottom:22px}.ohero .eyebrow .ic{width:16px;height:16px;color:var(--sand)}
.ohero h1{text-align:left;font-size:clamp(2.4rem,4.8vw,4.1rem);margin-bottom:20px}
.ohero .hero2-sub{margin:0 0 26px;max-width:560px;text-align:left}
.ocheck{list-style:none;padding:0;margin:0 0 30px;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;font-size:15.5px}
.ocheck li{display:flex;gap:10px;align-items:center}.ocheck .ic{color:var(--sand);width:18px;height:18px}
.obtns{display:flex;gap:14px;flex-wrap:wrap}
.oq{background:#fff;color:var(--ink);border-radius:30px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.38);display:flex;flex-direction:column;gap:14px}
.oq h2{font:600 1.65rem var(--f-head);margin:0;color:var(--brand)}
.oq-p{margin:0 0 4px;color:var(--mut);font-size:15px;line-height:1.5}
.oq label{display:flex;flex-direction:column;gap:6px;font-weight:500;font-size:14px}
.oq input:not([type=checkbox]){font:inherit;padding:.85em 1em;border:1.5px solid #7d8f98;border-radius:14px;width:100%}
.oq input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(18,95,123,.15)}
.oq .check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;font-size:13px;color:var(--mut)}
.oq .check input{margin-top:.2em}
.oq .btn{width:100%}
.o-sec .sh p{max-width:640px;margin-inline:auto}
.o-cards{display:flex;flex-wrap:wrap;gap:24px;justify-content:center}
.o-card{flex:1 1 300px;max-width:384px;background:var(--cream);border-radius:28px;padding:32px}
.o-card h3{font-weight:600;font-size:1.3rem}.o-card p{margin:0;color:var(--brand);line-height:1.55}
.o-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.o-n{width:50px;height:50px;border-radius:50%;background:var(--brand);color:#fff;font:600 1.35rem var(--f-head);display:grid;place-items:center;margin-bottom:18px;box-shadow:0 8px 20px rgba(18,95,123,.3)}
.o-step h3{font-weight:600;font-size:1.25rem}.o-step p{margin:0;line-height:1.55}
.o-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.o-plan{display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--line);border-radius:30px;padding:34px;box-shadow:0 10px 36px rgba(7,47,63,.07);transition:transform .3s,box-shadow .3s}
.o-plan:hover{transform:translateY(-5px);box-shadow:0 22px 54px rgba(7,47,63,.14)}
.o-plan h3{font-weight:600;font-size:1.5rem}.o-plan>p{line-height:1.55;margin-bottom:18px}
.o-plan ul{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px;font-size:15px}
.o-plan li{display:flex;gap:10px;align-items:center}.o-plan .ic{color:var(--accent);width:18px;height:18px}
.o-plan .btn{margin-top:auto}
.o-adv{padding:90px 0}
.o-lead{color:rgba(255,255,255,.86);max-width:680px;margin:-30px auto 0}
.o-advs{list-style:none;padding:0;margin:44px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:22px 48px;color:#fff}
.o-advs li{display:flex;gap:14px;align-items:flex-start;line-height:1.55}.o-advs .ic{flex:none;color:var(--sand);margin-top:.2em;width:20px;height:20px}
.rv-3{grid-template-columns:repeat(3,1fr)}
.o-contact{background:#fff;padding:80px 0 100px}
.oc-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:start}
.o-contact .formcard h2{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:600;margin-bottom:.3em}
.oc-side{background:linear-gradient(180deg,#0a4560,#072f3f);color:#fff;border-radius:30px;padding:36px;position:sticky;top:110px}
.oc-side h3{color:#fff;font-weight:600;font-size:1.5rem}.oc-side p{opacity:.9;line-height:1.55}
.oc-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:16px}
.oc-list li{display:flex;gap:12px;align-items:center}.oc-list .ic{color:var(--sand);width:20px;height:20px}
.oc-list a{color:#fff}
@media (max-width:1000px){
  .ohero-in,.oc-grid{grid-template-columns:minmax(0,1fr)}.o-steps,.o-plans,.rv-3,.o-advs{grid-template-columns:minmax(0,1fr)}.oc-side{position:static}.ocheck{grid-template-columns:1fr}
}
.brand{flex:none}.brand img{flex:none;width:auto}
.o-plan .btn{white-space:nowrap;padding:14px 22px;font-size:14px;line-height:14px}

/* ===== Contatti ===== */
.hero2-page{min-height:0;max-height:none;padding:150px 0 110px}
.hero2-page h1{font-size:clamp(2.3rem,5vw,3.8rem)}
.hero2-page .hero2-sub{margin-bottom:28px}
.obtns-c{justify-content:center}
.o-steps-3{grid-template-columns:repeat(3,1fr)}
.l-note{margin:36px 0 0;font-size:1.05rem;font-weight:500}
.c-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:-70px 0 50px;position:relative;z-index:5}
.c-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;text-decoration:none;color:var(--brand);box-shadow:0 14px 40px rgba(7,47,63,.12);transition:transform .25s,box-shadow .25s}
.c-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(7,47,63,.18)}
.c-ic{flex:none;width:46px;height:46px;border-radius:14px;background:var(--cream);display:grid;place-items:center}
.c-ic .ic{width:22px;height:22px}
.c-card small{display:block;font:600 11px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.c-card b{display:block;font:600 1.05rem/1.3 var(--f-head);margin:3px 0;word-break:break-word}
.c-card i{display:block;font-style:normal;font-size:13px;color:var(--mut)}
.c-grid{margin-top:10px}
.c-side{display:flex;flex-direction:column;gap:18px}
.o-contact .icard p{margin:0 0 14px}
@media (max-width:1000px){.c-cards{grid-template-columns:repeat(2,1fr);margin-top:-50px}.o-steps-3{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1180px){.c-cards{grid-template-columns:repeat(2,1fr)}}
.c-card b{word-break:normal;overflow-wrap:anywhere}

/* ===== Ricerca guidata: arrivo → partenza nello stesso calendario ===== */
.sf.active .sf-b{background:#fff;box-shadow:inset 0 0 0 2px var(--brand)}
.sf.active .sf-l{color:var(--accent)}
.pop-done{display:block;width:100%;margin-top:10px;padding:13px;border:0;border-radius:14px;background:var(--brand);color:#fff;font:600 15px var(--f-body);cursor:pointer}
.pop-done:hover{background:var(--brand-d)}

/* ===================== Calendario e ricerca (versione rifinita) ===================== */
:root{--band:#dcebf1;--band-pv:#eaf3f7}
#alloggi{scroll-margin-top:100px}#cerca{scroll-margin-top:110px}
.pop-cal{padding:22px 22px 18px}
.pop-cal.one{width:min(400px,calc(100vw - 32px))}
.pop-cal.one .cal-m{max-width:360px;margin:0 auto}
.sbar-card .pop-cal.one{left:50%;right:auto;transform:translateX(-50%)}
.cal-m{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:34px}

/* riepilogo Arrivo → Partenza + notti */
.cal-steps{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 14px}
.cal-steps span{display:flex;flex-direction:column;flex:1;min-width:0;max-width:170px;padding:8px 14px;border:1.5px solid #dfe8ec;border-radius:14px;line-height:1.2;transition:border-color .15s,box-shadow .15s}
.cal-steps span.on{border-color:var(--brand);box-shadow:0 0 0 3px rgba(18,95,123,.12)}
.cal-steps small{font:600 11px var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.cal-steps b{font:600 15px var(--f-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-steps b.empty{color:var(--mut);font-weight:500}
.cal-steps i{flex:none;font-style:normal;color:var(--mut)}
.cal-n{flex:none;font-style:normal;margin-left:6px;background:var(--brand);color:#fff;border-radius:999px;padding:7px 15px;font-weight:600;font-size:13px;white-space:nowrap}
.cal-n:empty{display:none}

/* intestazione del mese con le frecce dentro */
.cm{position:relative}
.cm-t{position:relative;display:flex;justify-content:center;align-items:center;height:40px;margin-bottom:6px;font:600 16px var(--f-head);text-transform:capitalize}
.cn{position:absolute;top:0;width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;color:var(--ink);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .12s,transform .12s}
.cn[data-n="-1"]{left:0}.cn[data-n="1"]{right:0}
.cn:hover:not([aria-disabled="true"]){background:#e8f0f3}
.cn:active:not([aria-disabled="true"]){transform:scale(.94)}
.cn[aria-disabled="true"]{opacity:.3;cursor:default}
.cn:focus-visible{outline:2px solid var(--brand);outline-offset:1px;border-radius:50%}
@media (pointer:coarse){.cn{width:44px;height:44px}}

/* griglia: sei righe fisse, nessun salto di altezza tra i mesi */
.cw,.cg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}
.cw span{font:600 12px var(--f-body);color:var(--mut);padding:6px 0}
.cg{min-height:264px;grid-auto-rows:44px}

/* giorno: cella = area di clic + fascia; il cerchio è lo span interno */
.cd{position:relative;isolation:isolate;height:44px;padding:0;border:0;background:none;font:500 14.5px var(--f-body);font-variant-numeric:tabular-nums;color:var(--ink);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:0}
.cd>span{position:relative;display:grid;place-items:center;width:40px;height:40px;margin:2px auto;border-radius:50%;transition:background-color .12s,color .12s,transform .12s}
.cd::before{content:none;position:absolute;inset:2px 0;background:var(--band);z-index:-1}
@media (hover:hover){
  .cd:hover:not(:disabled):not(.s):not(.e):not(.hv-e)>span{background:#e3eef3}
  .cd.r:hover:not(:disabled):not(.s):not(.e):not(.hv-e)>span,.cd.hv:hover:not(:disabled):not(.s):not(.e):not(.hv-e)>span{background:#c9dfe8}
  .cd.s:hover>span,.cd.e:hover>span,.cd.hv-e:hover>span{background:var(--brand-d)}
}
.cd:active:not(:disabled)>span{transform:scale(.92)}
.cd.today{color:var(--accent-d);font-weight:700}
.cd.today>span{box-shadow:inset 0 0 0 1.5px currentColor}
.cd.today.s>span,.cd.today.e>span,.cd.today.hv-e>span{box-shadow:none}
.cd:disabled{color:#a9b7be;cursor:default;text-decoration:none;font-weight:500}
.cd:disabled>span{background:none;box-shadow:none}
.cd.s,.cd.e,.cd.hv-e{color:#fff;font-weight:600}
.cd.s>span,.cd.e>span,.cd.hv-e>span{background:var(--brand);color:#fff}

/* fascia continua con estremi arrotondati */
.cd.r::before,.cd.hv::before{content:"";background:var(--band)}
.cd.hv::before{background:var(--band-pv)}
.cd.s.rg::before{content:"";left:50%;background:var(--band)}
.cd.e::before{content:"";right:50%;background:var(--band)}
.cd.hv-e::before{content:"";right:50%;background:var(--band-pv)}
.cd.s.rg.pv::before{background:var(--band-pv)}
.cd.r:nth-child(7n+1)::before,.cd.hv:nth-child(7n+1)::before,.cd.r.m1::before,.cd.hv.m1::before{border-radius:20px 0 0 20px}
.cd.r:nth-child(7n)::before,.cd.hv:nth-child(7n)::before,.cd.r.mL::before,.cd.hv.mL::before{border-radius:0 20px 20px 0}
.cd.r.m1.mL::before,.cd.hv.m1.mL::before{border-radius:20px}
.cd.s:nth-child(7n)::before,.cd.s.mL::before,.cd.e:nth-child(7n+1)::before,.cd.e.m1::before,.cd.hv-e:nth-child(7n+1)::before,.cd.hv-e.m1::before{display:none}

/* fumetto con le notti */
.cd.hv-e{z-index:5}
.cd.hv-e::after{content:attr(data-n);position:absolute;left:50%;bottom:calc(100% + 2px);transform:translateX(-50%);background:var(--ink);color:#fff;font:600 12px var(--f-body);padding:6px 10px;border-radius:9px;white-space:nowrap;pointer-events:none}
.cd.hv-e>span::after{content:"";position:absolute;left:50%;top:-8px;width:8px;height:8px;background:var(--ink);transform:translateX(-50%) rotate(45deg);z-index:-1}

/* focus */
.cd:focus-visible{outline:0;z-index:6}
.cd:focus-visible>span{outline:2px solid var(--brand);outline-offset:2px}
.sf-b:focus-visible{outline-offset:-3px}

/* piede: solo "Cancella date"; il contatore vive nel riepilogo (copia nascosta per gli screen reader) */
.cal-f{display:flex;justify-content:flex-end;align-items:center;margin-top:10px;padding-top:12px;border-top:1px solid #e8eef1}
.cal-fn{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.clr{min-height:40px;padding:0 14px;border:0;border-radius:999px;background:none;color:var(--ink);font:600 14px var(--f-body);text-decoration:underline;cursor:pointer}
.clr:hover:not(:disabled){background:#f1f5f7}.clr:disabled{opacity:.35;cursor:default;text-decoration:none}
.clr:focus-visible{border-radius:999px}
@media (max-width:480px){.pop-cal{padding:16px 10px 14px}.cal-steps span{padding:6px 10px}.cn{width:44px;height:44px}}
@media (max-height:760px){.cd{height:40px}.cd>span{width:36px;height:36px}.cg{min-height:240px;grid-auto-rows:40px}.cd::before{inset:2px 0}
  .cd.r:nth-child(7n+1)::before,.cd.hv:nth-child(7n+1)::before,.cd.r.m1::before,.cd.hv.m1::before{border-radius:18px 0 0 18px}
  .cd.r:nth-child(7n)::before,.cd.hv:nth-child(7n)::before,.cd.r.mL::before,.cd.hv.mL::before{border-radius:0 18px 18px 0}}

/* destinazione, ospiti, errori */
.po[aria-pressed="true"]{background:#f1f5f7}.po[aria-pressed="true"] b{color:var(--brand)}
.step button{width:40px;height:40px;border-color:#9fb2bb}
.step button:disabled{opacity:.35;cursor:default}
@media (pointer:coarse){.step button{width:44px;height:44px}}
.sf.err .sf-b{box-shadow:inset 0 0 0 2px var(--accent)}
.sf.err .sf-l{color:var(--accent)}
.sf:hover::before,.sf.active::before,.sf.open::before,.sf:hover+.sf::before,.sf.active+.sf::before,.sf.open+.sf::before{opacity:0}
.sbar-card .sf.active{border-color:var(--brand)}
.sbar-card .sf-b:hover{background:#f6f9fa}

/* pulsante WhatsApp con logo pieno */
.pop-open .wa-float{opacity:0;visibility:hidden;pointer-events:none;transform:scale(.85)}
.wa-float{right:max(16px,env(safe-area-inset-right));bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px));width:60px;height:60px;transition:transform .2s,opacity .2s,box-shadow .2s,visibility .2s}
.wa-float .ic,.wa-float .ic-fill{width:34px;height:34px}
.wa-float:hover{box-shadow:0 14px 34px rgba(37,211,102,.45)}
.wa-float:focus-visible{border-radius:50%;outline:3px solid #fff;outline-offset:-3px;box-shadow:0 0 0 3px #128c7e}
@media (max-width:700px){.wa-float{width:54px;height:54px}.wa-float .ic{width:30px;height:30px}}
.ic-fill{fill:currentColor;stroke:none}

/* calendario: rifiniture dalla verifica indipendente */
.cd.r:nth-child(7n+1).mL::before,.cd.hv:nth-child(7n+1).mL::before,.cd.r:nth-child(7n).m1::before,.cd.hv:nth-child(7n).m1::before{border-radius:20px}
.pop-cal+.sf::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:1px;background:#e3e9ec;pointer-events:none}
.sf:hover+.pop-cal+.sf::before,.sf.active+.pop-cal+.sf::before,.sf.open+.pop-cal+.sf::before{opacity:0}
@media (max-width:1000px){.pop-cal+.sf::before{display:none}}
.sbar-card .pop-cal+.sf::before{display:none}
@media (forced-colors:active){
  .cd.s>span,.cd.e>span,.cd.hv-e>span{forced-color-adjust:none;background:Highlight;color:HighlightText}
  .cd.r::before,.cd.hv::before,.cd.s.rg::before,.cd.e::before,.cd.hv-e::before{border-block:2px solid Highlight}
}

/* mascotte V2 (risalita sopra "Cerca", solo desktop): un solo livello trasparente, ancorato da search.js (appoggio al 81,04% dell'altezza = bordo superiore del pulsante).
   Ordine dei livelli: barra bianca < mascotte (z 1) < pulsante arancione (z 2) < calendari e menu (z 30): davanti alla barra, dietro al pulsante. Mai cliccabile. */
.mascot{position:absolute;z-index:1;left:0;top:0;width:159px;height:159px;pointer-events:none;visibility:hidden;opacity:0;background:none;border:0;box-shadow:none}
.mascot{transform:rotate(-2deg);transform-origin:50% 81.04%}   /* inclinazione di 2 gradi; ruota attorno al punto di appoggio, quindi l'appoggio non si sposta */
.mascot.on{visibility:visible;opacity:1;transition:opacity .25s ease-out}
.mascot img,.mascot video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none;background:none}
.mascot [hidden]{display:none}
@media (max-width:1200px){.mascot{width:140px;height:140px}}
@media (max-width:700px){.mascot{display:none}}   /* il telefono usa la sua mascotte (.mascot-m); dal tablet in su c'e' quella sulla barra di ricerca */
@media (prefers-reduced-motion:reduce){.mascot.on{transition:none}}

/* prezzi reali per le date scelte (da /api/offers) */
.pc-price{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2;color:var(--ink);text-align:right;transition:opacity .2s}
.pc-price[hidden]{display:none}
.pc-price.is-loading{opacity:.45}
.pr-main{display:flex;align-items:baseline;gap:5px;white-space:nowrap}
.pr-from{font-size:13px;color:var(--mut)}
.pr-v{font:700 1.55rem var(--f-head);color:var(--brand);letter-spacing:-.01em}
.pr-u{font-size:13px;color:var(--mut)}
.pr-t{font-size:13px;color:var(--ink);margin-top:2px;font-weight:500}
.pr-x{font-size:12px;color:var(--mut);margin-top:1px}
.pr-na{font:600 13.5px var(--f-body);color:var(--mut)}
.pcard .pc-foot .pc-price{order:-1;flex:1 0 100%;flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;gap:2px 14px;text-align:left;margin:0 0 2px}
.pcard .pc-foot .pr-t,.pcard .pc-foot .pr-x{margin:0}
.pc .pc-price{align-items:flex-start;text-align:left;margin:2px 0 12px}
.pc-price-card{align-items:flex-start;text-align:left;margin:4px 0 0}
.is-na .pgal,.is-na .pc-img{filter:grayscale(.55);opacity:.85}
.btn.is-change{background:#fff;color:var(--brand);border:1.5px solid var(--brand)}
.btn.is-change:hover{background:var(--cream)}



@media (prefers-reduced-motion:reduce){.hero2-bg img.on{animation:none}}


/* ====== scheda di prenotazione nella pagina struttura ====== */
.sc-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.sbar-card .sf{min-width:0;width:100%}
.sbar-card .sf-b{width:100%;min-width:0;text-align:left}
.sbar-card .sf-v{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbar-card .sgo-card{font-weight:600}

/* ====== camere e tariffe ====== */
.pp-rooms{scroll-margin-top:110px}
.pp-rooms.is-loading [data-rooms-list]{opacity:.5;transition:opacity .2s}
.rm-msg{background:var(--cream);border-radius:18px;padding:22px 24px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.rm-msg p{margin:0}
.rm{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);border:1px solid var(--line);border-radius:22px;overflow:hidden;margin:0 0 20px;background:#fff;box-shadow:0 8px 28px rgba(7,47,63,.06)}
.rm-media{position:relative;background:#e8eff2;min-height:190px}
.rm-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rm-nophoto{background:linear-gradient(135deg,#dcebf0,#f4e6d6)}
.rm-prev,.rm-next{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--brand);font:600 22px/1 var(--f-body);cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.2);display:grid;place-items:center;padding:0 0 3px}
.rm-prev{left:10px}.rm-next{right:10px}
.rm-count{position:absolute;right:10px;bottom:10px;background:rgba(7,47,63,.72);color:#fff;font-size:12px;border-radius:999px;padding:3px 9px}
.rm-body{padding:18px 20px 14px}
.rm-body header{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.rm-body h3{margin:0;font:600 1.2rem var(--f-head);color:var(--brand);text-transform:none;letter-spacing:0}
.rm-code{font-size:13px;color:var(--mut)}
.rm-facts{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13.5px;color:var(--ink)}
.rm-desc{margin:10px 0 0;font-size:14px;color:var(--mut);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rm-plans{list-style:none;margin:0;padding:0;grid-column:1/-1}
.rm-plan{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:16px 20px;border-top:1px solid var(--line)}
.rm-pi b{display:block;font-weight:600}
.rm-pi small{display:block;font-size:12.5px;color:var(--mut);margin-top:3px}
.rm-c{display:block;font-size:13.5px;margin-top:3px;color:var(--mut)}
.rm-c.ok{color:#1c6b43;font-weight:500}.rm-c.no{color:#8a5a12}
.rm-low{font-style:normal;font-size:11.5px;font-weight:600;background:#e8f6ee;color:#14633a;border-radius:999px;padding:2px 9px;margin-left:6px;vertical-align:1px}
.rm-promo{display:inline-block;margin-top:6px;font-style:normal;font-size:12px;font-weight:600;background:#fde6d8;color:var(--accent-d);border-radius:999px;padding:2px 10px}
.rm-pp{text-align:right;line-height:1.2}
.rm-pp b{display:block;font:700 1.45rem var(--f-head);color:var(--brand)}
.rm-pp small{display:block;font-size:12px;color:var(--mut);margin-top:2px}
@media (max-width:760px){.rm{grid-template-columns:minmax(0,1fr)}.rm-media{min-height:0;aspect-ratio:4/3}.rm-plan{grid-template-columns:minmax(0,1fr) auto}.rm-plan .btn{grid-column:1/-1;justify-content:center}}

/* ====== checkout ====== */
.ck{padding:120px 0 90px;background:linear-gradient(180deg,#f7fafb,#fff 280px)}
.ck h1{font:600 clamp(1.8rem,3.2vw,2.5rem) var(--f-head);line-height:1.1;margin:0 0 6px;color:var(--brand)}
.ck .lead{margin:0 0 6px}
.ck-steps{list-style:none;margin:0 0 26px;padding:0;display:flex;gap:10px;flex-wrap:wrap;font-size:14px;color:var(--mut)}
.ck-steps li{display:flex;align-items:center;gap:8px}
.ck-steps li+li::before{content:"";width:28px;height:1px;background:#c5d3d9;margin-right:2px}
.ck-steps b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e3ecef;color:var(--brand);font-size:13px}
.ck-steps .done b{background:#1c9b4f;color:#fff}
.ck-steps .on{color:var(--ink);font-weight:600}.ck-steps .on b{background:var(--brand);color:#fff}
.ck-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:36px;margin-top:24px;align-items:start}
.ck-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 10px 34px rgba(7,47,63,.06)}
.ck-form h2{font:600 1.3rem var(--f-head);margin:0 0 6px;color:var(--brand)}
.ck-sub{margin:0 0 20px;font-size:14px;color:var(--mut)}
.ck-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ck-f{display:block;margin:0 0 16px}
.ck-f span{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px}
.ck-f span i{font-style:normal;font-weight:400;color:var(--mut)}
.ck-f input,.ck-f textarea,.ck-f select{width:100%;border:1.5px solid #7d8f98;border-radius:12px;padding:14px;font:500 16px var(--f-body);color:var(--ink);background:#fff;min-height:50px}
.ck-f input:focus,.ck-f textarea:focus,.ck-f select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(18,95,123,.16)}
.ck-f input[aria-invalid="true"],.ck-f textarea[aria-invalid="true"]{border-color:#c0392b;background:#fff7f6;box-shadow:0 0 0 3px rgba(192,57,43,.14)}
.ck-f small{display:block;margin-top:5px;font-size:12.5px;color:var(--mut)}
.ck-t{display:flex;gap:12px;align-items:flex-start;font-size:14px;margin:6px 0 20px}
.ck-agree{margin:12px 0 4px;font-size:13px;line-height:1.45;color:var(--mut);text-align:center}
.ck-agree a{color:inherit;text-decoration:underline}
.ck-t input{margin-top:3px;width:20px;height:20px;flex:none}
.ck-t input[aria-invalid="true"]{outline:2px solid #c0392b;outline-offset:2px}
.ck-msg{display:none;border-radius:12px;padding:12px 14px;font-size:14.5px;margin:0 0 14px}
.ck-msg.show{display:block}.ck-msg.err{background:#fdecea;color:#8a1f12}
.ck-go{width:100%;justify-content:center;font-size:1.05rem;padding:18px 24px}
.ck-go[disabled]{opacity:.7;cursor:wait}
.ck-trust{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:8px;font-size:13.5px;color:var(--mut)}
.ck-trust li{display:flex;gap:10px;align-items:center}
.ck-trust .ic{width:18px;height:18px;color:#1c9b4f;flex:none}
.ck-help{margin:16px 0 0;font-size:14px}
.ck-help a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ck-sum{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;position:sticky;top:104px;box-shadow:0 10px 34px rgba(7,47,63,.06)}
.ck-sum-ph{aspect-ratio:16/9;background:#e8eff2 center/cover no-repeat}
.ck-sum-b{padding:22px 24px 24px}
.ck-sum h2{font:600 1.35rem var(--f-head);margin:0;color:var(--brand)}
.ck-addr{margin:3px 0 0;font-size:13.5px;color:var(--mut)}
.ck-room{margin:14px 0 0;font-weight:600}
.ck-room small{display:block;font-weight:400;color:var(--mut);margin-top:2px}
.ck-dates{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:16px 0;border:1px solid var(--line);border-radius:14px}
.ck-dates div{padding:12px 14px}.ck-dates div+div{border-left:1px solid var(--line)}
.ck-dates small{display:block;font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.ck-dates b{display:block;font-weight:600;margin-top:2px;line-height:1.25}
.ck-guests{margin:0 0 14px;font-size:14px;color:var(--ink)}
.ck-cancel{font-size:13.5px;margin:0 0 16px;padding:12px 14px;border-radius:12px;background:#eef8f2;color:#1c6b43}
.ck-cancel.no{background:#fbf1e2;color:#7a4e10}
.ck-lines{border-top:1px solid var(--line);padding-top:12px}
.ck-lines div{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:4px 0}
.ck-lines .mut{color:var(--mut)}
.ck-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);margin-top:8px;padding-top:12px;font-weight:600}
.ck-total b{font:700 1.8rem var(--f-head);color:var(--brand)}
.ck-tax{font-size:12.5px;color:var(--mut);margin:6px 0 0}
.ck-bad{color:#8a1f12;font-weight:600;padding:22px 24px}
.ck-skel{padding:24px}.ck-skel i{display:block;height:14px;border-radius:7px;background:#e8eff2;margin:0 0 12px}
@media (max-width:900px){.ck-grid{grid-template-columns:minmax(0,1fr)}.ck-sum{position:static;order:-1}.ck-row{grid-template-columns:minmax(0,1fr)}}

/* ====== conferma ====== */
.cfm{max-width:760px;margin:0 auto}
.cf-ok{display:flex;gap:16px;align-items:center}
.cf-ok .ic{width:54px;height:54px;color:#fff;background:#1c9b4f;border-radius:50%;padding:12px;flex:none}
.cfm h1{margin:0}
.cf-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px 28px;margin:26px 0;box-shadow:0 10px 34px rgba(7,47,63,.06)}
.cf-card dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}
.cf-card dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.cf-card dd{margin:3px 0 0;font-weight:600}
.cf-steps{counter-reset:s;list-style:none;margin:0;padding:0;display:grid;gap:14px}
.cf-steps li{counter-increment:s;display:flex;gap:14px}
.cf-steps li::before{content:counter(s);flex:none;width:28px;height:28px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:600}
.cf-act{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.cf-wait{display:flex;gap:14px;align-items:center;color:var(--mut)}
.cf-spin{width:22px;height:22px;border-radius:50%;border:3px solid #dbe6ea;border-top-color:var(--brand);animation:cfs 1s linear infinite}
@keyframes cfs{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.cf-spin{animation:none}}
@media (max-width:700px){.cf-card dl{grid-template-columns:1fr}}

.sbar-card .sf-v{white-space:normal;font-size:15px;line-height:1.25}
.rm-pi small{font-size:12px}
.cfm [hidden],.ck [hidden]{display:none!important}
.cf-card h2{font:600 1.25rem var(--f-head);margin:0 0 16px;color:var(--brand)}
.cf-card dd{font-size:15px}
.ck{padding-top:104px}
.cf-act{margin-top:22px}

.ck-pay-h{margin-top:26px!important}
.ck-pay{min-height:120px;margin:0 0 18px}
.ck-pay-load{padding:34px 0;text-align:center;color:var(--mut);font-size:14px}
.mascot-in{width:120px;height:120px;object-fit:contain;flex:none;filter:drop-shadow(0 8px 14px rgba(5,28,38,.22));pointer-events:none;user-select:none}
.cf-ok .mascot-in{margin-left:auto}
.mascot-lg{width:190px;height:190px;display:block;margin:0 auto 8px}
.mascot-find{float:right;width:110px;height:110px;margin:-6px 0 0 12px}
@media (max-width:700px){.cf-ok .mascot-in{display:none}.mascot-find{width:80px;height:80px}.mascot-lg{width:150px;height:150px}}
.cf-ok .lead{display:flex;gap:10px;align-items:center}.cf-ok .lead .cf-spin{flex:none}

.ck-ph{display:grid;grid-template-columns:minmax(120px,150px) minmax(0,1fr);gap:10px}
.ck-ph select{padding-right:8px}
.ck-phone span{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px}
.ck-ph input,.ck-ph select{width:100%;border:1.5px solid #7d8f98;border-radius:12px;padding:14px;font:500 16px var(--f-body);color:var(--ink);background:#fff;min-height:50px}
.ck-ph input:focus,.ck-ph select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(18,95,123,.16)}
.ck-ph input[aria-invalid="true"]{border-color:#c0392b;background:#fff7f6;box-shadow:0 0 0 3px rgba(192,57,43,.14)}

/* rifiniture dall'audit del percorso di prenotazione */
.rm-none{display:block}.rm-none p{margin:0 0 14px}.rm-act{display:flex;gap:10px;flex-wrap:wrap}
.ck-klarna{margin:16px 0 0;padding:16px 18px;border:1.5px solid #e7d6c2;border-radius:16px;background:#fbf6ee}.ck-klarna .ck-kl-t{margin:0 0 4px;font-weight:700;color:#0b2530}.ck-klarna .ck-kl-p{margin:0 0 12px;font-size:14px;line-height:1.5;color:#516770}.ck-klarna .btn{width:100%;justify-content:center}
.rm-k{display:block;margin-top:5px;font-size:13px;line-height:1.35;color:var(--mut)}
.rm-skel{min-height:190px}.rm-skel .rm-body i{display:block;height:14px;border-radius:7px;background:#e8eff2;margin:12px 0}
.ck-err{display:block;margin-top:5px;font-size:13px;font-weight:600;color:#a32a1c}
.ck-kids{display:block;color:var(--mut);font-size:12.5px;margin-top:2px}
.ck-sum-ph{aspect-ratio:21/9}
.ck-sum-b{padding:18px 22px 20px}
.ck-dates{margin:12px 0}.ck-cancel{margin:0 0 12px;padding:10px 12px}
@media (min-height:760px){.ck-sum{max-height:calc(100vh - 124px);overflow:auto}}

/* ===================================================================================================
   FONDAMENTA MOBILE  (<= 1060 px)  -  sistema "Hospitality app" per unlettoideale.com
   Ordine del blocco: 1 token · 2 base (testo, titoli, link, focus) · 3 pulsanti · 4 campi dei moduli
   · 5 header · 6 menu · 7 barre fisse · 8 fogli, calendario e campi di ricerca · 9 WhatsApp · 10 cookie · 11 footer
   A >= 1061 px il desktop non cambia: tutto sta dentro @media; fuori solo elementi nuovi nascosti.
   Le aree (home, citta', scheda, checkout, servizio) riscrivono i propri blocchi sopra questi token.
   =================================================================================================== */
.hdr-m,.hdr-secure,.burger .i-close,.mbar,.ck-short,.dd-tm,.dd-n,.pop-h{display:none}
/* elementi che esistono solo per il telefono (<= 1060): fuori dalle media query restano nascosti, il desktop non cambia */
.hdr-wa,.nav>a.hdr-wa,.ftag,.flegal,.eb-bk,.eb-m,.ic-m,.ct-m,.l-d,.cal-fd{display:none}
/* round 3: elementi nuovi del telefono, nascosti fuori dalle media query (il desktop non cambia) */
.brand-w,.final-logo,.final-go,.lab,.why-m,.sgo-m,.sgo-m2,.flang{display:none}
/* home del telefono: carte, recensioni e proprietari (il computer non li vede) */
.sh-tk,.rv-av,.own-img,.cta-m,.cta-k{display:none}
.rv-w{display:flex;flex-direction:column}
.rv-w>span{text-transform:uppercase}   /* il sito scriveva la struttura in maiuscolo nel markup: ora e' il CSS a farlo, solo sul computer */
.pr-tt{font-weight:inherit}
.pa-x,.map-x{display:inline}
.hdr-share[hidden]{display:none}

/* ---- 1. token ---- */
@media (max-width:1060px){
  :root{
    /* superfici */
    --calce:#FBF6EE;--calce-2:#F4ECDD;--carta:#FFFDF9;--sabbia:#F2E3C8;--maiolica:#DCEEF3;--maiolica-2:#B9DCE7;
    /* testo */
    --ink:#0B2530;--ink-2:#34505B;--mut:#516770;--ph:#5B6E75;
    /* marchio e azione: petrolio = identita', terracotta = azione, sole = un dettaglio */
    --brand:#125F7B;--brand-d:#0C4559;--deep:#072F3F;--deep-2:#0A4254;
    --accent:#C2401A;--accent-d:#A33414;--accent-tx:#B03A14;
    --sole:#FFC83D;--sole-lt:#FFE49A;--sole-d:#C9951A;--coral:#F26A4B;--sabbia-2:#E9D3AE;
    /* segnali: solo per cose vere */
    --ok:#1B7A4E;--ok-bg:#E3F2EA;--ok-tx:#14573A;--amb:#8A5410;--amb-bg:#FBEBCF;
    --err:#B3261E;--err-bg:#FBE9E7;--err-tx:#8C1D18;
    --line:rgba(11,37,48,.12);--line-s:rgba(11,37,48,.07);--line-2:rgba(11,37,48,.2);--bd-field:#74858B;
    /* alias: le regole gia' scritte con i vecchi nomi cambiano look da sole */
    --cream:var(--calce);--cream-2:var(--calce-2);--sand:var(--sole);--star:var(--sole);
    --band:var(--maiolica);--band-pv:#EAF4F7;
    /* caratteri */
    --f-head:"Outfit","Avenir Next",system-ui,-apple-system,"Segoe UI",sans-serif;
    --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    --f-acc:"Instrument Serif",Georgia,"Times New Roman",serif;
    --acc-c:var(--accent);   /* colore della parola in corsivo: sole sui fondi scuri (vedi sotto) */
    /* forme e ombre */
    --r-sm:12px;--r-md:20px;--r-lg:24px;--r-xl:28px;--r-sheet:32px;
    --sh-1:0 1px 2px rgba(11,37,48,.06),0 8px 20px -10px rgba(11,37,48,.18);
    --sh-2:0 2px 4px rgba(11,37,48,.06),0 22px 44px -18px rgba(11,37,48,.34);
    --sh-bar:0 -1px 0 rgba(11,37,48,.08),0 -16px 32px -14px rgba(11,37,48,.26);
    --sh-sheet:0 -20px 60px rgba(7,47,63,.35);
    --sh-cta:inset 0 1px 0 rgba(255,255,255,.26),0 12px 22px -10px rgba(194,64,26,.75);
    --ease:cubic-bezier(.22,.7,.2,1);
    --ctl-bar:48px;--bar-h:84px;
  }
}
@media (max-width:1000px) and (max-height:500px){:root{--bar-h:64px}}

/* ---- 2. base: testo, titoli, link, focus ---- */
@media (max-width:1060px){
  body{background:var(--calce);color:var(--ink);font-synthesis:none;-webkit-font-smoothing:antialiased}
  h1,h2,h3{color:var(--ink);font-weight:700;letter-spacing:-.022em;text-wrap:balance;hyphens:manual}
  /* una parola per titolo in corsivo serif: <em> dove c'e' gia', <span class="acc"> altrove (a desktop .acc non ha regole) */
  :is(h1,h2,h3,.h-page,.pop-h b) :is(em,.acc){font-family:var(--f-acc);font-style:italic;font-weight:400;letter-spacing:-.005em;font-size:1.16em;line-height:.9;color:var(--acc-c)}
  .hero2,.ohero,.sec-why,.site-footer,.nav{--acc-c:var(--sole)}
  a{text-underline-offset:.2em;text-decoration-thickness:1.5px}
  :focus-visible{outline:3px solid var(--brand);outline-offset:3px}
  :is(.hero2,.ohero,.sec-why,.site-footer,.nav,.cookie) :focus-visible{outline-color:var(--sole)}
  ::placeholder{color:var(--ph);opacity:1}
  .skip{background:var(--carta);color:var(--ink);border-radius:var(--r-sm)}
  /* micro-etichetta di sezione: trattino + maiuscoletto */
  .lab{display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s3);font:700 12px/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-tx)}
  .lab::before{content:"";flex:none;width:18px;height:2px;border-radius:2px;background:currentColor}
  .hero2 .lab,.sec-why .lab,.ohero .lab{color:var(--sole)}
  /* ancore sotto l'header ridotto */
  .prop,.pcard,.pp-rooms,#cerca,#alloggi,#strutture,#camere{scroll-margin-top:calc(var(--hh) + var(--s4))}
}
@media (pointer:coarse){a,button,summary,label,input,select{touch-action:manipulation}body{-webkit-tap-highlight-color:rgba(18,95,123,.12)}}

/* ---- 3. pulsanti: principale (terracotta, l'azione), secondario, fantasma ---- */
@media (max-width:1060px){
  .btn{min-height:var(--ctl);padding:0 var(--s5);gap:10px;border-radius:var(--r-md);background:var(--deep);color:#fff;font:600 16px/1.15 var(--f-head);letter-spacing:0;text-transform:none;text-align:center;box-shadow:none;transition:transform .12s var(--ease),background-color .12s,box-shadow .12s}
  .btn:hover{background:var(--deep)}
  .btn:active{transform:translateY(1px) scale(.985);background:var(--brand-d)}
  .btn .ic{width:20px;height:20px;stroke-width:2}
  .btn-lg,.sgo{min-height:var(--ctl-lg);padding:0 var(--s5);font-size:17px}
  .btn-sm{min-height:var(--ctl-bar);padding:0 var(--s4);border-radius:var(--r-md);font-size:15px}
  .btn-sm .ic{width:18px;height:18px}
  .btn-accent{background:var(--accent);box-shadow:var(--sh-cta)}
  .btn-accent:hover{background:var(--accent)}
  .btn-accent:active{background:var(--accent-d);box-shadow:0 4px 10px -6px rgba(194,64,26,.7)}
  .btn-ghost{background:var(--carta);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
  .btn-ghost:hover{background:var(--carta);color:var(--ink)}
  .btn-ghost:active{background:var(--calce-2)}
  .btn-light{background:var(--carta);color:var(--deep)}
  .btn:disabled,.btn[disabled]{background:#D7C7BC;color:#4B3F38;box-shadow:none;transform:none}
  .btns{gap:var(--s3)}
  .linkbtn,.lnk{color:var(--brand)}
  .form .btn,.oq .btn,.rm-plan .btn,.o-plan .btn{width:100%}
  .nav>a.btn{font:600 16px/1.15 var(--f-head)}
}
@media (hover:hover) and (max-width:1060px){
  .btn:hover{background:var(--brand-d)}
  .btn-accent:hover{background:var(--accent-d)}
  .btn-ghost:hover{background:var(--calce-2)}
  .btn-light:hover{background:var(--calce-2)}
}

/* ---- 5. header: trasparente sulla foto, calce dopo lo scroll; si nasconde scorrendo in giu ---- */
@media (max-width:1060px){
  .site-header{background:rgba(251,246,238,.97);-webkit-backdrop-filter:none;backdrop-filter:none;transition:transform .25s var(--ease),background-color .25s,box-shadow .25s}
  .site-header.stuck,body:not(.has-hero) .site-header{background:var(--calce);box-shadow:0 1px 0 var(--line)}
  .hero-dark .site-header:not(.stuck){background:transparent;box-shadow:none}
  html.hdr-hide:not(.menu-open) .site-header{transform:translateY(-100%)}
  html.menu-open .site-header{transform:none;transition:none}
  .bar{height:var(--hh);gap:var(--s2)}
  .brand{display:flex;align-items:center;min-height:44px;position:relative;z-index:2}
  .brand img{height:46px;width:auto}
  .hero-dark .site-header:not(.stuck) .brand img,html.menu-open .site-header .brand img{filter:brightness(0) invert(1)}
  .hdr-m,.burger{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;padding:0;border-radius:50%;background:var(--carta);box-shadow:inset 0 0 0 1px var(--line);color:var(--brand);text-decoration:none;transition:transform .12s var(--ease),background-color .12s}
  .hdr-m:active,.burger:active{transform:scale(.94)}
  .hdr-m .ic,.burger .ic{width:22px;height:22px;stroke-width:1.75}
  .hdr-m-tel{margin-left:auto}
  .burger{margin-left:0}
  .burger span{display:block;line-height:0}
  .burger[aria-expanded=true] .i-menu{display:none}.burger[aria-expanded=true] .i-close{display:block}
  .hero-dark .site-header:not(.stuck) :is(.hdr-m,.burger),html.menu-open .site-header :is(.hdr-m,.burger){background:rgba(7,47,63,.4);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);color:#fff}
  html.menu-open .site-header :is(.hdr-m,.burger){background:rgba(255,255,255,.08)}
  .hdr-m-cta{display:none;padding:0 var(--s4);width:auto;border-radius:var(--r-md);background:var(--accent);box-shadow:var(--sh-cta);color:#fff;font:600 14px/1 var(--f-head)}
}
@media (max-width:359px){
  .hdr-m-cta{display:none!important}
}

/* ---- 6. menu a tutto schermo: petrolio profondo, citta' in grande, un solo gesto per chiudere ---- */
@media (max-width:1060px){
  html.menu-open body{overflow:hidden}
  .nav{position:fixed;inset:0;z-index:1;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;
    padding:calc(var(--hh) + var(--s5)) max(var(--gut),calc((100% - 640px) / 2)) calc(var(--s5) + env(safe-area-inset-bottom));
    background:radial-gradient(circle at 100% 0,rgba(43,156,184,.42),transparent 70%) no-repeat 100% 0/420px 420px,var(--deep);box-shadow:none}
  .nav.open{display:flex;animation:uli-fade .25s ease-out both}
  .nav.open>*{animation:uli-rise .45s var(--ease) both}
  .nav.open>:nth-child(2){animation-delay:.04s}.nav.open>:nth-child(3){animation-delay:.08s}.nav.open>:nth-child(4){animation-delay:.12s}.nav.open>:nth-child(5){animation-delay:.16s}.nav.open>:nth-child(6){animation-delay:.2s}
  .nav>a.hdr-cta{display:none}   /* e' una schermata di navigazione: l'azione di prenotazione sta nelle pagine */
  /* etichetta "Dove andiamo" + 4 citta' */
  .dd:not(.lang-dd)>.dd-btn{display:flex;width:auto;min-height:0;padding:0 0 var(--s3);border:0;pointer-events:none;font:700 12px/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--sole)}
  .dd:not(.lang-dd)>.dd-btn .dd-t{display:none}.dd:not(.lang-dd)>.dd-btn .dd-tm{display:inline}
  .dd .dd-btn .ic{display:none}
  .dd:not(.lang-dd)>.dd-menu{position:static;display:block;min-width:0;padding:0;background:none;border-radius:0;box-shadow:none}
  .dd:not(.lang-dd)>.dd-menu a{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;column-gap:var(--s3);min-height:68px;padding:var(--s2) 0;border-top:1px solid rgba(255,255,255,.18);border-radius:0;font:700 30px/1.05 var(--f-head);letter-spacing:-.022em;text-align:left;text-decoration:none;color:#fff}
  .dd:not(.lang-dd)>.dd-menu a:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
  .dd:not(.lang-dd)>.dd-menu a::after{content:"";grid-column:3;grid-row:1;width:22px;height:22px;background:var(--sole);-webkit-mask:var(--ic-arrow) center/contain no-repeat;mask:var(--ic-arrow) center/contain no-repeat}
  .dd-n{display:block;grid-column:2;grid-row:1;margin:0;font:600 14px/1.2 var(--f-body);letter-spacing:0;color:var(--sole-lt);white-space:nowrap}
  /* voci secondarie */
  .nav>a:not(.btn),.hdr-icon{display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:0;border-top:1px solid rgba(255,255,255,.18);font:600 20px/1.2 var(--f-body);color:#fff;text-decoration:none;width:auto}
  .dd:not(.lang-dd)+a:not(.btn){margin-top:var(--s5);border-top:0}
  .nav>a.hdr-phone{margin-left:0;color:#fff;font-weight:600;font-size:20px}
  .nav>a.hdr-wa{display:flex}
  .nav>a.hdr-phone span{display:inline}
  .nav>a:not(.btn) .ic,.hdr-icon .ic{width:22px;height:22px;stroke-width:1.75;color:var(--sole)}
  .nav>a[aria-current]{text-decoration:none;color:var(--sole)}
  .hdr-icon{border-bottom:1px solid rgba(255,255,255,.18)}
  /* lingua: due pillole */
  .lang-dd{position:sticky;bottom:0;z-index:2;margin:var(--s4) 0 calc(-1 * (var(--s5) + env(safe-area-inset-bottom)));padding:var(--s3) 0 calc(var(--s5) + env(safe-area-inset-bottom));background:var(--deep)}   /* la scelta della lingua resta sempre a vista, anche su schermi bassi */
  .lang-dd>.dd-btn{display:none}
  .lang-dd>.dd-menu{position:static;display:flex!important;gap:var(--s3);padding:0;min-width:0;background:none;box-shadow:none}
  .lang-dd>.dd-menu a{flex:1;justify-content:center;min-height:48px;padding:0 var(--s3);border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--sole-lt);font:600 16px/1 var(--f-body);color:#fff}
  .lang-dd>.dd-menu a[aria-current]{background:var(--sole);color:var(--deep);box-shadow:none}
  .lang-dd .flag{display:none}
  :root{--ic-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --ic-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
}
@media (max-width:380px){
  .dd:not(.lang-dd)>.dd-menu a{grid-template-columns:minmax(0,1fr) 22px;font-size:26px}
  .dd-n{grid-column:1;grid-row:2;margin-top:2px}
  .dd:not(.lang-dd)>.dd-menu a::after{grid-column:2;grid-row:1/3}
}
@media (max-width:1060px) and (max-height:700px){
  .nav{padding-top:calc(var(--hh) + var(--s2));padding-bottom:calc(var(--s4) + env(safe-area-inset-bottom))}
  .dd:not(.lang-dd)>.dd-menu a{min-height:56px;font-size:26px}
  .dd:not(.lang-dd)>.dd-btn{padding-bottom:var(--s2)}
  .nav>a:not(.btn),.hdr-icon{min-height:48px;font-size:18px}
  .dd:not(.lang-dd)+a:not(.btn){margin-top:var(--s3)}
  .lang-dd{padding-top:var(--s2)}
  .lang-dd>.dd-menu a{min-height:44px}
}
@keyframes uli-fade{from{opacity:0}}
@keyframes uli-rise{from{opacity:0;transform:translateY(12px)}}

/* ---- 7. barre fisse in basso (.mbar home/citta'/scheda e .ck-bar checkout): foglio bianco, un'informazione + un verbo ---- */
@media (max-width:1000px){
  .mbar,.ck-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);position:fixed;left:0;right:0;bottom:0;z-index:var(--z-bar);min-height:var(--bar-h);
    padding:var(--s3) max(var(--gut),calc((100% - 720px) / 2)) calc(var(--s3) + env(safe-area-inset-bottom));background:var(--carta);border-radius:var(--r-sheet) var(--r-sheet) 0 0;box-shadow:var(--sh-bar);
    transform:translateY(110%);visibility:hidden;transition:transform .3s var(--ease),visibility 0s .3s}
  .mbar.on,.ck-bar.show{transform:none;visibility:visible;transition:transform .3s var(--ease)}
  .mbar .btn{flex:none;min-height:var(--ctl-lg);padding:0 var(--s5);font-size:17px}
  .mbar-sum,.mbar-pr{flex:1;min-width:0;min-height:var(--ctl-lg);display:flex;flex-direction:column;justify-content:center;text-align:left;background:none;border:0;padding:0;color:var(--ink);font-family:var(--f-body)}
  .mbar-sum{position:relative;cursor:pointer;padding-right:0}
  .mbar-sum::after{display:none;content:"";position:absolute;right:2px;top:50%;width:18px;height:18px;margin-top:-9px;background:var(--mut);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15l6-6 6 6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 15l6-6 6 6'/%3E%3C/svg%3E") center/contain no-repeat}
  .mbar-sum b,.mbar-pr b{font:700 22px/1.15 var(--f-head);letter-spacing:-.02em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mbar-sum small,.mbar-pr small{font:400 14px/1.3 var(--f-body);color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mbar-s .btn{min-width:150px}
  .mbar-p.is-empty .mbar-pr b{display:none}
  body.pop-open .mbar,html.menu-open .mbar,html.menu-open .ck-bar{display:none}
  html.cookie-open :is(.mbar,.ck-bar){visibility:hidden;pointer-events:none}
}
@media (max-width:360px){.mbar-p .btn,.mbar .btn{padding:0 var(--s4)}.mbar-sum b,.mbar-pr b{font-size:20px}}
@media (prefers-reduced-motion:reduce){.mbar,.mbar.on,.ck-bar,.ck-bar.show,.site-header{transition:none}.nav.open,.nav.open>*{animation:none}}
/* ---- 8. fogli (bottom sheet) per destinazione, date, ospiti + campi di ricerca + calendario (<= 700) ---- */
@media (max-width:700px){
  body.pop-open{overflow:hidden}
  body.pop-open::before{content:'';position:fixed;inset:0;z-index:var(--z-scrim);background:rgba(7,47,63,.56)}
  .sbar .pop,.cerca-up .sbar .pop,.sbar .pop.pop-cal,.sbar-card .pop-cal,.sbar-card .pop-cal.one,.sbar-card .pop-guests,.cerca-up .pop-dest,.cerca-up .pop-guests{
    position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:auto!important;max-width:none;transform:none!important;
    max-height:min(92vh,720px)!important;max-height:min(92dvh,720px)!important;overflow-y:auto!important;overscroll-behavior:contain;
    background:var(--calce);border-radius:var(--r-sheet) var(--r-sheet) 0 0;padding:0 var(--gut) calc(var(--s4) + env(safe-area-inset-bottom));z-index:var(--z-sheet);box-shadow:var(--sh-sheet);animation:uli-sheet .38s var(--ease) both}
  .pop{--acc-c:var(--accent)}
  .pop:focus{outline:0}
  .pop-h{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);position:sticky;top:0;z-index:3;margin:0 calc(-1 * var(--gut));padding:var(--s6) var(--gut) var(--s3);background:var(--calce)}
  .pop-h::before{content:'';position:absolute;left:50%;top:var(--s3);width:44px;height:5px;margin-left:-22px;border-radius:5px;background:var(--line-2)}
  .pop-h b{font:700 26px/1.1 var(--f-head);letter-spacing:-.022em;color:var(--ink)}
  .pop-x{flex:none;width:44px;height:44px;margin:0;border:0;border-radius:50%;background:var(--carta);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);display:grid;place-items:center;cursor:pointer}
  .pop-x:active{transform:scale(.94)}
  .pop-x .ic{width:22px;height:22px}
  /* destinazione: righe da 68 con miniatura ad arco */
  .po{min-height:68px;padding:var(--s2);gap:var(--s3);border-radius:var(--r-md)}
  .po:hover{background:none}
  .po img,.po-i{width:44px;height:52px;border-radius:22px 22px 8px 8px;background:var(--maiolica);color:var(--brand)}
  .po-i .ic{width:22px;height:22px;stroke-width:1.75}
  .po b{font:700 20px/1.2 var(--f-head);letter-spacing:-.015em}.po small{font-size:14px}
  .po[aria-pressed="true"]{background:var(--maiolica)}.po[aria-pressed="true"] b{color:var(--ink)}
  .po[aria-pressed="true"]::after{content:"";flex:none;margin-left:auto;width:22px;height:22px;background:var(--brand);-webkit-mask:var(--ic-check) center/contain no-repeat;mask:var(--ic-check) center/contain no-repeat}
  /* ospiti: righe da 76 con stepper */
  .gr{min-height:76px;padding:var(--s3) var(--s1)}
  .gr+.gr{border-top:1px solid var(--line)}
  .gr b{font:600 18px/1.2 var(--f-head)}.gr small{font-size:14px}
  .gr-max{padding:var(--s2) var(--s1) 0;font:500 14px/1.35 var(--f-body);color:var(--accent-tx)}
  .step{gap:var(--s2)}
  .step button{width:44px;height:44px;border:2px solid var(--deep);background:var(--carta);color:var(--deep)}
  .step button:active:not(:disabled){transform:scale(.94)}
  .step button:disabled{border-color:var(--line-2);color:var(--mut);opacity:.6}
  .step output{min-width:44px;font:700 24px/1 var(--f-head)}
  /* pulsante del foglio: sempre l'unico terracotta del foglio */
  .pop-done{position:sticky;bottom:0;width:100%;min-height:var(--ctl-lg);margin-top:var(--s3);padding:0 var(--s5);background:var(--accent);color:#fff;border-radius:var(--r-md);font:600 17px/1.15 var(--f-head);box-shadow:var(--sh-cta),0 0 0 var(--s3) var(--calce),0 calc(var(--s3) + env(safe-area-inset-bottom)) 0 var(--s3) var(--calce);z-index:2}
  .pop-done:hover{background:var(--accent)}
  .pop-done:active{background:var(--accent-d)}
  .pop-cal .pop-done{display:block}
  .pop-done .m{display:none}
  .sbar .pop-done .d{display:none}
  .sbar .pop-done .m{display:inline}
  /* calendario: foglio a tre fasce (titolo + date scelte fissi / mesi che scorrono / piede in flusso con Conferma) */
  .sbar .pop.pop-cal,.sbar-card .pop-cal,.sbar-card .pop-cal.one{display:flex!important;flex-direction:column;overflow:hidden!important;padding-top:0;padding-bottom:calc(var(--s3) + env(safe-area-inset-bottom))}
  .sbar .pop.pop-cal[hidden],.sbar-card .pop-cal[hidden]{display:none!important}
  .pop-cal>*{flex:none}
  .pop-cal .pop-h{position:relative;top:auto}
  .cal-steps{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:var(--s1);margin:var(--s1) 0 var(--s3);padding:6px;max-width:none;background:var(--carta);border-radius:var(--r-md);box-shadow:inset 0 0 0 1px var(--line)}
  .cal-steps span{max-width:none;min-height:56px;justify-content:center;padding:var(--s2) var(--s3);border:0;border-radius:14px;box-shadow:none}
  .cal-steps span.on{background:var(--maiolica);box-shadow:inset 0 0 0 2px var(--brand)}
  /* scorciatoie per mese: riga che scorre di lato sopra la lista dei mesi */
  .cal-jump{display:flex;gap:var(--s2);margin:0 calc(-1 * var(--gut)) var(--s3);padding:2px var(--gut);overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .cal-jump::-webkit-scrollbar{display:none}
  .cal-jump .cj{flex:none;min-height:40px;padding:0 var(--s4);border:1.5px solid var(--line-2);border-radius:999px;background:var(--carta);color:var(--ink);font:600 14px/1 var(--f-body);text-transform:capitalize;white-space:nowrap;cursor:pointer}
  .cal-jump .cj.on{background:var(--deep);border-color:var(--deep);color:#fff}
  .cal-steps small{font:500 14px/1.15 var(--f-body);letter-spacing:0;text-transform:none;color:var(--mut)}
  .cal-steps b{font:600 18px/1.3 var(--f-head);letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
  .cal-steps b.empty{font-weight:600;color:var(--mut)}
  .cal-steps i{justify-self:center;font-size:18px}
  .cal-n{display:none}
  .pop-cal .cal-m,.pop-cal.one .cal-m{display:block;flex:1 1 auto;min-height:0;max-width:none;overflow-y:auto;overscroll-behavior:contain;margin:0 calc(-1 * var(--gut));padding:0 var(--gut) var(--s4);-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 20px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 20px),transparent)}
  .pop-cal .cm+.cm{margin-top:var(--s4)}
  .pop-cal .cg{min-height:0;grid-auto-rows:48px}
  .cm-t{justify-content:flex-start;height:44px;margin-bottom:var(--s1);font:700 20px/1 var(--f-head);letter-spacing:-.02em}
  .cn[data-n="-1"]{left:auto;right:48px}
  .cn{width:44px;height:44px}
  .cn:hover:not([aria-disabled="true"]){background:none}
  .cw span{padding:6px 0;font:600 14px/1.2 var(--f-body);letter-spacing:0}
  .cd{height:48px;font:600 17px/1 var(--f-head);letter-spacing:-.01em;color:var(--ink)}
  .cd>span{width:44px;height:44px;margin:2px auto}
  .cd::before{inset:2px 0}
  .cd.r:nth-child(7n+1)::before,.cd.hv:nth-child(7n+1)::before,.cd.r.m1::before,.cd.hv.m1::before{border-radius:22px 0 0 22px}
  .cd.r:nth-child(7n)::before,.cd.hv:nth-child(7n)::before,.cd.r.mL::before,.cd.hv.mL::before{border-radius:0 22px 22px 0}
  .cd.r.m1.mL::before,.cd.hv.m1.mL::before,.cd.r:nth-child(7n+1).mL::before,.cd.hv:nth-child(7n+1).mL::before,.cd.r:nth-child(7n).m1::before,.cd.hv:nth-child(7n).m1::before{border-radius:22px}
  .cd.s,.cd.e,.cd.hv-e{color:#fff}
  .cd.s>span,.cd.e>span,.cd.hv-e>span{background:var(--ink);box-shadow:0 6px 14px -6px rgba(11,37,48,.6)}
  .cd.today{color:var(--ink);font-weight:700}
  .cd.today>span{box-shadow:inset 0 0 0 1.5px var(--line-2)}
  .cd.today.s>span,.cd.today.e>span,.cd.today.hv-e>span{box-shadow:0 6px 14px -6px rgba(11,37,48,.6)}
  .cd:disabled{color:#8798A0;font-weight:600}
  .cd:focus-visible>span{outline:3px solid var(--brand);outline-offset:1px}
  /* piede: date scelte + pillola notti + Cancella; poi Conferma. Tutto in flusso, mai coperto */
  .cal-f{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:var(--s1) var(--s3);margin:0;padding:var(--s3) 0 0;border-top:2px dashed var(--line-2)}
  .cal-fd{display:block;font:700 18px/1.2 var(--f-head);letter-spacing:-.015em;color:var(--ink)}
  .cal-fd.empty{font-weight:600;font-size:16px;color:var(--mut)}
  .cal-fn{position:static;width:auto;height:auto;clip:auto;overflow:visible;padding:5px 10px;border-radius:999px;background:var(--deep);color:var(--sole);font:700 12px/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase}
  .cal-fn:empty{display:none}
  .clr{margin-left:auto;min-height:44px;padding:0 var(--s2);font:700 15px/1.2 var(--f-body);color:var(--brand);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}
  .clr:disabled{display:none}
  .clr:hover:not(:disabled){background:none}
  .pop-cal .pop-done{position:static;display:flex;align-items:center;justify-content:center;gap:var(--s2);margin-top:var(--s2);box-shadow:var(--sh-cta)}
  .pop-cal .pop-done::before{content:"";flex:none;width:22px;height:22px;background:currentColor;-webkit-mask:var(--ic-check) center/contain no-repeat;mask:var(--ic-check) center/contain no-repeat}

  /* campi di ricerca (home, citta'): niente scheda con filetti; Dove a tutta larghezza, Date + Ospiti affiancati, ogni campo e' una cartolina con bordo morbido; un solo pulsante terracotta */
  .sbar{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--s3) var(--s2);padding:0;border-radius:0;background:none;box-shadow:none}
  .sbar:not(.sbar-card) .sf[data-f=dest],.sbar:not(.sbar-card) .sgo{grid-column:1/-1}
  .sbar:not(.sbar-card) .sf[data-f=out]{display:none}   /* Arrivo e Partenza sono un solo campo 'Date' (search.js scrive l'intervallo nel campo Arrivo) */
  .sbar:not(.sbar-card) .l-a{display:none}.sbar:not(.sbar-card) .l-d{display:inline}
  .sbar:not(.sbar-card) .sf{border-radius:var(--r-md);background:var(--carta);box-shadow:inset 0 0 0 1.5px var(--line-2)}
  .sbar:not(.sbar-card) .sf-b{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--s3);align-items:center;align-content:center;min-height:68px;padding:var(--s2) var(--s4) var(--s2) var(--s3);border:0;border-radius:var(--r-md);background:none}
  .sbar:not(.sbar-card) .sf[data-f=dest] .sf-b{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23125F7B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
  .sbar:not(.sbar-card) .sf[data-f=in] .sf-b{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23125F7B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2.5'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}
  .sbar:not(.sbar-card) .sf[data-f=guests] .sf-b{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23125F7B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c0-3.6 2.9-6 6.5-6s6.5 2.4 6.5 6M16 4.6a3.5 3.5 0 0 1 0 6.8M18 14.4c2 .7 3.5 2.6 3.5 5.6'/%3E%3C/svg%3E")}
  .sbar:not(.sbar-card) .sf-b::before{content:'';grid-row:1/3;width:40px;height:40px;border-radius:14px;background:var(--maiolica) var(--ic) center/22px no-repeat}
  .sbar:not(.sbar-card) .sf-l{font:500 14px/1.2 var(--f-body);letter-spacing:0;text-transform:none;color:var(--mut)}
  .sbar:not(.sbar-card) .sf-v{font:600 17px/1.25 var(--f-head);letter-spacing:-.01em;color:var(--ink-2)}   /* segnaposto: stesso peso del valore, tinta piu' tenue */
  .sbar:not(.sbar-card) .sf-v.set{color:var(--ink)}
  .sbar:not(.sbar-card) .sf-b:hover{background:none}
  .sbar:not(.sbar-card) .sf.active,.sbar:not(.sbar-card) .sf.open{background:var(--maiolica);box-shadow:inset 0 0 0 2px var(--brand)}
  .sbar:not(.sbar-card) .sf.active .sf-b,.sbar:not(.sbar-card) .sf.open .sf-b{background:none;box-shadow:none}
  .sbar:not(.sbar-card) .sf.active .sf-b::before{background-color:var(--carta)}
  .sbar:not(.sbar-card) .sf.err{box-shadow:inset 0 0 0 2px var(--accent)}
  .sbar:not(.sbar-card) .sf.err .sf-b{box-shadow:none}
  .sbar:not(.sbar-card) .sf.err .sf-l,.sbar:not(.sbar-card) .sf.active .sf-l{color:var(--accent-tx)}
  .sbar:not(.sbar-card) .sgo{justify-content:center;width:auto;min-height:var(--ctl-lg);margin:var(--s1) 0 0;padding:0 var(--s5);border-radius:var(--r-md);background:var(--accent);box-shadow:var(--sh-cta)}
  .sbar:not(.sbar-card) .sgo:active{background:var(--accent-d)}
  /* il blocco ricerca in fondo alla home sta su una foto: li' i campi vivono dentro una scheda calce */
  .cerca-up .sbar{padding:var(--s3);border-radius:var(--r-xl);background:var(--calce);box-shadow:var(--sh-2)}
  .sbar-card{padding:0;border-radius:0;background:none;box-shadow:none}
  .sbar-card .sf{border:0;border-radius:var(--r-md);box-shadow:inset 0 0 0 1.5px var(--line-2);background:var(--carta)}
  .sbar-card .sf.active{box-shadow:inset 0 0 0 2px var(--brand);background:var(--maiolica)}
  .sbar-card .sf-b{padding:var(--s2) var(--s4);min-height:60px;border-radius:var(--r-md)}
  .sbar-card .sf-l{font:500 14px/1.2 var(--f-body);letter-spacing:0;text-transform:none;color:var(--mut)}
  .sbar-card .sf-v{font:600 17px/1.25 var(--f-head);color:var(--ink)}
}
@media (max-width:700px) and (max-height:760px){
  .pop-cal .cg{grid-auto-rows:40px}
  .cd{height:40px}.cd>span{width:38px;height:38px;margin:1px auto}.cd::before{inset:1px 0}
  .cal-steps span{min-height:52px}
}
@media (max-width:700px) and (max-height:700px){
  .sbar:not(.sbar-card) .sf-b{min-height:56px}
  .sbar:not(.sbar-card) .sgo{min-height:var(--ctl);margin:var(--s1) 0 0}
}
@media (max-width:700px) and (max-height:600px){
  .pop-cal .cal-steps{display:none}   /* le date scelte si vedono gia' nel calendario e nel campo: su schermi bassi il calendario resta intero senza scorrere */
  .pop-h{padding-top:var(--s5);padding-bottom:var(--s2)}
}
@media (max-width:380px){
  .sbar:not(.sbar-card) .sf[data-f=in] .sf-b,.sbar:not(.sbar-card) .sf[data-f=guests] .sf-b{grid-template-columns:minmax(0,1fr);padding-left:var(--s4)}
  .sbar:not(.sbar-card) .sf[data-f=in] .sf-b::before,.sbar:not(.sbar-card) .sf[data-f=guests] .sf-b::before{display:none}
}
@media (max-width:360px){.sbar:not(.sbar-card) .sf-b{padding-right:var(--s3)}}
@media (max-width:340px){.pop-cal{padding-inline:var(--s3)!important}.cd{font-size:15px}}
/* schermi bassi: il calendario resta leggibile e il piede non ruba spazio ai mesi */
@media (max-width:700px) and (max-height:700px){
  .pop-cal .cg{grid-auto-rows:42px}.cd{height:42px}.cd>span{width:40px;height:40px;margin:1px auto}.cd::before{inset:1px 0}
  .cal-steps span{min-height:50px}
  .cal-f{padding-top:var(--s2)}.cal-fd{font-size:16px}
  .pop-cal .pop-done{min-height:var(--ctl);margin-top:var(--s1)}
}
@keyframes uli-sheet{from{translate:0 100%}}
@media (prefers-reduced-motion:reduce){.pop{animation:none!important}}

/* ---- 9. WhatsApp: sul telefono il pulsante flottante e' nascosto ovunque (l'aiuto sta nel menu, nel footer, nel contatto in fondo alla home e nelle azioni di conferma e gestione: li' il pulsante copriva importi e testo) ---- */
@media (max-width:1060px){
  .wa-float{display:none;width:52px;height:52px;right:calc(var(--s4) + env(safe-area-inset-right));bottom:calc(var(--s4) + env(safe-area-inset-bottom));box-shadow:var(--sh-2)}
  .wa-float .ic,.wa-float .ic-fill{width:28px;height:28px}
  html.menu-open .wa-float,html.cookie-open .wa-float,body.pop-open .wa-float{opacity:0;visibility:hidden;pointer-events:none}
}

/* ---- 10. banner cookie: foglio in basso, pulsanti di pari peso (il consenso non e' conversione) ---- */
@media (max-width:1060px){
  .cookie{left:0;right:0;bottom:0;max-width:720px;padding:var(--s4) var(--gut) calc(var(--s3) + env(safe-area-inset-bottom));border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--carta);box-shadow:var(--sh-bar);color:var(--ink);z-index:var(--z-cookie);max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow-y:auto}
  .cookie h2{margin:0 0 var(--s1);font:700 22px/1.1 var(--f-head);letter-spacing:-.022em;color:var(--ink)}
  .cookie .ck-text{margin:0 0 var(--s3);font:400 15px/1.4 var(--f-body);color:var(--ink-2)}
  .cookie .ck-text a{color:var(--brand)}
  .cookie:not(.ck-open) .ck-long{display:none}.cookie:not(.ck-open) .ck-short{display:inline}
  .ck-btns{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2) var(--s3)}
  .ck-btns .btn{flex:none;min-height:48px;padding:0 var(--s3);font-size:16px}
  .ck-btns [data-ck=reject]{order:1;background:var(--carta);color:var(--deep);box-shadow:inset 0 0 0 2px var(--deep)}
  .ck-btns [data-ck=reject]:active{background:rgba(7,47,63,.08)}
  .ck-btns [data-ck=all]{order:2}
  .ck-btns [data-ck=custom]{grid-column:1/-1;order:3;min-height:44px;margin-top:0;background:none;box-shadow:none;color:var(--brand);font:700 15px/1.2 var(--f-body);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}
  .ck-btns [data-ck=custom]:active{background:none;transform:none}
  .ck-btns [data-ck=save]{grid-column:1/-1;order:4}
  .cookie .ck-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);grid-template-columns:none}
  .cookie .ck-row span{font-size:14px;color:var(--mut)}
  .cookie .ck-row em{color:var(--ok-tx);font-size:12px}
  .ck-sw{width:52px;height:32px}.ck-sw i::after{width:26px;height:26px}
  .ck-sw input:checked+i::after{transform:translateX(20px)}
  .ck-sw input{inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px)}
  body.pop-open .cookie,html.menu-open .cookie{display:none}
}

/* ---- 11. footer: petrolio profondo, marchio + promessa, contatti, due colonne da 44, chip legali, social a tratto ---- */
@media (max-width:760px){
  .site-footer{padding:var(--s7) 0 0;border:0;border-radius:var(--r-sheet) var(--r-sheet) 0 0;background:var(--deep);color:rgba(255,255,255,.82)}
  .site-footer a,.site-footer .linkbtn{color:rgba(255,255,255,.92);text-decoration:none}
  .fgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s6) var(--s5)}
  .fgrid>div:first-child{grid-column:1/-1}
  .flogo{display:block;height:72px;width:auto;margin:0 auto var(--s3);filter:brightness(0) invert(1)}
  .ftag{display:block;max-width:26ch;margin:0 auto var(--s5);text-align:center;font:500 16px/1.4 var(--f-body);color:rgba(255,255,255,.82);text-wrap:balance}
  .fgrid h3{margin:0 0 var(--s2);font:700 12px/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--sole)}
  .fgrid li,.clist li{margin:0;font:600 16px/1.3 var(--f-body)}
  .fgrid li a,.clist a,.fgrid .linkbtn{display:flex;align-items:center;min-height:44px;padding-block:var(--s1)}
  .fgrid li.fl-l{display:none}
  .clist li{display:flex;gap:var(--s3);align-items:center}
  .clist .ic{width:22px;height:22px;color:var(--sole-lt);stroke-width:1.75}
  .clist{display:flex;flex-wrap:wrap;gap:0 var(--s3);padding:var(--s3) 0 0;border-top:1px solid rgba(255,255,255,.18)}
  .clist li:nth-child(-n+3){flex:1 1 100%}
  .clist li.soc{position:relative;flex:none;justify-content:center;width:48px;height:48px;margin-top:var(--s3);border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
  .clist li.soc .ic-fill{display:none}
  .clist li.soc .ic-m{display:block}
  .clist li.soc a{position:absolute;inset:0;padding:0;font-size:0;color:transparent;overflow:hidden}   /* il testo resta per i lettori di schermo */
  .flegal{display:flex;flex-wrap:wrap;gap:0 var(--s5);margin-top:var(--s6);padding-top:var(--s3);border-top:1px solid rgba(255,255,255,.2)}
  .flegal a,.flegal .linkbtn{display:inline-flex;align-items:center;min-height:44px;font:500 14px/1.2 var(--f-body);text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:4px;background:none;border:0;padding:0;cursor:pointer}
  .legal{margin-top:var(--s2);padding:var(--s3) 0 calc(var(--s5) + env(safe-area-inset-bottom));border-top:0;font:400 14px/1.5 var(--f-body);color:rgba(255,255,255,.72)}
  .legal a{color:inherit}
}
@media (max-width:1000px) and (max-height:500px){
  .site-header .bar,.wrap{width:calc(100% - 2 * max(32px,env(safe-area-inset-left),env(safe-area-inset-right)))}
}

/* ---- 12. layout comune del telefono (<= 700): gutter, ritmo verticale ---- */
@media (max-width:700px){
  /* gutter unico a 20 px anche tra 641 e 700 */
  .wrap,.site-header .bar,.hero2-in,.ohero-in{width:calc(100% - 2 * var(--gut))}
  /* stacking context: lo sheet (z 120) deve poter stare sopra header, barra e WhatsApp */
  .hero2-in{z-index:auto}
  .final{isolation:auto}
  .final-bg{z-index:0}
  .final>.wrap{position:relative}
  .pp-tax,.pc-addr,.check{font-size:14px}
  .ck-row span{font-size:14px}
  /* ritmo verticale */
  .sec,.sec-dest2,.sec-top,.sec-why,.sec-rev2,.sec-faq,.sec-also,.sec-best,.sec-rev,.o-adv,.o-contact{padding-top:var(--s7);padding-bottom:var(--s7)}
  .final{padding-top:var(--s8);padding-bottom:var(--s8)}
  .sh{margin-bottom:var(--s5)}
  .sh h2,.sec-h{font-size:1.75rem;line-height:1.15;margin-bottom:var(--s3)}
  /* movimento ridotto per natura sul telefono */
  html.js .reveal:not(.in){opacity:1}
  html.js .reveal.in{animation:none}
  .eyebrow{-webkit-backdrop-filter:none;backdrop-filter:none}
  .hero2-bg img.on{animation:none}
}


/* =====================================================================================================
   MOBILE v2: home  (ricerca a fogli, hero compatta, risultati, card, destinazioni, fiducia, barra fissa)
   Fuori dalle media query solo elementi nuovi nascosti: a >= 1061 px il desktop non cambia.
   ===================================================================================================== */
.pop-done .m{display:none}
@media (min-width:701px){.pop-cal .pop-done{display:none}}
.hs-x{display:inline}
.pc-cta .cta-b{display:none}
.pc-price.is-ask,.pc-price.is-skel{display:none}

@media (max-width:700px){

  /* ---- H3: hero compatta ---- */
  .hs-x{display:none}
  .hero2{min-height:0;max-height:none;padding:96px 0 var(--s7)}
  .eyebrow{display:flex;justify-content:center;gap:var(--s2);font-size:14px;line-height:1.3;padding:var(--s2) var(--s4);margin:0 0 var(--s4)}
  .hero2 h1{font-size:clamp(2.125rem,9.4vw,2.6rem);line-height:1.08;margin:0 0 var(--s3)}
  .hero2-sub{font-size:1.125rem;line-height:1.45;margin:0 0 var(--s5);opacity:1;text-wrap:balance}
  .hero2-bg::after{background:linear-gradient(180deg,rgba(5,28,38,.72) 0,rgba(5,28,38,.58) 45%,rgba(5,28,38,.64) 80%,rgba(5,28,38,.84) 100%)}
  .hero2-bg img:not(.on){display:none}
  .chips2{flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;gap:var(--s2);overflow-x:auto;margin:var(--s4) calc(-1 * var(--gut)) 0;padding:0 var(--gut);scrollbar-width:none;scroll-snap-type:x proximity;scroll-padding-inline:var(--gut);font-size:14px;line-height:1.3;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent)}
  .chips2::-webkit-scrollbar{display:none}
  .chips2 li{flex:none;white-space:nowrap;min-height:40px;padding:0 var(--s4);display:flex;align-items:center;gap:var(--s2);border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.12);scroll-snap-align:start}
  .chips2 .ic{width:16px;height:16px}

  /* ---- H4/H5: elenco strutture e card .pc a tutta larghezza ---- */
  #strutture,#pcs,.pc{scroll-margin-top:calc(var(--hh) + var(--s4))}
  .sh-row{display:block}
  .pr-v{font-size:1.5rem}
  .pr-from,.pr-u,.pr-t,.pr-x{font-size:14px}
  .pr-na{font-size:14px}
  .lnk{background:none;border:0;padding:0;min-height:var(--ctl-sm);font:600 14px/1.2 var(--f-body);color:var(--brand);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

  /* ---- H6: destinazioni, statistiche, vantaggi, recensioni, FAQ, proprietari, finale ---- */
}
@media (max-width:700px) and (max-height:700px){.hero2-sub{display:none}.hero2{padding-top:80px}}
@media (max-width:700px) and (max-height:620px){.eyebrow{display:none}}
@media (max-width:420px){.eyebrow .stars{display:none}}
@keyframes uli-shimmer{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.pc-price.is-skel{animation:none}}

/* =====================================================================================================
   MOBILE · galleria e lightbox  (contatore foto "1/14" e lightbox a tutto schermo; il look della pagina citta' e' in "MOBILE · CITTA'", in fondo)
   ===================================================================================================== */
/* elementi che esistono solo per il telefono (citta'): fuori dalle media query restano nascosti, il desktop non cambia */
.pg-n,.trust,.cl-m,.lc,.am-m,.props-na,.props-wait,.props-none,.pcard .cta-b,.pcard .cta-c,.pcard .cta-i{display:none}

@media (max-width:700px){
  .pg-n{display:block;position:absolute;left:var(--s3);bottom:var(--s3);background:rgba(7,28,38,.74);color:#fff;border-radius:999px;padding:var(--s1) var(--s3);font-size:14px;line-height:1.4}
}

/* =====================================================================================================
   MOBILE v2: round 1  (correzioni dopo la verifica indipendente)
   Nuovi elementi nascosti fuori dalle media query; tutto il resto a <= 1060 / 1000 / 760 / 700 / 900.
   ===================================================================================================== */
.rs-g:empty{display:none}
.eb-o{display:inline}



@media (max-width:380px){
  .eyebrow{white-space:nowrap;font-size:13px;padding-inline:var(--s3)}   /* una riga sola: 'oltre' sparisce e i 1.400 restano */
  .eb-o{display:none}
}

@media (min-width:701px) and (max-width:1000px){
  .sbar:not(.sbar-card) .sf[data-f=dest],.sbar:not(.sbar-card) .sf[data-f=guests]{grid-column:1/-1}   /* Arrivo e Partenza affiancati: il flusso di lettura non si spezza */
}


/* =====================================================================================================
   FONDAMENTA round 2  (hero fotografico + foglio calce, campi, trio, card come sistema, scheda a tutta foto,
   fondo caldo ovunque, checkout). Tutto dentro @media (max-width:1060px) o piu' stretto: il desktop non cambia.
   ===================================================================================================== */
@media (max-width:700px){:root{--ph:clamp(300px,45vh,420px)}}
@supports (height:1svh){@media (max-width:700px){:root{--ph:clamp(300px,45svh,420px)}}}
@media (max-width:700px) and (max-height:700px){:root{--ph:clamp(230px,36vh,290px)}}
@supports (height:1svh){@media (max-width:700px) and (max-height:700px){:root{--ph:clamp(230px,36svh,290px)}}}

/* ---- R1. hero di home e citta': foto a piena luce in alto, foglio calce che sale con la ricerca ---- */
@media (max-width:700px){
  body.pg-home .hero2,body.pg-city .hero2{display:block;min-height:0;max-height:none;padding:var(--ph) 0 0;background:var(--calce);color:var(--ink);text-align:left;--acc-c:var(--accent)}
  body.pg-home .hero2-bg,body.pg-city .hero2-bg{bottom:auto;height:calc(var(--ph) + 40px);background:var(--maiolica-2)}
  body.pg-home .hero2-bg img,body.pg-city .hero2-bg img{object-position:var(--op,50% 50%);filter:saturate(1.06)}
  body.pg-home .hero2-bg::after,body.pg-city .hero2-bg::after{background:linear-gradient(180deg,rgba(7,47,63,.5) 0,rgba(7,47,63,.14) 24%,rgba(7,47,63,0) 44%)}   /* foto prima, velo mai: solo un'ombra sottile dietro il logo */
  body.pg-home .hero2-in,body.pg-city .hero2-in{width:100%;margin:0;padding:var(--s5) var(--gut) var(--s6);background:var(--calce);border-radius:var(--r-sheet) var(--r-sheet) 0 0;z-index:auto}
  body.pg-home .hero2 h1,body.pg-city .hero2 h1{margin:0 0 var(--s4);font:700 clamp(2rem,9.2vw,2.5rem)/1.04 var(--f-head);letter-spacing:-.03em;color:var(--ink);text-shadow:none;text-align:left}
  body.pg-home .hero2-sub,body.pg-city .hero2-sub{display:none}   /* resta nel DOM: la promessa sta nel trio sotto il pulsante e nel testo della pagina */
  /* pillola del voto, appoggiata sul bordo della foto */
  body.pg-home .eyebrow,body.pg-city .eyebrow{position:absolute;left:var(--gut);top:-54px;display:inline-flex;align-items:center;gap:var(--s2);max-width:calc(100% - 2 * var(--gut));min-height:40px;margin:0;padding:0 var(--s4) 0 var(--s2);border:0;border-radius:999px;background:rgba(7,47,63,.84);color:#fff;font:500 14px/1.2 var(--f-body);white-space:nowrap;text-align:left}
  body.pg-home .eyebrow b,body.pg-city .eyebrow b{font-weight:700}
  body.pg-home .eyebrow .stars,body.pg-city .eyebrow .stars,.eb-d{display:none}
  .eb-bk{display:block;flex:none;width:24px;height:24px;border-radius:50%}
  .eb-m{display:inline}
  /* trio sotto il pulsante */
  .chips2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s2);margin:var(--s5) 0 0;padding:0;overflow:visible;-webkit-mask-image:none;mask-image:none;font:600 14px/1.25 var(--f-body);color:var(--ink)}
  .chips2 li{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--s2);min-height:0;padding:0;border:0;border-radius:0;background:none;white-space:normal;text-align:center}
  .chips2 li:nth-child(4){display:none}   /* 'biancheria' non e' un messaggio verificato */
  .chips2 .ic:not(.ic-m){display:none}
  .chips2 .ic-m{display:block;box-sizing:border-box;width:48px;height:48px;padding:12px;border-radius:50%;background:var(--sole-lt);color:var(--deep)}
  .ct-d{display:none}.ct-m{display:block}
  /* numeri: 8,3 e 1.400 stanno gia' nella pillola e nelle recensioni; 17 e 4 stanno nell'etichetta delle destinazioni */
  body.pg-home .stats-wrap{display:none}
  body.pg-home .header-spacer{display:none}
  /* logo bianco leggibile anche sul cielo chiaro */
  .hero-dark .site-header:not(.stuck) .brand img{filter:brightness(0) invert(1) drop-shadow(0 1px 8px rgba(7,47,63,.45))}
}
@media (max-width:359px){.eb-r{display:none}}
@media (max-width:365px){.eb-bk{display:none}body.pg-home .eyebrow,body.pg-city .eyebrow{padding-left:var(--s4)}}
@media (max-width:700px) and (max-height:700px){
  .chips2{display:none}
  body.pg-home .hero2-in,body.pg-city .hero2-in{padding-top:var(--s4)}
  body.pg-home .eyebrow,body.pg-city .eyebrow{top:-50px}
}

/* ---- R2. fondo caldo ovunque: calce per le pagine, carta per le card ---- */
@media (max-width:1060px){
  .sec-rev2,.sec-faq,.sec-also{background:transparent}
}

/* ---- R3. card come sistema: cornice carta da 8 px, foto con raggio, filetto tratteggiato prima del prezzo, un solo pulsante pieno ---- */
@media (max-width:1060px){
  .pr-v{color:var(--ink);letter-spacing:-.02em}
  .pr-from,.pr-u{color:var(--mut)}
}
@media (max-width:700px){
  .pr-v{font-size:1.75rem;line-height:1.1}
}
@media (max-width:1060px){:root{--ic-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E")}}


/* =====================================================================================================
   FONDAMENTA round 3  (carattere: marchio leggibile, destinazioni a carosello, sezioni col linguaggio nuovo,
   card come sistema, strisce sticky senza buco, ricerca con verbo giusto, calendario e piede compatti).
   Tutto dentro @media (max-width:1060px) o piu' stretto: il desktop non cambia.
   ===================================================================================================== */
@media (max-width:1060px){
  :root{
    --ic-pin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
    --ic-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    --ic-cal:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2.5'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");
    --ic-cal-b:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23125F7B' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2.5'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");
    --ic-plus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
    --ic-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  }

  /* ---- header: segno del marchio + scritta leggibile (il logo intero ha il nome a 7 px), cerchi scuri sulla foto ---- */
  .brand{gap:10px;text-decoration:none}
  .brand img{height:44px;width:auto;margin-bottom:-6.6px;clip-path:inset(0 0 15% 0)}   /* solo il segno: la scritta del logo e' illeggibile a questa misura */
  .brand-w{display:flex;flex-direction:column;gap:3px;font:700 14px/1 var(--f-head);letter-spacing:.09em;text-transform:uppercase;color:var(--brand);white-space:nowrap}
  .hero-dark .site-header:not(.stuck) .brand-w,html.menu-open .site-header .brand-w{color:#fff;text-shadow:0 1px 10px rgba(7,47,63,.55)}
  .hdr-back+.brand .brand-w{display:none}
  .hero-dark .site-header:not(.stuck) :is(.hdr-m,.burger){background:rgba(7,47,63,.48);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
  html.menu-open .site-header :is(.hdr-m,.burger){-webkit-backdrop-filter:none;backdrop-filter:none}

  /* ---- ricerca: il pulsante dice cosa succede ---- */
  .sgo-d{display:none}
  .sgo-m{display:inline}
  html.has-dates .sgo-m{display:none}
  html.has-dates .sgo-m2{display:inline}
  .sbar:not(.sbar-card) .sf[data-f=dest] .sf-b{grid-template-columns:auto minmax(0,1fr) 24px}
  .sbar:not(.sbar-card) .sf[data-f=dest] .sf-b::after{content:"";grid-column:3;grid-row:1/3;width:22px;height:22px;background:var(--mut);-webkit-mask:var(--ic-down) center/contain no-repeat;mask:var(--ic-down) center/contain no-repeat}
  .sbar:not(.sbar-card) .sf[data-f=dest] .sf-v,.sbar:not(.sbar-card) .sf[data-f=guests] .sf-v{color:var(--ink)}
  .sbar:not(.sbar-card) .sf[data-f=in] .sf-v:not(.set){color:var(--brand)}

  /* ---- fondo e titoli ---- */
  p.lab{margin:0 0 var(--s3);font:700 12px/1.2 var(--f-body);letter-spacing:.1em;color:var(--accent-tx)}
  :is(.hero2,.sec-why,.ohero) p.lab{color:var(--sole)}

}

@media (max-width:700px){
  /* ---- trio sotto la ricerca: tessere piu' piccole, ordine tariffa / check-in / assistenza, filetti tratteggiati ---- */
  .chips2{gap:0;margin-top:var(--s5)}
  .chips2 li{padding:0 6px;gap:10px;text-wrap:balance}
  .chips2 li:nth-child(2){order:3}
  .chips2 li:nth-child(2),.chips2 li:nth-child(3){border-left:1.5px dashed rgba(11,37,48,.2)}
  .chips2 .ic-m{width:40px;height:40px;padding:10px;background:rgba(255,228,154,.8)}
  .nw{white-space:nowrap}
}

/* ---- calendario: piede compatto, frecce dei mesi sulla stessa riga ---- */
@media (max-width:700px){
  .cn[data-n="1"]{right:0}
  .cn[data-n="-1"]{right:48px}
  .cal-f{gap:var(--s1) var(--s3);padding:var(--s2) 0 0;border-top:0;flex-wrap:wrap}
  .cal-fd{font-size:18px}
  .clr{padding:0 var(--s1);font-size:14px}
  .pop-cal .cal-m{-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - 32px),transparent)}
  .gr{padding-inline:0}
}

/* ---- footer: una colonna, un solo asse (a sinistra), legali in griglia ---- */
@media (max-width:760px){
  .fgrid{grid-template-columns:minmax(0,1fr);gap:var(--s5)}
  .flogo{margin:0 0 var(--s3)}
  .ftag{max-width:30ch;margin:0 0 var(--s5);text-align:left}
  .fgrid>div:nth-child(2) ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--s4)}
  .fgrid li a,.clist a,.fgrid .linkbtn{min-height:48px}
  .flang{display:flex;gap:var(--s3);margin-top:var(--s5)}
  .flang:empty{display:none}
  .flang a{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--sole-lt);font:600 16px/1 var(--f-body);color:#fff}
  .flang a[aria-current]{background:var(--sole);color:var(--deep);box-shadow:none}
  .flegal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s4);margin-top:var(--s4)}
  .flegal a,.flegal .linkbtn{min-height:48px;text-decoration:none;color:rgba(255,255,255,.82)}
  .flegal a:hover,.flegal a:focus-visible,.flegal .linkbtn:hover{text-decoration:underline;text-underline-offset:4px}
  .pg-checkout .flang,.pg-pay .flang{display:none}
}

/* ---- telefono stretto ---- */
@media (max-width:359px){
  body.pg-home .hero2 h1,body.pg-city .hero2 h1{font-size:2.125rem}
}
@media (max-width:340px){
  body.pg-home .hero2 h1,body.pg-city .hero2 h1{font-size:2rem}
}
@media (max-width:700px) and (max-height:600px){
  body.pg-home .eyebrow,body.pg-city .eyebrow{top:-48px}
}

/* =====================================================================================================
   MOBILE · HOME  (destinazioni, "piu' amati" con carte, vantaggi, recensioni, FAQ, chiusura, proprietari)
   Condivisi con citta' e proprietari: archi delle destinazioni (.dests2), vantaggi (.sec-why), FAQ (.faq/.qa) e card .pc.
   Il primo schermo (hero, ricerca, trio) e' nel blocco "FONDAMENTA round 2 / R1".
   Tutto dentro @media (max-width:1060px) o piu' stretto: il desktop non cambia.
   ===================================================================================================== */

/* ---- titoli e testi di sezione ---- */
@media (max-width:1060px){
  .sh h2,.sec-why h2,.rev2-r h2,.final h2,.own h2{font-size:clamp(1.75rem,8vw,2rem);line-height:1.1;letter-spacing:-.025em;margin-bottom:var(--s3)}
  .sh p:not(.lab){margin:0;max-width:34ch;font:400 16px/1.5 var(--f-body);color:var(--ink-2)}
  .sec-why h2,.sec-why .center,.sec-faq .sh,.sec-faq .center{text-align:left}
}

/* ---- destinazioni: carosello di archi, due e mezzo visibili ---- */
@media (max-width:700px){
  .sec-dest2{padding-bottom:var(--s5)}
  .dests2{display:flex;align-items:flex-start;gap:var(--s3);margin-inline:calc(-1 * var(--gut));padding:var(--s1) var(--gut) var(--s2);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none}
  .dests2::-webkit-scrollbar{display:none}
  .dests2::after{content:"";flex:0 0 var(--s1)}
  .dests2 .dest,.dests3 .dest:last-child:nth-child(odd){flex:0 0 clamp(136px,calc(50vw - 40px),188px);aspect-ratio:2/3;border-radius:999px 999px var(--r-md) var(--r-md);scroll-snap-align:start;box-shadow:var(--sh-1);transition:transform .15s var(--ease)}
  .dests2 .dest:active{transform:scale(.985)}
  .dests2 .dest::after{inset:0;background:linear-gradient(180deg,rgba(7,47,63,0) 40%,rgba(7,47,63,.9))}
  .dests2 .dest-t{padding:0 var(--s3) var(--s4);align-items:flex-start;text-align:left;gap:var(--s1)}
  .dests2 .dest-t b{font:700 22px/1.1 var(--f-head);letter-spacing:-.015em;text-align:left}
  .dest-t>span{display:none}
  .dests2 .dest-t i{display:flex;flex-wrap:nowrap;justify-content:flex-start;gap:var(--s2);margin:0;font:600 14px/1.2 var(--f-body);letter-spacing:0;text-transform:none;color:rgba(255,255,255,.92)}
  .dests2 .dest-t i .ic{display:block;flex:none;width:16px;height:16px}
  .dests2 .dest:hover .dest-t i .ic{transform:none}
  .dest-go{display:none}
}

/* ---- "piu' amati": tab, nota prezzi, carosello di carte ---- */
@media (max-width:700px){
  .sh-row{display:block}
  .tabs{flex-wrap:nowrap;gap:var(--s2);overflow-x:auto;margin:var(--s4) calc(-1 * var(--gut)) 0;padding:var(--s1) var(--gut) var(--s2);scroll-padding-inline:var(--gut);scrollbar-width:none}
  .tabs::-webkit-scrollbar{display:none}
  .tab{flex:none;display:inline-flex;align-items:center;min-height:var(--ctl-sm);padding:0 var(--s4);border:1.5px solid var(--line-2);border-radius:999px;background:var(--carta);color:var(--ink);font:600 15px/1 var(--f-head);white-space:nowrap;transition:transform .12s var(--ease)}
  .tab:active{transform:scale(.97)}
  .tab.on{background:var(--deep);border-color:var(--deep);color:#fff}
  .sh-tk:not([hidden]){display:block;margin:var(--s2) 0 var(--s2);font:500 14px/1.4 var(--f-body);color:var(--mut)}
  .sh-tk.no-price{display:none}
  .pcs{display:flex;align-items:stretch;gap:var(--s3);margin-inline:calc(-1 * var(--gut));padding:var(--s1) var(--gut) var(--s5);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none}
  .pcs::-webkit-scrollbar{display:none}
  .pcs::after{content:"";flex:0 0 var(--s1)}
  .pc{flex:0 0 min(304px,calc(100vw - 76px));scroll-snap-align:start}
  .pc-price.is-skel{display:block;width:100%;border-radius:var(--r-sm);background:linear-gradient(90deg,#eef3f5 25%,#f7fafb 50%,#eef3f5 75%);background-size:200% 100%;animation:uli-shimmer 1.2s linear infinite;opacity:1}
  .pcs-more{margin:0}
  .pcs-more .btn{width:100%}
  .pcs-note{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:var(--s3);margin-top:var(--s2);padding:var(--s4);background:var(--sabbia);border-radius:var(--r-lg);box-shadow:none}
  .pcs-note::before{content:"";grid-row:1;width:26px;height:26px;background:var(--brand);-webkit-mask:var(--ic-cal) center/contain no-repeat;mask:var(--ic-cal) center/contain no-repeat}
  .pcs-note p{margin:0;font:500 16px/1.4 var(--f-body);color:var(--ink)}
  .pcs-note .lnk{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:var(--r-md);box-shadow:inset 0 0 0 2px var(--deep);color:var(--deep);font:600 16px/1.1 var(--f-head);text-decoration:none}
  .pcs-note .lnk:active{background:rgba(7,47,63,.08)}
  .pcs-empty{display:flex;flex-direction:column;align-items:center;gap:var(--s3);margin-top:var(--s2);padding:var(--s6) var(--gut) var(--s5);text-align:center;background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
  .pcs-empty::before{content:"";width:64px;height:64px;margin-bottom:var(--s1);border-radius:50%;background:var(--ic-cal-b) center/28px no-repeat,var(--sole-lt)}
  .pcs-empty p{margin:0;font:700 22px/1.2 var(--f-head);letter-spacing:-.015em;color:var(--ink)}
  .pcs-empty .pcs-empty-s{max-width:30ch;font:400 16px/1.5 var(--f-body);letter-spacing:0;color:var(--ink-2)}
  .pcs-empty .btn{width:100%;margin-top:var(--s2)}
  .pcs-empty .lnk{display:inline-flex;align-items:center;justify-content:center;min-height:var(--ctl-sm);padding:0 var(--s2)}
  .pcs-note[hidden],.pcs-empty[hidden],.pcs-empty [hidden]{display:none}
}

/* ---- card .pc (home e proprietari): cartolina con foto, nome, e in basso totale + un pulsante ---- */
@media (max-width:1060px){
  .pc{container-type:inline-size;display:flex;flex-direction:column;padding:var(--s2);border-radius:var(--r-xl);background:var(--carta);border:1px solid var(--line-s);box-shadow:var(--sh-1);transition:transform .15s var(--ease)}
  .pc:hover{transform:none;box-shadow:var(--sh-1)}
  .pc:active{transform:scale(.99)}
  .pc-img{border-radius:var(--r-lg);background:var(--sabbia)}
  .pc:hover .pc-img img{transform:none}
  .pc-b{flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto 1fr auto auto;column-gap:var(--s3);padding:var(--s4) var(--s3) var(--s2)}
  .pc-loc{grid-area:1/1/2/-1;gap:var(--s2);font:700 12px/1.2 var(--f-body);letter-spacing:.1em;color:var(--accent-tx)}
  .pc-loc .ic{width:14px;height:14px}
  .pc h3{grid-area:2/1/3/-1;margin:var(--s2) 0 var(--s1);font:700 22px/1.15 var(--f-head);letter-spacing:-.015em;color:var(--ink)}
  .pc p{grid-area:3/1/4/-1;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:400 15px/1.4 var(--f-body);color:var(--mut)}
  .pc-am{display:none}
  /* voto: pillola carta con quadratino scuro */
  .score{display:inline-flex;align-items:center;gap:var(--s2);padding:4px var(--s3) 4px 4px;border-radius:999px;background:var(--carta);box-shadow:var(--sh-1);font:600 14px/1 var(--f-body);color:var(--ink)}
  .pc-img .score,.pc-g .score{left:var(--s3);top:var(--s3);background:var(--carta)}
  .score b{display:grid;place-items:center;min-width:34px;height:34px;margin:0;padding:0 6px;border-radius:999px;background:var(--deep);color:var(--sole);font:700 16px/1 var(--f-head)}
  /* filetto "biglietto" prima del prezzo: solo con le date */
  .pc-b::before{content:"";display:none;grid-area:4/1/5/-1;margin:var(--s4) 0 var(--s3);border-top:2px dashed var(--line-2)}
  .pc.has-price .pc-b::before,.pc:has(.pc-price.is-skel) .pc-b::before{display:block}
  /* prezzo: totale in grande, a notte sotto; la tassa e' nella riga sopra l'elenco */
  .pc .pc-price{grid-area:5/1;align-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0;text-align:left}
  .pc .pc-price[hidden],.pc .pc-price.is-ask{display:none}
  html.has-dates .pc .pc-price.is-skel{display:block;min-height:79px}
  .pc .pr-t{order:1;font:500 14px/1.3 var(--f-body);color:var(--mut)}
  .pc .pr-tt{display:block;margin:0;font:700 34px/1.05 var(--f-head);letter-spacing:-.025em;color:var(--ink)}
  .pc .pr-main{order:2}
  .pc .pr-v{font:700 34px/1.05 var(--f-head);letter-spacing:-.025em;color:var(--ink)}
  .pc .pc-price:has(.pr-t) .pr-v{font:600 14px/1.3 var(--f-head);letter-spacing:0;color:var(--ink-2)}
  .pc .pr-from,.pc .pr-u{font-size:14px;color:var(--mut)}
  .pc .pr-x{order:3;margin:0;font-size:14px;color:var(--mut)}
  .pc .pr-tax,.pc .pr-sep{display:none}
  .pc .pr-na{font:600 15px/1.35 var(--f-body);color:var(--ink)}
  /* pulsante: un solo verbo; senza date apre il foglio date */
  .pc-cta{grid-area:5/1/6/-1;align-self:end;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:var(--ctl);padding:0 14px;border-radius:var(--r-md);background:var(--accent);color:#fff;font:600 16px/1.15 var(--f-head);text-align:center;text-decoration:none;box-shadow:var(--sh-cta)}
  .pc:not(.is-na):has(.pc-price:not([hidden]):not(.is-ask)) .pc-cta{grid-column:2}
  .pc:not(.has-price):not(:has(.pc-price.is-skel)) .pc-cta{margin-top:var(--s4)}   /* senza prezzo il pulsante prende il posto del filetto */
  .pc.is-asking .pc-cta{grid-column:1/-1;text-wrap:balance}
  .pc.is-na .pc-price{grid-column:1/-1}
  .pc.is-na .pc-cta{grid-column:1/-1;grid-row:6;margin-top:var(--s3);background:var(--deep);box-shadow:none}   /* non disponibile: il pulsante resta ma non e' terracotta */
  .pc-cta .ic{flex:none;width:20px;height:20px;stroke-width:2.2;color:#fff}
  .pc:hover .pc-cta .ic{transform:none}
  .pc-cta .cta-a,.pc-cta .cta-b,.pc-cta .cta-k{display:none}
  .pc-cta .cta-m{display:inline}
  .pc.is-asking .pc-cta .cta-m{display:none}
  .pc.is-asking .pc-cta .cta-k{display:inline}
  .pc:active .pc-cta{background:var(--accent-d);box-shadow:0 4px 10px -6px rgba(194,64,26,.7)}
}

/* card strette (telefoni piccoli, carosello 'altre strutture'): prezzo e pulsante su due righe invece che affiancati */
@container (max-width:271px){
  .pc .pc-price{grid-column:1/-1}
  .pc:not(.is-na):has(.pc-price:not([hidden]):not(.is-ask)) .pc-cta{grid-column:1/-1;grid-row:6;margin-top:var(--s3)}
}

/* ---- "perche' prenotare direttamente": petrolio con alone, quattro vantaggi con icona ---- */
@media (max-width:1060px){
  .sec-why{background:radial-gradient(circle at 100% 0,rgba(43,156,184,.34),transparent 70%) no-repeat 100% 0/420px 420px,var(--deep);border-radius:var(--r-sheet) var(--r-sheet) 0 0}
  .sec-why h2{color:#fff}
  .sec-why p.center{display:none}   /* l'azione e' nella barra fissa: qui nessun secondo pulsante */
  .whys{display:block;margin:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .why.why-d{display:none}
  .why{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:var(--s4);row-gap:var(--s1);align-items:start;padding:var(--s5) 0;border-top:1px solid rgba(255,255,255,.14)}
  .why-i{grid-row:1/3;display:grid;place-items:center;width:48px;height:48px;margin:0;border:0;border-radius:var(--r-sm);background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);color:var(--sole)}
  .why-i .ic{display:none}
  .why-i .ic-m{display:block;width:24px;height:24px;stroke-width:1.75}
  .why h3,.why p{grid-column:2}
  .why h3{margin:0;font:700 20px/1.2 var(--f-head);letter-spacing:-.015em;color:#fff}
  .why p{margin:0;font:400 16px/1.5 var(--f-body);color:rgba(255,255,255,.82)}
}

/* ---- recensioni: titolo, voto, carosello di carte ---- */
@media (max-width:700px){
  .sec-rev2{padding-bottom:var(--s5)}
  .rev2{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .rev2-r{display:contents}   /* etichetta, titolo, carosello e puntini diventano figli di .rev2: il voto sta tra titolo e carosello */
  .rev2-r .lab{order:1}
  .rev2-r h2{order:2}
  .score-box{order:3;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:var(--s3);row-gap:2px;margin:var(--s2) 0 var(--s5);padding:var(--s4) var(--s4) var(--s4) var(--s4);border:1px solid var(--line-s);border-radius:var(--r-xl);box-shadow:var(--sh-1);text-align:left}
  .sb-n{grid-column:1;grid-row:1/4;display:flex;align-items:baseline;gap:2px;margin:0;padding-right:var(--s3);border-right:2px dashed var(--line-2);font:700 48px/1 var(--f-head);letter-spacing:-.03em;color:var(--ink)}
  .sb-n small{margin:0;font:600 18px/1 var(--f-head);letter-spacing:0;color:var(--mut)}
  .score-box b{grid-column:2;grid-row:1;align-self:end;font:700 24px/1.1 var(--f-head);letter-spacing:-.02em;color:var(--ink)}
  .sb-l{grid-column:2;grid-row:2;font:400 15px/1.3 var(--f-body);letter-spacing:0;text-transform:none;color:var(--mut)}
  .score-box>span:last-of-type{grid-column:2;grid-row:3;align-self:start;font:600 15px/1.3 var(--f-head);color:var(--ink)}
  .score-box .stars,.score-box img{display:none}
  .rv-track{order:4;gap:var(--s3);margin:0 calc(-1 * var(--gut));padding:6px var(--gut) var(--s4);scroll-padding-inline:var(--gut)}
  .rev2 .rv{flex:0 0 min(304px,calc(100vw - 76px));min-height:0;padding:var(--s5) var(--s5) var(--s4);border:1px solid var(--line-s);border-radius:var(--r-xl);background:var(--carta);box-shadow:var(--sh-1)}
  .rv .q{display:block;height:34px;font:italic 400 72px/.8 var(--f-acc);color:var(--accent)}
  .rv blockquote{margin:0 0 var(--s4);font:400 17px/1.5 var(--f-body);color:var(--ink)}
  .rev2 .rv figcaption{flex-direction:row;align-items:center;gap:var(--s3);margin-top:auto;padding-top:var(--s3);border-top:2px dashed var(--line)}
  .rv figcaption .rv-av{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;font:700 18px/1 var(--f-head);letter-spacing:0}
  .rv:nth-child(even) .rv-av{background:var(--sole-lt);color:var(--deep)}
  .rv figcaption .rv-w{flex:1;min-width:0;font-size:inherit;letter-spacing:0}
  .rv figcaption b{font:600 16px/1.2 var(--f-head);color:var(--ink)}
  .rv figcaption .rv-w>span{font:400 14px/1.3 var(--f-body);letter-spacing:0;text-transform:none;color:var(--mut)}
  .dots{order:5;margin-top:0;gap:0}
  .dots button,.dots button.on{position:relative;width:var(--ctl-sm);height:var(--ctl-sm);border-radius:0;background:none}
  .dots button::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:4px;background:#7d8f98}
  .dots button.on::before{width:22px;margin-left:-11px;background:var(--deep)}
}

/* ---- domande frequenti: carte che si aprono ---- */
@media (max-width:1060px){
  .sec-faq .sh{margin-bottom:var(--s5)}
  .faq{gap:var(--s3)}
  .qa{padding:0 var(--s4);background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-lg);box-shadow:none}
  .qa[open]{background:var(--carta);box-shadow:var(--sh-1)}
  .qa summary{min-height:60px;padding:var(--s3) 0;font:600 17px/1.25 var(--f-head);letter-spacing:-.01em;color:var(--ink)}
  .qa[open] summary{color:var(--deep)}
  .qa summary::after{width:24px;height:24px;border-radius:0;background:var(--brand);-webkit-mask:var(--ic-plus) center/contain no-repeat;mask:var(--ic-plus) center/contain no-repeat}
  .qa p{margin:0 0 var(--s4);max-width:56ch;font:400 16px/1.55 var(--f-body);color:var(--ink-2)}
}

/* ---- chiusura e proprietari ---- */
@media (max-width:700px){
  .final{background:transparent;color:var(--ink);padding:var(--s6) 0 var(--s6)}
  .final-bg,.cerca-up{display:none}
  .final-logo{display:block;width:84px;height:auto;margin:0 auto var(--s4)}
  .final h2{color:var(--ink)}
  .final p{max-width:30ch;margin:0 auto var(--s5);font:400 17px/1.5 var(--f-body);color:var(--ink-2);opacity:1}
  .final p.final-wa{max-width:none}
  .final .final-go{display:flex;width:100%}
  .final .final-wa{display:flex;flex-direction:column;align-items:center;gap:0;margin:var(--s4) 0 0;font:400 15px/1.4 var(--f-body);color:var(--mut)}
  .final .final-wa a{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--ctl-sm);color:var(--brand);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}
  .own{background:transparent;padding:var(--s2) 0 var(--s7)}
  .own-in{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:var(--s4);min-height:min(460px,118vw);padding:var(--s5);overflow:hidden;border-radius:var(--r-xl);color:#fff;box-shadow:var(--sh-2)}
  .own-img{display:block;position:absolute;inset:0;z-index:-2}
  .own-img img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;filter:saturate(1.1) contrast(1.03)}
  .own-in::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,47,63,0) 16%,rgba(7,47,63,.56) 30%,rgba(7,47,63,.88) 43%,rgba(7,47,63,.95) 68%)}
  .own-t{--acc-c:var(--sole)}
  .own p.lab{color:var(--sole-lt)}   /* sulla foto: il sole chiaro tiene 4,5:1 anche sul punto piu' luminoso */
  .own h2{margin:0 0 var(--s3);color:#fff}
  .own p{margin:0;font:400 16px/1.5 var(--f-body);color:rgba(255,255,255,.92)}
  .own .btn{width:auto;padding:0 var(--s5);background:transparent;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.78);color:#fff}
  .own .btn::after{content:"";flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:var(--ic-arrow) center/contain no-repeat;mask:var(--ic-arrow) center/contain no-repeat}
  .own .btn:active{background:rgba(255,255,255,.14)}
  .own :focus-visible{outline-color:var(--sole)}
}
@media (hover:hover) and (max-width:700px){.own .btn:hover{background:rgba(255,255,255,.14)}}
@media (max-width:359px){.own-in{padding:var(--s4)}}
@media (max-width:340px){.mbar-s .btn{min-width:0;padding:0 var(--s3);font-size:16px}.mbar-s .mbar-sum b{font-size:19px}}   /* 320: 'Vedi i prezzi' e '10–12 feb 2027' stanno nella barra senza puntini */

/* =====================================================================================================
   MOBILE · HOME  round 4  (rifinitura dopo la critica: ritmo di superfici, tessera 8,3, arco proprietari,
   pillola e logo puliti, card senza buchi, fine del carosello, barra e fogli, cookie compatto, footer piu' corto)
   Fuori dalle media query solo elementi nuovi nascosti: a >= 1061 px il desktop non cambia.
   ===================================================================================================== */
.why-sc,.pc-end,.pc-ch{display:none}
.pc-m{display:contents}

@media (max-width:1060px){
  :root{--ic-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2.6l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.2 1.2-6.5L2.5 9.5l6.6-.9z'/%3E%3C/svg%3E")}
  /* logo bianco sulla foto: nessuna ombra sull'immagine (il webp ha pixel quasi trasparenti e l'ombra disegnava un rettangolo); l'ombra sta solo sulla scritta */
  .hero-dark .site-header:not(.stuck) .brand img{filter:brightness(0) invert(1)}
  /* corsivo dei titoli: stesso peso ottico del tondo accanto */
  :is(h2,h3,.pop-h b) :is(em,.acc){font-size:1.2em}
  .sec-why h2 .acc{-webkit-text-stroke:.25px currentColor}
  /* card: i servizi riempiono la riga che prima restava vuota */
  .pc-m{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);grid-area:3/1/4/-1;min-width:0}
  .pc-m p{max-width:100%}
  .pc-ch{display:flex;flex-wrap:wrap;gap:var(--s2);max-width:100%;max-height:33px;margin:0;padding:0;list-style:none;overflow:hidden}   /* una sola riga: il chip che non ci sta per intero sparisce, non viene tagliato */
  .pc-ch li{flex:none;padding:5px 11px;border-radius:999px;background:var(--sabbia);color:var(--ink-2);font:600 14px/1.25 var(--f-body);white-space:nowrap}
}

@media (max-width:700px){
  /* ---- pillola del voto: stellina sole + testo, una sola regola (niente logo Booking) ---- */
  .eb-bk{display:none}
  body.pg-home .eyebrow,body.pg-city .eyebrow{padding:0 var(--s4)}
  body.pg-home .eyebrow::before,body.pg-city .eyebrow::before{content:"";flex:none;width:18px;height:18px;margin-top:-1px;background:var(--sole);-webkit-mask:var(--ic-star) center/contain no-repeat;mask:var(--ic-star) center/contain no-repeat}
  /* trio: solo se il primo schermo e' alto abbastanza, senza toccare il bordo del browser */
  @media (max-height:820px){.chips2{display:none}}

  /* ---- ritmo: strutture su sabbia con bordo alto arrotondato, poi il petrolio che le sormonta ---- */
  .sec-top{background:var(--sabbia);border-radius:var(--r-xl) var(--r-xl) 0 0;padding-bottom:calc(var(--s7) + var(--r-sheet))}
  body.pg-home .sec-top+.sec-why{position:relative;margin-top:calc(-1 * var(--r-sheet))}
  .sec-top .pcs-note{background:var(--carta);border:1px solid var(--line-s);box-shadow:var(--sh-1)}
  .sec-top .sh-tk:not([hidden]){color:var(--ink-2)}
  .pcs-more .btn{background:transparent;color:var(--deep);box-shadow:inset 0 0 0 2px var(--deep)}
  .pcs-more .btn:active{background:rgba(7,47,63,.08)}
  /* fine del carosello: tessera tratteggiata che porta avanti (Tutte: alle localita'; localita': alla pagina) */
  .pc-end:not([hidden]){order:999;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--s2);flex:0 0 min(228px,calc(100vw - 120px));scroll-snap-align:start;padding:var(--s5) var(--s4) var(--s6);border:2px dashed rgba(11,37,48,.3);border-radius:999px 999px var(--r-xl) var(--r-xl);color:var(--ink);text-align:center;text-decoration:none;transition:transform .15s var(--ease)}
  .pc-end .pe-t{display:block;font:700 24px/1.12 var(--f-head);letter-spacing:-.02em;text-wrap:balance}
  .pc-end .pe-s{display:block;font:500 15px/1.35 var(--f-body);color:var(--ink-2)}
  .pc-end .ic{margin-top:var(--s3);box-sizing:border-box;flex:none;width:48px;height:48px;padding:13px;border-radius:50%;background:var(--deep);color:#fff;stroke-width:2.2}
  .pc-end:active{transform:scale(.985)}
  html:not(.js) .pc-end{display:none}

  /* ---- "perche' prenotare": tessera sole con il voto (una sola volta in pagina oltre alla pillola) ---- */
  .sec-why .why-sc{display:flex;align-items:center;gap:var(--s4);margin:var(--s4) 0 var(--s5);padding:var(--s4) var(--s5) var(--s4) var(--s4);border-radius:var(--r-lg);background:var(--sole);color:var(--ink);box-shadow:0 16px 30px -16px rgba(0,0,0,.5)}
  .why-sc .ws-n{display:flex;align-items:baseline;flex:none;gap:2px;padding-right:var(--s4);border-right:2px dashed rgba(11,37,48,.3);font:700 46px/1 var(--f-head);letter-spacing:-.03em}
  .why-sc .ws-n small{font:600 18px/1 var(--f-head);letter-spacing:0;opacity:.78}
  .why-sc .ws-t{display:flex;flex-direction:column;gap:2px;min-width:0;font:600 15px/1.3 var(--f-body)}
  .why-sc .ws-t b{font:700 20px/1.15 var(--f-head);letter-spacing:-.015em}
  .sec-rev2 .score-box{display:none}   /* il voto sta nella pillola e nella tessera: qui non si ripete */
  .sec-rev2 .rev2-r h2{margin-bottom:var(--s4)}

  /* ---- proprietari: arco fotografico sopra il testo, su sabbia (la foto senza velo) ---- */
  .own{background:var(--sabbia);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:var(--s7) 0 calc(var(--s7) + var(--r-sheet))}
  .own-in{display:block;min-height:0;padding:0;overflow:visible;border-radius:0;background:none;box-shadow:none;color:var(--ink);isolation:auto}
  .own-img{position:relative;inset:auto;z-index:auto;height:min(268px,74vw);margin:0 0 var(--s5);border-radius:999px 999px var(--r-md) var(--r-md);overflow:hidden;box-shadow:var(--sh-2)}
  .own-img img{object-position:50% 48%}
  .own-in::after{display:none}
  .own-t{--acc-c:var(--accent)}
  .own p.lab{margin:0 0 var(--s3);font:700 12px/1.2 var(--f-body);letter-spacing:.1em;color:var(--accent-tx)}
  .own h2{color:var(--ink)}
  .own p{color:var(--ink-2)}
  .own .btn{width:100%;margin-top:var(--s5);padding:0 var(--s5);background:var(--deep);box-shadow:none;color:#fff}
  .own .btn:active{background:var(--deep-2)}
  .own :focus-visible{outline-color:var(--brand)}
  body.pg-home .site-footer{margin-top:calc(-1 * var(--r-sheet))}

  /* ---- foglio date: piede con filetto, niente sfumatura (lasciava lettere fantasma), Conferma spento senza date ---- */
  .pop-cal .cal-m,.pop-cal.one .cal-m{-webkit-mask-image:none;mask-image:none}
  .cal-f{position:relative;z-index:1;margin-top:var(--s2);padding-top:var(--s3);border-top:1px solid var(--line-2);background:var(--calce)}
  .cal-f::before{content:"";position:absolute;left:calc(-1 * var(--gut));right:calc(-1 * var(--gut));bottom:calc(100% + 1px);height:22px;background:linear-gradient(180deg,rgba(251,246,238,0),var(--calce));pointer-events:none}   /* il mese che scorre sotto sfuma nel piede invece di essere tagliato a meta' */
  .cal-f{min-height:calc(var(--s3) + 44px);box-sizing:border-box}   /* altezza fissa: il piede non compare dopo il primo tocco e i mesi non saltano */
  .cal-fd.empty{display:block;align-self:center}
  .pop-cal .pop-done[aria-disabled="true"]{background:#D9CBBB;color:#4B3F38;box-shadow:none;cursor:default}
  .pop-cal .pop-done[aria-disabled="true"]::before{display:none}
  .sbar .pop-dest,.cerca-up .pop-dest{padding-bottom:calc(var(--s5) + env(safe-area-inset-bottom))!important}

  /* ---- barra fissa: nessuna struttura = nessun invito terracotta ai prezzi ---- */
  .mbar-s .btn .ic{flex:none;width:20px;height:20px;stroke-width:2.2}
  .mbar-s.is-empty .btn.btn-accent{background:var(--deep);box-shadow:none}
  .mbar-s.is-empty .btn .ic{display:none}

  /* ---- cookie: banner compatto (titolo e "Personalizza" sulla stessa riga, due righe di testo, due pulsanti) ---- */
  .cookie:not([hidden]):not(.ck-open){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;column-gap:var(--s3);row-gap:0;padding:var(--s3) var(--gut) calc(var(--s3) + env(safe-area-inset-bottom))}
  .cookie:not(.ck-open) h2{grid-area:1/1/2/3;margin:0;font-size:20px;pointer-events:none}
  .cookie:not(.ck-open) .ck-text{grid-area:2/1/3/-1;margin:0 0 var(--s3);font-size:14px;line-height:1.4}
  .cookie:not(.ck-open) .ck-btns{display:contents}
  .cookie:not(.ck-open) .ck-btns [data-ck=custom]{grid-area:1/2;justify-self:end;width:auto;min-height:44px;padding:0 0 0 var(--s3)}
  .cookie:not(.ck-open) .ck-btns [data-ck=reject]{grid-area:3/1}
  .cookie:not(.ck-open) .ck-btns [data-ck=all]{grid-area:3/2}
}
@media (max-width:700px) and (min-width:350px){
  .brand-w{flex-direction:row;gap:.34em;font-size:13px;letter-spacing:.07em}
}
@media (max-width:700px) and (min-width:380px){.brand-w{font-size:14px}}   /* il nome del marchio a 14 px dove la riga ha spazio */
@media (max-width:700px){
  .cookie:not([hidden]):not(.ck-open) .ck-btns{display:contents}
  .cookie:not([hidden]):not(.ck-open) .ck-btns [data-ck=reject],.cookie:not([hidden]):not(.ck-open) .ck-btns [data-ck=all]{min-width:0}
  body.pop-open .cookie:not([hidden]):not(.ck-open),html.menu-open .cookie:not([hidden]):not(.ck-open){display:none}   /* fogli e menu stanno sopra il banner: i loro pulsanti finali non vanno coperti */
}
@media (hover:hover) and (max-width:700px){.own .btn:hover{background:var(--deep-2)}}

/* footer: due righe in meno (Home e' il logo), righe da 44 */
@media (max-width:760px){
  .fgrid>div:nth-child(3) li:first-child{display:none}
  .fgrid li a,.clist a,.fgrid .linkbtn{min-height:44px}
  .fgrid{gap:var(--s5)}
}

/* =====================================================================================================
   MOBILE · HOME  round 5  (dopo la seconda critica: foto dell'hero calda e piu' vicina, tessera 8,3 petrolio,
   fine del carosello fotografica + 'Vedi tutte', scena fotografica a meta' pagina, stati puliti, campi coerenti, trio sempre a vista)
   Fuori dalle media query solo elementi nuovi nascosti: a >= 1061 px il desktop non cambia.
   ===================================================================================================== */
.scene{display:none}

@media (max-width:700px){
  /* ---- hero: borgo piu' vicino e in alto (ritaglio hero-home-m, taratura calda cotta nel file), ombra corta solo dietro l'header ---- */
  body.pg-home .hero2-bg img{filter:none}
  body.pg-home .hero2-bg::after{background:linear-gradient(180deg,rgba(7,47,63,.6) 0,rgba(7,47,63,.34) 88px,rgba(7,47,63,0) 170px)}   /* marchio e pulsanti sul cielo chiaro: contrasto AA */
  body.pg-home.hero-dark .site-header:not(.stuck) :is(.hdr-m,.burger){background:rgba(7,47,63,.28);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}

  /* ---- primo schermo: niente fascia vuota sotto il pulsante, trio sempre a vista (compatto) se lo schermo non e' bassissimo ---- */
  body.pg-home .hero2-in{padding-bottom:var(--s5)}
  .sec-dest2{padding-top:var(--s6)}
  .chips2 li{padding:0 4px}
}
@media (max-width:700px) and (min-height:701px){
  .chips2{display:grid;margin-top:var(--s4)}
  .chips2 li{gap:var(--s2)}
  .chips2 .ic-m{width:36px;height:36px;padding:9px}
}

/* ---- pillola del voto a 320-359: due righe, mai troncata (il numero 1.400 e' proprio cio' che da' fiducia) ---- */
@media (max-width:359px){
  body.pg-home .eyebrow{top:-64px;align-items:center;min-height:0;padding:var(--s2) var(--s4);border-radius:20px;white-space:normal;line-height:1.25}
  body.pg-home .eb-m .eb-r{display:block}
  body.pg-home .eb-m .eb-dot{display:none}
}
@media (max-width:700px) and (max-height:700px){
  body.pg-home .eyebrow{top:-50px}
}
@media (max-width:359px) and (max-height:700px){
  body.pg-home .eyebrow{top:-64px}
}

/* ---- campi di ricerca: sotto 390 la tessera icona resta su tutti e tre (mai misti); sotto 341 si toglie da tutti ---- */
@media (max-width:389px){
  .sbar:not(.sbar-card) .sf[data-f=in] .sf-b,.sbar:not(.sbar-card) .sf[data-f=guests] .sf-b{grid-template-columns:auto minmax(0,1fr);column-gap:var(--s2);padding:var(--s2) var(--s2) var(--s2) var(--s3)}
  .sbar:not(.sbar-card) .sf[data-f=dest] .sf-b{column-gap:var(--s2);padding-left:var(--s3)}
  .sbar:not(.sbar-card) .sf-b::before,.sbar:not(.sbar-card) .sf[data-f=in] .sf-b::before,.sbar:not(.sbar-card) .sf[data-f=guests] .sf-b::before{display:block;width:32px;height:32px;border-radius:11px;background-size:18px}
  .sbar:not(.sbar-card) .sf-v{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (max-width:340px){
  .sbar:not(.sbar-card) .sf-b::before,.sbar:not(.sbar-card) .sf[data-f=in] .sf-b::before,.sbar:not(.sbar-card) .sf[data-f=guests] .sf-b::before{display:none}
  .sbar:not(.sbar-card) .sf[data-f=in] .sf-b,.sbar:not(.sbar-card) .sf[data-f=guests] .sf-b{grid-template-columns:minmax(0,1fr);padding-left:var(--s4)}
  .sbar:not(.sbar-card) .sf[data-f=dest] .sf-b{grid-template-columns:minmax(0,1fr) 24px;padding-left:var(--s4)}
  .sbar:not(.sbar-card) .sf[data-f=dest] .sf-b::after{grid-column:2}
}

/* ---- titoli: righe bilanciate (niente prima riga corta e sbilanciata), 'destinazione' non resta sola ---- */
@media (max-width:1060px){
  .sh h2,.sec-why h2,.rev2-r h2,.final h2,.own h2,.scene h2{text-wrap:balance}
}

@media (max-width:389px){
  .sec-dest2 .sh h2 .acc{display:block}   /* 'Scegli la tua' / 'destinazione': mai una prima riga corta */
}

/* ---- 'piu' amati': card, scheletro del prezzo, nota, stato vuoto, 'Vedi tutte' ---- */
@media (max-width:700px){
  .pc-m p{-webkit-line-clamp:1}   /* meta su una riga: le card hanno altezze vicine e non resta una banda vuota fra i chip e il filetto */
  html.has-dates .pc .pc-price.is-skel{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:79px;background:none;animation:none}
  :is(.pc,.pcard) .pc-price.is-skel::before{content:"";display:block;width:96px;height:34px;border-radius:8px;background:rgba(11,37,48,.1);animation:uli-pulse 1.2s ease-in-out infinite}
  :is(.pc,.pcard) .pc-price.is-skel::after{content:"";display:block;width:70px;height:14px;margin-top:var(--s2);border-radius:5px;background:rgba(11,37,48,.1);animation:uli-pulse 1.2s ease-in-out .15s infinite}
  .pcs.is-none,.tabs.is-none{display:none}
  .pcs-more:not([hidden]){margin-top:var(--s2)}
  .pcs-more .btn{min-height:var(--ctl);border-radius:var(--r-md)}
  /* 'N non disponibili': una riga di servizio, non una card */
  .sec-top .pcs-note{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--s3);margin-top:var(--s1);padding:var(--s3) 0 0;background:none;border:0;border-top:2px dashed var(--line-2);border-radius:0;box-shadow:none}
  .sec-top .pcs-note[hidden]{display:none}
  .sec-top .pcs-note::before{display:none}
  .sec-top .pcs-note p{font:400 15px/1.4 var(--f-body);color:var(--ink-2);text-wrap:balance}
  .sec-top .pcs-note .lnk{display:inline-flex;grid-column:auto;justify-content:flex-start;min-height:var(--ctl-sm);padding:0;border-radius:0;box-shadow:none;background:none;color:var(--brand);font:700 15px/1.2 var(--f-body);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}
  .sec-top .pcs-note .lnk:active{background:none;opacity:.7}
  .pcs-empty{margin-top:var(--s4)}
}
@keyframes uli-pulse{0%,100%{opacity:.55}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){:is(.pc,.pcard) .pc-price.is-skel::before,:is(.pc,.pcard) .pc-price.is-skel::after{animation:none}}

/* ---- fine del carosello: tessera fotografica (la foto e' gia' in cache: e' quella della prima schermata; con una localita' scelta, la sua) ---- */
@media (max-width:700px){
  .pc-end:not([hidden]){--pe:url(/assets/img/hero-home-m-700.webp);position:relative;isolation:isolate;overflow:hidden;border:0;background:var(--deep) var(--pe) 50% 40%/cover no-repeat;color:#fff;box-shadow:var(--sh-1)}
  .pc-end[data-c=gaeta]{--pe:url(/assets/img/dest-gaeta.webp)}
  .pc-end[data-c=sperlonga]{--pe:url(/assets/img/dest-sperlonga-m.webp)}
  .pc-end[data-c=roma]{--pe:url(/assets/img/dest-roma.webp)}
  .pc-end[data-c=monte-san-biagio]{--pe:url(/assets/img/dest-monte-san-biagio.webp)}
  .pc-end::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,47,63,.1) 0,rgba(7,47,63,.5) 45%,rgba(7,47,63,.92) 100%)}
  .pc-end .pe-t{color:#fff}
  .pc-end .pe-s{color:rgba(255,255,255,.92)}
  .pc-end .ic{background:var(--sole);color:var(--deep)}
  .pc-end:focus-visible{outline:3px solid var(--sole);outline-offset:3px}
}

/* ---- scena fotografica a meta' pagina: una foto vera a tutta larghezza, una frase, un invito; il petrolio la sormonta ---- */
@media (max-width:700px){
  .sec-top{padding-bottom:var(--s7)}
  body.pg-home .scene+.sec-why{position:relative;margin-top:calc(-1 * var(--r-sheet))}
  .scene{display:block;position:relative;isolation:isolate;height:clamp(320px,88vw,360px);overflow:hidden;background:var(--deep);color:#fff;--acc-c:var(--sole-lt)}
  .scene-img{position:absolute;inset:0;z-index:-2;display:block}
  .scene-img img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
  .scene::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,47,63,0) 24%,rgba(7,47,63,.58) 56%,rgba(7,47,63,.94) 100%)}   /* ombra solo dal basso: il cielo e il sole restano puliti */
  .scene-t{position:absolute;left:0;right:0;bottom:calc(var(--r-sheet) + var(--s5));display:flex;flex-direction:column;align-items:flex-start;gap:var(--s4)}
  .scene h2{margin:0;color:#fff;font:700 clamp(1.875rem,9vw,2.125rem)/1.06 var(--f-head);letter-spacing:-.03em;text-shadow:0 1px 3px rgba(7,47,63,.4),0 2px 22px rgba(7,47,63,.55)}
  .scene h2 .acc{font-size:1.2em}
  .scene-go{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--ctl-sm);padding:0 var(--s4) 0 var(--s5);border-radius:999px;background:rgba(7,47,63,.34);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.78);color:#fff;font:600 16px/1 var(--f-head);text-decoration:none}
  .scene-go::after{content:"";flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:var(--ic-arrow) center/contain no-repeat;mask:var(--ic-arrow) center/contain no-repeat}
  .scene-go:active{background:rgba(255,255,255,.18)}
  .scene :focus-visible{outline:3px solid var(--sole);outline-offset:3px}
}
@media (hover:hover) and (max-width:700px){.scene-go:hover{background:rgba(255,255,255,.18)}}

/* ---- 'perche' prenotare': il voto in un riquadro petrolio con filetto sole (il giallo e' solo sul numero) ---- */
@media (max-width:700px){
  .sec-why .why-sc{padding:14px var(--s5) 14px var(--s4);border-radius:var(--r-lg);background:var(--deep-2);box-shadow:inset 0 0 0 1px rgba(255,200,60,.38)}
  .why-sc .ws-n{padding-right:var(--s4);border-right:2px dashed rgba(255,200,60,.38);color:var(--sole);font:700 40px/1 var(--f-head)}
  .why-sc .ws-n small{color:var(--sole-lt);opacity:.85}
  .why-sc .ws-t{color:#fff;font:500 15px/1.3 var(--f-body)}
  .why-sc .ws-t b{color:#fff;font:700 18px/1.15 var(--f-head);white-space:nowrap}
}
@media (max-width:374px){
  .sec-why .why-sc{flex-direction:column;align-items:flex-start;gap:var(--s2);padding:var(--s4)}
  .why-sc .ws-n{padding-right:0;border-right:0}
  .why-sc .ws-t{flex-direction:row;flex-wrap:wrap;gap:0 var(--s2);align-items:baseline}
  .why-sc .ws-t span,.why-sc .ws-t{white-space:nowrap}
}

/* ---- recensioni: citazione 16/1,5, scheda piu' compatta ---- */
@media (max-width:700px){
  .rev2 .rv{padding:var(--s5) 20px var(--s4)}
  .rev2 .rv-track{align-items:stretch}   /* schede della stessa altezza: la firma sta in fondo (margin-top:auto) con il filetto allineato */
  .rv blockquote{margin-bottom:var(--s3);font:400 16px/1.5 var(--f-body)}
}

/* ---- FAQ: stessa silhouette per tutte (raggio fisso 22, altezza minima 64) ---- */
@media (max-width:1060px){
  .qa{border-radius:var(--r-lg)}
  .qa summary{min-height:64px;padding-block:14px}
}

/* ---- footer: link legali sulla stessa linea di base; lingua attiva con filetto sole, non una lastra gialla ---- */
@media (max-width:760px){
  .flegal{align-items:start}
  .flegal a,.flegal .linkbtn{align-items:flex-start;padding-top:14px;line-height:1.3}
  .flang a[aria-current]{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1.5px var(--sole);color:var(--sole)}
}
@media (max-width:1060px){
  .lang-dd>.dd-menu a[aria-current]{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1.5px var(--sole);color:var(--sole)}
}

/* ---- barra fissa su schermi bassi: piu' sottile, non copre le card ---- */
@media (max-width:700px) and (max-height:620px){
  :root{--bar-h:68px}
  .mbar,.ck-bar{padding-top:var(--s2);padding-bottom:calc(var(--s2) + env(safe-area-inset-bottom))}
  .mbar .btn{min-height:48px}
  .mbar-sum,.mbar-pr{min-height:48px}
  .mbar-sum b,.mbar-pr b{font-size:19px;line-height:1.1}
}

/* ---- foglio date: 'Scegli le date' spento in sabbia (non un beige fangoso), testo a 4,5:1 ---- */
@media (max-width:700px){
  .pop-cal .pop-done[aria-disabled="true"]{background:var(--sabbia-2);color:var(--ink-2);box-shadow:none}
}


/* =====================================================================================================
   MOBILE · CITTA'  (/gaeta/ /sperlonga/ /roma/ /monte-san-biagio/ e /en/...)
   Ordine: primo schermo (foto corta, titolo, ricerca, trio) -> elenco su sabbia (conteggio, filtri a chip, card) -> testo della zona
   -> petrolio, domande, altre localita' (questi tre sono i blocchi condivisi con la home).
   Le card .pcard hanno lo stesso disegno delle .pc della home (cartolina carta, kicker, nome, riga di dati, chip sabbia, filetto
   tratteggiato, totale grande + un pulsante). Pagina: <= 700; card: <= 1000 (da 701 su due colonne). Il desktop non cambia.
   ===================================================================================================== */
@media (max-width:700px){
  /* ---- ordine della pagina (le sezioni sono figlie dirette di main#main; il testo SEO resta nel DOM) ---- */
  body.pg-city main#main{display:flex;flex-direction:column}
  body.pg-city main#main>*{width:100%}
  body.pg-city .hero2{order:0}
  body.pg-city .sec-props{order:1}
  body.pg-city .sec-cityintro{order:2}
  body.pg-city .sec-why{order:3}
  body.pg-city .sec-faq{order:4}
  body.pg-city .sec-also{order:5}

  /* ---- primo schermo: foto piu' corta della home (l'elenco deve affacciarsi), la destinazione e' gia' scelta ---- */
  body.pg-city{--ph:clamp(236px,32vh,290px)}
  body.pg-city .hero2 h1{margin-bottom:var(--s2)}
  .cl-m{display:block;margin:0 0 var(--s4);font:400 16px/1.5 var(--f-body);color:var(--ink-2)}
  .cl-m b{font-weight:700;color:var(--ink);white-space:nowrap}
  body.pg-city .sbar .sf[data-f=dest]{display:none}

  /* ---- elenco: sabbia, conteggio e nota prezzi, filtri a chip che restano sotto l'header ---- */
  .sec-props{padding:var(--s5) 0 var(--s6);background:var(--sabbia);border-radius:var(--r-xl)}
  .sec-props-1{padding-top:var(--s5)}
  .sec-props .sh{position:relative;margin-bottom:var(--s3)}
  .sec-props .sh :is(.lab,h2,.hn){position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}   /* il titolo resta per i lettori di schermo; a vista c'e' il conteggio */
  .lc{display:block;margin:0;font:600 16px/1.3 var(--f-body);color:var(--ink-2)}
  .lc b{font:700 24px/1.2 var(--f-head);letter-spacing:-.02em;color:var(--ink)}
  .sec-props .sh-tk:not([hidden]){max-width:none;margin:var(--s1) 0 0;color:var(--ink-2)}
  body.pg-city:has(.props-none:not([hidden])) :is(.lc,.sh-tk){display:none}   /* con la scheda 'nessuna disponibilita' il conteggio sarebbe '0 strutture' */
  #alloggi{scroll-margin-top:calc(var(--hh) + var(--s3))}

  .cf{position:sticky;top:var(--hh);z-index:6;display:flex;flex-wrap:nowrap;align-items:center;gap:var(--s2);margin:0 calc(-1 * var(--gut)) var(--s3);padding:var(--s2) var(--gut);overflow-x:auto;scrollbar-width:none;scroll-padding-inline:var(--gut);border-radius:0;background:rgba(242,227,200,.94);box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)}
  html.hdr-hide:not(.menu-open) .cf{top:0}
  .cf::-webkit-scrollbar{display:none}
  .cf-g{flex:none;flex-wrap:nowrap;gap:var(--s2)}
  .cf-g+.cf-g::before{content:"";flex:none;align-self:center;width:1.5px;height:24px;margin-right:var(--s1);background:var(--line-2)}
  .cf-l{display:none}
  .cf-count{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}   /* annuncio per i lettori di schermo; a vista c'e' il conteggio sopra */
  .chipf{flex:none;display:inline-flex;align-items:center;min-height:var(--ctl-sm);padding:0 var(--s4);border:1.5px solid var(--line-2);border-radius:999px;background:var(--carta);color:var(--ink);font:600 15px/1 var(--f-head);white-space:nowrap;transition:transform .12s var(--ease)}
  .chipf:active{transform:scale(.97)}
  .chipf[aria-pressed=true]{background:var(--deep);border-color:var(--deep);color:#fff}
  .cf-empty{margin:0 0 var(--s5);padding:var(--s6) var(--gut);background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
  .cf-empty p{font:500 16px/1.4 var(--f-body);color:var(--ink-2)}
}

/* ---- card struttura: telefono e tablet (<= 1000); da 701 le card vanno su due colonne ---- */
@media (max-width:1000px){
  .props{display:flex;flex-direction:column;gap:var(--s5)}
  .pcard{container-type:inline-size;padding:var(--s2);background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-xl);box-shadow:var(--sh-1);overflow:visible;scroll-margin-top:calc(var(--hh) + 68px)}
  .pcard:hover{box-shadow:var(--sh-1)}
  .pc-g{min-height:0;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;background:var(--sabbia)}
  .slide button{background:var(--sabbia)}
  .pgal .gp,.pgal .gn,.pgal .pg-all{display:none}   /* sul telefono si scorre col dito e la foto apre la galleria */
  .pc-g .pg-n{left:auto;right:var(--s3)}
  .pc-i{padding:var(--s4) var(--s3) var(--s2)}
  .pc-tags{order:1;flex-wrap:nowrap;align-items:center;gap:0;margin:0 0 var(--s2);font:700 12px/1.2 var(--f-body);letter-spacing:.1em;color:var(--accent-tx)}
  .pc-tags .tag{padding:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;letter-spacing:inherit}
  .pc-tags .tag-l{order:-1;display:inline-flex;align-items:center;gap:var(--s2)}
  .pc-tags .tag-l::before{content:"";flex:none;width:14px;height:14px;background:currentColor;-webkit-mask:var(--ic-pin) center/contain no-repeat;mask:var(--ic-pin) center/contain no-repeat}
  .pc-tags .tag:not(.tag-l)::before{content:"·";margin:0 var(--s2)}
  .pcard h2{order:2;margin:0 0 var(--s1);font:700 24px/1.15 var(--f-head);letter-spacing:-.015em;color:var(--ink)}
  .pcard h2 a{display:block;margin:calc(-1 * var(--s2)) 0;padding:var(--s2) 0;color:inherit}   /* il nome e' un link: area di tocco 44 senza cambiare il ritmo */
  .pc-facts{order:3;gap:0;margin:0 0 var(--s3);font:400 15px/1.4 var(--f-body);color:var(--mut)}
  .pc-facts li{gap:0;padding:0;border-radius:0;background:none;font:inherit}
  .pc-facts li+li::before{content:"·";margin:0 4px}
  .pc-facts .ic,.u-x{display:none}   /* '6 camere disponibili' -> '6 camere' */
  .am-m{order:4;display:flex;flex-wrap:wrap;gap:var(--s2);margin:0 0 var(--s4);padding:0;list-style:none}
  .am-m li{padding:5px 11px;border-radius:999px;background:var(--sabbia);color:var(--ink-2);font:600 14px/1.25 var(--f-body)}
  .am-m .am-n{background:none;box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--mut)}
  .pcard :is(.pc-addr,.clamp,.more,.amen,.more-link){display:none}   /* restano nel DOM e nella scheda della struttura */

  /* piede: filetto "biglietto" (solo con le date), totale a sinistra, un pulsante a destra */
  .pc-foot{order:5;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:var(--s3);margin:0;padding:0;border:0}
  .pcard.has-price .pc-foot,.pcard:has(.pc-price.is-skel) .pc-foot{padding-top:var(--s3);border-top:2px dashed var(--line-2)}
  .pcard .pc-foot .pc-price{grid-column:1;order:0;flex:none;align-self:end;display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0;text-align:left}
  .pcard .pc-foot .pc-price[hidden],.pcard .pc-foot .pc-price.is-ask{display:none}
  html.has-dates .pcard .pc-foot .pc-price.is-skel{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;min-height:88px;background:none;animation:none}
  .pcard .pr-t{order:1;margin:0;font:500 14px/1.3 var(--f-body);color:var(--mut)}
  .pcard .pr-tt{display:block;margin:0;font:700 34px/1.05 var(--f-head);letter-spacing:-.025em;color:var(--ink)}
  .pcard .pr-main{order:2}
  .pcard .pr-v{font:700 34px/1.05 var(--f-head);letter-spacing:-.025em;color:var(--ink)}
  .pcard .pc-price:has(.pr-t) .pr-v{font:600 14px/1.3 var(--f-head);letter-spacing:0;color:var(--ink-2)}
  .pcard .pr-from,.pcard .pr-u{font-size:14px;color:var(--mut)}
  .pcard .pr-x{order:3;margin:0;font-size:14px;color:var(--mut)}
  .pcard .pr-tax,.pcard .pr-sep{display:none}   /* la tassa e' dichiarata una volta sopra l'elenco */
  .pcard .pr-na{font:600 15px/1.35 var(--f-body);color:var(--ink)}
  .pcard .pc-foot .btn{grid-column:2;margin:0;padding:0 14px;white-space:nowrap}
  .pcard .cta-a{display:none}
  .pcard .cta-c,.pcard .cta-i{display:inline}
  .pcard .cta-i{flex:none;width:20px;height:20px;stroke-width:2.2}
  .pcard.is-asking .cta-c{display:none}
  .pcard.is-asking .cta-b{display:inline}
  .pcard:not(.has-price):not(:has(.pc-price.is-skel)) .pc-foot .btn{grid-column:1/-1;text-wrap:balance}   /* senza date (o senza prezzi) il pulsante prende tutta la riga */
  .pcard:active:not(.is-na) .pc-foot .btn{background:var(--accent-d);box-shadow:0 4px 10px -6px rgba(194,64,26,.7)}

  /* non disponibili: in coda, compatte, foto in grigio, il pulsante non e' terracotta */
  .props-na:not([hidden]){display:block;grid-column:1/-1;margin:var(--s2) 0 calc(-1 * var(--s2));padding-top:var(--s4);border-top:2px dashed var(--line-2);font:600 15px/1.3 var(--f-body);color:var(--ink-2)}
  .pcard.is-na{grid-column:1/-1;grid-template-columns:88px minmax(0,1fr);column-gap:var(--s3);align-items:center}
  .pcard.is-na .pc-g{aspect-ratio:1;border-radius:var(--r-md)}
  .pcard.is-na .pgal{filter:grayscale(.85) brightness(.94);opacity:1}
  .pcard.is-na :is(.pc-tags,.pc-facts,.am-m,.score,.pg-n){display:none}
  .pcard.is-na .pc-i{padding:var(--s1) var(--s2) var(--s1) 0}
  .pcard.is-na h2{font-size:20px;margin-bottom:var(--s1)}
  .pcard.is-na .pc-foot{grid-template-columns:minmax(0,1fr);row-gap:var(--s2);padding-top:0;border-top:0}
  .pcard.is-na .pc-foot .pc-price,.pcard.is-na .pc-foot .btn{grid-column:1}
  .pcard.is-na .pc-foot .btn{justify-self:start;min-height:var(--ctl-sm);padding:0 var(--s4);border:0;background:transparent;color:var(--deep);font-size:15px;box-shadow:inset 0 0 0 1.5px var(--deep)}
  .pcard.is-na .pc-foot .btn:active{background:rgba(7,47,63,.08)}
}
@media (min-width:701px) and (max-width:1000px){
  .props{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .pcard:not(.is-na){height:100%}
}
@media (max-width:700px){
  /* attesa dei prezzi: le card restano al loro posto con un riflesso (vedi 'giro correzioni 1'), la riga delle non disponibili aspetta */
  html.prices-wait .props-na{display:none}

  /* nessuna struttura per le date scelte */
  .props-none:not([hidden]){display:flex;flex-direction:column;align-items:center;gap:var(--s3);margin:0 0 var(--s5);padding:var(--s6) var(--gut) var(--s5);text-align:center;background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
  .props-none::before{content:"";width:64px;height:64px;margin-bottom:var(--s1);border-radius:50%;background:var(--ic-cal-b) center/28px no-repeat,var(--sole-lt)}
  .props-none b{font:700 22px/1.2 var(--f-head);letter-spacing:-.015em;color:var(--ink)}
  .props-none p{max-width:30ch;margin:0;font:400 16px/1.5 var(--f-body);color:var(--ink-2)}
  .pn-act{display:grid;gap:var(--s3);width:100%;margin-top:var(--s2)}
  .pn-act .btn-accent{background:var(--deep);box-shadow:none}   /* come la barra fissa quando non c'e' nulla: niente invito terracotta */

  /* ---- testo della zona: etichetta, titolo con il nome in corsivo, paragrafi, "da non perdere" a righe ---- */
  .sec-cityintro{padding:var(--s7) 0 var(--s6)}
  .ci-card,.cityintro .crumbs{display:none}   /* l'elenco e il conteggio sono gia' sopra; il percorso e' nei dati strutturati */
  .ci-txt h2{margin:0 0 var(--s4);font-size:clamp(1.75rem,8vw,2rem);line-height:1.1;letter-spacing:-.025em}
  .ci-txt p:not(.lab){margin:0 0 var(--s4);font:400 16px/1.6 var(--f-body);color:var(--ink)}
  .ci-txt h2+p{font-size:17px;color:var(--ink-2)}
  .ci-txt h3{margin:var(--s6) 0 var(--s2);font:700 12px/1.2 var(--f-body);letter-spacing:.1em;color:var(--mut)}
  .see{display:block;margin:0;padding:0;border-bottom:1px solid var(--line)}
  .see li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--s3);align-items:start;padding:var(--s4) 0;border-top:1px solid var(--line)}
  .see .ic{box-sizing:border-box;width:40px;height:40px;margin:0;padding:10px;background:var(--sole-lt);color:var(--deep)}
  .see b{font:600 17px/1.25 var(--f-head);letter-spacing:-.01em;color:var(--ink)}
  .see span{margin-top:2px;font:400 15px/1.45 var(--f-body);color:var(--mut)}
}
/* schermi bassi: la foto si accorcia ancora e il sottotitolo lascia il posto alla ricerca (il pulsante resta intero nel primo schermo) */
@media (max-width:700px) and (max-height:700px){
  body.pg-city{--ph:clamp(190px,30vh,230px)}
  .cl-m{display:none}
}
@supports (height:1svh){
  @media (max-width:700px){body.pg-city{--ph:clamp(236px,32svh,290px)}}
  @media (max-width:700px) and (max-height:700px){body.pg-city{--ph:clamp(190px,30svh,230px)}}
}
/* card strette: prezzo e pulsante su due righe invece che affiancati */
@container (max-width:289px){
  .pcard:not(.is-na) .pc-foot .pc-price{grid-column:1/-1}
  .pcard:not(.is-na) .pc-foot .btn{grid-column:1/-1;margin-top:var(--s3)}
}
@media (max-width:359px){.pcard h2{font-size:22px}}
@media (hover:hover) and (max-width:700px){.chipf:hover{border-color:var(--ink)}.chipf[aria-pressed=true]:hover{border-color:var(--deep)}}
@media (min-width:1001px) and (max-width:1060px){.cf{top:calc(var(--hh) + var(--s3))}}   /* come prima: la barra dei filtri del desktop sta sotto l'header ridotto */

/* =====================================================================================================
   CITTA' · ROUND 1 DELLA DIREZIONE ARTISTICA
   Primo schermo con date = pillola compatta + lista subito; striscia filtri opaca con chip date; card piu' pulite (via al posto
   della citta', nessun punto orfano, nessun chip inerte); cartolina e tessere "da non perdere"; card non disponibili mute;
   "prova anche"; archi senza sfalsamento. Fuori dalle media query solo elementi nuovi nascosti: il desktop non cambia.
   ===================================================================================================== */
.dp,.cf-date,.pn-try,.zone-ph,.t-m,.pc-st,.pc-facts li.fm{display:none}

@media (max-width:1060px){
  .t-d{display:none}.t-m{display:inline}
  html.hdr-hide:not(.menu-open) .site-header{transform:translateY(calc(-100% - 2px));box-shadow:none}   /* il filetto inferiore non sporge piu' in cima allo schermo */
  .flang a{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.38);color:#fff}   /* lingua: l'attiva e' piena sole, l'altra solo contorno */
  .flang a[aria-current]{background:var(--sole);color:var(--deep);box-shadow:none}
}

/* ---------------------------------------- primo schermo ---------------------------------------- */
@media (max-width:700px){
  body.pg-city .hero2-in .chips2.trust{display:none}   /* le promesse stanno nel blocco scuro piu' in basso: qui spingevano le card sotto la piega */
  body.pg-city .cl-m b{display:none}   /* il numero di strutture e' nel conteggio sopra l'elenco */
  body.pg-city .cl-m{margin-bottom:var(--s4)}

  /* con le date: la ricerca diventa una pillola e la foto si accorcia, cosi' la prima struttura si affaccia nel primo schermo */
  html.has-dates body.pg-city{--ph:clamp(176px,24vh,220px)}
  html.has-dates body.pg-city .hero2-in{padding-bottom:var(--s5)}
  html.has-dates body.pg-city .cl-m{margin-bottom:var(--s3)}
  html.has-dates body.pg-city .cerca .sbar{display:block;height:0;margin:0;padding:0;overflow:visible}   /* il modulo resta nel DOM: i suoi fogli (date, ospiti) si aprono dalla pillola */
  html.has-dates body.pg-city .cerca .sbar .sf{display:block;height:0;min-height:0;margin:0;padding:0;border:0;background:none;box-shadow:none;overflow:visible}
  html.has-dates body.pg-city .cerca .sbar :is(.sf-b,.sgo){display:none}
  html.has-dates body.pg-city .dp{display:flex;align-items:stretch;min-height:64px;padding:4px;border-radius:999px;background:var(--deep);color:#fff;box-shadow:0 12px 24px -16px rgba(7,47,63,.8)}
  .dp:not(.ready){visibility:hidden}
  .dp-s{display:flex;align-items:center;gap:var(--s3);min-height:56px;margin:0;padding:0 var(--s4) 0 var(--s2);border:0;border-radius:999px;background:none;color:#fff;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .12s}
  .dp-s:active{background:rgba(255,255,255,.12)}
  .dp-s:focus-visible{outline:3px solid var(--sole);outline-offset:-3px}
  .dp-d{flex:1 1 auto;min-width:0}
  .dp-g{position:relative;flex:none;padding-left:var(--s3)}
  .dp-g::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:1px;background:rgba(255,255,255,.28)}
  .dp-ic{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--sole);color:var(--deep)}
  .dp-ic .ic{width:20px;height:20px;stroke-width:1.9}
  .dp-x{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:1px}
  .dp-x b{font:600 17px/1.2 var(--f-head);letter-spacing:-.01em;color:#fff;overflow-wrap:anywhere}
  .dp-x small{font:500 14px/1.2 var(--f-body);color:rgba(255,255,255,.84)}
  .dp-g .dp-x b{white-space:nowrap}
  .dp-cv{display:none}
  @media (max-width:359px){
    .dp-g .dp-ic{display:none}
    .dp-g{padding-left:var(--s3)}
    .dp-s{padding-right:var(--s3)}
  }
  @media (max-width:339px){.dp-d .dp-ic{width:32px;height:32px}.dp-d{gap:var(--s2)}}
}
@supports (height:1svh){
  @media (max-width:700px){html.has-dates body.pg-city{--ph:clamp(176px,24svh,220px)}}
}
@media (max-width:700px) and (max-height:700px){
  html.has-dates body.pg-city{--ph:clamp(160px,24vh,200px)}
}
@supports (height:1svh){
  @media (max-width:700px) and (max-height:700px){html.has-dates body.pg-city{--ph:clamp(160px,24svh,200px)}}
}

/* ---------------------------------------- elenco: conteggio e striscia filtri ---------------------------------------- */
@media (max-width:700px){
  body.pg-city .lc b{font:700 20px/1.2 var(--f-head);letter-spacing:-.015em}
  body.pg-city .sec-props .sh-tk:not([hidden]){font:400 14px/1.4 var(--f-body)}
  body.pg-city .cf{gap:var(--s2);background:var(--sabbia);-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-mask-image:none;mask-image:none;transition:box-shadow .2s}
  body.pg-city .cf.is-stuck{box-shadow:0 1px 0 rgba(11,37,48,.1),0 12px 16px -14px rgba(11,37,48,.4)}
  body.pg-city .cf-g+.cf-g::before{content:none}
  /* chip date: compare solo con la striscia agganciata in alto e con date scelte; i filtri scivolano al nuovo posto (transform) */
  html.has-dates body.pg-city .cf.is-stuck .cf-date{display:inline-flex}
  body.pg-city .cf-date{flex:none;align-items:center;gap:var(--s2);min-height:var(--ctl-sm);padding:0 var(--s4) 0 var(--s3);border:0;border-radius:999px;background:var(--deep);color:#fff;font:600 15px/1 var(--f-head);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}
  body.pg-city .cf-date .ic{flex:none;width:18px;height:18px;color:var(--sole)}
  body.pg-city .cf-date:not(.ready){visibility:hidden}
  body.pg-city .cf-date:active{transform:scale(.97)}
  body.pg-city .cf-date:focus-visible{outline:3px solid var(--deep);outline-offset:2px}
  body.pg-city .cf.sh-in .cf-g{animation:cf-in .28s var(--ease)}
  body.pg-city .cf.sh-out .cf-g{animation:cf-out .28s var(--ease)}
  body.pg-city .cf.sh-in .cf-date{animation:cf-fade .28s var(--ease)}
}
@keyframes cf-in{from{transform:translateX(calc(-1 * var(--dw,0px)))}}
@keyframes cf-out{from{transform:translateX(var(--dw,0px))}}
@keyframes cf-fade{from{opacity:0}}
@media (prefers-reduced-motion:reduce){body.pg-city .cf.sh-in .cf-g,body.pg-city .cf.sh-out .cf-g,body.pg-city .cf.sh-in .cf-date{animation:none}}

/* ---------------------------------------- card ---------------------------------------- */
@media (max-width:1000px){
  /* kicker: solo la tipologia; la via sta sotto il nome (la citta' e' gia' il titolo della pagina) */
  .pcard .pc-tags .tag-l{display:none}
  .pcard .pc-tags .tag:not(.tag-l)::before{content:none}
  .pcard .pc-addr{order:2;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;margin:0 0 var(--s2);font:400 15px/1.35 var(--f-body);color:var(--mut)}
  .pcard .pc-addr .ic{flex:none;display:block;width:16px;height:16px;color:var(--brand)}
  .pcard .pc-addr .pc-ad,.pcard .pc-addr a{display:none}
  .pcard .pc-addr .pc-st{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  /* dati: il separatore e' un punto nello spazio tra le voci; a capo resta fuori dal bordo e sparisce (mai un '·' orfano) */
  .pcard .pc-facts{display:flex;flex-wrap:wrap;gap:2px 16px;overflow:hidden}
  .pcard .pc-facts li{position:relative;white-space:nowrap}
  .pcard .pc-facts li.fd{display:none}
  .pcard .pc-facts li.fm{display:block}
  .pcard .pc-facts li+li::before{content:"";position:absolute;left:-9.5px;top:50%;width:3px;height:3px;margin:-1px 0 0;border-radius:50%;background:currentColor}
  /* '+4' e' testo, non un pulsante finto */
  .pcard .am-m .am-n{padding:5px 2px;background:none;box-shadow:none;color:var(--mut);font-weight:600}
  /* il nome non resta sottolineato dopo il tocco */
  .pcard h2 a:hover{text-decoration:none}
  /* galleria: la foto seguente sbircia dal bordo, cosi' si capisce che si scorre */
  .pcard .slides{gap:var(--s2)}
  .pcard .slide{flex:0 0 86%}
  .pcard .slide:only-child{flex-basis:100%}
  .pcard .slide button{border-radius:var(--r-md);overflow:hidden}
  /* non disponibili: righe mute, tutta la riga e' il link alla scheda; il "cambia date" sta una volta sola, nel riquadro */
  .pcard.is-na{position:relative;grid-template-columns:72px minmax(0,1fr);align-items:center}
  .pcard.is-na .pc-foot .btn{display:none}
  .pcard.is-na h2 a::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit}
  .pcard.is-na .pc-foot{row-gap:0}
  .pcard.is-na .pc-foot .pc-price{margin:0}
  .pcard.is-na .pr-na{display:inline-flex;align-items:center;min-height:28px;padding:2px var(--s3);border-radius:999px;background:rgba(11,37,48,.06);color:var(--ink-2);font:600 14px/1.25 var(--f-body)}
  .pcard.is-na .pc-g{aspect-ratio:1}
  .pcard.is-na .slides{gap:0}
  .pcard.is-na .slide{flex-basis:100%}
}
@media (max-width:359px){.pcard .am-m .am-n{display:none}}   /* a 320 il '+N' andrebbe a capo da solo */
@media (hover:none){.pcard h2 a:hover{text-decoration:none}}

/* nessuna disponibilita': una via d'uscita che converte */
@media (max-width:700px){
  .props-none .pn-try{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--s2);width:100%;margin:var(--s2) 0 0;padding-top:var(--s4);border-top:2px dashed var(--line-2)}
  .pn-try span{flex:0 0 100%;margin-bottom:var(--s1);font:700 12px/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
  .pn-try a{display:inline-flex;align-items:center;min-height:var(--ctl-sm);padding:0 var(--s4);border-radius:999px;background:var(--sabbia);color:var(--ink);font:600 15px/1 var(--f-head);text-decoration:none}
  .pn-try a:active{background:var(--sabbia-2)}
}

/* ---------------------------------------- guida alla zona: cartolina e tessere ---------------------------------------- */
@media (max-width:700px){
  .zone-ph{display:block;margin:0 0 var(--s5);padding:var(--s2);background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-xl);box-shadow:var(--sh-2)}
  .zone-ph img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg);background:var(--sabbia)}
  .zone-ph figcaption{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s2) var(--s2);font:400 15px/1.35 var(--f-body);color:var(--mut)}
  .zone-ph figcaption .ic{flex:none;width:18px;height:18px;color:var(--accent-tx)}
  .zone-ph b{font-weight:700;color:var(--ink)}
  .ci-txt .zone-ph+p{font:400 19px/1.5 var(--f-body);color:var(--ink);letter-spacing:-.005em}
  .cityintro .see{display:flex;gap:var(--s3);margin:0 calc(-1 * var(--gut));padding:var(--s1) var(--gut) var(--s3);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none;border:0}
  .cityintro .see::-webkit-scrollbar{display:none}
  .cityintro .see::after{content:"";flex:0 0 var(--s1)}
  .cityintro .see li{flex:0 0 78%;display:flex;flex-direction:column;align-items:flex-start;gap:var(--s3);padding:var(--s4);border:1px solid var(--line-s);border-radius:var(--r-lg);background:var(--carta);box-shadow:var(--sh-1);scroll-snap-align:start}
  .cityintro .see .ic:not(.ic-m){display:none}
  .cityintro .see .ic-m{display:block;box-sizing:border-box;flex:none;width:40px;height:40px;margin:0;padding:10px;border-radius:50%;background:var(--sole-lt);color:var(--deep)}
  .cityintro .see li>div{display:flex;flex-direction:column;gap:var(--s1)}
  .cityintro .see b{font:600 18px/1.25 var(--f-head);letter-spacing:-.01em;color:var(--ink)}
  .cityintro .see span{margin:0;font:400 15px/1.45 var(--f-body);color:var(--mut)}
  body.pg-city .ci-txt h3{margin:var(--s6) 0 var(--s3)}
}

/* ---------------------------------------- altre localita': archi allineati, nome sempre leggibile ---------------------------------------- */
@media (max-width:700px){
  body.pg-city .dests2 .dest:nth-child(even){margin-top:0}
  body.pg-city .dests2 .dest::after{background:linear-gradient(to top,rgba(7,47,63,.94) 0,rgba(7,47,63,.62) 38%,rgba(7,47,63,0) 66%)}
  body.pg-city .dests2 .dest-t b{text-shadow:0 1px 8px rgba(0,0,0,.35)}
}

/* =====================================================================================================
   CITTA' · ROUND 2 DELLA DIREZIONE ARTISTICA
   H1 piu' grande con il nome in corsivo serif piu' presente; ombra sottile dietro logo e titolo; pillola date con chevron e chip
   date della striscia diversi dai filtri; prezzo a due righe senza "da" + pillola prezzo sulla foto; galleria con contatore sulla foto;
   stato "non disponibile" fotografico con cupola; testo della zona piu' ordinato; footer corto.
   Solo telefono: il desktop (>= 1061) non cambia. Niente arco, anelli, onde, bollini o angoli "foglia": il titolare vuole il concept App quasi puro.
   ===================================================================================================== */
.pn-try a[hidden],.pn-try[hidden]{display:none!important}

@media (max-width:700px){
  /* titolo: piu' grande, con il nome della localita' in corsivo serif piu' pieno (Instrument Serif ha un solo peso: un filo di contorno lo ispessisce) */
  body.pg-city .hero2 h1{font-size:clamp(2rem,10.4vw,2.75rem);line-height:1.02;letter-spacing:-.035em}
  body.pg-city .hero2 h1 .acc{display:inline-block;margin-left:.03em;padding-bottom:.1em;font-size:1.18em;line-height:.95;letter-spacing:-.01em;-webkit-text-stroke:.55px currentColor}
  body.pg-city .hero2 h1+.hero2-sub+.cl-m,body.pg-city .cl-m{margin-top:var(--s3)}
  body.pg-city .hero2 h1{margin-bottom:var(--s1)}
  /* logo e scritta in alto: un'ombra un po' piu' decisa dove il cielo e' chiaro (contrasto > 4,5:1 sul testo, foto sempre protagonista) */
  body.pg-city .hero2-bg::after{background:linear-gradient(180deg,rgba(7,47,63,.86) 0,rgba(7,47,63,.7) 12%,rgba(7,47,63,.34) 28%,rgba(7,47,63,.06) 44%,rgba(7,47,63,0) 54%)}

  /* pillola date: i due lati dicono che si toccano (chevron sole) */
  html.has-dates body.pg-city .dp .dp-cv{display:block;flex:none;width:8px;height:8px;margin:-4px 0 0 var(--s1);border-right:2px solid var(--sole);border-bottom:2px solid var(--sole);transform:rotate(45deg)}
  html.has-dates body.pg-city .dp-s{padding-right:var(--s3)}
  html.has-dates body.pg-city .dp-g{padding-left:var(--s3)}

  /* striscia agganciata: il chip date non e' un filtro (sole pieno, separatore), i filtri restano petrolio */
  body.pg-city .cf-date{position:relative;background:var(--sole);color:var(--deep)}
  body.pg-city .cf-date .ic{color:var(--deep)}
  body.pg-city .cf-date:focus-visible{outline-color:var(--deep)}
  body.pg-city .cf-date::after{content:"";position:absolute;right:-5px;top:11px;bottom:11px;width:1.5px;background:rgba(7,47,63,.28)}
}
html.has-dates body.pg-city .dp-d .dp-x b{white-space:nowrap}
@media (max-width:380px){html.has-dates body.pg-city .dp-g .dp-ic{display:none}}
@media (max-width:359px){html.has-dates body.pg-city .dp-d .dp-ic{display:none}}

@media (max-width:1000px){
  /* prezzo: totale grande + "per 2 notti" sulla stessa riga, sotto "48 € / notte" (niente "da": e' la media del soggiorno) */
  .pcard .pr-from{display:none}
  .pcard .pc-price:has(.pr-t) .pr-t{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px}
  .pcard .pc-price:has(.pr-t) .pr-main{margin-top:1px}
  .pcard .pc-price:has(.pr-t) .pr-v{font:600 15px/1.3 var(--f-head);color:var(--ink-2)}
  .pcard .pc-price:has(.pr-t) .pr-u{font-size:15px;color:var(--ink-2)}

  /* galleria: fondo carta (la fessura tra le foto si fonde con la cornice) e contatore sempre sulla foto, mai a cavallo */
  .pc-g{background:var(--carta)}
  .pc-g .pg-n{right:calc(9% + var(--s3));bottom:var(--s3)}
  .pcard .slides:has(.slide:only-child)~.pg-n,.pgal:has(.slide:only-child) .pg-n{right:var(--s3)}

  /* pillola prezzo sulla foto (a sinistra, il contatore e' a destra): il prezzo si vede gia' nel primo schermo con le date */

  /* non disponibili in mezzo ai disponibili: l'etichetta di gruppo lo dice una volta, la riga non lo ripete (resta per i lettori di schermo) */
  .pcard.is-na .slide button{border-right:0}
  .pcard.is-na .pr-na{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;background:none}
}
@media (max-width:700px){
  /* nessuna disponibilita': la pagina resta fotografica */
  body.pg-city:has(.props-none:not([hidden])) .cf{display:none}
  body.pg-city:has(.props-none:not([hidden])) .props-na{display:none}
  .props-none::before{width:112px;height:40px;margin:var(--s1) 0 var(--s2);border-radius:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Cg fill='%23125F7B'%3E%3Cpath d='M14 40a27 27 0 0 1 54 0z'/%3E%3Cpath d='M60 40a21 21 0 0 1 42 0z' stroke='%23FFFDF9' stroke-width='2.5'/%3E%3Crect x='4' y='38' width='112' height='2.4' rx='1.2'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}
  body.pg-city:has(.props-none:not([hidden])) .props{gap:var(--s4)}
}

/* ---------------------------------------- testo della zona ---------------------------------------- */
@media (max-width:700px){
  .ci-txt .zone-ph+p{font:400 17px/1.55 var(--f-body);color:var(--ink);letter-spacing:0}
  .ci-txt .zone-ph+p+p{color:var(--ink-2)}
  body.pg-city .ci-txt h3{display:flex;align-items:center;gap:var(--s2);color:var(--accent-tx);margin:var(--s6) 0 var(--s3)}
  body.pg-city .ci-txt h3::before{content:"";flex:none;width:18px;height:2px;border-radius:2px;background:currentColor}
  /* "da non perdere": numeri in corsivo serif al posto delle icone tutte uguali; ogni scheda alta quanto il suo testo */
  .cityintro .see{counter-reset:see}
  .cityintro .see li{counter-increment:see;flex-basis:74%;gap:var(--s2);padding:var(--s4) var(--s4) var(--s5)}
  .cityintro .see li::before{content:"0" counter(see);font:italic 400 34px/1 var(--f-acc);color:var(--accent);letter-spacing:-.01em}
  .cityintro .see .ic-m{display:none}
}

/* ---------------------------------------- footer piu' corto sulle pagine citta' ---------------------------------------- */
@media (max-width:700px){
  body.pg-city .fgrid>div:nth-child(2){display:none}   /* "Dove andiamo?" ripete le localita' di "Scopri anche" */
  body.pg-city .fgrid>div:nth-child(3) ul{display:flex;flex-wrap:wrap;column-gap:var(--s5)}
}

/* etichetta sulla foto: sui telefoni stretti il testo lungo (localita' senza voto) va a capo dentro la pillola invece di uscirne */
@media (max-width:400px){
  body.pg-city .eyebrow{top:auto;bottom:calc(100% + 14px);white-space:normal;text-wrap:balance;padding-top:7px;padding-bottom:7px;line-height:1.25}
}


/* =====================================================================================================
   SCHEDA STRUTTURA  (<= 1000 px; la card di prenotazione e la striscia date sono separate: telefono <= 700, tablet 701-1000)
   Ordine: 0 elementi del telefono nascosti a desktop · 1 header sulla foto · 2 galleria · 3 foglio (nome, voto, indirizzo, date, rassicurazioni)
   · 4 sezioni · 5 camere e tariffe · 6 informazioni, servizi, dettagli, posizione, voto · 7 altre strutture · 8 barra fissa · 9 lightbox
   Il desktop (>= 1061) non cambia: tutto sta dentro @media; fuori solo elementi nuovi nascosti.
   ===================================================================================================== */

/* ---- 0. elementi che esistono solo per il telefono ---- */
.gm-wrap{position:relative}   /* a desktop e' un blocco identico a .gm */
.rm-strip,.pp-more,.pp-rate-all,.h-m,.mt-x,.pp-intro,.sc-bk,.rt-m,.rm-rd,.rm-in,.rm-rec,.rm-same,.rm-pp .rm-pw,.nm-m,.rm-book,.rm-facts .ic,.dt-s,.gm-ic-m,.rm-ttl{display:none}
.rt-w strong{font-weight:inherit}
.score-top{text-decoration:none}

@media (max-width:1000px){
  :root{
    --pg:max(var(--gut),calc((100% - 720px) / 2));   /* margine laterale: 20 px sul telefono, colonna centrale da 720 sul tablet */
    --gh:clamp(300px,46vh,420px);                    /* altezza della galleria */
    --ic-tag:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12V4h8l10 10-8 8z'/%3E%3Ccircle cx='7.5' cy='8.5' r='1.2'/%3E%3C/svg%3E");
  }
}
@supports (height:1svh){@media (max-width:1000px){:root{--gh:clamp(300px,46svh,420px)}}}
@media (max-width:1000px) and (max-height:700px){:root{--gh:clamp(240px,40vh,300px)}}
@supports (height:1svh){@media (max-width:1000px) and (max-height:700px){:root{--gh:clamp(240px,40svh,300px)}}}

/* ---- 1. header trasparente sulla foto: restano indietro e condividi, due cerchi bianchi ---- */
@media (max-width:1000px){
  body.pg-prop:not(.has-hero) .site-header:not(.stuck){background:transparent;box-shadow:none}
  body.pg-prop .site-header:not(.stuck) :is(.hdr-m,.burger){box-shadow:0 2px 12px rgba(7,47,63,.32)}
  body.pg-prop .site-header:not(.stuck) .brand{display:none}   /* sulla foto il logo non si legge: torna con l'header pieno */
  body.pg-prop .site-header:not(.stuck) :is(.hdr-m-tel,.burger){display:none}
  .hdr-share{border:0;cursor:pointer}
  .hdr-back{margin-right:var(--s2)}
  .hdr-share:not([hidden]){margin-left:auto}
  .hdr-share:not([hidden])+.hdr-m-tel{margin-left:0}
}

/* ---- 2. galleria a tutta foto: carosello a scatti, pillola "Tutte le N foto" e contatore sulla foto ---- */
@media (max-width:1000px){
  body.pg-prop .pp-top{margin-top:calc(-1 * var(--hh));padding:0}
  body.pg-prop .pp-top>.wrap{display:flex;flex-direction:column;width:100%;margin:0}
  .pp-top .crumbs{display:none}   /* il cerchio 'indietro' sostituisce il percorso; il percorso resta nei dati strutturati */
  .gm-wrap{order:0;display:block}
  .gm,.gm-5,.gm-3,.gm-2,.gm-1{position:static;display:flex;height:auto;gap:0;margin:0;padding:0;border-radius:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;background:var(--maiolica-2)}
  .gm::-webkit-scrollbar{display:none}
  .gm .mt,.gm-1 .mt,.gm-2 .mt{flex:0 0 100%;grid-row:auto;height:var(--gh);scroll-snap-align:start;border-radius:0;background:var(--maiolica-2);cursor:pointer}
  .gm .mt.mt-x{display:block}
  .gm .mt img{filter:saturate(1.06) contrast(1.02)}
  .gm .mt:hover img{transform:none}
  .gm-0{height:var(--gh);border-radius:0}
  .gm-wrap .gm-all{position:absolute;left:var(--pg);right:auto;bottom:calc(var(--s4) + 28px);display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--ctl-sm);max-width:calc(100% - 2 * var(--pg) - 84px);padding:0 var(--s4) 0 var(--s3);border:0;border-radius:999px;background:var(--carta);box-shadow:var(--sh-1);color:var(--ink);font:600 14px/1 var(--f-head);cursor:pointer}
  .gm-wrap .gm-all:active{background:var(--calce-2)}
  .gm-all .ic{width:18px;height:18px;stroke-width:1.9;color:var(--brand)}
  .gm-ic-d{display:none}.gm-all .gm-ic-m{display:block}
  .pa-x{display:none}
  .pa-t{display:inline-block}
  .pa-t::first-letter{text-transform:uppercase}
  .gm-wrap .pg-n{display:flex;align-items:center;position:absolute;left:auto;right:var(--pg);top:auto;bottom:calc(var(--s4) + 28px + 6px);height:32px;padding:0 var(--s3);border-radius:999px;background:rgba(7,47,63,.84);color:#fff;font:600 14px/1 var(--f-body);font-variant-numeric:tabular-nums}
}

/* ---- 3. foglio calce che sale sulla foto: tipo e citta', nome, voto, indirizzo, date e le tre rassicurazioni ---- */
@media (max-width:1000px){
  .pp-head{order:1;position:relative;z-index:1;display:flex;flex-direction:column;align-items:stretch;gap:0;margin:-28px 0 0;padding:var(--s5) var(--pg) 0;background:var(--calce);border-radius:var(--r-sheet) var(--r-sheet) 0 0}
  .pp-head>div:first-child{display:contents}
  .pc-tags{order:1;display:flex;flex-wrap:wrap;gap:var(--s2);margin:0 0 var(--s3)}
  .pp-head .pc-tags .tag{order:0;display:inline-flex;align-items:center;gap:0;min-height:32px;padding:0 14px;border:0;border-radius:999px;background:var(--maiolica);color:var(--brand);font:700 14px/1 var(--f-body);letter-spacing:0;text-transform:none}
  .pp-head .pc-tags .tag::before{content:none}
  .pp-head .pc-tags .tag-l{order:1;background:var(--sabbia);color:var(--ink-2)}
  .pp-head h1{order:2;margin:0 0 var(--s3);font:700 clamp(34px,10.2vw,42px)/1.04 var(--f-head);letter-spacing:-.022em;overflow-wrap:normal}
  .pp-head h1 .acc{display:block;margin-top:2px}
  /* voto: pillola con il quadratino scuro + 'su Booking.com' */
  .pp-head .score-top{order:3;display:inline-flex;align-items:center;align-self:flex-start;gap:10px;min-height:var(--ctl-sm);margin:0 0 var(--s3);padding:0 var(--s4) 0 5px;border-radius:999px;background:var(--carta);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font:600 16px/1 var(--f-head)}
  .pp-head .score-top b{display:grid;place-items:center;min-width:34px;height:34px;padding:0 6px;border-radius:999px;background:var(--deep);color:var(--sole);font:700 17px/1 var(--f-head)}
  .pp-head .score-top .sc-bk{display:inline;font:500 15px/1 var(--f-body);color:var(--mut)}
  .pp-head .score-top .sc-bk::before{content:"·";margin-right:10px}
  .pp-head .pc-addr{order:4;display:flex;align-items:center;gap:var(--s2);margin:0;font:400 16px/1.35 var(--f-body);color:var(--ink-2)}
  .pp-head .pc-addr .ic{flex:none;width:20px;height:20px;margin:0;color:var(--accent-tx)}
  .pp-head .pc-addr span{min-width:0;flex:1 1 auto}
  .pp-head .pc-addr a,.pp-sec .pc-addr a{flex:none;display:inline-flex;align-items:center;min-height:var(--ctl-sm);margin:0;padding:0 2px;font:700 15px/1.2 var(--f-body);color:var(--brand);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}
  .map-x{display:none}
  .pc-addr a{text-transform:capitalize}
  .pp-intro{order:5;display:block}
  .pp-pro{list-style:none;margin:var(--s5) 0 0;padding:0;display:grid;gap:6px}
  .pp-pro li{display:flex;align-items:center;gap:14px;min-height:52px;font:400 16px/1.35 var(--f-body);color:var(--ink)}
  .pp-pro b{font-weight:700}
  .pro-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--maiolica);color:var(--brand)}
  .pro-ic .ic{width:20px;height:20px;stroke-width:1.75}
  .pro-a,.has-flex .pro-b{display:none}
  .has-flex .pro-a{display:inline}
  .has-flex .pro-ok{background:var(--ok-bg);color:var(--ok)}
}
/* fascia date: due tasti (date, ospiti) che aprono gli stessi fogli della ricerca; sul tablet resta la card di prenotazione */
@media (max-width:700px){
  .ppd{display:flex;align-items:stretch;margin:var(--s5) 0 0;border-radius:var(--r-lg);background:var(--carta);box-shadow:inset 0 0 0 1px var(--line),var(--sh-1)}
  .ppd button{display:flex;align-items:center;gap:var(--s3);min-height:72px;margin:0;padding:0 var(--s4);border:0;border-radius:var(--r-lg);background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .ppd button:active{background:var(--calce-2)}
  .ppd-d{flex:1 1 auto;min-width:0;padding-left:var(--s3)!important}
  .ppd-g{position:relative;flex:none}
  .ppd-g::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:1px;background:var(--line)}
  .ppd-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--sole-lt);color:var(--brand)}
  .ppd-ic .ic{width:20px;height:20px;stroke-width:1.9}
  .ppd-x{display:flex;flex-direction:column;gap:2px;min-width:0}
  .ppd small{font:500 14px/1.2 var(--f-body);color:var(--mut)}
  .ppd b{font:600 17px/1.2 var(--f-head);letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
  .ppd-d b:empty::before{content:attr(data-ph);color:var(--brand)}
  html.has-dates .ppd-d b:empty::before{content:"\00a0"}   /* con le date nell'indirizzo il segnaposto non lampeggia prima che search.js scriva le date */
  .ppd-cv{flex:none;width:8px;height:8px;margin:-4px 2px 0 0;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg)}
  /* la card 'Verifica disponibilita'' resta nel DOM, senza altezza (i suoi fogli sono position:fixed, il suo prezzo alimenta la barra): sul telefono la aprono i tasti della fascia date */
  .pp-grid{display:block}
  .pp-side,.pp-book,.sbar-card,.sbar-card .sc-row,.sbar-card .sf{display:block;height:0;min-height:0;margin:0;padding:0;border:0;background:none;box-shadow:none;overflow:visible;position:static}
  .pp-bt,.pp-chips,.pp-tax,.pp-wa,.sbar-card .sf-b,.sbar-card .pc-price-card,.sbar-card .sgo-card{display:none}
  .pp-side,.pp-book{height:auto}   /* la card e' vuota (altezza 0 dei suoi pezzi) ma la fascia Klarna al suo interno deve occupare il suo spazio, altrimenti finisce sotto la sezione successiva */
  .kl-prop{margin:20px 0 0}
}
@media (min-width:701px) and (max-width:1000px){
  .ppd{display:none}
  .pp-grid{display:flex;flex-direction:column;gap:var(--s5)}
  .pp-side{position:static;order:-1;align-self:stretch;margin-top:var(--s5)}
  .pp-book{padding:var(--s5);border:1px solid var(--line-s);border-radius:var(--r-xl);background:var(--carta);box-shadow:var(--sh-1)}
  .pp-bt b{font:700 1.25rem/1.2 var(--f-head);letter-spacing:-.02em;color:var(--ink)}
  .pp-bt span{color:var(--ok-tx);font-weight:600}
  .sbar-card .sgo-card{min-height:var(--ctl-lg);border-radius:var(--r-md);background:var(--accent);box-shadow:var(--sh-cta)}
  .pp-chips{display:none}
}
@media (max-width:1000px) and (max-height:700px){.pp-head .pc-tags{display:none}.pp-head{padding-top:var(--s4)}}   /* schermi bassi: la fascia date sale nel primo schermo */
@media (max-width:359px){
  .ppd-ic{display:none}
  .ppd-d{padding-left:var(--s4)!important}
  .ppd button{padding:0 var(--s3)}
  .pp-head .score-top{gap:8px;padding-right:var(--s3)}
  .pp-head .score-top .sc-bk{font-size:14px}
  .pp-head .score-top .sc-bk::before{margin-right:8px}
}

/* ---- 4. sezioni: etichetta + titolo con una parola in corsivo ---- */
@media (max-width:1000px){
  .pp-main{padding:0}
  .pp-main>.wrap{width:calc(100% - 2 * var(--pg))}
  .pp-sec{padding:var(--s7) 0 0;border:0}
  .pp-sec:first-child{padding-top:var(--s6)}
  .pp-sec h2{margin:0 0 var(--s5);font:700 clamp(28px,8vw,32px)/1.1 var(--f-head);letter-spacing:-.02em}
  .pp-sec h3{margin:var(--s6) 0 var(--s3);font:700 12px/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-tx)}
  .pp-sec .lab{margin-bottom:var(--s3)}
  .t-d{display:none}.t-m{display:inline}
  .h-d{display:none}.h-m{display:inline}
}

/* ---- 5. camere e tariffe: carta con foto, fatti, tariffe come scelte e UN solo pulsante ---- */
@media (max-width:1000px){
  .pp-rooms{scroll-margin-top:calc(var(--hh) + var(--s4))}
  .pp-rooms h2{margin-bottom:var(--s4)}
  [data-rooms-list]{display:grid;gap:26px}
  /* striscia date: resta sotto l'header mentre si scorrono le camere */
  .rm-strip{display:flex;position:sticky;top:0;z-index:40;align-items:center;justify-content:space-between;gap:var(--s3);margin:0 0 var(--s4);padding:var(--s2) 0;background:rgba(251,246,238,.96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:top .25s var(--ease)}
  .rm-strip[hidden]{display:none}
  [data-rm-strip-t]{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 var(--s4) 0 var(--s3);border-radius:999px;background:var(--carta);box-shadow:inset 0 0 0 1px var(--line)}
  .rs-ic{flex:none;display:grid;place-items:center;color:var(--brand)}
  .rs-ic .ic{width:20px;height:20px;stroke-width:1.9}
  .rs-x{display:flex;flex-direction:column;min-width:0}
  .rs-d{font:600 16px/1.15 var(--f-head);letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
  .rs-g{font:500 14px/1.2 var(--f-body);color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .rm-strip .btn{flex:none;min-height:var(--ctl-sm);padding:0 var(--s1);border-radius:12px;background:none;box-shadow:none;color:var(--brand);font:700 15px/1.2 var(--f-body);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}
  .rm-strip .btn:active,.rm-strip .btn:hover{background:none}
}
@media (max-width:700px){
  .rm-strip{margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut)}
}
@media (max-width:1000px){
  /* carta camera */
  .rm{display:block;margin:0;padding:var(--s2);border:1px solid var(--line-s);border-radius:var(--r-xl);background:var(--carta);box-shadow:var(--sh-1);overflow:visible}
  .rm-media{min-height:0;aspect-ratio:16/11;border-radius:var(--r-lg);overflow:hidden;background:var(--sabbia);touch-action:pan-y}
  .rm-prev,.rm-next{width:var(--ctl-sm);height:var(--ctl-sm);padding:0;border-radius:50%;background:var(--carta);box-shadow:var(--sh-1);font-size:0;color:transparent}
  .rm-prev{left:var(--s3)}.rm-next{right:var(--s3)}
  .rm-prev::before,.rm-next::before{content:"";width:22px;height:22px;background:var(--ink);-webkit-mask:var(--ic-chev) center/contain no-repeat;mask:var(--ic-chev) center/contain no-repeat}
  .rm-prev::before{transform:scaleX(-1)}
  .rm-count{right:var(--s3);bottom:var(--s3);padding:7px var(--s3);background:rgba(7,47,63,.84);font:600 14px/1 var(--f-body);font-variant-numeric:tabular-nums}
  .rm-body{padding:var(--s4) var(--s3) var(--s1)}
  .rm-body header{display:block}
  .pp-sec .rm-body h3{margin:0;font:700 22px/1.15 var(--f-head);letter-spacing:-.015em;text-transform:none;color:var(--ink)}
  .rm-code{display:block;margin-top:var(--s1);font:400 15px/1.35 var(--f-body);color:var(--mut);text-transform:lowercase}
  .rm-code::first-letter{text-transform:uppercase}
  .rm-dist{font-weight:600;color:var(--ink-2)}
  .rm-facts{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);margin:var(--s3) 0 0;font:500 15px/1.3 var(--f-body);color:var(--mut)}
  .rm-facts li{display:flex;align-items:center;gap:var(--s2)}
  .rm-facts .ic{display:block;flex:none;width:20px;height:20px;stroke-width:1.75;color:var(--brand)}
  .rm-desc{display:none}   /* la descrizione e' nei dati della struttura: qui le camere restano compatte */
  /* tariffe: una scelta per riga, pallino a sinistra, prezzo a destra */
  .rm-plans{display:flex;flex-direction:column;gap:var(--s3);margin:var(--s4) 0 0;padding:0 var(--s1)}
  .rm-plan{order:var(--o);position:relative;display:grid;grid-template-columns:24px minmax(0,1fr) auto;column-gap:14px;align-items:start;padding:var(--s4);border:2px solid var(--line);border-radius:var(--r-md);background:var(--carta)}
  .rm-plan.sel{border-color:var(--brand);background:#F1F8FB}
  .rm-1 .rm-plan{grid-template-columns:minmax(0,1fr) auto}
  .rm-in{display:block;position:absolute;inset:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
  .rm-rd{display:block;position:relative;width:24px;height:24px;margin-top:1px;border:2px solid var(--bd-field);border-radius:50%;background:var(--carta)}
  .rm-rd::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--brand);transform:scale(0);transition:transform .15s var(--ease)}
  .rm-plan.sel .rm-rd{border-color:var(--brand)}
  .rm-plan.sel .rm-rd::after{transform:scale(1)}
  .rm-in:focus-visible+.rm-rd{box-shadow:0 0 0 3px var(--carta),0 0 0 6px var(--brand)}
  .rm-rec{display:block;position:absolute;top:-13px;right:var(--s4);height:26px;padding:0 var(--s3);border-radius:999px;background:var(--sole);color:var(--deep);font:700 12px/26px var(--f-body);letter-spacing:.08em;text-transform:uppercase}
  .rm-pi{display:flex;flex-direction:column;gap:6px;min-width:0}
  .rm-pi b{font:700 18px/1.2 var(--f-head);letter-spacing:-.01em;color:var(--ink)}
  .nm-d,.rm-low{display:none}.nm-m{display:inline}
  .rm-c{display:block;position:relative;margin:0;font:500 15px/1.35 var(--f-body);color:var(--ink-2)}
  .dt-l{display:none}.dt-s{display:inline}
  .rm-c.ok{color:var(--ink-2);font-weight:500}
  .rm-c.ok{padding-left:26px}
  .rm-c.ok::before{content:"";position:absolute;left:0;top:1px;width:18px;height:18px;background:var(--ok);-webkit-mask:var(--ic-check) center/contain no-repeat;mask:var(--ic-check) center/contain no-repeat}
  .rm-c.ok:first-of-type{font-weight:600;color:var(--ok-tx)}
  .rm-c.no{color:var(--amb);font-weight:600}
  .rm-pi small{font:400 14px/1.35 var(--f-body);color:var(--mut)}
  .rm-promo{align-self:flex-start;margin:0;padding:4px var(--s3);background:var(--sole-lt);color:var(--ink);font:600 14px/1.3 var(--f-body)}
  .rm-same{display:flex;align-items:center;grid-column:1/-1;gap:var(--s2);margin-top:var(--s3);padding:var(--s2) var(--s3);border-radius:var(--r-sm);background:var(--ok-bg);color:var(--ok-tx);font:600 14px/1.3 var(--f-body)}
  .rm-same::before{content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:var(--ic-tag) center/contain no-repeat;mask:var(--ic-tag) center/contain no-repeat}
  .rm-pp{text-align:right}
  .rm-pp b{font:700 28px/1 var(--f-head);letter-spacing:-.025em;color:var(--ink)}
  .rm-pp small{display:none}
  .rm-pp .rm-pw{display:block;margin-top:6px;font:500 14px/1.2 var(--f-body);color:var(--mut)}
  .rm-plan>.btn{display:none}
  /* un solo pulsante per camera: cambia con la tariffa scelta */
  .rm-book{display:block;margin-top:var(--s4);padding:0 var(--s1) var(--s1)}
  .rm-sum{display:flex;justify-content:space-between;gap:var(--s3);margin:0 0 var(--s3);font:400 14px/1.35 var(--f-body);color:var(--mut)}
  .rm-sum b{font-weight:600;color:var(--ink)}
  .rm-sum>span:last-child{text-align:right}
  .rm-go{width:100%}
  /* messaggi: nessuna camera, scegli le date, errore */
  .rm-msg{display:block;padding:var(--s5) var(--gut);border-radius:var(--r-xl);background:var(--carta);box-shadow:inset 0 0 0 1px var(--line-s),var(--sh-1)}
  .rm-msg p{margin:0 0 var(--s4);font:400 16px/1.5 var(--f-body);color:var(--ink-2)}
  .rm-ttl{display:block;margin:0 0 var(--s2);font:700 22px/1.2 var(--f-head);letter-spacing:-.015em;color:var(--ink)}
  .rm-msg .btn{width:100%}
  .rm-act{flex-direction:column;gap:var(--s3)}
  /* scheletro */
  .rm-skel{min-height:0}
  .rm-skel .rm-media{aspect-ratio:16/11;min-height:0}
  .rm-skel .rm-body i{display:block;height:20px;margin:0 0 var(--s3);border-radius:8px;background:var(--line-s)}
  .pp-rooms.is-loading [data-rooms-list]{opacity:.55}
}
@media (max-width:700px) and (max-height:700px){.rm-media{aspect-ratio:16/10}}
@media (max-width:359px){
  .rm-plan{padding:var(--s3);column-gap:var(--s3)}
  .rm-pp b{font-size:24px}
  .rm-rec{right:var(--s3)}
  .rm-sum{flex-direction:column;gap:var(--s1)}
  .rm-sum>span:last-child{text-align:left}
}

/* ---- 6. informazioni, servizi, dettagli, posizione, voto, domande ---- */
@media (max-width:1000px){
  .pp-desc{display:block;margin:0 0 var(--s3);font:400 16px/1.6 var(--f-body);color:var(--ink-2)}
  .pp-more{display:inline-flex;align-items:center;min-height:var(--ctl-sm);margin:0 0 var(--s2);padding:0;border:0;background:none;color:var(--brand);font:700 15px/1.2 var(--f-body);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px;cursor:pointer}
  .pp-more[hidden]{display:none}
  .pp-sec .pc-facts{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);margin:var(--s2) 0 0;padding:0;list-style:none;font:500 15px/1.3 var(--f-body);color:var(--mut)}
  .pp-sec .pc-facts li{display:flex;align-items:center;gap:var(--s2);padding:0;border-radius:0;background:none;font:inherit}
  .pp-sec .pc-facts li+li::before{content:none}
  .pp-sec .pc-facts .ic{display:block;flex:none;width:20px;height:20px;stroke-width:1.75;color:var(--brand)}
  .am-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .am-grid li{gap:var(--s3);min-width:0;min-height:60px;padding:var(--s2) var(--s4);border-radius:var(--r-md);background:var(--carta);box-shadow:inset 0 0 0 1px var(--line-s);font:600 15px/1.25 var(--f-body);color:var(--ink)}
  .am-grid .ic{flex:none;width:22px;height:22px;stroke-width:1.75;color:var(--brand)}
  .pp-dl{padding:var(--s1) var(--s5);border-radius:var(--r-xl);background:var(--carta);box-shadow:inset 0 0 0 1px var(--line-s)}
  .pp-dl>div{grid-template-columns:110px minmax(0,1fr);gap:var(--s3);align-items:baseline;padding:var(--s4) 0;border-bottom:1px solid var(--line-s)}
  .pp-dl dt{min-width:0;font:400 14px/1.3 var(--f-body);color:var(--mut)}
  .pp-dl dd{min-width:0;overflow-wrap:anywhere;font:600 16px/1.35 var(--f-body);color:var(--ink)}
  .pp-sec .pc-addr.big{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:var(--s2);margin:0 0 var(--s3);font:400 17px/1.4 var(--f-body);color:var(--ink-2)}
  .pp-sec .pc-addr.big>span{min-width:0;flex:1 1 auto;overflow-wrap:anywhere}   /* l'indirizzo lungo va a capo accanto al pin, mai sotto */
  .pp-sec .pc-addr .ic{flex:none;width:20px;height:20px;margin-top:2px;color:var(--accent-tx)}
  .pp-sec>p>.btn{width:100%}
  .near{gap:0;padding:var(--s1) var(--s5);border-radius:var(--r-xl);background:var(--carta);box-shadow:inset 0 0 0 1px var(--line-s)}
  .near li{padding:var(--s4) 0;border-bottom:1px solid var(--line-s)}
  .near li:last-child,.pp-dl>div:last-child{border-bottom:0}
  .near b{font:600 17px/1.25 var(--f-head);color:var(--ink)}
  .near span{display:block;margin-top:var(--s1);font:400 15px/1.45 var(--f-body);color:var(--mut)}
  /* voto: tessera scura con il numero, parola e fonte */
  .pp-rate{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:var(--s4);padding:var(--s4) var(--gut);border-radius:var(--r-xl);background:var(--carta);box-shadow:inset 0 0 0 1px var(--line-s),var(--sh-1)}
  .pp-rate .stars{display:none}
  .score-b{display:flex;flex-direction:column;align-items:center;justify-content:center;width:84px;height:84px;border-radius:26px;background:var(--deep);color:var(--sole-lt);font:600 14px/1 var(--f-body)}
  .score-b b{font:700 34px/1 var(--f-head);letter-spacing:-.02em;color:var(--sole)}
  .rt-w{display:flex;flex-direction:column;gap:4px}
  .rt-w strong{font:700 24px/1.1 var(--f-head);letter-spacing:-.02em;color:var(--ink)}
  .rt-bk{display:none}
  .rt-m{display:block;font:400 15px/1.35 var(--f-body);color:var(--mut)}
  .pp-rate-all{display:block;margin:var(--s4) var(--s1) 0;font:400 15px/1.45 var(--f-body);color:var(--mut)}
  .pp-rate-all b{font-weight:600;color:var(--ink)}
  .rv-grid+.pp-rate{margin-top:var(--s2)}
  /* recensioni con testo: carosello come in home */
  .rv-grid{display:flex;gap:var(--s3);margin:0 calc(-1 * var(--gut));padding:6px var(--gut) var(--s4);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none}
  .rv-grid::-webkit-scrollbar{display:none}
  .rv-s{flex:0 0 min(304px,calc(100vw - 76px));scroll-snap-align:start;min-height:0;padding:var(--s5) 20px var(--s4);border:1px solid var(--line-s);border-radius:var(--r-xl);background:var(--carta);box-shadow:var(--sh-1)}
  .rv-s blockquote{margin:0 0 var(--s3);font:400 16px/1.5 var(--f-body);color:var(--ink)}
  .rv-s .q{display:block;height:34px;font:italic 400 72px/.8 var(--f-acc);color:var(--accent)}
  .rv-s figcaption{margin-top:auto;padding-top:var(--s3);border-top:2px dashed var(--line)}
  .rv-s figcaption b{font:600 16px/1.2 var(--f-head);color:var(--ink)}
  .rv-s figcaption span{display:block;font:400 14px/1.3 var(--f-body);letter-spacing:0;text-transform:none;color:var(--mut)}
}
@media (max-width:400px){   /* etichetta sopra, valore sotto: 'Accommodation' e il CIN non si toccano mai */
  .pp-dl>div{grid-template-columns:minmax(0,1fr);gap:2px}
  .pp-dl dd{font-size:16px}
}
@media (max-width:340px){
  .am-grid li{padding-inline:var(--s3);gap:var(--s2)}
}

/* ---- 7. altre strutture: carosello di cartoline, nessun terracotta (l'azione e' nella barra) ---- */
@media (max-width:1000px){
  .sec-other{margin-top:60px;padding:var(--s7) 0 var(--s7);background:var(--sabbia);border-radius:var(--r-sheet) var(--r-sheet) 0 0}
  .sec-other .wrap{width:100%}
  .sec-other .sh{margin:0 0 var(--s5);padding:0 var(--pg)}
  .sec-other .sh h2{margin:0;font:700 clamp(28px,8vw,32px)/1.1 var(--f-head);letter-spacing:-.02em}
  .sec-other .pcs{display:flex;gap:var(--s4);margin:0;padding:0 var(--pg) var(--s2);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pg);scrollbar-width:none}
  .sec-other .pcs::-webkit-scrollbar{display:none}
  .sec-other .pc{flex:0 0 min(300px,78%);scroll-snap-align:start}
  .sec-other .pc-cta{background:none;box-shadow:none;color:var(--brand);min-height:var(--ctl-sm);padding:0;justify-content:flex-end;font:700 15px/1.2 var(--f-body);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}
  .sec-other .pc-cta .ic{color:var(--brand)}
  .sec-other .pc:active .pc-cta{background:none;box-shadow:none}
  .sec-other .pc.is-asking .pc-cta{justify-content:flex-start}
}

/* ---- 8. barra fissa: prezzo totale + un verbo ---- */
@media (max-width:1000px){
  .mbar-p .mbar-pr{gap:2px}
  .mbar-p1{display:flex;align-items:baseline;gap:6px;min-width:0}
  .mbar-p .mbar-pr b{flex:none;font:700 26px/1.1 var(--f-head);letter-spacing:-.02em}
  .mbar-from{margin-right:2px;font:600 15px/1 var(--f-body);letter-spacing:0;color:var(--mut)}
  .mbar-pr em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 15px/1.2 var(--f-body);font-style:normal;color:var(--mut)}
  .mbar-p.is-empty .mbar-pr em{display:none}
  .mbar-p.is-na .btn{background:var(--deep);box-shadow:none}   /* non disponibile: il pulsante porta a cambiare date, non a prenotare */
  .mbar-p.is-na .btn:active{background:var(--brand-d)}
}
@media (max-width:359px){.mbar-pr em{display:none}.mbar-p .mbar-pr b{font-size:22px}}
@media (max-width:1000px) and (max-height:700px){.mbar-p .mbar-pr b{font-size:22px}}

/* ---- 9. lightbox: cinema, contatore in alto a sinistra, chiudi in alto a destra, si scorre col dito ---- */
@media (max-width:1000px){
  .lb{background:#05161e}
  .lb img{max-width:100vw;max-height:80vh;max-height:80dvh;border-radius:0;box-shadow:none}
  .lb .x{top:max(var(--s3),env(safe-area-inset-top));right:var(--gut);width:var(--ctl-sm);height:var(--ctl-sm);background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
  .lb .cnt{top:max(var(--s3),env(safe-area-inset-top));bottom:auto;left:var(--gut);display:flex;align-items:center;height:var(--ctl-sm);font:600 14px/1 var(--f-body);font-variant-numeric:tabular-nums}
}
@media (max-width:700px){.lb .p,.lb .n{display:none}}

/* =====================================================================================================
   SCHEDA STRUTTURA · round 2 (carattere): ritmo con blocco petrolio e onda, fascia fotografica, capolino, camere piu' compatte,
   tariffa unica non rimborsabile con etichetta ambra, indirizzo a griglia, barra senza rotture a 320. Desktop (>= 1061) invariato:
   elementi nuovi nascosti qui sotto, regole solo dentro @media (max-width:1000px) o (max-width:1060px).
   ===================================================================================================== */
.pp-band,.rm-note,.lb .hint,.lb .bar,.rm-fail .rm-act{display:none}

/* caratteri: le due t di Outfit si toccano ('Attico', 'Ottimo'): build.py mette fra loro un <i class="tt"> vuoto */
@media (max-width:1060px){
  i.tt{display:inline-block;width:0;margin-left:.055em}
}

@media (max-width:1000px){
  :root{
    --ic-x:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E");
  }

  /* ---- testata: indirizzo a griglia (pin | testo | Mappa), il testo va a capo da solo e 'Mappa' resta a destra ---- */
  .pp-head .pc-addr{display:grid;grid-template-columns:20px minmax(0,1fr) auto;column-gap:10px;align-items:center}
  .pp-head .pc-addr span{overflow-wrap:anywhere}
  .pp-head .pc-addr a{justify-self:end}

  /* ---- ritmo: fascia fotografica fra camere e presentazione, a foglia ---- */
  .pp-band{display:block;position:relative;width:100%;margin:60px 0 0;padding:0;border:0;border-radius:var(--r-lg);overflow:hidden;background:var(--maiolica-2);cursor:pointer;-webkit-tap-highlight-color:transparent}
  .pp-band img{display:block;width:100%;height:clamp(220px,64vw,300px);object-fit:cover;filter:saturate(1.06) contrast(1.02)}
  .pp-band-t{position:absolute;left:var(--s3);bottom:var(--s3);display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--ctl-sm);padding:0 var(--s4) 0 var(--s3);border-radius:999px;background:var(--carta);box-shadow:var(--sh-1);color:var(--ink);font:600 14px/1 var(--f-head)}
  .pp-band-t .ic{width:18px;height:18px;stroke-width:1.9;color:var(--brand)}
  .pp-band+.pp-sec{padding-top:var(--s7)}

  /* ---- informazioni: primo paragrafo per intero con capolino, il resto dietro 'Leggi tutto' ---- */
  .pp-lead-t{display:block;font:400 18px/1.5 var(--f-body);color:var(--ink)}
  .pp-rest{display:none}
  .pp-desc.open .pp-rest{display:block;margin-top:var(--s3);font:400 18px/1.5 var(--f-body);color:var(--ink)}   /* stessa voce del primo paragrafo */
  .pp-desc{clear:none}
  .pp-lead-t::after{content:"";display:block;clear:none}
  .pp-more{margin-top:var(--s1)}

  /* ---- servizi: le voci lunghe prendono tutta la riga, nessuna tessera a 3 righe ---- */
  .am-grid{grid-auto-flow:dense}
  .am-grid li.am-w{grid-column:1/-1;order:1}
  .am-grid li{align-items:center}

  /* ---- camere: nota tassa una volta sola, carte piu' compatte ---- */
  .rm-note{display:block;margin:-12px 0 0;font:400 14px/1.45 var(--f-body);color:var(--mut)}
  .rm-dom,.rm-id{display:none}
  .rm-plans{gap:var(--s3)}
  /* tariffa non rimborsabile: etichetta ambra con la croce, riga breve in ink-2 */
  .rm-plan:not(.ok) .rm-pi>b{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 12px 0 9px;border-radius:999px;background:var(--amb-bg);color:var(--amb);font:600 14px/1.2 var(--f-body);letter-spacing:0}
  .rm-plan:not(.ok) .rm-pi>b::before{content:"";flex:none;width:13px;height:13px;background:currentColor;-webkit-mask:var(--ic-x) center/contain no-repeat;mask:var(--ic-x) center/contain no-repeat}
  .rm-c.no{color:var(--ink-2);font-weight:500;text-wrap:balance}
  .rm-pi small.bd0{display:none}
  /* tariffa unica: riquadro neutro, nessun azzurro e nessun pallino (non e' una scelta) */
  .rm-1 .rm-plan,.rm-1 .rm-plan.sel{padding:var(--s3) var(--s4);border:1.5px solid var(--line-2);background:var(--carta)}
  .rm-1 .rm-pp b{font-size:26px}
  .rm-plan{row-gap:0}
  .rm-same{margin-top:var(--s3)}
  /* riga sotto il pulsante: una sola riga corta, centrata (la nota tassa e' in testa alla sezione) */
  .rm-sum{justify-content:center;margin:0 0 var(--s3);text-align:center}
  .rm-sum>span:last-child{display:none}
  .rm-sum>.rm-sum-a{text-align:center}

  /* ---- camere non caricate: due azioni invece di un vicolo cieco ---- */
  .rm-fail .rm-act{display:flex}
  .rm-fail{padding-bottom:var(--s5)}

  /* ---- voti: blocco petrolio a tutta larghezza, bordi netti ---- */
  #recensioni{position:relative;margin:var(--s7) calc(-1 * var(--pg)) 0;padding:var(--s7) var(--pg) var(--s7);background:radial-gradient(circle at 100% 0,rgba(43,156,184,.34),transparent 70%) no-repeat 100% 0/420px 420px,var(--deep);color:#fff;--acc-c:var(--sole)}
  #recensioni .lab{color:var(--sole)}
  #recensioni h2{color:#fff}
  #recensioni :focus-visible{outline-color:var(--sole)}
  #recensioni .rv-grid{margin-inline:calc(-1 * var(--pg));padding-inline:var(--pg);scroll-padding-inline:var(--pg)}
  #recensioni .pp-rate{grid-template-columns:auto minmax(0,1fr);column-gap:var(--s4);padding:0;border-radius:0;background:none;box-shadow:none}
  #recensioni .score-b{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:4px;width:auto;height:auto;border-radius:0;background:none;font:600 20px/1 var(--f-body);color:var(--sole-lt)}
  #recensioni .score-b b{font:italic 400 96px/.78 var(--f-acc);letter-spacing:-.02em;color:var(--sole)}
  #recensioni .rt-w{gap:6px}
  #recensioni .rt-w strong{font-size:30px;color:#fff}
  #recensioni .rt-m{color:rgba(255,255,255,.86)}
  #recensioni .pp-rate-all{margin:var(--s5) 0 0;padding-top:var(--s4);border-top:2px dashed rgba(255,255,255,.3);color:rgba(255,255,255,.86)}
  #recensioni .pp-rate-all b{color:#fff}
  .pp-rate-all{margin-inline:0}

  /* ---- altre strutture: l'azione sta in una riga a tutta larghezza con filetto, collegata al prezzo ---- */
  .sec-other .pc .pc-cta{grid-column:1/-1;grid-row:auto;justify-content:space-between;width:100%;min-height:48px;margin-top:var(--s3);padding:var(--s2) 0 0;border-radius:0;border-top:2px dashed var(--line);text-decoration:none}
  .sec-other .pc .pc-cta .cta-m{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}
}
@media (min-width:701px) and (max-width:1000px){
  #recensioni .pp-rate{max-width:520px}
}

/* ---- barra fissa: stato 'non disponibile' e 'senza date' senza rotture a 320 ---- */
@media (max-width:1000px){
  .mbar-p{gap:var(--s3)}
  .mbar-p.is-na .mbar-pr b{font-size:20px;line-height:1.15}
}
@media (max-width:359px){
  .mbar-p.is-na .mbar-pr b{font-size:17px;white-space:normal;overflow:visible}
  .mbar-p.is-na .btn{padding:0 var(--s4);flex:none}
}

/* ---- schermi bassi (568 di altezza): gli spazi della testata si stringono e le date restano nel primo schermo ---- */
@media (max-width:1000px) and (max-height:620px){
  :root{--gh:clamp(200px,34svh,230px)}   /* telefoni bassi: la fascia date resta sopra la barra */
  .pp-head .pc-addr>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  .pp-head .score-top{margin-bottom:var(--s2)}
  .ppd{margin-top:var(--s4)}
  .pp-pro{margin-top:var(--s4)}
}

/* ---- lightbox del telefono: invito a scorrere e avanzamento ---- */
@media (max-width:700px){
  .lb .hint{display:block;position:absolute;left:var(--gut);right:var(--gut);bottom:calc(30px + env(safe-area-inset-bottom));text-align:center;font:500 14px/1.2 var(--f-body);color:rgba(255,255,255,.78)}
  .lb .bar{display:block;position:absolute;left:var(--gut);right:var(--gut);bottom:calc(14px + env(safe-area-inset-bottom));height:3px;border-radius:3px;background:rgba(255,255,255,.22);overflow:hidden}
  .lb .bar i{display:block;width:100%;height:100%;background:var(--sole);transform-origin:left;transform:scaleX(.05);transition:transform .25s var(--ease)}
}
@media (prefers-reduced-motion:reduce){.lb .bar i{transition:none}}

/* =====================================================================================================
   SCHEDA STRUTTURA · round 3 (ritmo e rifinitura): kicker al posto delle chip, galleria con anteprima, camere ordinate per prezzo
   e raccolte, striscia di foto, 'Cosa offre' su sabbia con onda, posizione numerata, voto piccolo, chiusura prima del footer.
   Desktop (>= 1061) invariato: i nuovi elementi sono nascosti qui sotto, le regole stanno dentro @media (max-width:1000px).
   ===================================================================================================== */
.pp-strip,.pp-kick,.pp-close,.rm-showmore,.rm-dots,.rm-pill{display:none}

/* caratteri: dentro i corsivi serif non serve il separatore delle due t (Instrument Serif non le unisce) e rompeva la spaziatura ('strut tura') */
@media (max-width:1060px){
  :is(em,.acc) i.tt{display:none}
  :is(h1,h2,h3) :is(em,.acc){font-kerning:normal;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;text-rendering:optimizeLegibility}
  .pp-sec h2 .acc{-webkit-text-stroke:0}
}

@media (max-width:1000px){
  :root{
    --dome:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 52'%3E%3Ccircle cx='36' cy='26' r='19' fill='%23FFC83D'/%3E%3Cpath d='M0 28Q9 22 18 28T36 28T54 28T72 28V52H0Z' fill='%23072F3F'/%3E%3Cpath d='M0 40Q9 34 18 40T36 40T54 40T72 40' fill='none' stroke='%232B9CB8' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E");
  }

  /* ---- testata: kicker maiuscolo al posto delle due chip, spazi piu' stretti ---- */
  .pp-kick{order:1;display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s3);font:700 12px/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-tx)}
  .pp-kick::before{content:"";flex:none;width:18px;height:2px;border-radius:2px;background:currentColor}
  .pp-head .pc-tags{display:none}
  .pp-head .score-top{margin-bottom:var(--s2)}
  .ppd{margin-top:var(--s4)}
  .pp-pro{margin-top:var(--s4)}

  /* ---- galleria: la foto seguente fa capolino a destra (si capisce che scorre) ---- */

  /* ---- camere: dalla piu' economica, due in vista e le altre dietro un tasto ---- */
  .rm-note{order:-1}
  .rm{order:var(--go,0)}
  [data-rooms-list].rm-collapsed .rm-x{display:none}
  .rm-showmore{display:flex;align-items:center;justify-content:center;order:99;width:100%;min-height:56px;border-radius:var(--r-md);font:600 16px/1.2 var(--f-head)}
  .rm-pill{display:block;position:absolute;left:var(--s3);top:var(--s3);z-index:2;height:26px;padding:0 var(--s3);border-radius:999px;background:var(--sole);color:var(--deep);font:700 12px/26px var(--f-body);font-style:normal;letter-spacing:.08em;text-transform:uppercase}
  .rm-dots{display:flex;justify-content:center;gap:6px;position:absolute;left:50%;right:auto;bottom:var(--s3);transform:translateX(-50%);padding:6px 9px;border-radius:999px;background:rgba(7,47,63,.5);pointer-events:none}   /* pastiglia scura: i puntini si leggono anche sulle camere bianche */
  .rm-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6)}
  .rm-dots i.on{width:18px;border-radius:4px;background:#fff}
  .rm-media:has(.rm-dots) .rm-count{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}   /* il numero resta per chi usa lo screen reader */
  /* tariffa non rimborsabile: la pillola ambra non va mai a capo */
  .rm-plan:not(.ok) .rm-pi>b{white-space:nowrap}
  /* tariffa flessibile: prima il vantaggio piu' forte ('non paghi oggi'), poi la cancellazione; una riga verde sola e piu' corta */
  .rm-pi>b{order:-2}
  .rm-c.ok+.rm-c.ok{order:-1;font-weight:600;color:var(--ok-tx)}
  .rm-c.ok:has(+ .rm-c.ok):first-of-type{font-weight:500;color:var(--ink-2)}
  .rm-same{margin-top:var(--s2);padding:6px var(--s3)}

  /* ---- panoramica + striscia di foto ---- */
  .pp-strip{display:flex;gap:var(--s3);margin:var(--s6) calc(-1 * var(--pg)) 0;padding:0 var(--pg) var(--s1);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pg);scrollbar-width:none;overscroll-behavior-x:contain}
  .pp-strip::-webkit-scrollbar{display:none}
  .ps{flex:0 0 74%;max-width:300px;aspect-ratio:1;scroll-snap-align:start;padding:0;border:0;border-radius:var(--r-lg);overflow:hidden;background:var(--maiolica-2);cursor:pointer;-webkit-tap-highlight-color:transparent}
  .ps img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(1.06) contrast(1.02);transition:transform .3s var(--ease)}
  .ps:active img{transform:scale(1.03)}

  /* ---- 'Cosa offre': fascia sabbia a tutta larghezza, bordi netti ---- */
  .pp-amen{position:relative;margin:var(--s7) calc(-1 * var(--pg)) 0;padding:var(--s7) var(--pg) var(--s7);background:var(--sabbia)}
  .pp-amen h2{margin-bottom:var(--s5)}
  .pp-amen+.pp-sec{padding-top:var(--s7)}
  .am-grid li.am-w{order:1}

  /* ---- dettagli: ospiti e indirizzo stanno gia' altrove ---- */
  .pp-dl .dl-dup{display:none}
  .pp-dl>div:nth-last-child(1 of :not(.dl-dup)){border-bottom:0}

  /* ---- posizione: i tre luoghi come righe numerate ---- */
  .near{counter-reset:nr;padding:0;border-radius:0;background:none;box-shadow:none}
  .near li{counter-increment:nr;display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:var(--s3);align-items:start;padding:var(--s4) 0;border-bottom:2px dashed var(--line)}
  .near li:last-child{border-bottom:0}
  .near li::before{content:counter(nr,decimal-leading-zero);grid-column:1;grid-row:1/span 2;font:italic 400 38px/1 var(--f-acc);color:var(--accent)}
  .near b,.near span{grid-column:2}

  /* ---- voto: piccolo, una fascia sottile (il numero non si ripete) ---- */
  #recensioni{margin-top:var(--s7);padding:var(--s6) var(--pg) var(--s6)}
  #recensioni h2{margin-bottom:var(--s4);font-size:clamp(26px,7.4vw,30px)}
  #recensioni .score-b b{font-size:72px}
  #recensioni .score-b{font-size:18px}
  #recensioni .rt-w strong{font-size:26px}
  #recensioni .pp-rate-all{margin-top:var(--s4);padding-top:var(--s3)}
  #recensioni .pp-rate-n{border-top-style:solid;border-top-width:1px;font:600 15px/1.4 var(--f-body)}

  /* ---- nessuna camera: un segno, un titolo, un'azione principale in petrolio ---- */
  .rm-none{text-align:center}
  .rm-none::before{content:"";display:block;width:88px;height:62px;margin:0 auto var(--s3);border-radius:0 0 var(--r-md) var(--r-md);background:var(--dome) center/contain no-repeat}
  .rm-none .btn-accent{background:var(--deep);box-shadow:none;color:#fff}
  .rm-none .btn-accent:active{background:var(--brand-d)}
  .rm-none .rm-act a[target]{min-height:var(--ctl-sm);border:0;background:none;box-shadow:none;color:var(--brand);font:700 15px/1.2 var(--f-body);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}

  /* ---- 'Altre strutture' non disponibili: azione leggibile, foto ancora viva, meta su due righe ---- */
  .sec-other .pc-m p{-webkit-line-clamp:2}
  .sec-other .pc.is-na .pc-img{filter:grayscale(.45);opacity:1}
  .sec-other .pc.is-na .pc-price{grid-row:5;grid-column:1/-1;margin-top:var(--s4)}
  .sec-other .pc.is-na .pr-na{color:var(--mut)}
  .sec-other .pc.is-na .pc-cta{grid-row:6;background:none;box-shadow:none;color:var(--brand)}
  .sec-other .pc.is-na .pc-cta .ic{color:var(--brand)}
  .sec-other .pc.is-na:active .pc-cta{background:none;box-shadow:none}

  /* ---- chiusura prima del footer ---- */
  .sec-other:has(+ .pp-close){padding-bottom:var(--s5)}
  .pp-close{display:block;padding:var(--s5) var(--pg) var(--s7);background:var(--sabbia);text-align:center}
  .pp-close-t{margin:0 0 var(--s1);font:700 22px/1.2 var(--f-head);letter-spacing:-.015em;color:var(--ink)}
  .pp-close-s{margin:0 0 var(--s4);font:400 16px/1.45 var(--f-body);color:var(--ink-2);text-wrap:balance}
  .pp-close-a{display:flex;flex-direction:column;align-items:center;gap:var(--s2)}
  .pp-close-a .btn{width:100%;min-height:52px;background:var(--carta)}
  .pp-close-tel{display:inline-flex;align-items:center;gap:var(--s2);min-height:var(--ctl-sm);color:var(--brand);font:700 16px/1.2 var(--f-body);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}
  .pp-close-tel .ic,.pp-close-a .btn .ic{width:20px;height:20px}
}

/* telefoni a puntatore touch: le frecce sulle foto delle camere si tolgono (si scorre col dito, ci sono i puntini) */
@media (max-width:1000px) and (hover:none){
  .rm-prev,.rm-next{display:none}
}
@media (prefers-reduced-motion:reduce){.ps img{transition:none}}

/* telefoni stretti (320): tariffe e pillola piu' compatte */
@media (max-width:359px){
  .rm-plan{grid-template-columns:20px minmax(0,1fr) auto;padding:var(--s3);column-gap:10px}
  .rm-1 .rm-plan{grid-template-columns:minmax(0,1fr) auto}
  .rm-rd{width:20px;height:20px}
  .rm-rd::after{inset:3px}
  .rm-plan:not(.ok) .rm-pi>b{padding:0 9px 0 7px;font-size:14px}
  .ps{flex-basis:78%}
  .rm-c{font-size:14px;line-height:1.3}
  .rm-c.ok{padding-left:24px}
}


/* =====================================================================================================
   SERVIZIO MOBILE  (<= 1060 / 900 / 700 px)
   Percorso di prenotazione (/prenota/ /paga/ /prenotazione-confermata/ /gestisci-prenotazione/) e pagine di servizio
   (contatti, proprietari, legali, 404). Un solo blocco, scritto sul concept "App": calce e carta, Outfit + Figtree,
   una parola in corsivo serif terracotta nei titoli, un solo terracotta per schermata (l'azione), il sole solo come
   piccolo tocco (tessere delle icone). Il computer (>= 1061) non cambia: tutto sta dentro @media.
   Ordine: 0 nascosti sul computer · 1 intestazione · 2 percorso: pagina, avanzamento, riepilogo, campi, pagamento, barra,
   stati · 3 conferma e gestione · 4 pagine di servizio con foto · 5 contatti · 6 proprietari · 7 moduli · 8 legali · 9 404
   ===================================================================================================== */

/* ---- 0. elementi che esistono solo sul telefono ---- */
.ck-m,.ck-nr,.ck-prog,.hdr-ck-t,.ck-help-ic,.ck-bar,.ck-opt-t,.cf-ci-top,.ck-go-z,.ck-bad-h,.nf-m,.ck-hi,.ck-lab,.cf-arch,.m-only,.ck-phone .ck-ph>label>span{display:none}
.ck-phone .ck-ph>label{display:flex;min-width:0}   /* i due campi del telefono sono avvolti in un'etichetta (solo per il telefono): sul computer restano com'erano */
.ck-bad-w{display:contents}
.ck-bad-a{padding:0 24px 24px}   /* come il paragrafo con il pulsante di prima (margini di paragrafo compresi) */
.cf-conf .mg-yes{order:-1}   /* computer: 'Si, cancella' resta prima come prima (nel DOM 'No, tienila' e' il primo) */
.cf-ic,.cf-wait-s,.leg-idx,.nf-pl,.o-advs-t,.fl-o{display:none}   /* nuovi elementi solo da telefono */

@media (max-width:1060px){
  :root{
    --ic-lock:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2.5'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");
    --ic-info:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5M12 7.5h.01'/%3E%3C/svg%3E");
    --dome:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 40'%3E%3Cg fill='%23125F7B'%3E%3Cpath d='M14 40a27 27 0 0 1 54 0z'/%3E%3Cpath d='M60 40a21 21 0 0 1 42 0z' stroke='%23FFFDF9' stroke-width='2.5'/%3E%3Crect x='4' y='38' width='112' height='2.4' rx='1.2'/%3E%3C/g%3E%3C/svg%3E");
    --fld:62px;   /* altezza dei campi di testo */
  }
}

/* ---- 1. intestazione del percorso: indietro, titolo, "Sicuro" (nessun menu) ---- */
@media (max-width:1060px){
  .pg-checkout :is(.burger,.nav,.brand,.hdr-m-tel),.pg-pay :is(.burger,.nav,.brand,.hdr-m-tel){display:none}
  html.hdr-hide:not(.menu-open) body.pg-checkout .site-header,html.hdr-hide:not(.menu-open) body.pg-pay .site-header{transform:none}   /* il percorso e' corto: l'intestazione resta */
  .hdr-ck-t{display:block;flex:1;min-width:0;margin:0 0 0 var(--s2);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:700 18px/1.15 var(--f-head);letter-spacing:-.012em;color:var(--ink)}
  .hdr-secure{display:none}   /* 'Pagamento sicuro' sta gia' nel titolo, con il suo lucchetto: la pillola ripeteva lo stesso messaggio */
  .pg-checkout .hdr-ck-t{display:flex;align-items:center;gap:var(--s2)}
  .pg-checkout .hdr-ck-t::before{content:"";flex:none;width:20px;height:20px;background:var(--ok);-webkit-mask:var(--ic-lock) center/contain no-repeat;mask:var(--ic-lock) center/contain no-repeat}
}

/* ---- 2. percorso: pagina e avanzamento ---- */
@media (max-width:900px){
  .ck{padding:var(--s4) 0 var(--s6);background:var(--calce);overflow-x:clip}   /* il body ha gia' il padding-top dell'intestazione; clip: nessun elemento puo' allargare la pagina */
  body.ck-has-bar .ck{padding-bottom:var(--s5)}
  .ck-hi:not([hidden]){display:block;margin:var(--s2) 0 var(--s4);font:700 clamp(2rem,9.6vw,2.5rem)/1.04 var(--f-head);letter-spacing:-.03em;color:var(--ink)}
  .ck-hi .acc{margin-left:.02em;font-family:var(--f-acc);font-style:italic;font-weight:400;font-size:1.16em;line-height:.9;letter-spacing:-.005em;color:var(--accent)}
  .pg-confirmed .ck,.pg-manage .ck{padding-top:var(--s5)}
  .ck h1{margin:0 0 var(--s2);font:700 clamp(2rem,9.4vw,2.4rem)/1.06 var(--f-head);letter-spacing:-.025em;color:var(--ink)}
  .ck .lead{margin:0 0 var(--s4);font:400 17px/1.5 var(--f-body);color:var(--ink-2)}
  .pg-checkout .ck h1,.pg-pay .ck h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}   /* il titolo visibile e' nell'intestazione */
  .pg-checkout .ck .lead,.ck-back{display:none}
  .pg-pay .ck .lead{display:block;margin:0 0 var(--s4);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--maiolica);color:var(--ink);font:500 15px/1.45 var(--f-body)}   /* ambra e' solo della tariffa non rimborsabile: qui un riquadro neutro */
  .ck-grid{grid-template-columns:minmax(0,1fr);gap:var(--s6);margin-top:0}

  /* un solo sistema di numeri: i cerchi 1 e 2 delle sezioni. Sul telefono niente 'passo 2 di 3' ne' saluto: il riepilogo e il primo campo salgono */
  .pg-checkout .ck-steps,.pg-checkout .ck-hi:not([hidden]){display:none}
  /* avanzamento: tre segmenti sotto l'intestazione (1 scelta fatta, 2 dati validi, 3 pagamento riuscito) */
  .ck-prog:not([hidden]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 var(--s4)}
  .ck-prog i{display:block;height:6px;border-radius:3px;background:rgba(11,37,48,.12);transition:background-color .3s var(--ease)}
  .ck-prog i.on{background:var(--brand)}
  @media (prefers-reduced-motion:reduce){.ck-prog i{transition:none}}
}

/* ---- 2b. riepilogo: cartolina con miniatura ad arco, date, cancellazione, blocco "oggi paghi" ---- */
@media (max-width:900px){
  .ck-sum{position:static;order:-1;max-height:none;overflow:hidden;background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
  .ck-sum>:is(.ck-sum-ph,.ck-sum-b),.pg-pay .ck-sum>:is(h2,.ck-room,.ck-guests,.ck-total){display:none}
  .ck-m{display:block}
  .ck-skel{min-height:96px;padding:var(--s5)}
  .ck-skel i{background:rgba(11,37,48,.08)}
  /* testata: miniatura ad arco (la camera) con struttura e citta' accanto, sulla carta: nessun velo sulla foto */
  .ckm-h{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--s4);align-items:center;padding:var(--s4)}
  .ckm-ph{display:block;width:96px;height:108px;border-radius:48px 48px 14px 14px;background:var(--maiolica) center/cover no-repeat;box-shadow:0 0 0 1px var(--line-s)}
  .ckm-t small{display:block;font:700 12px/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-tx)}
  .ck-m .ckm-n{margin:var(--s1) 0 0;font:700 24px/1.1 var(--f-head);letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
  .ckm-h.no-ph{grid-template-columns:minmax(0,1fr)}
  .ckm-c{display:flex;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--ok-bg);color:var(--ok-tx)}
  .ckm-c>.ic{flex:none;width:24px;height:24px;margin-top:1px;color:var(--ok)}
  .ckm-c b{display:block;font:600 16px/1.3 var(--f-head);color:var(--ok-tx);text-wrap:balance}
  .ckm-c span{display:block;margin-top:2px;font:400 15px/1.4 var(--f-body)}
  .ckm-c.no{background:var(--amb-bg);color:var(--amb)}
  .ckm-c.no>.ic{color:var(--amb)}
  .ckm-c.no b{color:var(--amb)}
  /* conti: tutte le righe hanno lo stesso schema, etichetta ... puntini ... valore */
  /* pagamento: una riga ("Paghi ora ... 96 €") oppure, con addebito differito, due colonne con le etichette sulla stessa linea e i numeri sulla stessa linea */
  .ckm-p{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s1) var(--s4);margin-top:var(--s2);padding:var(--s3) var(--s4);border-top:2px dashed var(--line-2)}
  .ckm-p small{display:block;font:700 15px/1.2 var(--f-body);color:var(--ink)}
  .ckm-p b{display:block;font:700 34px/1 var(--f-head);letter-spacing:-.025em;color:var(--ink);text-align:right}
  .ckm-p .r{text-align:right}
  .ckm-p .ckm-note{grid-column:1/-1;margin:var(--s2) 0 0;font:600 14px/1.35 var(--f-body);color:var(--mut)}
  .ckm-p.dfr{align-items:baseline;gap:var(--s1) var(--s4);padding-top:var(--s4);padding-bottom:var(--s4);background:var(--ok-bg);border-top:0}
  .ckm-p.dfr small{font:700 14px/1.2 var(--f-body);color:var(--ok-tx)}
  .ckm-p.dfr b{color:var(--ok);text-align:left}
  .ckm-p.dfr b.r{text-align:right}
  .ckm-p.dfr .ckm-big{font-size:48px}
  .ckm-p.dfr b.r{font-size:28px;color:var(--ink)}
  .ckm-p.dfr small.r{text-align:right}
  .ckm-p.dfr .ckm-note{color:var(--ok-tx)}
}

/* ---- 2c. modulo: sezioni numerate, campi con l'etichetta dentro (anche sul tablet: un solo linguaggio fino a 900 px) ---- */
@media (max-width:900px){
  .ck-form{display:flex;flex-direction:column;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;counter-reset:ckn}
  .ck-form h2{display:flex;align-items:center;gap:var(--s3);margin:0 0 var(--s1);font:700 24px/1.1 var(--f-head);letter-spacing:-.02em;color:var(--ink)}
  .ck-form h2::before{counter-increment:ckn;content:counter(ckn);flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--deep);color:#fff;font:700 16px/1 var(--f-head);letter-spacing:0}
  .ck-sub{margin:0 0 var(--s4);font:400 15px/1.45 var(--f-body);color:var(--mut);text-wrap:pretty}
  .ck-opt .ck-f>span i{display:none}   /* il pulsante sopra dice gia' 'facoltativo' */
  .ck-pay-h{margin-top:var(--s6)!important}

  .ck-form .ck-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s3);padding:0;border:0}
  .ck-f{position:relative;display:block;margin:0 0 var(--s3)}
  .ck-f>span,.ck-phone .ck-ph>label>span{position:absolute;z-index:1;left:var(--s4);right:var(--s4);top:10px;display:block;margin:0;overflow:hidden;font:600 14px/1.2 var(--f-body);letter-spacing:0;color:var(--mut);white-space:nowrap;text-overflow:ellipsis;pointer-events:none}
  .ck-f>span i{font-style:normal;font-weight:400}
  .ck-phone>span{display:none}
  .ck-ph{display:grid;grid-template-columns:116px minmax(0,1fr);gap:var(--s3)}
  .ck-ph>label,.ck-phone .ck-ph>label{position:relative;display:block}
  .ck-f input,.ck-f select,.ck-f textarea,.ck-ph input,.ck-ph select{display:block;width:100%;min-height:var(--fld);padding:30px var(--s4) 8px;font:500 17px/24px var(--f-body);color:var(--ink);background-color:var(--carta);border:1px solid var(--bd-field);border-radius:var(--r-md);-webkit-appearance:none;appearance:none;scroll-margin-top:calc(var(--hh) + var(--s5))}
  .ck-f textarea{min-height:104px;padding-top:36px;resize:none}
  .ck-f select,.ck-ph select{padding-right:36px;background-image:var(--chev-b,none);background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
  .ck-f input:focus,.ck-f select:focus,.ck-f textarea:focus,.ck-ph input:focus,.ck-ph select:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px rgba(18,95,123,.16)}
  .ck-f input[aria-invalid="true"],.ck-f textarea[aria-invalid="true"],.ck-ph input[aria-invalid="true"]{background-color:var(--carta);border-color:var(--err);box-shadow:0 0 0 1px var(--err)}
  .ck-f small{display:block;margin:6px var(--s4) 0;font:400 14px/1.4 var(--f-body);color:var(--mut)}
  .ck-f small.ck-err,.ck-err{display:flex;align-items:flex-start;gap:6px;margin:6px var(--s4) 0;font:600 14px/1.4 var(--f-body);color:var(--err)}
  .ck-err::before{content:"";flex:none;width:16px;height:16px;margin-top:2px;background:currentColor;-webkit-mask:var(--ic-info) center/contain no-repeat;mask:var(--ic-info) center/contain no-repeat}
  .ck-f:has(.ck-err) small:not(.ck-err){display:none}   /* il suggerimento lascia il posto all'errore */
  .ck-kids{font-size:14px}

  /* facoltativi: chiusi finche' l'ospite non li apre */
  .ck-opt{margin:0}
  .ck-opt-t{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);width:100%;min-height:56px;margin:0;padding:0 var(--s4);background:transparent;border:1.5px solid var(--line-2);border-radius:var(--r-md);font:600 16px/1.25 var(--f-body);color:var(--ink);text-align:left;cursor:pointer}
  .ck-opt-t::after{content:"";flex:none;width:22px;height:22px;background:var(--brand);-webkit-mask:var(--ic-plus) center/contain no-repeat;mask:var(--ic-plus) center/contain no-repeat;transition:transform .2s var(--ease)}
  .ck-opt-t[aria-expanded=true]::after{transform:rotate(45deg)}
  .ck-opt-t:active{background:var(--calce-2)}
  .ck-opt:not(.open) .ck-opt-b{display:none}
  .ck-opt.open .ck-opt-b{padding-top:var(--s3)}

  /* pagamento: il Payment Element di Stripe sta in un riquadro carta */
  .ck-pay{position:relative;margin:0 0 var(--s4);padding:0;min-height:258px}   /* l'altezza finale e' riservata subito: il riquadro non cambia mai misura mentre Stripe si monta */
  .ck-pay[aria-busy=true]::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%);transform:translateX(-100%);animation:ck-shim 1.5s var(--ease) infinite;pointer-events:none}
  .ck-pay-load{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--s3);padding:var(--s7) 0;font:400 15px/1.4 var(--f-body);color:var(--mut)}
  .ck-pay-load::before{content:"";width:26px;height:26px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--brand);animation:cfs 1s linear infinite}

  /* consenso */
  .ck-t{display:flex;align-items:flex-start;gap:var(--s3);min-height:44px;margin:var(--s2) 0 var(--s4);font:400 15px/1.45 var(--f-body);color:var(--ink)}
  .ck-t{flex-wrap:wrap}
  .ck-nr{display:flex;align-items:flex-start;gap:var(--s3);margin:var(--s2) 0 var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--amb-bg);color:var(--amb);font:600 15px/1.4 var(--f-body)}
  .ck-nr .ic{flex:none;width:22px;height:22px;margin-top:1px}
  .ck-nr span{min-width:0;text-wrap:pretty}
  .ck-t span{flex:1 1 0;min-width:0;line-height:1.45}
  .ck-t .ck-err{flex:1 1 calc(100% - 40px);min-width:0;max-width:calc(100% - 40px);margin:0 0 0 40px}   /* 100% + 40px di margine allargava la pagina di 20px */
  .ck-t-x{display:none}
  .ck-t a{padding-block:14px;color:var(--brand);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}   /* il padding di un elemento in linea allarga solo l'area del tocco (44 px), non le righe */
  .ck-t input[type=checkbox]{-webkit-appearance:none;appearance:none;flex:none;width:28px;height:28px;margin:0;border:2px solid var(--bd-field);border-radius:9px;background:var(--carta) center/18px no-repeat;cursor:pointer}
  .ck-t input[type=checkbox]:checked{background-color:var(--brand);border-color:var(--brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
  .ck-t input[type=checkbox]:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
  .ck-t input[aria-invalid="true"]{border-color:var(--err);box-shadow:0 0 0 3px rgba(179,38,30,.18)}

  /* esito, pulsante, rassicurazioni, aiuto (nell'ordine in cui compaiono) */
  .ck-msg{order:1;margin:0 0 var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-md);font:500 15px/1.45 var(--f-body)}
  .ck-msg.show.err{background:var(--err-bg);color:var(--err-tx)}
  .ck-go{order:2;min-height:var(--ctl-lg);padding:var(--s3) var(--s5);font:600 17px/1.2 var(--f-head);letter-spacing:0}
  .ck-go-l{display:block;text-align:center}
  .ck-go-s,.ck-go-p{white-space:nowrap}
  .ck-go-d{display:none}
  .ck-go-n{display:block;margin-top:var(--s1);font:500 14px/1.3 var(--f-body)}
  .ck-go-z{display:inline}
  .ck-trust{order:3;display:grid;gap:var(--s3);margin:var(--s5) 0 0;padding:0;list-style:none;font:400 15px/1.4 var(--f-body);color:var(--ink)}
  .ck-trust li{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:var(--s3);min-height:36px}
  .ck-trust .ic{box-sizing:border-box;width:36px;height:36px;padding:9px;border-radius:12px;background:var(--maiolica);color:var(--brand)}
  .ck-help{order:4;margin:var(--s5) 0 0;font:400 15px/1.4 var(--f-body);color:var(--mut)}
  .ck-help a{display:inline-flex;align-items:center;min-height:44px;color:var(--brand);font-weight:700;text-decoration:underline;text-decoration-color:var(--sole);text-decoration-thickness:2px;text-underline-offset:4px}
  .ck-help-wa{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;column-gap:var(--s3);padding:var(--s3) var(--s4);background:var(--carta);border:1px solid var(--line);border-radius:var(--r-lg);color:var(--ink)}
  .ck-help-wa .ck-help-ic{display:grid;place-items:center;grid-row:1/3;width:44px;height:44px;border-radius:50%;background:var(--ok-bg);color:var(--ok)}
  .ck-help-wa .ck-help-ic .ic{width:24px;height:24px}
  .ck-help-wa .ck-help-b{font:700 17px/1.2 var(--f-head);color:var(--ink)}
  .ck-help-wa a{grid-column:2;justify-self:start;min-height:44px;margin-top:0;font-size:15px}
  .ck-help-wa a::after{content:"";position:absolute;inset:0}   /* tutta la scheda e' il link */
  .ck-help-wa a:focus-visible{outline:0}
  .ck-help-wa:has(a:focus-visible){outline:3px solid var(--brand);outline-offset:3px}
}
@media (max-width:339px){.ck-form .ck-row,.fgrid2{grid-template-columns:minmax(0,1fr)}}
@media (max-width:1060px){:root{--chev-b:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23125F7B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}}

/* ---- 2d. barra fissa del checkout: totale a sinistra, un verbo a destra ---- */
@media (max-width:900px){
  .ck-bar{display:flex;gap:var(--s3)}
  html.menu-open .ck-bar{display:none}
  .ck-bar-t{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:none}
  .ck-bar-t>span{display:flex;align-items:baseline;gap:6px}
  .ck-bar-t b{font:700 26px/1.1 var(--f-head);letter-spacing:-.02em;color:var(--ink)}
  .ck-bar-t small{font:400 14px/1.2 var(--f-body);color:var(--mut)}
  .ck-bar-t i{font:700 14px/1.3 var(--f-body);font-style:normal;color:var(--ok)}
  .ck-bar-t i.nr{color:var(--amb)}
  .ck-bar .btn{flex:1 1 auto;max-width:260px;min-height:var(--ctl-lg);padding:0 var(--s4) 0 var(--s5);font:600 17px/1.1 var(--f-head)}
  .ck-bar .btn::after{content:"";flex:none;width:18px;height:18px;margin-left:2px;background:currentColor;-webkit-mask:var(--ic-lock) center/contain no-repeat;mask:var(--ic-lock) center/contain no-repeat}
  .ck-bar .ck-go-l{display:block}
  .ck-bar .ck-go-p,.ck-bar .ck-go-d,.ck-bar .ck-go-n{display:none}
  .ck-bar .btn[disabled]{opacity:.7}
}
@media (max-width:359px){
  .ck-bar-t b{font-size:22px}
  .ck-bar .btn{padding:0 var(--s3) 0 var(--s4);font-size:16px}
}

/* ---- 2e. footer ridotto nel percorso: solo le condizioni ---- */
@media (max-width:900px){
  .pg-checkout .fgrid>div:nth-child(-n+2),.pg-pay .fgrid>div:nth-child(-n+2){display:none}
  .pg-checkout .fgrid>div:nth-child(3),.pg-pay .fgrid>div:nth-child(3){grid-column:1/-1}
  .pg-checkout .fgrid>div:nth-child(3) h3,.pg-pay .fgrid>div:nth-child(3) h3{display:none}
  .pg-checkout .fgrid>div:nth-child(3) ul,.pg-pay .fgrid>div:nth-child(3) ul{display:flex;flex-wrap:wrap;gap:0 var(--s5)}
  .pg-checkout .fgrid>div:nth-child(3) li:is(:nth-child(1),:nth-child(2),:nth-child(4),:nth-child(5)),
  .pg-pay .fgrid>div:nth-child(3) li:is(:nth-child(1),:nth-child(2),:nth-child(4),:nth-child(5)){display:none}
  .pg-checkout .site-footer,.pg-pay .site-footer{padding-top:var(--s5)}
  .pg-checkout .fgrid li.fl-l,.pg-pay .fgrid li.fl-l{display:block}
  .pg-checkout .flegal,.pg-pay .flegal{display:none}
  .pg-checkout .legal,.pg-pay .legal{margin-top:var(--s4);padding-bottom:calc(var(--s5) + env(safe-area-inset-bottom))}
}

/* ---- 2f. stati vuoti ed errori: l'emblema del marchio (due cupole e il sole), un titolo, una via d'uscita ---- */
@media (max-width:900px){
  :root{--ic-cal-b:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23125F7B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2.5'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}
  :root{--domes:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 44'%3E%3Cg fill='%23125F7B'%3E%3Cpath d='M14 42a27 27 0 0 1 54 0z'/%3E%3Cpath d='M60 42a21 21 0 0 1 42 0z' stroke='%23DCEEF3' stroke-width='2.5'/%3E%3Crect x='4' y='40' width='112' height='2.6' rx='1.3'/%3E%3C/g%3E%3C/svg%3E")}
  :root{--emblem:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 44'%3E%3Ccircle cx='97' cy='14' r='9.5' fill='%23FFC83D'/%3E%3Cg fill='%23125F7B'%3E%3Cpath d='M14 42a27 27 0 0 1 54 0z'/%3E%3Cpath d='M60 42a21 21 0 0 1 42 0z' stroke='%23FFFDF9' stroke-width='2.5'/%3E%3Crect x='4' y='40' width='112' height='2.6' rx='1.3'/%3E%3C/g%3E%3C/svg%3E")}
  .ck-bad{display:block;margin:0 0 var(--s4);padding:var(--s6) var(--gut) var(--s5);background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-xl);box-shadow:var(--sh-1);color:var(--ink);font:400 17px/1.5 var(--f-body);text-align:center}
  .ck-bad::before{content:"";display:block;width:132px;height:48px;margin:0 auto var(--s4);background:var(--emblem) center/contain no-repeat}
  .ck .ck-bad-h{display:block;margin:0 0 var(--s3);font:700 26px/1.1 var(--f-head);letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
  .ck-bad p{margin:0 0 var(--s5);color:var(--ink-2)}
  /* nel checkout la scheda e' il riepilogo stesso: il guscio .ck-bad-w porta l'emblema, il titolo, il testo e l'uscita */
  .ck-bad-w{display:block;padding:var(--s6) var(--gut) var(--s5);text-align:center}
  .ck-bad-w::before{content:"";display:block;width:132px;height:48px;margin:0 auto var(--s4);background:var(--emblem) center/contain no-repeat}
  .ck-bad-w .ck-bad{margin:0 0 var(--s5);padding:0;border:0;border-radius:0;box-shadow:none;background:none}
  .ck-bad-w .ck-bad::before{display:none}
  .ck-bad-a{margin:0;padding:0}
  .ck-bad-a .btn{width:100%;min-height:var(--ctl);font-size:16px}
  .ck-bad .cf-act{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3);margin:0}
  .ck-bad .cf-act .btn{width:100%;min-height:var(--ctl);padding:var(--s3) var(--s4);font:600 16px/1.2 var(--f-head)}
  .ck-bad .btn-accent,.ck-bad-a .btn-ghost{background:var(--deep);color:#fff;box-shadow:none}   /* l'azione di prenotazione non c'e': nessun terracotta su uno stato di errore */
  .ck-bad .btn-accent:active,.ck-bad-a .btn-ghost:active{background:var(--brand-d)}
  .ck-bad .btn-ghost{background:var(--carta);color:var(--deep);box-shadow:inset 0 0 0 1.5px var(--line-2)}
  .m-only{display:inline}
  .d-only{display:none}
}

/* ---- 2g. pagine brevi (errori, gestisci, 404): il petrolio del footer arriva sempre in fondo allo schermo ---- */
@media (max-width:1060px){
  body.pg-checkout,body.pg-confirmed,body.pg-manage,body.pg-pay,body:has(.nf){min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
  body.pg-checkout>main,body.pg-confirmed>main,body.pg-manage>main,body.pg-pay>main,body:has(.nf)>main{flex:1 0 auto;min-width:0}
  body.pg-checkout>.site-footer,body.pg-confirmed>.site-footer,body.pg-manage>.site-footer,body.pg-pay>.site-footer,body:has(.nf)>.site-footer{margin-top:auto}
}

/* ---- 3. conferma e gestione: stesso linguaggio del checkout ---- */
@media (max-width:700px){
  .cfm{max-width:none}
  .cf-wait{flex-direction:column;align-items:center;justify-content:center;gap:var(--s3);min-height:calc(100vh - var(--hh) - 170px);min-height:calc(100svh - var(--hh) - 170px);padding:var(--s6) var(--s2);text-align:center;font:700 26px/1.15 var(--f-head);letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
  .cf-wait .cf-spin{width:34px;height:34px;margin-bottom:var(--s2)}
  .cf-wait-s{display:block;max-width:300px;font:400 16px/1.45 var(--f-body);letter-spacing:0;color:var(--mut)}
  .cf-ok .lead .cf-spin{width:22px;height:22px;margin-top:2px}
  .cf-ok{display:block}
  .cf-ok>.ic{display:block;box-sizing:border-box;width:76px;height:92px;margin:0 0 var(--s5);padding:21px;border-radius:38px 38px 18px 18px;background:var(--sole);color:var(--deep);stroke-width:2.6;animation:cf-pop .5s var(--ease) both}
  .cf-ok.is-off>.ic{display:none}
  /* conferma: la foto della struttura in un arco (finestra), col sole e la spunta che sporgono dal bordo */
  .pg-confirmed .cf-ok>.ic,.pg-manage .cf-ok>.ic{display:none}
  .cf-ok.is-off .cf-arch-ok{display:none}
  .cf-ok.is-off .cf-arch{margin-bottom:var(--s5)}
  .cf-ok.is-off .cf-arch-ph{filter:grayscale(.65)}
  .pg-manage .cf-ok .cf-arch{--ah:clamp(176px,24svh,210px);--rv:calc(var(--ah) - 56px);margin-bottom:var(--s7)}   /* stesse proporzioni della conferma: un arco, non una calotta */
  .cf-ok .cf-arch{--ah:clamp(160px,26svh,230px);--rv:calc(var(--ah) - 44px);display:block;position:relative;width:100%;max-width:440px;height:var(--ah);margin:0 0 var(--s7);border-radius:50% 50% 22px 22px / var(--rv) var(--rv) 22px 22px;background:var(--sole-lt);box-shadow:var(--sh-2);animation:cf-pop .6s var(--ease) both}
  .cf-arch-ph{position:absolute;inset:0;border-radius:inherit;overflow:hidden;background:var(--maiolica) center/cover no-repeat}
  .cf-arch-ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,47,63,.18) 0,rgba(7,47,63,0) 38%)}
  .cf-arch-ok{position:absolute;right:var(--s5);bottom:-28px;z-index:1;display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--sole);color:var(--deep);box-shadow:0 0 0 5px var(--calce),var(--sh-1);animation:cf-pop .5s var(--ease) .3s both}
  .cf-arch-ok .ic{width:30px;height:30px;padding:0;margin:0;border-radius:0;background:none;color:var(--deep);stroke-width:2.8}
  .cf-arch.no-ph{--ah:clamp(148px,22svh,190px)}   /* senza foto: l'arco porta le due cupole del marchio */
  .cf-arch.no-ph .cf-arch-ph{background:var(--domes) center 90%/min(58%,230px) auto no-repeat,linear-gradient(180deg,var(--maiolica-2) 0,var(--maiolica) 62%,#EAF4F7 100%)}
  .cf-arch.no-ph .cf-arch-ph::after{display:none}
  .cf-ok h1{margin:0;font:700 clamp(2rem,9.6vw,2.5rem)/1.05 var(--f-head);letter-spacing:-.025em}
  .cf-ok .lead{display:flex;align-items:flex-start;gap:var(--s2);margin:var(--s3) 0 0;font:400 17px/1.5 var(--f-body);color:var(--ink-2)}
  .cf-ok .lead:empty{display:none}
  .cf-ci-top:not([hidden]){display:flex;width:100%;margin:var(--s5) 0 0}

  .cf-card{margin:var(--s4) 0;padding:var(--s4);background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
  .cf-card h2{margin:0 0 var(--s4);font:700 22px/1.15 var(--f-head);letter-spacing:-.015em;color:var(--ink)}
  .cf-card p{margin:0 0 var(--s3);font:400 16px/1.5 var(--f-body);color:var(--ink-2)}
  .cf-card dl{display:block;margin:0}
  .cf-card dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px var(--s4);padding:var(--s3) 0;border-top:1.5px dashed var(--line)}
  .cf-card dl>div:first-child{padding-top:0;border-top:0}
  .cf-card dl>div:last-child{padding-bottom:0}
  .cf-card dt{flex:0 0 auto;max-width:100%;font:600 14px/1.3 var(--f-body);letter-spacing:0;text-transform:none;color:var(--mut);white-space:nowrap}
  .cf-card dd{flex:1 1 40%;min-width:0;margin:0 0 0 auto;text-align:right;font:600 16px/1.35 var(--f-body);color:var(--ink);overflow-wrap:break-word}
  .cf-card dd small{display:block;margin-top:2px;font:400 14px/1.35 var(--f-body);color:var(--mut);text-wrap:balance}
  .cf-card dd small.ok{color:var(--ok-tx)}
  .cf-card dd{text-wrap:balance}
  .cf-card a.cf-tel{display:inline-block;padding:10px 0;margin:-10px 0;color:var(--brand);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
  .cf-card .cf-b dd{font-weight:700}
  .cf-card dl>div.cf-b:first-child dd{font:700 26px/1.1 var(--f-head);letter-spacing:-.02em;color:var(--brand)}
  .cf-steps{counter-reset:s;display:grid;gap:var(--s4);margin:0;padding:0;list-style:none}
  .cf-steps li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--s3);font:400 16px/1.5 var(--f-body);color:var(--ink)}
  .cf-steps li::before{content:counter(s);display:block;place-items:normal;width:auto;height:auto;margin-top:2px;border-radius:0;background:none;font:italic 400 44px/.8 var(--f-acc);letter-spacing:0;color:var(--accent)}

  .cf-act{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3);margin-top:var(--s4)}
  .cf-act .btn,.cf-card .btn{width:100%;min-height:var(--ctl);padding:var(--s3) var(--s4);font:600 16px/1.2 var(--f-head)}
  /* conferma: azioni diverse, gerarchie diverse */
  .cf-steps+.cf-act{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--s5);padding-top:var(--s5);border-top:1.5px dashed var(--line)}
  .cf-act .cf-ic{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--sole-lt);color:var(--deep)}
  .cf-act .cf-ic .ic{width:22px;height:22px}
  .cf-act .cf-tile{flex-direction:column;justify-content:center;gap:var(--s2);min-height:104px;padding:var(--s3);background:var(--carta);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2);text-align:center;font:600 15px/1.2 var(--f-head)}
  .cf-act .cf-tile:active,.cf-act .cf-tile:hover{background:var(--calce-2);color:var(--ink)}
  .cf-act .cf-wa{grid-column:1/-1;justify-content:flex-start;gap:var(--s3);min-height:64px;padding:var(--s2) var(--s4) var(--s2) var(--s3);text-align:left}
  .cf-act .cf-wa .cf-ic{background:var(--ok-bg);color:var(--ok)}
  .cf-act .cf-wa::after{content:"";margin-left:auto;flex:none;width:20px;height:20px;background:var(--brand);-webkit-mask:var(--ic-arrow) center/contain no-repeat;mask:var(--ic-arrow) center/contain no-repeat}
  .cf-act .cf-mng:not([hidden]){grid-column:1/-1;min-height:48px;background:none;box-shadow:none;color:var(--brand);font:700 16px/1.2 var(--f-body);text-decoration:underline;text-decoration-color:var(--sole);text-decoration-thickness:2px;text-underline-offset:5px}
  .cf-act .cf-mng:active,.cf-act .cf-mng:hover{background:none;color:var(--brand-d);transform:none}
  .cf-act [data-cf-checkin]{display:none}   /* sul telefono il check-in sta in alto, sotto la conferma */
  .cf-act .cf-wa{background:var(--carta);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
  .cf-act .cf-wa:active,.cf-act .cf-wa:hover{background:var(--calce-2);color:var(--ink)}
  .cf-wait+[data-cf-main]{margin:0}
  .btn.cf-home{display:inline-flex;width:auto;min-height:var(--ctl-sm);padding:0;background:none;box-shadow:none;color:var(--brand);font:700 16px/1.2 var(--f-body);text-decoration:underline;text-decoration-color:var(--sole);text-decoration-thickness:2px;text-underline-offset:4px}
  .btn.cf-home:active,.btn.cf-home:hover{background:none;transform:none}
  .cf-home-p{margin:var(--s5) 0 0;text-align:center}

  /* gestione: annullamento in due tempi, mai rosso e mai terracotta */
  [data-mg-act]{grid-template-columns:minmax(0,1fr)}
  [data-mg-conf]{margin-top:var(--s4);padding:var(--s4);border-radius:var(--r-lg);background:var(--amb-bg)}
  [data-mg-conf] p{margin:0 0 var(--s4);color:var(--ink)}
  .cf-conf{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3);margin:0}
  .cf-conf .mg-yes{order:0}
  .cf-act .mg-keep{background:var(--deep);color:#fff;box-shadow:none}
  .cf-act .mg-keep:active{background:var(--brand-d)}
  .cf-act .btn-danger,.cf-act .btn-danger:hover{background:var(--carta);color:var(--deep);box-shadow:inset 0 0 0 2px var(--deep)}
  .cf-act .btn-danger:active{background:var(--calce-2);box-shadow:inset 0 0 0 2px var(--deep)}
  [data-mg-form]{margin-top:var(--s5)}
  [data-mg-fmsg] .btn{width:100%;margin:var(--s3) 0 0!important}
  [data-cf-title]:focus-visible,[data-mg-title]:focus-visible{outline:none}   /* titolo messo a fuoco da script per i lettori di schermo: niente cornice */
  .mascot-find{display:none}
  .ck-f input[type=date]{min-width:0;text-align:left;background-image:var(--ic-cal-b);background-repeat:no-repeat;background-position:right 14px center;background-size:20px;padding-right:44px}
  .ck-f input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}
  .ck-f input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:24px}
  [data-mg-find]::before{content:"";display:block;width:120px;height:44px;margin:0 0 var(--s4);background:var(--emblem) left center/contain no-repeat}
  [data-mg-find] .ck-lab:not([hidden]){display:flex;align-items:center;gap:var(--s2);margin:0 0 var(--s3);font:700 12px/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-tx)}
  [data-mg-find] .ck-lab::before{content:"";flex:none;width:18px;height:2px;border-radius:2px;background:currentColor}
}
@keyframes cf-pop{from{opacity:0;transform:scale(.92)}}
@keyframes ck-shim{to{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){.cf-ok>.ic,.cf-ok .cf-arch,.cf-arch-ok{animation:none}.ck-pay-load::before{animation:none}.ck-pay[aria-busy=true]::after{display:none}}

/* ---- 4. pagine di servizio con foto (contatti, proprietari): foto a piena luce, foglio calce che sale ---- */
@media (max-width:700px){
  :root{--ph-s:clamp(168px,27vh,270px)}
}
@supports (height:1svh){@media (max-width:700px){:root{--ph-s:clamp(168px,27svh,270px)}}}
@media (max-width:700px){
  body.pg-service .hero2{display:block;min-height:0;max-height:none;padding:var(--ph-s) 0 0;background:var(--calce);color:var(--ink);text-align:left;--acc-c:var(--accent)}
  body.pg-service .hero2-bg{bottom:auto;height:calc(var(--ph-s) + 40px);background:var(--maiolica-2)}
  body.pg-service .hero2-bg img{object-position:var(--op,50% 50%);filter:saturate(1.06)}
  body.pg-service .hero2-bg::after{background:linear-gradient(180deg,rgba(7,47,63,.5) 0,rgba(7,47,63,.14) 24%,rgba(7,47,63,0) 44%)}   /* foto prima, velo mai: solo un'ombra sottile dietro il logo */
  body.pg-service .hero2-in{display:block;width:100%;margin:0;padding:var(--s5) var(--gut) var(--s6);background:var(--calce);border-radius:var(--r-sheet) var(--r-sheet) 0 0}
  body.pg-service .hero2 h1{margin:0 0 var(--s3);font:700 clamp(2rem,9.2vw,2.4rem)/1.06 var(--f-head);letter-spacing:-.03em;color:var(--ink);text-shadow:none;text-align:left}
  body.pg-service .hero2-sub{margin:0;max-width:none;font:400 17px/1.5 var(--f-body);color:var(--ink-2);opacity:1;text-align:left}
  body.pg-service .eyebrow{display:inline-flex;align-items:center;gap:var(--s2);max-width:100%;min-height:36px;margin:0 0 var(--s4);padding:0 var(--s4) 0 var(--s3);border:0;border-radius:999px;background:var(--sabbia);color:var(--ink);font:600 14px/1.2 var(--f-body);white-space:nowrap}
  body.pg-service .eyebrow .ic{flex:none;width:18px;height:18px;color:var(--brand)}
}

/* ---- 5. contatti ---- */
@media (max-width:700px){
  .o-contact{background:transparent}
  .hero2-page+.o-contact{padding-top:0}
  .c-cards{grid-template-columns:minmax(0,1fr);gap:var(--s3);margin:0 0 var(--s6)}
  .c-card{position:relative;align-items:center;gap:var(--s3);min-height:76px;padding:var(--s3) var(--s4);background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-lg);box-shadow:var(--sh-1);color:var(--ink)}
  .c-card:active{transform:scale(.985)}
  .c-card::after{content:"";flex:none;width:22px;height:22px;margin-left:auto;background:var(--brand);-webkit-mask:var(--ic-arrow) center/contain no-repeat;mask:var(--ic-arrow) center/contain no-repeat}
  .c-ic{flex:none;width:44px;height:44px;border-radius:50%;background:var(--sole-lt);color:var(--deep)}
  .c-ic .ic{width:22px;height:22px}
  .c-card>span:nth-child(2){min-width:0}
  .c-card small{font:700 12px/1.2 var(--f-body);letter-spacing:.1em;color:var(--mut)}
  .c-card b{margin:2px 0;font:600 17px/1.25 var(--f-head);color:var(--ink);overflow-wrap:anywhere}
  .c-card i{font:400 14px/1.35 var(--f-body);color:var(--mut)}
  .c-tel b{white-space:nowrap}
  .c-side{gap:var(--s3)}
}
@media (min-width:600px) and (max-width:700px){.c-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:701px) and (max-width:1000px){.c-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- 6. proprietari ---- */
@media (max-width:700px){
  body.pg-owners .sh,body.pg-owners .center{text-align:left}
  body.pg-owners .sh p,body.pg-owners .o-lead{margin-inline:0}
  body.pg-service .ohero .hero2-sub{margin:0 0 var(--s5)}
  .ocheck{display:grid;gap:var(--s3);margin:0 0 var(--s5);font:500 16px/1.35 var(--f-body);color:var(--ink)}
  .ocheck li:nth-child(n+4){display:none}
  .ocheck li{display:flex;align-items:center;gap:var(--s3)}
  .ocheck .ic{flex:none;box-sizing:border-box;width:28px;height:28px;padding:6px;border-radius:50%;background:var(--ok-bg);color:var(--ok)}
  .obtns{flex-direction:column;gap:var(--s3)}
  .obtns .btn{width:100%}
  .ohero .btn-light{background:var(--carta);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
  .ohero .btn-light:hover,.ohero .btn-light:active{background:var(--calce-2);color:var(--ink)}
  .ohero .btn-light .ic{color:var(--ok)}
  .oq{display:none}   /* il modulo rapido duplica quello completo (#contatto): la foto e il pulsante portano li' */
  .stats-wrap{margin:0;padding:0 0 var(--s4);background:var(--calce)}
  .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:var(--s2) var(--s4);background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
  .stat{padding:var(--s4) 0;text-align:left}
  .stat:nth-child(even){padding-left:var(--s4);border-left:1.5px dashed var(--line)}
  .stat:nth-child(n+3){border-top:1.5px dashed var(--line)}
  .stat b{display:block;font:700 34px/1 var(--f-head);letter-spacing:-.025em;color:var(--ink)}
  .stat b small{font-size:17px;letter-spacing:0;color:var(--mut)}
  .stat span{display:block;margin-top:var(--s1);font:400 14px/1.3 var(--f-body);color:var(--mut)}

  .o-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3)}
  .o-card{max-width:none;display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:var(--s4);align-items:start;padding:var(--s4);background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
  .svc-ic{grid-row:1/3;width:48px;height:48px;margin:0;border-radius:50%;background:var(--sole-lt)}
  .svc-ic .ic{width:24px;height:24px;color:var(--deep)}
  .o-card h3{margin:2px 0 var(--s1);font:700 19px/1.2 var(--f-head);letter-spacing:-.01em}
  .o-card p{font:400 16px/1.5 var(--f-body);color:var(--ink-2)}

  .o-sec.sec-cream{background:var(--sabbia)}
  .o-steps{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
  .o-step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:var(--s4);padding-bottom:var(--s5)}
  .o-step:last-child{padding-bottom:0}
  .o-step:not(:last-child)::before{content:"";position:absolute;left:21px;top:52px;bottom:var(--s2);border-left:2px dashed var(--line-2)}
  .o-n{grid-row:1/3;width:44px;height:44px;margin:0;background:var(--deep);box-shadow:none;font:700 18px/1 var(--f-head)}
  .o-step h3{margin:var(--s2) 0 var(--s1);font:700 19px/1.2 var(--f-head);letter-spacing:-.01em}
  .o-step p{font:400 16px/1.5 var(--f-body);color:var(--ink-2)}

  .o-plans{gap:var(--s3)}
  .o-plan{padding:var(--s5) var(--gut);background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
  .o-plan:hover{transform:none;box-shadow:var(--sh-1)}
  .o-plan h3{margin:0 0 var(--s2);font:700 24px/1.15 var(--f-head);letter-spacing:-.02em}
  .o-plan>p{margin:0 0 var(--s4);font:400 16px/1.5 var(--f-body);color:var(--ink-2)}
  .o-plan ul{gap:var(--s3);margin:0 0 var(--s5);font:500 16px/1.35 var(--f-body);color:var(--ink)}
  .o-plan .ic{color:var(--brand)}
  .o-plan .btn{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--s2);width:auto;min-height:var(--ctl-sm);padding:0;background:none;box-shadow:none;color:var(--brand);font:700 16px/1.2 var(--f-body);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:5px}   /* tre formule, tre inviti: link d'azione, non tre pulsanti uguali */
  .o-plan .btn::after{content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:var(--ic-arrow) center/contain no-repeat;mask:var(--ic-arrow) center/contain no-repeat}
  .o-plan .btn:active,.o-plan .btn:hover{background:none;color:var(--brand-d);transform:none}
  body:has(.o-contact) .site-footer .clist li:nth-child(-n+3){display:none}   /* telefono, email e WhatsApp sono gia' nel blocco contatti sopra il footer */

  .o-advs{margin:var(--s5) 0 0;gap:0}
  .o-advs li{padding:var(--s4) 0;border-top:1px solid rgba(255,255,255,.18);font:400 16px/1.5 var(--f-body);color:rgba(255,255,255,.88)}
  .o-advs li:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
  .o-advs .ic{width:22px;height:22px;margin-top:1px;color:var(--sole)}
  .o-lead{margin-top:var(--s3);color:rgba(255,255,255,.82)}
  .pg-owners .pc .pc-cta{background:var(--deep);box-shadow:none}   /* le strutture sono una vetrina: il terracotta e' solo sul pulsante dei proprietari */
  .pg-owners .sec-top .sh-row .btn{width:100%;margin-top:var(--s4)}
  .oc-side{padding:var(--s5) var(--gut);border-radius:var(--r-xl)}
  .oc-list a{display:inline-flex;align-items:center;min-height:44px}
  .oc-list li{gap:var(--s3)}
}

@media (max-width:700px) and (max-height:700px){
  body.pg-owners .ohero .hero2-sub,body.pg-owners .ocheck{display:none}   /* schermo basso: titolo e pulsante entro il primo schermo */
}

/* ---- 7. moduli di contatto e proprietari ---- */
@media (max-width:700px){
  .formcard{padding:var(--s5) var(--gut);background:var(--carta);border:1px solid var(--line-s);border-radius:var(--r-xl);box-shadow:var(--sh-1)}
  .formcard h2{margin:0 0 var(--s2);font:700 26px/1.1 var(--f-head);letter-spacing:-.02em;color:var(--ink)}
  .formcard>.muted{display:none}   /* ripete la nota 'campi obbligatori' del modulo */
  .icard{padding:var(--s5) var(--gut);background:var(--sabbia);border-radius:var(--r-xl)}
  .icard .h-card{font:700 21px/1.2 var(--f-head);letter-spacing:-.015em}
  .icard .h-card .ic{color:var(--brand)}
  .icard p{font:400 16px/1.5 var(--f-body);color:var(--ink-2)}
  .icard .btn{width:100%;min-height:var(--ctl)}
  .form label:not(.check){position:relative;display:block}
  .form .fl{position:absolute;z-index:1;left:var(--s4);right:var(--s4);top:10px;display:block;overflow:hidden;font:600 14px/1.2 var(--f-body);color:var(--mut);white-space:nowrap;text-overflow:ellipsis;pointer-events:none}
  .form input,.form select,.form textarea{display:block;width:100%;min-height:var(--fld);padding:30px var(--s4) 8px;font:500 17px/24px var(--f-body);color:var(--ink);background:var(--carta);border:1px solid var(--bd-field);border-radius:var(--r-md);-webkit-appearance:none;appearance:none}
  .form select{padding-right:44px;background-image:var(--chev-b);background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
  .form textarea{min-height:128px;padding:36px var(--s4) var(--s3);resize:vertical}
  .form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 4px rgba(18,95,123,.16)}
  .fgrid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3);margin-bottom:var(--s4)}
  .fgrid2>label:nth-child(3),.fgrid2>label:nth-child(4),.fgrid2>label:nth-child(7),.fgrid2>.full{grid-column:1/-1}   /* nome e cognome, citta' e numero affiancati; il resto a tutta larghezza */
  .form .check{align-items:center;min-height:44px;gap:var(--s3)!important;font:400 15px/1.45 var(--f-body)}
  .form .check input{flex:none;width:28px;height:28px;min-height:0;margin:0;padding:0;border-radius:9px;accent-color:var(--brand)}
  .form .check span{line-height:1.45}
  .form .check a{color:var(--brand)}
  .form .btn{width:100%}
  .req{font-size:14px;color:var(--mut)}
  .form-ok{background:var(--ok-bg);color:var(--ok-tx);border-radius:var(--r-md)}
  .form-err{background:var(--err-bg);color:var(--err-tx);border-radius:var(--r-md)}
}

/* ---- 8. pagine legali ---- */
@media (max-width:700px){
  .pg-legal .sec-first{padding-top:var(--s5)}
  .pg-legal .lab{margin-bottom:var(--s3)}
  .h-page{margin:0 0 var(--s5);font:700 clamp(2rem,9.4vw,2.4rem)/1.06 var(--f-head);letter-spacing:-.025em}
  .prose{font:400 16px/1.65 var(--f-body);color:var(--ink-2)}
  .prose strong,.prose b{color:var(--ink)}
  .prose h2{margin:var(--s6) 0 var(--s3);padding-top:var(--s5);border-top:1.5px dashed var(--line);font:700 22px/1.2 var(--f-head);letter-spacing:-.015em;color:var(--ink)}
  .prose h3{margin:var(--s5) 0 var(--s2);font:700 18px/1.3 var(--f-body);color:var(--ink)}
  .prose p,.prose li{overflow-wrap:anywhere}
  .prose ul,.prose ol{padding-left:22px}
  .prose li{margin-bottom:var(--s2)}
  .prose li::marker{color:var(--brand)}
  .prose a{padding-block:11px;color:var(--brand);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
  .prose table{display:block;max-width:100%;overflow-x:auto}
}

/* ---- 9. 404 ---- */
@media (max-width:700px){
  .nf-d{display:none}
  .nf-m{display:inline}
  .nf{padding-top:var(--s6)}
  .nf .lab{justify-content:center}
  .nf h1{margin:0 0 var(--s2);font:700 clamp(2rem,9.4vw,2.4rem)/1.06 var(--f-head);letter-spacing:-.025em}
  .nf .lead{margin:0 0 var(--s5);font:400 17px/1.5 var(--f-body);color:var(--ink-2)}
  .nf .mascot-in{display:none}   /* mascotte nascosta sotto i 1000 px, come sul resto del sito */
  .nf .wrap::before{content:"";display:block;width:132px;height:48px;margin:0 auto var(--s4);background:var(--emblem) center/contain no-repeat}
  .nf-btns{display:grid;gap:var(--s3);max-width:none;margin:0}
  .nf-btns .btn{width:100%}
  .nf-btns .btn:first-child{min-height:var(--ctl-lg);background:var(--accent);box-shadow:var(--sh-cta)}
}

/* ---- 10. rifiniture del giro 3: proprietari, moduli, 404, indice delle pagine legali ---- */
@media (max-width:700px){
  /* proprietari: barra fissa con l'unica azione, elenco dei vantaggi in quattro punti */
  .mbar-o .mbar-pr b{font-size:18px}
  .mbar-o .btn{flex:none;max-width:58%;padding:0 var(--s4);font-size:16px;white-space:normal;text-align:center;line-height:1.15}
  .o-sec:has(.o-plans)+.o-adv,.o-adv{padding-bottom:var(--s7)}
  .o-advs:not(.open) li:nth-child(n+5){display:none}
  .o-advs:not(.open) li:nth-child(4){border-bottom:1px solid rgba(255,255,255,.18)}
  .o-advs-t{display:flex;align-items:center;justify-content:center;gap:var(--s2);width:100%;min-height:52px;margin:var(--s4) 0 0;padding:0 var(--s4);background:none;border:1.5px solid rgba(255,255,255,.4);border-radius:var(--r-md);color:#fff;font:600 16px/1.2 var(--f-body);cursor:pointer}
  .o-advs-t::after{content:"";flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:var(--ic-plus) center/contain no-repeat;mask:var(--ic-plus) center/contain no-repeat;transition:transform .2s var(--ease)}
  .o-advs-t[aria-expanded=true]::after{transform:rotate(45deg)}
  .o-advs-t:active{background:rgba(255,255,255,.1)}
  .o-advs-t:focus-visible{outline:3px solid var(--sole);outline-offset:3px}
  .o-contact{padding-top:var(--s6)}
  .sec-faq+.o-contact{padding-top:0}

  /* moduli: errori sotto il campo come nel checkout, asterisco e facoltativo leggibili */
  .form .ast{color:var(--accent-tx)}
  .form .full .fl-o{display:inline;font-style:normal;font-weight:400}   /* nelle colonne strette il '(facoltativo)' non entra: solo sui campi a tutta larghezza */
  .form input[aria-invalid="true"],.form select[aria-invalid="true"],.form textarea[aria-invalid="true"]{border-color:var(--err);box-shadow:0 0 0 1px var(--err)}
  .form .ck-err{margin:6px var(--s4) 0}
  .form .check{flex-wrap:wrap}
  .form .check .ck-err{flex:1 1 100%;margin:0 0 0 40px}
  .form .check input[aria-invalid="true"]{outline:0;border-color:var(--err);box-shadow:0 0 0 3px rgba(179,38,30,.18)}

  /* 404: una strada per ripartire */
  .nf-btns .btn:first-child{background:var(--deep);box-shadow:none;color:#fff}
  .nf-btns .btn:first-child:active{background:var(--brand-d)}
  .nf .lead{font:400 15px/1.45 var(--f-body);color:var(--mut)}
  .nf-pl{display:block;margin:var(--s6) 0 0;padding-top:var(--s5);border-top:1.5px dashed var(--line);text-align:left}
  .nf-pl-h{margin:0 0 var(--s3);font:700 12px/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
  .nf-pl ul{display:flex;flex-wrap:wrap;gap:var(--s2);margin:0 0 var(--s5);padding:0;list-style:none}
  .nf-pl li a{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--s4);border-radius:22px;background:var(--sabbia);color:var(--ink);font:600 16px/1 var(--f-body);text-decoration:none}
  .nf-pl li a:active{background:var(--sabbia-2)}
  .nf-pl .nf-pl-d{width:100%;min-height:var(--ctl-lg)}

  /* pagine legali: indice a chip che scorrono */
  .prose .leg-idx{display:block;margin:0 calc(var(--gut) * -1) var(--s5);padding:0 var(--gut);overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-left:var(--gut);scrollbar-width:none}
  .prose .leg-idx::-webkit-scrollbar{display:none}
  .prose .leg-idx ul{display:flex;gap:var(--s2);width:max-content;margin:0;padding:0 var(--gut) var(--s1) 0;list-style:none}
  .prose .leg-idx li{margin:0;scroll-snap-align:start}
  .prose .leg-idx a{display:flex;align-items:center;min-height:44px;padding:0 var(--s4);border-radius:22px;background:var(--sabbia);color:var(--ink);font:600 15px/1 var(--f-body);text-decoration:none;white-space:nowrap}
  .prose .leg-idx a:active{background:var(--sabbia-2)}
  .prose h2[id]{scroll-margin-top:calc(var(--hh) + var(--s4))}
}


/* =====================================================================================================
   GIRO CORREZIONI 1 (telefono). Regole solo dentro @media (max-width:...); a >= 1061 px gli elementi nuovi restano nascosti.
   Ordine: 0 nascosti sul computer · 1 colori e titoli · 2 menu e cookie · 3 home e citta' · 4 scheda · 5 percorso di prenotazione · 6 servizio
   ===================================================================================================== */

/* ---- 0. elementi nuovi: nascosti sul computer ---- */
.nav-dock{display:contents}
.menu-go,.m-act,.ck-bad-m,.ck-pay-err .btn,.ck-pay-err .linkbtn{display:none}
.ck-pay-err p{margin:0}
.nb{white-space:nowrap}
.nl{display:inline}

/* ---- 1. colori e titoli ---- */
@media (max-width:1060px){
  .sec-why,#recensioni,.site-footer,.nav{--acc-c:#fff}   /* sui fondi scuri la parola in corsivo e' bianca (il serif la distingue): il giallo resta su icone e stelle */
  .sh p,.rev2-r p,.faq p.sub,.sec-faq .sh p,.final p,.own p,.ftag{text-wrap:balance}
  .chips2 .nl{display:block}
}

/* ---- 2. menu e cookie ---- */
@media (max-width:1060px){
  .nav-dock{position:sticky;bottom:0;z-index:2;display:grid;gap:var(--s3);margin:var(--s4) 0 calc(-1 * (var(--s5) + env(safe-area-inset-bottom)));padding:var(--s4) 0 calc(var(--s5) + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--deep) 68%,transparent)}   /* invito a scegliere le date e lingua: sempre a vista in fondo al menu */
  .nav-dock .menu-go{display:flex;justify-content:center;width:auto;min-height:var(--ctl-lg);margin:0;padding:0 var(--s5);border-top:0;font:600 17px/1.15 var(--f-head);color:#fff}
  .nav-dock .lang-dd{position:static;margin:0;padding:0;background:none}
  html.menu-open .site-header:not(.stuck),html.menu-open .site-header.stuck{background:radial-gradient(circle at 100% 0,rgba(43,156,184,.42),transparent 70%) no-repeat 100% 0/420px 420px,var(--deep);box-shadow:none}   /* la lista che scorre non passa piu' sotto il logo */
  .nav.open{-webkit-mask-image:linear-gradient(to bottom,transparent var(--hh),#000 var(--hh));mask-image:linear-gradient(to bottom,transparent var(--hh),#000 var(--hh))}   /* scorrendo, le voci si fermano sotto l'intestazione (che ha lo stesso fondo) e non toccano il logo */
  .lang-dd>.dd-menu a{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4);color:#fff}
  .lang-dd>.dd-menu a[aria-current]{background:var(--sole);color:var(--deep);box-shadow:none}   /* attiva: piena gialla come nel footer; l'altra solo contorno */
  .m-act{display:inline-flex}
  .ck-pay-err .btn,.ck-pay-err .linkbtn{display:inline-flex}
}
@media (max-width:1060px) and (max-height:700px){
  .nav-dock{position:static;margin:var(--s4) 0 0;padding:0;background:none}
  .nav-dock .menu-go{min-height:var(--ctl)}
}
@media (max-width:700px){
  /* banner cookie: una fascia bassa (testo, due pulsanti, Personalizza sulla riga del testo); senza titolo visibile (resta per i lettori di schermo) */
  .cookie:not(.ck-open) h2{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .cookie:not([hidden]):not(.ck-open){grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--s3) var(--gut) calc(var(--s3) + env(safe-area-inset-bottom))}
  .cookie:not(.ck-open) .ck-text{grid-area:1/1/2/-1;margin:0 0 var(--s3);padding-right:calc(var(--s2) + 102px);font:400 14px/1.4 var(--f-body)}   /* a destra resta il posto di 'Personalizza' */
  .cookie:not(.ck-open) .ck-text a{display:inline-block;padding-block:11px;margin-block:-11px}
  .cookie:not(.ck-open) .ck-btns [data-ck=custom]{grid-area:1/2;align-self:center;justify-self:end;z-index:1;min-height:44px;margin:0 0 var(--s3);padding:0;font-size:14px;background:none}
  .cookie:not(.ck-open) .ck-btns [data-ck=reject]{grid-area:2/1;min-height:44px}
  .cookie:not(.ck-open) .ck-btns [data-ck=all]{grid-area:2/2;min-height:44px}
  .ck-sw i{background:#7d929b}   /* spento: almeno 3:1 sul fondo */
  .ck-sw i::after{box-shadow:0 1px 3px rgba(0,0,0,.35)}
}
@media (max-width:359px){
  .cookie:not(.ck-open) .ck-text{padding-right:0}
  .cookie:not(.ck-open) .ck-btns [data-ck=custom]{grid-area:2/1/3/-1;justify-self:center;margin:0;background:none}
  .cookie:not(.ck-open) .ck-btns [data-ck=reject]{grid-area:3/1}
  .cookie:not(.ck-open) .ck-btns [data-ck=all]{grid-area:3/2}
}

/* ---- 3. home e citta' ---- */
@media (max-width:700px){
  /* citta': atterraggio sulla pillola date con un margine uguale a quello laterale */
  #alloggi{scroll-margin-top:calc(var(--hh) + var(--s3) + 24px)}
  /* citta': il blocco prezzo ha sempre la stessa forma (totale / per N notti / a notte) e il pulsante resta allineato */
  .pcard .pc-price:has(.pr-t){min-height:88px;justify-content:flex-end}
  .pcard .pc-price:has(.pr-t) .pr-t{flex-direction:column;flex-wrap:nowrap;align-items:flex-start;column-gap:0}
  /* citta': durante l'attesa dei prezzi le card restano al loro posto (stessa altezza di quando arrivano) con un riflesso, nessun salto di pagina */
  html.prices-wait .props>.pcard{position:relative;pointer-events:none}
  html.prices-wait .props>.pcard>*{visibility:hidden}
  html.prices-wait .props>.pcard::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,#eef3f5 25%,#f7fafb 50%,#eef3f5 75%) 0 0/200% 100%;animation:uli-shimmer 1.2s linear infinite}
  /* home: riga dettagli delle card su due righe invece dei puntini */
  .pc-m p{-webkit-line-clamp:2}
  /* home: recensioni, meno spazio morto dopo il carosello */
  .rev2 .rv-track{padding-bottom:var(--s6);margin-bottom:calc(-1 * (var(--s6) - 12px))}   /* l'ombra ha spazio per sfumare, lo spazio visivo resta quello di prima */
  .rev2 .dots{margin-top:var(--s1)}
  .sec-rev2{padding-bottom:0}
}
@media (max-width:700px) and (prefers-reduced-motion:reduce){html.prices-wait .props>.pcard::after{animation:none}}
@media (max-width:359px){
  .pc-cta .cta-m{white-space:normal}
}

/* ---- calendario del telefono: 12 mesi in colonna, titolo del mese che resta in cima mentre si scorre, nessuna freccia ---- */
@media (max-width:700px){
  .pop-cal .cm-t{position:sticky;top:0;z-index:2;background:var(--calce);margin-bottom:0}
  .pop-cal .cn{display:none}
}

/* ---- 4. scheda struttura ---- */
@media (max-width:1000px){
  /* atterraggio su #camere con le date: la striscia date in cima, la prima camera subito sotto */
  #camere.rm-dated{scroll-margin-top:calc(8px - var(--rm-lead,100px))}
  /* indirizzo: 'Mappa' e 'Edit' sempre toccabili */
  .pp-head .pc-addr a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding-inline:var(--s2);margin-inline:calc(-1 * var(--s2))}
  .rm-strip [data-rm-open]{display:inline-flex;align-items:center;justify-content:center;min-width:44px}
  /* carta camera: un solo asse (12 px) per foto, titolo, riquadri e pulsante; stessi raggi */
  .rm{padding:var(--s3)}
  .rm .rm-media{aspect-ratio:16/10;height:auto;max-height:260px;border-radius:var(--r-md)}   /* la foto e' il primo criterio di scelta: 16:10 mostra il letto e mezza stanza, non una fascia */
  .rm-dist,.rm-dupf{display:none}   /* due carte con lo stesso titolo: letti e metri quadri sono gia' nella lista con le icone */
  .rm .rm-body{padding:var(--s4) 0 0}
  .rm .rm-plans{padding:0}
  .rm .rm-book{padding:0}
  .rm-plan{border-radius:var(--r-md);row-gap:6px}
  .rm-go{border-radius:var(--r-md)}
  /* tariffa: titolo e prezzo sulla prima riga, le condizioni a tutta larghezza sotto (una riga ciascuna) */
  .rm-pi{display:contents}
  .rm-plan>.rm-rd{grid-column:1;grid-row:1}
  .rm-pi>b{grid-column:2;grid-row:1;justify-self:start}
  .rm-plan>.rm-pp{grid-column:3;grid-row:1}
  .rm-pi>.rm-c,.rm-pi>small,.rm-pi>.rm-promo{grid-column:2/-1}
  .rm-1 .rm-pi>b{grid-column:1}
  .rm-1 .rm-plan>.rm-pp{grid-column:2}
  .rm-1 .rm-pi>.rm-c,.rm-1 .rm-pi>small,.rm-1 .rm-pi>.rm-promo{grid-column:1/-1}
  .rm-c{text-wrap:pretty}
  .rm-same{margin-top:var(--s1)}
  /* servizi: tessere della stessa altezza, con aria ai lati */
  .am-grid li{min-height:56px;padding-inline:14px 12px}
  /* dettagli: il CIN non si spezza mai */
  .dd-code{white-space:nowrap;font-size:14px;letter-spacing:0;font-variant-numeric:tabular-nums}
  /* una sola recensione: a tutta larghezza, staccata dal voto */
  .rv-grid>.rv-s:only-child{flex:1 1 100%;max-width:none}
  .rv-grid+.pp-rate{margin-top:var(--s4)}
  /* recensioni petrolio e fascia sabbia: stessa testa arrotondata delle fasce di home e citta' */
  #recensioni,.pp-amen{border-radius:var(--r-sheet) var(--r-sheet) 0 0}
}
@media (max-width:340px){
  .am-grid{grid-template-columns:minmax(0,1fr)}
  .am-grid li.am-w{order:0}
}

/* ---- 5. percorso di prenotazione ---- */
@media (max-width:1060px){
  :root{--ic-arrow-d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M6 13l6 6 6-6'/%3E%3C/svg%3E")}
  html.hdr-hide:not(.menu-open) body.pg-checkout .site-header,html.hdr-hide:not(.menu-open) body.pg-pay .site-header{transform:none;box-shadow:0 1px 0 var(--line)}   /* il filetto sotto l'intestazione resta anche scorrendo */
}
@media (min-width:701px) and (max-width:900px){
  .ck-grid{max-width:640px;margin-inline:auto}
}
@media (max-width:900px){
  /* primo schermo: meno riepilogo, piu' modulo (il primo campo si vede sopra la barra) */
  .ck{padding-top:var(--s3)}
  .ck-hi:not([hidden]){margin:0 0 var(--s3);font-size:clamp(1.75rem,8vw,2.1rem)}
  .ck-grid{gap:var(--s5)}
  .ckm-h{grid-template-columns:60px minmax(0,1fr);gap:var(--s3);align-items:start;padding:var(--s3) var(--s4)}
  .ckm-ph{width:60px;height:68px;border-radius:30px 30px 10px 10px}
  .ckm-w{display:block;margin-top:var(--s1);font:400 15px/1.35 var(--f-body);color:var(--mut)}
  .ckm-w b{font-weight:600;color:var(--ink)}
  .ckm-k{margin:0;padding:0 var(--s4) var(--s3);font:400 14px/1.4 var(--f-body);color:var(--mut)}
  .ckm-tax{margin:0;padding:var(--s2) var(--s4) var(--s3);font:400 14px/1.4 var(--f-body);color:var(--mut)}
  .ckm-tax .ckm-tv{color:var(--ink-2)}
  .ckm-h.no-ph{grid-template-columns:minmax(0,1fr)}
  .ck-m .ckm-n{font-size:22px}
  .ckm-r{display:block;margin-top:2px;font:500 15px/1.3 var(--f-body);color:var(--ink-2)}
  .ckm-c{padding:var(--s3) var(--s4)}
  .ckm-c>.ic{box-sizing:border-box;width:40px;height:24px;padding:0 16px 0 0}   /* stessa colonna dell'icona delle date: il testo parte alla stessa x */
  .ckm-c span{text-wrap:balance}
  .ckm-p{padding:var(--s3) var(--s4)}
  .ckm-p.dfr{padding-top:var(--s3);padding-bottom:var(--s3)}
  /* scheletro del riepilogo: stessa altezza e stessa struttura del riepilogo vero */
  .pg-checkout .ck-skel{display:grid;gap:var(--s4);align-content:start;min-height:372px;padding:var(--s4);overflow:hidden}
  .pg-checkout .ck-skel i{height:22px;border-radius:8px}
  .pg-checkout .ck-skel i:first-child{width:72px!important;height:80px;border-radius:36px 36px 12px 12px}
  .pg-checkout .ck-skel::after{content:"";height:112px;border-radius:var(--r-md);background:rgba(11,37,48,.06)}
  .pg-checkout .ck-skel i,.pg-checkout .ck-skel::after{animation:uli-pulse 1.2s ease-in-out infinite}
  /* barra fissa a form incompleto: dice cosa succede al tocco */
  .ck-bar .btn.is-fill::after{-webkit-mask-image:var(--ic-arrow-d);mask-image:var(--ic-arrow-d)}
  /* footer del percorso: i link legali in due colonne allineate */
  .pg-checkout .fgrid>div:nth-child(3) ul,.pg-pay .fgrid>div:nth-child(3) ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s4)}
  .pg-checkout .fgrid li a,.pg-checkout .fgrid .linkbtn,.pg-pay .fgrid li a,.pg-pay .fgrid .linkbtn{font-size:15px;line-height:1.2}
}
@media (max-width:900px) and (prefers-reduced-motion:reduce){.pg-checkout .ck-skel i,.pg-checkout .ck-skel::after{animation:none}}
@media (max-width:900px){
  /* campo facoltativo: titolo + sottotitolo su due righe, stesso bordo dei campi */
  .ck-opt-t{min-height:60px;padding:var(--s3) var(--s4);border:1px solid var(--bd-field)}
  .ck-opt-x{display:flex;flex-direction:column;gap:2px;text-align:left}
  .ck-opt-s{font:400 14px/1.3 var(--f-body);color:var(--mut)}
  .ck-trust li{text-wrap:pretty}
  /* esito del pagamento: con icona, sempre portato in vista */
  .ck-msg.show.err{position:relative;padding-left:calc(var(--s4) + 26px);scroll-margin-top:calc(var(--hh) + var(--s4))}
  .ck-msg.show.err::before{content:"";position:absolute;left:var(--s4);top:calc(var(--s3) + 3px);width:18px;height:18px;background:currentColor;-webkit-mask:var(--ic-info) center/contain no-repeat;mask:var(--ic-info) center/contain no-repeat}
  /* pagamento non caricato: niente rotellina, due azioni */
  .ck-pay:has(.ck-pay-err){min-height:0}
  .ck-pay-err::before{display:none}
  .ck-pay-err{padding:var(--s5) 0;gap:var(--s3);text-align:center}
  .ck-pay-err p{color:var(--ink-2);font:400 15px/1.45 var(--f-body)}
  .ck-pay-err .btn{width:100%}
  .ck-pay-err .linkbtn{min-height:44px;color:var(--brand);font:700 15px/1.2 var(--f-body);text-align:center}
  /* riepilogo non caricato / camera non piu' disponibile */
  .ck:has(.ck-bad-w){padding-top:var(--s5)}
  .ck-bad-d{display:none}
  .ck-bad-m{display:grid;gap:var(--s3);margin:0}
  .ck-bad-m .btn{width:100%;min-height:var(--ctl);font:600 16px/1.2 var(--f-head)}
  .ck-bad-m .btn-accent{background:var(--deep);color:#fff;box-shadow:none}
  .ck-bad-m .btn-accent.btn-book{background:var(--accent);box-shadow:var(--sh-cta)}
  .ck-bad-m .btn-ghost{background:var(--carta);color:var(--deep);box-shadow:inset 0 0 0 1.5px var(--line-2)}
  .ck-bad-m .ck-bad-l,.ck-bad .cf-act .ck-bad-l{min-height:44px;background:none;box-shadow:none;color:var(--brand);font:700 15px/1.2 var(--f-body);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}
}

/* ---- 6. servizio: conferma, gestione, pagamento, pagine ---- */
@media (max-width:700px){
  .cf-card a.cf-tel{white-space:nowrap}
  .cf-card dl>div:has(.cf-tel) dd{flex:0 0 auto}
  .ck-bad p{text-wrap:pretty}
  .cf-mng{text-wrap:balance}
  [data-mg-msg].show{margin-top:var(--s3)}
  [data-mg-msg] a{display:inline-block;padding:12px 0;margin:-12px 0}
  .cf-act .btn:disabled{opacity:.65;cursor:progress}
  .cf-act .btn-danger:disabled::before{content:"";flex:none;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:cfs .7s linear infinite}
  [data-mg-find] .ck-help a{display:flex;width:fit-content;margin-top:var(--s2)}
  /* stati di errore della conferma / gestione / pagamento: l'azione che riporta a prenotare ha il colore dell'azione */
  .ck-bad .cf-act:has(.btn-book) .btn-book{order:-1;background:var(--accent);color:#fff;box-shadow:var(--sh-cta)}
  .ck-bad .cf-act:has(.btn-book) .bad-wa,.ck-bad .cf-act:has(.m-act) .bad-wa{background:var(--carta);color:var(--deep);box-shadow:inset 0 0 0 1.5px var(--line-2)}
  .ck-bad .cf-act:has(.m-act):not(:has(.btn-book)) .m-act{order:-1;background:var(--deep);color:#fff;box-shadow:none}
  .ck-bad .cf-act .m-hide{display:none}
  .ck-bad .cf-act .ck-ok-home{background:var(--deep);color:#fff;box-shadow:none}
  .ck-bad .cf-act .ck-bad-l{order:3}
  /* proprietari: barra fissa senza puntini di sospensione */
  .mbar-o .mbar-pr b{font-size:16px;white-space:nowrap;overflow:visible;text-overflow:clip}
}
@media (max-width:389px){
  .mbar-o .mbar-pr b{display:none}
  .mbar-o .mbar-pr small{font:600 14px/1.25 var(--f-body);color:var(--ink);white-space:normal}
  .mbar-o .btn{flex:1;max-width:none;white-space:nowrap;padding:0 var(--s3)}
}
@media (max-width:359px){
  .mbar-o .mbar-pr{display:none}
  .ohero h1 em,.ohero .hero2-t em{display:block}
  .ohero h1{margin-bottom:var(--s5)}
}

/* schermi bassi (568 di altezza): niente saluto, miniatura piu' piccola: il primo campo si avvicina */
@media (max-width:900px) and (max-height:620px){
  .ck-hi:not([hidden]){display:none}
  .ckm-c{padding-top:var(--s2);padding-bottom:var(--s2)}
}

/* ---- scheda: galleria con anteprima della foto seguente (decisa, non un filo bianco) e voto senza corsivo ---- */
@media (max-width:1000px){
  #recensioni .score-b b{font:700 56px/1 var(--f-head);letter-spacing:-.03em}
}

/* ---- home su schermi bassi (640-660): la foto cala ancora, il pulsante 'Cerca camere' resta sopra il banner cookie ---- */
@media (max-width:700px) and (max-height:660px){
  :root{--ph:clamp(176px,28vh,230px)}
}
@supports (height:1svh){@media (max-width:700px) and (max-height:660px){:root{--ph:clamp(176px,28svh,230px)}}}

/* ---- proprietari: le recensioni hanno la stessa firma della home (iniziale, nome, localita') ---- */
@media (max-width:700px){
  .rv figcaption:has(.rv-av){display:flex;flex-direction:row;align-items:center;gap:var(--s3)}
}

/* ---- tablet e telefono in orizzontale (701-1000): i campi di ricerca hanno lo stesso disegno del telefono (cartolina con bordo e icona); la struttura resta quella di prima ---- */
@media (min-width:701px) and (max-width:1000px){
  .sbar:not(.sbar-card) .sf{border-radius:var(--r-md);background:var(--carta);box-shadow:inset 0 0 0 1.5px var(--line-2)}
  .sbar:not(.sbar-card) .sf-b{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:var(--s3);align-items:center;align-content:center;min-height:68px;padding:var(--s2) var(--s4) var(--s2) var(--s3);border:0;border-radius:var(--r-md);background:none}
  .sbar:not(.sbar-card) .sf[data-f=dest] .sf-b{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23125F7B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
  .sbar:not(.sbar-card) .sf[data-f=in] .sf-b,.sbar:not(.sbar-card) .sf[data-f=out] .sf-b{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23125F7B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2.5'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E")}
  .sbar:not(.sbar-card) .sf[data-f=guests] .sf-b{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23125F7B' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c0-3.6 2.9-6 6.5-6s6.5 2.4 6.5 6M16 4.6a3.5 3.5 0 0 1 0 6.8M18 14.4c2 .7 3.5 2.6 3.5 5.6'/%3E%3C/svg%3E")}
  .sbar:not(.sbar-card) .sf-b::before{content:'';grid-row:1/3;width:40px;height:40px;border-radius:14px;background:var(--maiolica) var(--ic) center/22px no-repeat}
  .sbar:not(.sbar-card) .sf-l{font:500 14px/1.2 var(--f-body);letter-spacing:0;text-transform:none;color:var(--mut)}
  .sbar:not(.sbar-card) .sf-v{font:600 17px/1.25 var(--f-head);letter-spacing:-.01em;color:var(--ink-2)}   /* segnaposto: stesso peso del valore, tinta piu' tenue */
  .sbar:not(.sbar-card) .sf-v.set{color:var(--ink)}
  .sbar:not(.sbar-card){gap:var(--s2)}
  .sbar:not(.sbar-card) .sf[data-f=dest] .sf-b{grid-template-columns:auto minmax(0,1fr) auto}
  .sbar:not(.sbar-card) .sf[data-f=dest] .sf-b::after{content:"";grid-column:3;grid-row:1/3;width:22px;height:22px;background:var(--mut);-webkit-mask:var(--ic-down) center/contain no-repeat;mask:var(--ic-down) center/contain no-repeat}
}

/* =====================================================================================================
   GIRO 2: rifiniture dopo la revisione indipendente (solo telefono e tablet; il computer >= 1061 px non cambia)
   ===================================================================================================== */

/* ---- elementi nuovi: nascosti fuori dalla media query ---- */
.cf-help,.fo-t,.fo-wa{display:none}

/* ---- card: 'da' davanti al totale (e' la camera piu' economica), nota bambini a tutta larghezza, meta senza puntino orfano ---- */
@media (max-width:700px){
  .pcard .pc-price:has(.pr-t) .pr-tt::before{content:"da ";font:500 16px/1 var(--f-body);letter-spacing:0;color:var(--mut)}
  html:lang(en) .pcard .pc-price:has(.pr-t) .pr-tt::before{content:"from "}
  .pcard.has-price:has(.pr-ind) .pc-foot .pc-price{grid-column:1/-1}
  .pcard.has-price:has(.pr-ind) .pc-foot .btn{grid-column:1/-1;margin-top:var(--s3)}
  .pc-cta{white-space:nowrap}
}
@media (max-width:374px){
  .pc .pc-cta{padding-inline:var(--s3);font-size:15px}
  .pc .pc-cta .ic{display:none}
}

/* ---- home: una sola struttura nel filtro per citta' ---- */
@media (max-width:700px){
  .pcs.is-one .pc{flex-basis:100%}
}
/* 'biancheria' non e' un messaggio verificato: nascosto anche su tablet e telefono in orizzontale */
@media (min-width:701px) and (max-width:1060px){
  .chips2 li:nth-child(4){display:none}
}

/* ---- home: ombre dei caroselli non tagliate ---- */
@media (max-width:700px){
  .dests2{padding-bottom:var(--s5);margin-bottom:calc(-1 * (var(--s5) - var(--s2)))}
}

/* ---- citta': la data resta ferma a sinistra mentre i filtri scorrono; scheletro dei prezzi con la forma della card ---- */
@media (max-width:700px){
  body.pg-city .cf-date{position:sticky;left:0;z-index:2;box-shadow:-20px 0 0 var(--sabbia),8px 0 0 var(--sabbia)}   /* il padding della striscia fa gia' da gutter; la sabbia copre i filtri che scorrono sotto */
  html.prices-wait .props>.pcard::before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;
    background:
      linear-gradient(#e6edf0,#e6edf0) 9px 9px/calc(100% - 18px) 249px no-repeat,
      linear-gradient(#e6edf0,#e6edf0) var(--s4) 282px/34% 12px no-repeat,
      linear-gradient(#e6edf0,#e6edf0) var(--s4) 306px/62% 22px no-repeat,
      linear-gradient(#e6edf0,#e6edf0) var(--s4) 342px/52% 14px no-repeat,
      linear-gradient(#e6edf0,#e6edf0) var(--s4) 368px/72% 24px no-repeat,
      linear-gradient(#e6edf0,#e6edf0) var(--s4) calc(100% - 28px)/34% 40px no-repeat,
      linear-gradient(#e6edf0,#e6edf0) calc(100% - var(--s4)) calc(100% - 22px)/38% 52px no-repeat}
  html.prices-wait .props>.pcard::after{z-index:1;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.7) 50%,transparent 75%) 0 0/200% 100%}
}

/* ---- menu: tutto entra in 375x812 e 360x800 ---- */
@media (max-width:420px) and (min-height:701px) and (max-height:860px){
  .dd:not(.lang-dd)>.dd-menu a{min-height:60px;padding-block:6px}
  .nav>a:not(.btn),.hdr-icon{min-height:48px}
  .dd:not(.lang-dd)+a:not(.btn){margin-top:var(--s4)}
  .nav-dock{gap:var(--s2);padding-top:var(--s3)}
}

/* ---- scheda: nome dell'etichetta e valore dei dettagli non si toccano ---- */

/* ---- checkout: riga aiuto, righe orfane ---- */
@media (max-width:900px){
  .ck-t span,.ck-trust li{text-wrap:pretty}
}

/* ---- conferma e gestione: frase rassicurante in evidenza, passi senza parola orfana, tessere allineate ---- */
@media (max-width:700px){
  [data-cf-hi]{text-wrap:pretty}
  .cf-hi-b{display:block;margin-top:var(--s2);color:var(--ink);font-weight:600}
  .cf-steps li{grid-template-columns:26px minmax(0,1fr);gap:var(--s2);text-wrap:pretty}
  .cf-steps li::before{font-size:40px}
  .cf-bad-t{margin:0 0 var(--s5)}
  .cf-bad-t p{max-width:34ch;margin:0 auto var(--s2);text-align:left}
  .cf-bad-t p:last-child{margin-bottom:0}
  .cf-bad-t strong{color:var(--ink)}
  .cf-act .cf-tile{justify-content:flex-start;padding-top:var(--s4)}
  .cf-act .cf-tile .cf-t{display:grid;align-content:start;min-height:2.4em;text-wrap:balance}
  .cf-del{font-weight:500;color:var(--mut);text-decoration:line-through}
  .cf-help{display:block;margin:var(--s3) 0 0;font:400 14px/1.45 var(--f-body);color:var(--mut)}
  .cf-help a{display:inline-flex;align-items:center;min-height:44px;color:var(--brand);font-weight:700;text-decoration:underline;text-underline-offset:3px}
  .mg-pick{display:grid;gap:var(--s2)}
  .mg-pick strong{display:block;margin-bottom:var(--s1)}
  .mg-pick .btn{width:100%;min-height:var(--ctl);margin:0}
  .ck-msg.show:not(.err):has(.mg-pick){padding:var(--s4);background:var(--calce-2);border-radius:var(--r-md)}
}
@media (max-width:340px){
  .cf-act .cf-wa{gap:var(--s2);padding-right:var(--s3)}
  .cf-act .cf-wa .cf-ic{width:36px;height:36px}
  .cf-act .cf-wa::after{display:none}
  .cf-act .cf-wa .cf-t{white-space:nowrap;font-size:15px}
}

/* ---- contatti e moduli: esito di invio, errore con via d'uscita, email intera a 320 ---- */
@media (max-width:700px){
  .form.is-sent>:not(.form-ok),.oq.is-sent>:not(.form-ok){display:none}
  .form-ok:not([hidden]){display:grid;justify-items:center;gap:var(--s3);margin:0;padding:var(--s6) var(--s4);text-align:center;scroll-margin-top:calc(var(--hh) + var(--s4))}
  .form-ok::before{content:"";width:56px;height:56px;border-radius:50%;background:var(--ok) center/28px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E")}
  .fo-t{display:block;font:700 22px/1.15 var(--f-head);letter-spacing:-.015em;color:var(--ink)}
  .fo-x{max-width:32ch;font:400 16px/1.5 var(--f-body);color:var(--ink-2);text-wrap:balance}
  .fo-wa{display:inline-flex;align-items:center;gap:var(--s2);min-height:48px;margin-top:var(--s2);padding:0 var(--s5);border-radius:999px;box-shadow:inset 0 0 0 2px var(--deep);color:var(--deep);font:600 16px/1 var(--f-body);text-decoration:none}
  .fo-wa .ic{width:20px;height:20px;color:var(--ok)}
  .form-err{line-height:1.5;text-wrap:pretty}
  .form-err a{display:inline;padding:.7em 0;color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}   /* dentro la frase: il link resta in riga (l'area di tocco e' data dal riempimento, non dall'altezza della riga) */
  .form textarea{min-height:112px;resize:none}
}
@media (max-width:339px){
  .c-card{gap:var(--s3);padding:var(--s3)}
  .c-card::after{display:none}
  .c-ic{width:40px;height:40px}
  .c-card b{font-size:16px;overflow-wrap:break-word}
}

/* ---- footer: condizioni su una riga, dati societari con gerarchia ---- */
@media (max-width:760px){
  .flegal a:first-child{grid-column:1/-1}
  .lg-s{display:none}
  .lg-n{display:block;margin-bottom:var(--s1);font-weight:700;letter-spacing:.04em;color:#fff}
  .lg-d{display:block;color:rgba(255,255,255,.74)}
  .lg-r{display:block;margin-top:var(--s2);color:rgba(255,255,255,.74)}
}

/* ---- 404 e banner cookie (telefono) ---- */
.nf-en{display:inline}
@media (max-width:700px){
  .nf-en{display:block;margin-top:var(--s1);font-size:14px;color:var(--mut)}
  .nf .wrap{display:flex;flex-direction:column}
  .nf .nf-pl{order:2}
  .nf .nf-btns{order:3;display:flex;justify-content:center;gap:var(--s3);margin:var(--s4) 0 0}
  .nf .nf-btns .btn,.nf .nf-btns .btn:first-child{width:auto;min-height:44px;padding:0 var(--s4);background:none;box-shadow:none;color:var(--brand);font:700 16px/1.2 var(--f-body);text-transform:none;text-decoration:underline;text-decoration-color:var(--sole);text-decoration-thickness:2px;text-underline-offset:4px}
  .nf-pl-h [lang=en]{display:none}
  .cookie .ck-btns [data-ck=reject]{background:var(--brand);color:#fff;box-shadow:none}   /* rifiuto e accettazione hanno lo stesso peso */
  .cookie .ck-btns [data-ck=reject]:active,.cookie .ck-btns [data-ck=all]:active{background:var(--brand-d)}
  .form.is-sent{scroll-margin-top:calc(var(--hh) + var(--s4))}
}

/* =====================================================================================================
   GIRO 3: finiture dopo la seconda revisione indipendente (solo telefono e tablet; il computer >= 1061 px non cambia)
   ===================================================================================================== */

/* ---- elementi nuovi: nascosti fuori dalla media query ---- */
.rm-trust,.rs-n{display:none}

/* ---- scheda: carta camera ---- */
@media (max-width:1000px){
  /* foto piu' alta anche sul tablet, senza ingrandire un file da 640 px oltre misura */
  .rm-trust{display:block;margin:var(--s3) 0 0;font:500 14px/1.35 var(--f-body);color:var(--mut);text-align:center;text-wrap:balance}   /* la rassicurazione sta dove si decide, accanto a 'Prenota' */
  .rm-go{text-wrap:balance}
  .rm-skel .rm-media{aspect-ratio:16/10;height:auto}
  /* striscia date: il nome della struttura accanto alle notti (chi arriva da un carosello sa dove e') */
  .rs-g{display:flex;align-items:baseline;gap:6px}
  .rs-n{display:block;flex:0 1 auto;min-width:0;overflow:hidden;font-weight:600;color:var(--ink-2);text-overflow:ellipsis}
  .rs-n::after{content:" ·";white-space:pre;color:var(--mut);font-weight:400}
  .rs-m{flex:none}
}
@media (min-width:701px) and (max-width:1000px){
  .rm .rm-media{aspect-ratio:16/9;max-height:340px}
}
/* tariffa non rimborsabile: la pillola ambra non tocca mai il prezzo */
@media (max-width:379px){
  .rm-plan{column-gap:10px}
  .rm-plan:not(.ok) .rm-pi>b{gap:0;padding:0 10px}
  .rm-plan:not(.ok) .rm-pi>b::before{display:none}
}
@media (max-width:359px){
  .rm-pp b{font-size:22px}
}

/* ---- campi di ricerca: il segnaposto non sembra un valore gia' scelto ---- */
@media (max-width:700px){
  .sbar:not(.sbar-card) .sf[data-f=dest] .sf-v:not(.set){color:var(--ink-2);font-weight:500}
}

/* ---- checkout: righe e riepilogo ---- */
.nw{white-space:nowrap}
@media (max-width:900px){
  .ck-form .ck-row{align-items:start}   /* l'errore di un campo non sposta l'altro */
  .ckm-c>.ic{box-sizing:border-box;width:60px;height:24px;padding:0 18px}   /* l'icona sta sotto la miniatura: il testo parte alla stessa x del titolo */
  .ckm-p.dfr{border-top:1px solid rgba(26,127,75,.18)}
  .ckm-p.dfr,.ckm-p{margin-top:0}
  .ckm-tax{padding-top:var(--s2)}
  .ck-bar .ck-go-l{white-space:nowrap}
  .pg-checkout .ck-skel{min-height:311px}
  .pg-checkout .ck-skel i{background:rgba(11,37,48,.1)}
  .pg-checkout .ck-skel::after{background:rgba(11,37,48,.08)}
}
@media (max-width:359px),(max-height:640px){
  .ck{padding-top:var(--s2)}
  .ckm-h{grid-template-columns:48px minmax(0,1fr);gap:var(--s3);padding:var(--s2) var(--s3)}
  .ckm-ph{width:48px;height:54px;border-radius:24px 24px 8px 8px}
  .ck-m .ckm-n{font-size:20px}
  .ckm-c{padding:var(--s2) var(--s3)}
  .ckm-c>.ic{width:48px;padding:0 12px}
  .ckm-c span{font-size:14px;line-height:1.35}
  .ckm-p b{font-size:30px}
  .ckm-p.dfr .ckm-big{font-size:40px}
  .ckm-tax{padding:var(--s1) var(--s3) var(--s2)}
  .pg-checkout .ck-skel{min-height:364px}
}

/* ---- pagamento (/paga/): riga camera e date del riepilogo ---- */
@media (max-width:900px){
  .ckm-d{display:flex;align-items:flex-start;gap:var(--s3);padding:0 var(--s4) var(--s3)}
  .ckm-d>.ic{flex:none;width:24px;height:24px;margin-top:1px;color:var(--accent-tx)}
  .ckm-d b{display:block;font:600 16px/1.3 var(--f-head);color:var(--ink)}
  .ckm-d span{display:block;margin-top:2px;font:400 15px/1.4 var(--f-body);color:var(--ink-2)}
}

/* ---- conferma: l'email non esce dal bordo ---- */
@media (max-width:700px){
  .cf-em{font-weight:600;color:var(--ink);overflow-wrap:anywhere}
  [data-cf-hi] .cf-hi-a{text-wrap:balance}
  .cf-steps li{text-wrap:pretty}
}

/* ---- campi con etichetta mobile: vuoti, l'etichetta sta al centro come un segnaposto; scrivendo sale in alto ---- */
@media (max-width:900px){
  .ck-f>span,.ck-phone .ck-ph>label>span{transition:top .15s var(--ease),font-size .15s var(--ease),color .15s}
  .ck-f:has(>input:placeholder-shown:not(:focus):not(:-webkit-autofill))>span,
  .ck-f:has(>textarea:placeholder-shown:not(:focus))>span,
  .ck-phone .ck-ph>label:has(>input:placeholder-shown:not(:focus):not(:-webkit-autofill))>span{top:21px;font-size:17px;font-weight:500;color:var(--ink-2)}
  .ck-f input::placeholder,.ck-f textarea::placeholder,.ck-ph input::placeholder{color:transparent}
}
@media (max-width:700px){
  .form .fl{transition:top .15s var(--ease),font-size .15s var(--ease),color .15s}
  .form label:not(.check):has(>input:placeholder-shown:not(:focus):not(:-webkit-autofill))>.fl,
  .form label:not(.check):has(>textarea:placeholder-shown:not(:focus))>.fl{top:21px;font-size:17px;font-weight:500;color:var(--ink-2)}
  .form input::placeholder,.form textarea::placeholder{color:transparent}
}
@media (max-width:900px) and (prefers-reduced-motion:reduce){
  .ck-f>span,.ck-phone .ck-ph>label>span,.form .fl{transition:none}
}

/* ---- citta': respiro tra titolo e campi a 320, pulsante della card su una riga ---- */
@media (max-width:359px){
  body.pg-city .sbar{margin-top:var(--s3)}
  .pcard.is-asking .pc-foot .btn{padding-inline:10px;font-size:15px}
  .pcard.is-asking .cta-i{display:none}
}

/* ---- footer: i link legali si dispongono per larghezza (2 + 2), senza orfani ---- */
@media (max-width:760px){
  .flegal{display:flex;flex-wrap:wrap;gap:0 var(--s4)}
  .flegal a:first-child{grid-column:auto}
  .flegal a,.flegal .linkbtn{min-height:44px;font-size:15px;color:rgba(255,255,255,.84)}
}

/* ---- pagine legali: la data sta sotto il titolo, riquadro 'in breve' delle condizioni ---- */
.leg-sum{display:none}
@media (max-width:700px){
  .leg-date{margin:calc(-1 * var(--s2)) 0 var(--s4)}
  .leg-date p{margin:0;font:400 14px/1.4 var(--f-body);color:var(--mut)}
  .leg-date em{font-style:normal}
  .leg-sum{display:grid;gap:var(--s3);margin:0 0 var(--s5);padding:var(--s4);border-radius:var(--r-lg);background:var(--sabbia);box-shadow:inset 0 0 0 1px var(--line-s)}
  .leg-sum-h{margin:0;font:700 12px/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-tx)}
  .leg-sum-c{padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--carta);box-shadow:inset 0 0 0 1px var(--line-s)}
  .leg-sum-c b{display:block;margin:0 0 var(--s1);font:700 17px/1.25 var(--f-head);letter-spacing:-.01em;color:var(--ok-tx)}
  .leg-sum-no b{color:var(--amb)}
  .leg-sum-c span{display:block;font:400 15px/1.45 var(--f-body);color:var(--ink-2);text-wrap:pretty}
  .leg-sum-a{display:inline-flex;align-items:center;min-height:44px;color:var(--brand);font:700 15px/1.2 var(--f-body);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}
}
/* tablet: righe di lettura misurate, elenco con respiro, indice a chip anche qui (il desktop >= 1061 non cambia) */
@media (min-width:701px) and (max-width:1060px){
  .prose{max-width:68ch;margin-inline:auto}
  .prose li+li{margin-top:.6em}
  .prose .leg-idx{display:block;margin:0 0 var(--s5);overflow-x:auto;scrollbar-width:none}
  .prose .leg-idx::-webkit-scrollbar{display:none}
  .prose .leg-idx ul{display:flex;gap:var(--s2);width:max-content;margin:0;padding:0 0 var(--s1);list-style:none}
  .prose .leg-idx li{margin:0}
  .prose .leg-idx a{display:flex;align-items:center;min-height:44px;padding:0 var(--s4);border-radius:22px;background:var(--sabbia);color:var(--ink);font:600 15px/1 var(--f-body);text-decoration:none;white-space:nowrap}
  .leg-date p{margin:0 0 var(--s4);font:400 14px/1.4 var(--f-body);color:var(--mut)}
}

/* ---- 404: tutto centrato, chip in griglia ---- */
@media (max-width:700px){
  .nf .nf-pl{margin-top:var(--s5);text-align:center}
  .nf .nf-pl ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);margin-bottom:var(--s4)}
  .nf .nf-pl li a{justify-content:center;width:100%;padding:0 var(--s3);text-align:center}
}

/* ---- affidaci: gli esempi di strutture non distraggono dal modulo (il pulsante terracotta e' uno solo) ---- */
@media (max-width:700px){
  body.pg-owners .pc .pc-cta{background:none;box-shadow:none;padding:0;justify-content:flex-start;min-height:44px}
  body.pg-owners .pc .pc-cta>span{display:none!important}
  body.pg-owners .pc .pc-cta::before{content:"Vedi la struttura";color:var(--brand);font:700 16px/1.2 var(--f-body);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}
  html:lang(en) body.pg-owners .pc .pc-cta::before{content:"See the property"}
  body.pg-owners .pc .pc-cta .ic{color:var(--brand)}
}
@media (max-width:340px){
  .ohero .obtns{margin-top:var(--s5)}
}

/* ---- gestione e conferma: link WhatsApp toccabile, errore senza allineamenti misti ---- */
@media (max-width:700px){
  body.pg-manage [data-mg-box] p a,body.pg-manage .ck-msg a,body.pg-manage [data-mg-lead] a{display:inline-block;padding:12px 4px;margin:-12px -4px}
  body.pg-manage [data-mg-find] .ck-lab{display:none}   /* il titolo dice gia' la stessa cosa */
  .cf-bad-t p{text-align:center}
}

/* ---- menu: tutte le righe partono dalla stessa x (icona + testo), la lingua e' una scelta discreta, la CTA resta l'unico elemento forte ---- */
@media (max-width:1060px){
  .nav>a.nav-o::before,.nav>a.nav-c::before{content:"";flex:none;width:22px;height:22px;background:var(--sole)}
  .nav>a.nav-o::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8M5 9.5V21h14V9.5M10 21v-6h4v6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8M5 9.5V21h14V9.5M10 21v-6h4v6'/%3E%3C/svg%3E") center/contain no-repeat}
  .nav>a.nav-c::before{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E") center/contain no-repeat}
  .lang-dd>.dd-menu a{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
  .lang-dd>.dd-menu a[aria-current]{background:none;color:var(--sole);box-shadow:inset 0 0 0 2px var(--sole)}
}
@media (max-width:1060px) and (max-height:700px){
  /* schermi bassi: la CTA e la lingua restano sempre a vista in fondo, la lista scorre sotto */
  .nav-dock{position:sticky;bottom:0;margin:var(--s3) 0 calc(-1 * (var(--s5) + env(safe-area-inset-bottom)));padding:var(--s4) 0 calc(var(--s4) + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--deep) 80%,transparent)}
  .nav-dock .menu-go{min-height:var(--ctl)}
  .lang-dd>.dd-menu a{min-height:44px}
}

/* ---- checkout: date, notti e ospiti vanno a capo solo tra i segmenti; il puntino non resta mai a fine riga ---- */
@media (max-width:900px){
  .ckm-w{display:flex;flex-wrap:wrap;gap:0 var(--s4);overflow:hidden}
  .ckm-w>*{position:relative}
  .ckm-w>*+*::before{content:"";position:absolute;left:-9.5px;top:50%;width:3px;height:3px;margin-top:-1px;border-radius:50%;background:currentColor}
}
@media (max-width:359px),(max-height:640px){
  .ck-form .ck-sub{display:none}
  .ck-form h2{margin-bottom:var(--s3)}
}
@media (max-width:900px){
  .ckm-tax{text-wrap:balance}
}

/* ---- moduli: area messaggio meno alta (invita a scrivere senza un rettangolo vuoto) ---- */
@media (max-width:700px){
  .form textarea{height:128px}
}

/* ---- home (stato 'nessuna struttura'): due uscite con lo stesso ritmo, WhatsApp come pulsante secondario ---- */
@media (max-width:700px){
  .pcs-empty{gap:var(--s2)}
  .pcs-empty .btn{margin-top:var(--s1)}
  .pcs-empty a.lnk{width:100%;min-height:var(--ctl);border-radius:var(--r-md);box-shadow:inset 0 0 0 1.5px var(--line-2);color:var(--deep);font:600 16px/1.2 var(--f-head);text-decoration:none}
  .pcs-empty button.lnk{min-height:var(--ctl-sm);font:700 15px/1.2 var(--f-body);color:var(--brand);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--sole);text-underline-offset:4px}
}

/* ---- telefono in orizzontale: la ricerca e' nel primo schermo ---- */
@media (min-width:701px) and (max-width:1060px) and (max-height:520px){
  .hero2{min-height:0;max-height:none;padding:calc(var(--hh) + var(--s3)) 0 var(--s5)}
  .hero2 h1{font-size:clamp(1.6rem,5vw,2.1rem);margin-bottom:var(--s3)}
  .hero2-sub{display:none}
}
/* tablet: Ospiti e il pulsante stanno sulla stessa riga (niente campo orfano a tutta larghezza) */
@media (min-width:701px) and (max-width:1060px){
  .sbar:not(.sbar-card) .sf[data-f=guests],.sbar:not(.sbar-card) .sgo{grid-column:auto}
}
@media (min-width:701px) and (max-width:1060px){
  .hero2-sub{text-shadow:0 1px 14px rgba(7,47,63,.65)}   /* il sottotitolo bianco resta leggibile anche sul cielo chiaro */
}

/* ---- scheda: scheletro delle camere con l'altezza di una carta vera (la pagina non salta quando arrivano) ---- */
@media (max-width:1000px){
  .rm.rm-skel{min-height:620px}
  .rm-skel::after{content:"";display:block;height:128px;margin:var(--s4) 0 var(--s2);border-radius:var(--r-md);background:var(--line-s);animation:uli-pulse 1.2s ease-in-out infinite}
}
@media (max-width:1000px) and (prefers-reduced-motion:reduce){.rm-skel::after{animation:none}}

/* ---- citta': filtro senza risultati attenuato (non agisce) ---- */
.chipf.is-dead{opacity:.45;cursor:default}

/* =====================================================================
   RESIDUI dell'ultimo controllo mobile. Tutto sta in media query (telefono/tablet):
   il computer (>= 1061 px) non vede nessuna di queste regole.
   ===================================================================== */

/* ---- checkout: la barra fissa resta dentro lo schermo (a 320 il pulsante usciva dal bordo) ---- */
@media (max-width:900px){
  .ck-bar .btn{min-width:0;flex:1 1 0}
  .ck-bar-t{flex:0 1 auto;min-width:0;max-width:48%}
}
@media (max-width:359px){
  .ck-bar{gap:var(--s2);padding-left:var(--s4);padding-right:var(--s4)}
  .ck-bar-t{max-width:44%}
  .ck-bar-t i{white-space:normal}
  .ck-bar .btn{padding:0 var(--s3)}
  .ck-bar .btn::after{display:none}   /* lucchetto/freccia: il verbo basta */
  .ck-bar .ck-go-l{white-space:normal;text-align:center}
}

/* ---- checkout: riepilogo piu' basso sui telefoni piccoli, il primo campo si vede sopra la barra ---- */
@media (max-width:359px),(max-width:900px) and (max-height:640px){
  .ckm-p.dfr{padding-top:var(--s2);padding-bottom:var(--s2)}
  .ckm-p.dfr .ckm-big{font-size:34px}
  .ckm-p.dfr b.r{font-size:24px}
  .ckm-p.dfr .ckm-note{margin-top:2px;font-size:13px;line-height:1.3}
}
@media (max-width:359px) and (max-height:600px){
  .ckm-tax{display:none}   /* telefono piccolo e basso: la tassa e' scritta anche sotto il pulsante di pagamento */
}

/* ---- gestisci prenotazione: frase di disdetta intera, riga WhatsApp staccata dal pulsante ---- */
@media (max-width:700px){
  body.pg-manage .cf-ok .lead{display:block}
  body.pg-manage [data-mg-box] .cf-act+.cf-help{margin-top:var(--s5)}
  body.pg-manage [data-mg-box] .cf-help a{padding:8px 4px;margin:-8px -4px}
}

/* ---- moduli: sotto i 360 px i campi affiancati vanno in colonna (le etichette non si tagliano) ---- */
@media (max-width:359px){
  .fgrid2{grid-template-columns:minmax(0,1fr)}
  .fgrid2>label{grid-column:1/-1}
}

/* ---- scheda e card citta': l'indirizzo non si taglia, al massimo va a capo su due righe ---- */
@media (max-width:1000px){
  .pp-head .pc-addr>span,.pcard .pc-addr .pc-st{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal;text-overflow:clip;overflow-wrap:anywhere}
  .pcard .pc-addr{align-items:flex-start}
  .pcard .pc-addr .ic{margin-top:2px}
}

/* ---- archi: raggio basso morbido anche su card strette (le percentuali non si riducono come i 999px) ---- */
@media (max-width:700px){
  .dests2 .dest,.dests3 .dest:last-child:nth-child(odd){border-radius:50% 50% var(--r-md) var(--r-md) / 33.34% 33.34% var(--r-md) var(--r-md)}
  .own-img{border-radius:50% 50% var(--r-md) var(--r-md) / min(calc(50vw - var(--gut,20px)),calc(268px - var(--r-md) - 1px)) min(calc(50vw - var(--gut,20px)),calc(268px - var(--r-md) - 1px)) var(--r-md) var(--r-md)}
  /* nome e riga sotto le citta' leggibili anche su foto chiare (Sperlonga) */
  .dests2 .dest::after{background:linear-gradient(to bottom,transparent 38%,rgba(5,28,38,.55) 62%,rgba(5,28,38,.92))}
  .dests2 .dest-t b,.dests2 .dest-t i{text-shadow:0 1px 10px rgba(5,28,38,.55)}
  /* fascia foto della home: la parola in corsivo e' bianca, il giallo non e' mai colore di titolo */
  .scene{--acc-c:#fff}
}

/* ---- tablet in orizzontale: la mascotte resta nascosta sotto i 1000 px anche nelle pagine di conferma ---- */
@media (min-width:701px) and (max-width:999px){
  .cf-ok .mascot-in,.mascot-find{display:none}
}

/* ---- titolo bianco sopra la foto: piu' leggibile sul cielo chiaro ---- */
@media (max-width:700px){
  .hero-dark .site-header:not(.stuck) .brand-w{text-shadow:0 1px 2px rgba(7,47,63,.6),0 1px 10px rgba(7,47,63,.55)}
}



/* ---- citta' a 320: respiro fra titolo e pillola date (le discendenti non toccano la pillola) ---- */
@media (max-width:359px){
  html.has-dates body.pg-city .hero2 h1{margin-bottom:var(--s4)}
  body.pg-city .hero2 h1 .acc{padding-bottom:.18em}
}

/* ---- moduli: 'Seleziona...' resta grigio finche' non si sceglie un valore (non sembra gia' compilato) ---- */
@media (max-width:700px){
  .form select:has(option[value='']:checked){color:var(--mut);font-weight:500}
}

/* ---- checkout su tablet: il pulsante della barra sta nella colonna del modulo ---- */
@media (min-width:600px) and (max-width:900px){
  .ck-bar{padding-left:max(var(--s5),calc((100vw - 640px)/2));padding-right:max(var(--s5),calc((100vw - 640px)/2))}
}

/* ---- tablet e telefono in orizzontale (761-1060): le barre e le intestazioni sono quelle del telefono, quindi anche i link del piede e le briciole sono toccabili (44 px) ---- */
@media (min-width:761px) and (max-width:1060px){
  .fgrid li a,.fgrid .linkbtn{display:flex;align-items:center;min-height:44px}
  .flegal a,.flegal .linkbtn{display:inline-flex;align-items:center;min-height:44px}
  .crumbs a{display:inline-flex;align-items:center;min-height:44px}
}

/* ===== Desktop identico alla versione approvata: queste regole correggono effetti del markup condiviso col telefono; il resto del telefono sta nelle media query ===== */
.rv figcaption .rv-w{font-size:inherit;letter-spacing:normal}   /* il nuovo involucro del nome non eredita le regole dello span di figcaption */
@media (min-width:1061px){.dest-t i span{font-size:inherit;opacity:1}}   /* gli span annidati nel CTA delle card destinazione restano da 13px come prima */
@media (max-width:1060px){.nm{white-space:nowrap}}   /* le ultime due parole non vanno a capo da sole (sul computer niente) */
@media (max-width:1000px){.gm .mt.mt-cov,.pcard .slide.cov{order:-1}}   /* la copertina scelta per il telefono passa in testa; il computer tiene l'ordine di sempre */
@media (max-width:1000px){.rm-code.rm-dt{display:none}}   /* schede camera: la riga sotto il titolo e' una per il computer e una per il telefono */
@media (min-width:1001px){.rm-code.rm-mb{display:none}}
@media (min-width:1061px){.m-err-act{display:none}}   /* stati di errore: i pulsanti nuovi (WhatsApp, home, riprova, cerca altre date) sono solo per telefono e tablet */
@media (min-width:1061px){.ck-bad>p{margin:0}.pay-bad{margin:0 0 16px}}   /* stati di errore (gestisci, conferma, paga): il testo era direttamente nel riquadro (o era il riquadro, in /paga/ con il suo margine di 16 px sotto); ora sta in un paragrafo dentro il riquadro: niente margini aggiunti */
/* fascia 1001-1060 px: il layout e' quello da computer con l'header da telefono; le card destinazione sono strette e il CTA non deve andare a capo */
@media (min-width:1001px) and (max-width:1060px){
  .sbar:not(.sbar-card) .sf[data-f=dest] .sf-b::after{display:none}   /* la freccia di 'Dove' finiva sotto il testo: il campo e' una colonna come a computer, senza freccia */
  .dests2 .dest::after{inset:0;background:linear-gradient(to top,rgba(5,28,38,.94) 0,rgba(5,28,38,.82) 38%,rgba(5,28,38,.4) 60%,rgba(5,28,38,0) 80%)}   /* il testo bianco e oro sta su foto chiare (spiaggia, cielo): sfumatura piu' decisa */
  .dests2 .dest-t{padding:0 14px 24px}
  .dests2 .dest-t b,.dests2 .dest-t>span{text-shadow:0 1px 10px rgba(5,28,38,.6)}
  .dests2 .dest-t i{flex-wrap:nowrap;white-space:nowrap;gap:6px;font-size:12px;letter-spacing:.03em}   /* '9 STRUTTURE . SCOPRI' su una riga */
}
@media (min-width:1061px){.form-ok{margin-bottom:16px}.form-err a{color:inherit;font-weight:inherit;text-decoration:none;pointer-events:none;cursor:inherit}}   /* esito dei moduli: era un paragrafo (margine sotto 16 px, 'WhatsApp' solo testo); ora e' un blocco con un collegamento che a computer resta testo */

/* ===== Mappa Google (assets/js/map.js): prima del consenso solo la scheda con il pulsante ===== */
.sec-map{padding:70px 0;background:var(--cream,#fff)}
.sec-map .sh{margin-bottom:28px}
.umap-w{position:relative;height:540px}
.umap-w.umap-1{height:320px;margin:16px 0 20px}
.umap{position:absolute;inset:0;border-radius:var(--r-lg,24px);overflow:hidden;background:var(--sabbia,#f2e3c8);box-shadow:var(--sh-1,0 6px 24px rgba(7,47,63,.12))}
.umap-card{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px 22px;text-align:center;background:linear-gradient(160deg,var(--sabbia,#f2e3c8),#fbf3e3)}
.umap-card[hidden],.umap-map[hidden]{display:none}
.umap.is-loading .umap-card{opacity:.55;pointer-events:none}
.umap-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--sole,#f5c046);color:var(--deep,#072f3f)}
.umap-ic .ic{width:26px;height:26px}
.umap-card b{font:700 21px/1.2 var(--f-head,inherit);color:var(--deep,#072f3f)}
.umap-card p{max-width:380px;margin:0;font-size:15px;line-height:1.5;color:var(--ink,#0e2a35)}
.umap-card small{max-width:340px;font-size:12px;line-height:1.4;color:var(--mut,#52666f)}
.umap-card .umap-err{color:#9a2a14;font-weight:600}
.umap-map{position:absolute;inset:0;animation:gmIn .35s ease both}
@keyframes gmIn{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.umap-map{animation:none}}
/* segnaposto: pillola con il voto */
.umap-pill{position:relative;display:flex;align-items:center;justify-content:center;min-width:44px;padding:7px 12px;border-radius:999px;background:var(--brand,#125f7b);color:#fff;font:700 15px/1 var(--f-head,inherit);box-shadow:0 3px 8px rgba(7,47,63,.35);border:2px solid #fff;transition:transform .15s,background .15s;cursor:pointer}
.umap-pill::after{content:"";position:absolute;left:50%;bottom:-7px;width:10px;height:10px;background:inherit;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:translateX(-50%) rotate(45deg);border-radius:0 0 3px 0}
.umap-pill:hover,.umap-pill.on{background:var(--accent,#c6441d);transform:scale(1.12)}
.umap-pin{transform:translateY(-4px);filter:drop-shadow(0 3px 4px rgba(7,47,63,.35))}
.umap-pin svg{display:block}
.umap-pin path{fill:var(--accent,#c6441d);stroke:#fff;stroke-width:2}
.umap-pin circle{fill:#fff}
/* ingrandisci / chiudi / tocco per aprire */
.umap-full-b{position:absolute;left:14px;top:14px;z-index:5;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:#fff;color:var(--deep,#072f3f);font:700 15px/1 var(--f-head,inherit);box-shadow:0 2px 10px rgba(7,47,63,.28);cursor:pointer}
.umap-x{display:none;position:absolute;left:14px;top:14px;z-index:6;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:var(--deep,#072f3f);box-shadow:0 2px 10px rgba(7,47,63,.3);cursor:pointer;place-items:center}
.umap-tap{position:absolute;inset:0;z-index:4;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.umap.umap-full{position:fixed;inset:0;z-index:3000;border-radius:0;box-shadow:none}
.umap.umap-full .umap-full-b,.umap.umap-full .umap-tap{display:none}
.umap.umap-full .umap-x{display:grid}
html.umap-lock,html.umap-lock body{overflow:hidden}
.umap-iw{max-width:240px;font-family:var(--f-body,inherit)}
.umap-iw img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border-radius:12px;margin-bottom:8px}
.umap-iw-b{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.umap-iw-b p,.umap-iw-b h3{margin:0}
.umap-iw-c{font:700 11px/1.2 var(--f-body,inherit);letter-spacing:.08em;text-transform:uppercase;color:var(--accent,#c6441d)}
.umap-iw-b h3{font:700 17px/1.2 var(--f-head,inherit);color:var(--deep,#072f3f)}
.umap-iw-r{font-size:13px;color:var(--mut,#52666f)}
.umap-iw-b .btn{margin-top:4px}
.umap-iw a.btn{color:#fff!important;text-decoration:none!important}
.umap-iw a.umap-iw-g{color:var(--brand,#125f7b)!important;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:6px 0}
@media (max-width:1060px){
  .sec-map{padding:var(--s6,40px) 0}
  .umap-w{height:440px}
  .umap-w.umap-1{height:300px}
  .umap{border-radius:var(--r-xl,28px)}
  .umap-card .btn{min-height:52px;width:100%;max-width:320px}
  .umap-full-b{left:50%;top:auto;bottom:16px;transform:translateX(-50%);pointer-events:none;background:rgba(7,47,63,.9);color:#fff;white-space:nowrap}
}
.umap-n{position:absolute;right:-9px;top:-9px;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:var(--sole,#f5c046);color:var(--deep,#072f3f);font:700 12px/22px var(--f-head,inherit);text-align:center;border:2px solid #fff;box-sizing:border-box}
.umap-iw-l{max-width:260px}
.umap-li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #e6dfd0;color:inherit;text-decoration:none!important}
.umap-li:first-of-type{border-top:0}
.umap-li img{width:56px;height:56px;border-radius:12px;object-fit:cover;flex:none}
.umap-li-t{display:flex;flex-direction:column;gap:2px}
.umap-li-t b{font:700 15px/1.2 var(--f-head,inherit);color:var(--deep,#072f3f)}
.umap-li-t small{font-size:13px;color:var(--mut,#52666f)}

/* ===== Rifiniture da prova su iPhone reale (5 nov 2026) ===== */
@media (max-width:1060px){
  /* card struttura (home): con il prezzo, il prezzo sta sulla sua riga e il pulsante sotto, a tutta larghezza: niente piu' "/ notte" coperto */
  .pc:not(.is-na):has(.pc-price:not([hidden]):not(.is-ask)) .pc-cta{grid-area:6/1/7/-1;margin-top:var(--s3)}
  /* menu: niente riga del telefono (c'e' gia' il pulsante in alto), niente pannello fisso che copre le voci: l'elenco si legge tutto e il pulsante viene dopo */
  .nav>a.hdr-phone{display:none}
  .nav-dock{position:static;margin:var(--s4) 0 0;padding:0;background:none}
  .nav{padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom))}
}

/* scheda in basso al posto della finestra di Google */
.umap-sheet{position:absolute;left:0;right:0;bottom:0;z-index:7;padding:0 12px 12px;opacity:0;transform:translateY(16px);transition:opacity .2s,transform .22s}
.umap-sheet.on{opacity:1;transform:none}
.umap-sheet[hidden]{display:none}
.umap-sheet-r{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 2px 2px}
.umap-sheet-r::-webkit-scrollbar{display:none}
.umap-sheet-x{position:absolute;right:20px;top:-14px;z-index:2;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;color:var(--deep,#072f3f);box-shadow:0 2px 8px rgba(7,47,63,.28);cursor:pointer}
.umap-sc{flex:0 0 min(330px,86%);scroll-snap-align:start;display:flex;align-items:center;gap:12px;padding:10px;border-radius:20px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 6px 22px rgba(7,47,63,.28)}
.umap-sc img{width:84px;height:84px;border-radius:14px;object-fit:cover;flex:none}
.umap-sc-t{display:flex;flex-direction:column;gap:3px;min-width:0}
.umap-sc-t small{font:700 11px/1.2 var(--f-body,inherit);letter-spacing:.08em;text-transform:uppercase;color:var(--accent,#c6441d)}
.umap-sc-t b{font:700 17px/1.2 var(--f-head,inherit);color:var(--deep,#072f3f);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.umap-sc-r{font-size:14px;font-weight:600;color:var(--brand,#125f7b)}
.umap.umap-full .umap-sheet{padding-bottom:calc(14px + env(safe-area-inset-bottom))}
@media (max-width:1060px){
  .umap-full-b{left:12px;top:12px;bottom:auto;transform:none;pointer-events:auto;background:#fff;color:var(--deep,#072f3f);min-height:40px;padding:0 14px;font-size:14px}
  .umap-w{height:400px}
}

/* ===== Fogli e calendario piu' fluidi (5 nov 2026) ===== */
@keyframes uli-sheet-out{to{translate:0 100%}}
@keyframes uli-pop-in{from{opacity:0;transform:translateY(8px)}}
@keyframes uli-pop-out{to{opacity:0;transform:translateY(8px)}}
.cal-steps [data-st]{cursor:pointer;-webkit-tap-highlight-color:transparent}
.cd{transition:background-color .12s,color .12s}
@media (max-width:1060px){
  .pop.pop-out{animation:uli-sheet-out .21s cubic-bezier(.4,0,1,1) both}
  body.pop-open::before{animation:uli-fade .2s ease-out both}
}
@media (min-width:1061px){
  .pop:not([hidden]){animation:uli-pop-in .18s ease-out both}
  .pop.pop-out{animation:uli-pop-out .15s ease-in both}
}
@media (prefers-reduced-motion:reduce){.pop,.pop.pop-out,body.pop-open::before{animation:none!important}.pop.pop-out{display:none}}

.umap-pill{min-width:38px;padding:5px 9px;font-size:14px}
.umap-pill::after{bottom:-6px;width:9px;height:9px}

/* ===== Mascotte sul telefono: esce da dietro il bordo del foglio chiaro (home e citta') ===== */
.mascot-m{display:none}
@media (max-width:700px){
  .mascot.mascot-m{display:block;z-index:0;width:158px;height:158px;transform:rotate(-2deg);transform-origin:50% 81.04%}
}
@media (max-width:700px){
  /* la mascotte sta a destra sopra il foglio: la pillola del voto si stringe e va su due righe, cosi' non si toccano */
  body.pg-home .eyebrow,body.pg-city .eyebrow{max-width:min(205px,56%)}
  body.pg-home .eyebrow .eb-dot,body.pg-city .eyebrow .eb-dot{display:none}
  body.pg-home .eyebrow .eb-r,body.pg-city .eyebrow .eb-r{display:block}
}
/* bordino giallo sul bordo superiore del foglio chiaro (home e citta'): la mascotte esce tra il bordino e la foto */
@media (max-width:700px){
  .sheet-rim{position:absolute;left:0;right:0;bottom:0;z-index:0;background:var(--accent);border-radius:38px 38px 0 0;pointer-events:none}   /* colore del bordino: terracotta (--accent); alternative: var(--sole) giallo, #fff bianco, var(--deep) petrolio */
}

/* posa finale della mascotte: livello gia' pronto sopra la clip, nascosto finche' la clip gira */
.mascot .mascot-final{visibility:hidden}
.mascot.fin .mascot-final{visibility:visible}
.mascot.fin img:not(.mascot-final),.mascot.fin video{visibility:hidden}

/* ===== Foto della home su telefono: colori piu' vivi e caldi, ombra scura in alto piu' leggera (scelta del titolare, 5 nov 2026) ===== */
@media (max-width:700px){
  body.pg-home .hero2-bg img{filter:sepia(.1) saturate(1.38) contrast(1.1) brightness(1.1) hue-rotate(-4deg)}
  body.pg-home .hero2-bg::after{background:linear-gradient(180deg,rgba(7,47,63,.38) 0,rgba(7,47,63,0) 110px)}
}

/* home su telefono: le foto restano impilate (opacita' 0) cosi' il cambio e' una dissolvenza e non uno scatto */
@media (max-width:1000px){
  body.pg-home .hero2-bg img:not(.on){display:block}
}

/* ===== Fondali fotografici su telefono e tablet: stessa resa cinematografica del desktop (velo petrolio sfumato, lento zoom) ===== */
.fcred{margin:var(--s3,12px) auto 0;font-size:12px;line-height:1.5;color:rgba(255,255,255,.62)}
.fcred a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media (max-width:700px){
  body.pg-home .hero2-bg img,body.pg-city .hero2-bg img{filter:saturate(1.1) contrast(1.06)}
  body.pg-home .hero2-bg::after,body.pg-city .hero2-bg::after{background:linear-gradient(180deg,rgba(5,28,38,.62) 0,rgba(5,28,38,.2) 30%,rgba(5,28,38,.14) 62%,rgba(5,28,38,.56) 100%)}
}
@media (max-width:700px) and (prefers-reduced-motion:no-preference){
  body.pg-home .hero2-bg img.on,body.pg-city .hero2-bg img.on{animation:kb 16s ease-out forwards}
}
@media (min-width:701px) and (max-width:1060px){
  .hero2-bg::after{background:linear-gradient(180deg,rgba(5,28,38,.68) 0,rgba(5,28,38,.52) 34%,rgba(5,28,38,.5) 72%,rgba(5,28,38,.8) 100%)}
  .hero2 h1,.hero2-sub{text-shadow:0 2px 18px rgba(5,28,38,.45)}
}

/* ===== TABLET (701-1060 px): stessa identita' del desktop (caratteri dei titoli e del testo, parola finale dei titoli, colore dei titoli, pulsanti a pillola) ===== */
@media (min-width:701px) and (max-width:1060px){
  :root{--f-head:"Bricolage Grotesque","Onest",sans-serif;--f-body:"Onest",system-ui,sans-serif;--f-acc:"Bricolage Grotesque","Onest",sans-serif;--sand:#ffd7a3}
  h1,h2,h3{color:var(--brand);font-weight:600;letter-spacing:-.015em}
  .hero2 h1{letter-spacing:-.02em}
  :is(h1,h2,h3,.h-page,.pop-h b) :is(em,.acc),
  body.pg-city .hero2 h1 .acc,.pp-head h1 .acc,.ck-hi .acc,.scene h2 .acc,.sec-why h2 .acc,.sec-dest2 .sh h2 .acc{font-family:inherit;font-style:normal;font-weight:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;-webkit-text-stroke:0;margin:0;padding:0}
  .hero2 h1 :is(em,.acc),body.pg-city .hero2 h1 .acc{color:var(--sand)}
  .btn{border-radius:9999px;font-family:var(--f-body);font-weight:500;letter-spacing:.5px;text-transform:uppercase}
}
@media (min-width:701px) and (max-width:1000px){
  /* la mascotte (120 px) sta a destra sul bordo alto della scheda di ricerca: il testo sotto il titolo si restringe per non finirle sotto */
  .mascot:not(.mascot-m){width:120px;height:120px}
  body.pg-home .hero2-sub,body.pg-city .hero2-sub{max-width:calc(100% - 260px);margin-inline:auto}
}

/* ===== Logo intero su telefono e tablet (come sul desktop): niente ritaglio e niente nome scritto accanto ===== */
@media (max-width:1060px){
  .brand img{height:50px;width:auto;margin-bottom:0;clip-path:none}
  .brand-w{display:none!important}
}

/* desktop stretto (1001-1060 px): la mascotte sta sulla barra di ricerca e non deve finire sotto il testo del titolo */
@media (min-width:1001px) and (max-width:1060px){
  body.pg-home .hero2-sub,body.pg-city .hero2-sub{max-width:calc(100% - 300px);margin-inline:auto}
}


/* ---- Klarna (pagamento a rate): pillola in home, sezione, fasce, scheda, piede, messaggio sotto le camere ---- */
.kl-badge{display:inline-block;height:auto;vertical-align:middle;flex:none}
.kl-pill{display:inline-flex;align-items:center;gap:10px;margin:16px 0 0;padding:6px 18px 6px 8px;border-radius:999px;background:#fff;color:#0b051d;text-decoration:none;font:600 15px/1.2 var(--f-body);box-shadow:0 6px 22px rgba(0,0,0,.22);transition:transform .15s}
.kl-pill:hover{transform:translateY(-1px)}
.sec-klarna{background:linear-gradient(180deg,#fff4f9 0%,#ffe6f0 100%);padding:64px 0;text-align:center}
.sec-klarna .kl-hd{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 14px}
.sec-klarna .kl-lab{margin:0;font:700 13px/1.2 var(--f-body);letter-spacing:.1em;text-transform:uppercase;color:#7a2a52}
.sec-klarna h2{margin:0 0 12px;color:#0b051d}
.sec-klarna .kl-p{max-width:640px;margin:0 auto 28px;font-size:18px;line-height:1.55;color:#34244a}
.kl-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 auto 18px;padding:0;max-width:860px;text-align:left}
.kl-steps li{display:flex;flex-direction:column;gap:6px;padding:20px;border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(122,42,82,.12)}
.kl-steps b{font:700 18px/1.2 var(--f-head);color:#0b051d}
.kl-steps span:not(.kl-pie){font-size:15px;line-height:1.45;color:#4b3a60}
.kl-pie{width:44px;height:44px;border-radius:50%;background:conic-gradient(#0b051d var(--p),#ffd3e6 0);box-shadow:inset 0 0 0 3px #ffa8cd}
.sec-klarna .kl-ex{margin:0 0 22px;font-weight:600;color:#0b051d}
.sec-klarna .kl-act{margin:0 0 18px}
.sec-klarna .kl-note{max-width:720px;margin:0 auto;font-size:13px;line-height:1.5;color:#6b5a7c}
.kl-strip{background:#ffe6f0;border-top:1px solid #ffc9de;border-bottom:1px solid #ffc9de}
.kl-strip-in{display:flex;align-items:center;gap:16px;padding:14px 0;color:#0b051d}
.kl-strip-in p{margin:0;flex:1;display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;font-size:15px;line-height:1.35}
.kl-strip-in p span{color:#4b3a60}
.kl-strip .kl-how{flex:none;font-weight:700;color:#7a2a52;text-decoration:underline;text-underline-offset:3px}
.kl-prop{display:flex;align-items:center;gap:12px;margin:14px 0 0;padding:12px 14px;border-radius:14px;background:#ffe6f0;color:#0b051d}
.kl-prop p{margin:0;font-size:14px;line-height:1.35}.kl-prop b{display:block}.kl-prop span{color:#4b3a60}
.fpay{display:flex;align-items:center;gap:12px;padding:14px 0 4px;color:inherit;opacity:.9;font-size:14px;line-height:1.4}
.ck-klhint{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#ffe6f0;color:#0b051d;font-size:14px;line-height:1.4}
.rm-km{display:block;margin-top:6px}
.rm-km-fb{display:none;font-size:13px;color:var(--mut)}
.rm-km.no-km .rm-km-fb{display:inline}.rm-km.no-km .rm-km-el{display:none}
@media (max-width:700px){
  .kl-pill{margin-top:14px;font-size:14px}
  .sec-klarna{padding:44px 0}
  .sec-klarna .kl-p{font-size:16px;margin-bottom:22px}
  .kl-steps{grid-template-columns:1fr;gap:10px}
  .kl-steps li{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:14px;padding:14px 16px}
  .kl-steps li .kl-pie{grid-row:span 2}
  .kl-steps li b{flex:1 1 calc(100% - 60px)}
  .kl-steps li span:not(.kl-pie){flex:1 1 100%;margin-left:58px;margin-top:-22px}
  .kl-strip-in{flex-wrap:wrap;gap:10px 12px}
  .kl-strip-in p{flex:1 1 calc(100% - 80px)}
  .kl-strip .kl-how{margin-left:auto}
}

.hero2-in .kl-pill{display:flex;width:max-content;max-width:100%;margin:14px auto 0}

@media (max-width:1000px){
  .rm-pi>.rm-k{grid-column:2/-1;min-width:0}
  .rm-1 .rm-pi>.rm-k{grid-column:1/-1}
  .rm-km .rm-km-el{display:block;width:100%;min-width:0}
  .rm-km .rm-km-el iframe{max-width:100%}
}


/* ---- extra del PMS nel checkout (6 nov 2026, terzo disegno: pulsante Aggiungi + numeri) ---- */
.ck-extras{margin:26px 0 6px;padding:0;border:0;min-width:0}
.ck-extras legend{padding:0;margin:0 0 4px;font:700 22px/1.2 var(--f-head);color:#0b2530}
.ck-ex-s{margin:0 0 14px;font-size:15px;line-height:1.4;color:#516770}
.ck-ex{display:block;margin:0 0 12px;padding:18px 20px;border-radius:20px;background:#fff;box-shadow:0 0 0 1.5px #e6ddcd inset;transition:box-shadow .18s,background .18s}
.ck-ex.on{background:#f1f8fb;box-shadow:0 0 0 2px #125f7b inset}
.ck-ex-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ck-ex-h b{font:700 17px/1.25 var(--f-head);color:#0b2530}
.ck-ex-a{flex:none;font-size:14px;color:#516770;white-space:nowrap}
.ck-ex-q{margin:12px 0 10px;font-size:15px;color:#0b2530}
.ck-ex-n{display:flex;flex-wrap:wrap;gap:10px}
.ck-ex-n button{display:grid;place-items:center;width:48px;height:48px;padding:0;border:2px solid #0b2530;border-radius:50%;background:#fffdf9;color:#0b2530;font:700 18px/1 var(--f-head);cursor:pointer;transition:background .15s,color .15s,transform .1s}
.ck-ex-n button:hover{background:#e9f3f7}
.ck-ex-n button:active{transform:scale(.94)}
.ck-ex-n button.on{background:#125f7b;border-color:#125f7b;color:#fff}
.ck-ex-add{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:14px 0 0;padding:0 24px;border:2px solid #125f7b;border-radius:999px;background:#fff;color:#125f7b;font:700 16px/1 var(--f-body);cursor:pointer;transition:background .15s,color .15s}
.ck-ex-add:hover{background:#e9f3f7}
.ck-ex-add.on{background:#125f7b;color:#fff}
.ck-ex button:focus-visible{outline:3px solid rgba(18,95,123,.35);outline-offset:3px}
.ck-ex-p{display:block;margin:12px 0 0;text-align:right;font:700 16px/1 var(--f-body);color:#125f7b}
.ck-ex-p:empty{display:none}
.ck-ex-t{margin:4px 0 0;font-weight:700;color:#125f7b}
@media (max-width:520px){.ck-ex{padding:16px}.ck-ex-h b{font-size:16px}.ck-ex-n{gap:8px}.ck-ex-n button{width:46px;height:46px}}

/* check-in online: finche' il PMS non ha il link si spiega da quando si apre (7 giorni prima dell'arrivo) */
.cf-ci-note{margin:var(--s5,20px) 0 0;padding:14px 16px;border-radius:16px;background:#eaf3f7;color:#0b2530;font-size:15px;line-height:1.5}
.cf-ci-note[hidden]{display:none}

/* credito: sito realizzato da Nitrolab Studio (in fondo al footer; logo scuro sul fondo chiaro del computer, bianco sul footer scuro del telefono) */
.fcredit{display:flex;align-items:center;gap:12px;padding:0 0 28px;font-size:12px;color:#4d6670}
.fcredit a{display:inline-flex;align-items:center;min-height:32px;opacity:.9;transition:opacity .2s}
.fcredit a:hover,.fcredit a:focus-visible{opacity:1}
.fcredit img{display:block;height:28px;width:auto}
@media (max-width:760px){
  .fcredit{justify-content:center;gap:10px;padding:0 0 calc(var(--s5) + env(safe-area-inset-bottom));color:rgba(255,255,255,.7)}
  .fcredit a{min-height:44px}
  .fcredit img{filter:brightness(0) invert(1)}
}

/* ===== CARRELLO (piu' camere nella ricerca): barra fissa con riepilogo, controlli nelle schede camera =====
   Attivo solo con r > 1 (cart.js / rooms.js): con una camera sola nulla di questo compare. I colori hanno il valore di ripiego perche' i token del telefono non esistono sul computer. */
.cartbar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:flex;flex-direction:column;align-items:center;padding:0 0 env(safe-area-inset-bottom);pointer-events:none}
.cartbar[hidden]{display:none}
.cb-main,.cb-sheet{pointer-events:auto;width:100%;max-width:780px;box-sizing:border-box;background:var(--carta,#FFFDF9);color:var(--ink,#0B2530)}
.cb-main{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:20px 20px 0 0;box-shadow:0 -8px 30px rgba(7,47,63,.18),0 -1px 0 rgba(7,47,63,.08)}
.cb-sum{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:4px 0;border:0;background:none;color:inherit;text-align:left;cursor:pointer;font-family:var(--f-body,Onest,system-ui,sans-serif)}
.cb-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.cb-t b{font:700 17px/1.2 var(--f-head,Onest,system-ui,sans-serif);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-t small{font:500 14px/1.3 var(--f-body,Onest,system-ui,sans-serif);color:var(--mut,#516770);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cb-chev{flex:none;width:22px;height:22px;color:var(--mut,#516770);transition:transform .2s}
.cartbar.open .cb-chev{transform:rotate(180deg)}
.cb-go{flex:none;min-height:52px;padding:0 24px;white-space:nowrap}
.cb-go.is-wait{background:transparent;color:var(--brand,#125F7B);box-shadow:inset 0 0 0 2px var(--brand,#125F7B)}
.cb-sheet{max-height:min(62vh,540px);overflow:auto;padding:18px 16px 8px;border-radius:20px 20px 0 0;box-shadow:0 -8px 30px rgba(7,47,63,.14);margin-bottom:-14px;padding-bottom:26px;overscroll-behavior:contain}
.cb-sheet h3{margin:0 0 10px;font:700 18px/1.2 var(--f-head,Onest,system-ui,sans-serif)}
.cb-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.cb-it{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid rgba(11,37,48,.1)}
.cb-ph{display:block;width:56px;height:56px;border-radius:12px;background:#dcebf1 center/cover no-repeat}
.cb-ib{display:flex;flex-direction:column;gap:2px;min-width:0;font:400 14px/1.35 var(--f-body,Onest,system-ui,sans-serif);color:var(--mut,#516770)}
.cb-ib b{font:600 16px/1.25 var(--f-body,Onest,system-ui,sans-serif);color:var(--ink,#0B2530)}
.cb-pn{color:var(--ink-2,#34505B)}
.cb-rt{font-weight:600;color:var(--ok-tx,#14573A)}
.cb-rt.no{color:var(--amb,#8A5410)}
.cb-ip{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.cb-ip b{font:700 18px/1.1 var(--f-head,Onest,system-ui,sans-serif);white-space:nowrap}
.cb-rm{min-height:44px;padding:0 4px;border:0;background:none;color:var(--accent,#C6441D);font:600 14px var(--f-body,Onest,system-ui,sans-serif);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cb-tot{display:flex;justify-content:space-between;align-items:baseline;margin:14px 0 4px;font:600 15px var(--f-body,Onest,system-ui,sans-serif)}
.cb-tot b{font:700 24px/1 var(--f-head,Onest,system-ui,sans-serif)}
.cb-pay{margin:6px 0 0;padding:10px 12px;border-radius:12px;background:#eaf3f7;font:400 14px/1.4 var(--f-body,Onest,system-ui,sans-serif);color:var(--ink,#0B2530)}
.cb-pay.ok{background:var(--ok-bg,#E3F2EA);color:var(--ok-tx,#14573A)}
.cb-pay.no{background:var(--amb-bg,#FBEBCF);color:var(--amb,#8A5410)}
.cb-tax{margin:10px 0 0;font:400 13px/1.4 var(--f-body,Onest,system-ui,sans-serif);color:var(--mut,#516770)}
/* ripartizione degli ospiti tra le camere (3 + 1, 2 + 2...): − e + su ogni camera, il totale degli ospiti non cambia mai */
.cb-gu{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font:500 14px/1.2 var(--f-body,Onest,system-ui,sans-serif);color:var(--ink-2,#34505B)}
.cb-gm{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-4px 0;padding:0;border:1.5px solid var(--brand,#125F7B);border-radius:50%;background:#fff;color:var(--brand,#125F7B);font:600 22px/1 var(--f-body,Onest,system-ui,sans-serif);cursor:pointer}
.cb-gm:hover:not(:disabled){background:#eaf3f7}
.cb-gm:disabled{opacity:.35;cursor:not-allowed;border-color:rgba(11,37,48,.3);color:var(--mut,#516770)}
.cb-gm:focus-visible,.cb-auto:focus-visible{outline:3px solid var(--brand,#125F7B);outline-offset:2px}
.cb-gn{min-width:1.1em;text-align:center;font:700 18px/1 var(--f-head,Onest,system-ui,sans-serif);color:var(--ink,#0B2530)}
.cb-gl{margin-right:2px}
.cb-warn{font-weight:600;color:var(--amb,#8A5410)}
.cb-hint{margin:12px 0 0;font:400 13px/1.4 var(--f-body,Onest,system-ui,sans-serif);color:var(--mut,#516770)}
.cb-auto{min-height:44px;margin:2px 0 0;padding:0;border:0;background:none;color:var(--brand,#125F7B);font:600 14px var(--f-body,Onest,system-ui,sans-serif);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
/* scheda camera con carrello: quanti ospiti in questa camera (il prezzo della scheda e' quello per quel numero di ospiti) */
.rm-gst{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:10px 0 2px;padding:8px 12px;border-radius:14px;background:#eaf3f7;font:500 15px/1.2 var(--f-body,Onest,system-ui,sans-serif);color:var(--ink,#0B2530)}
.rm-gst-c{display:inline-flex;align-items:center;gap:6px}
.rm-gst-b{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-6px 0;padding:0;border:1.5px solid var(--brand,#125F7B);border-radius:50%;background:#fff;color:var(--brand,#125F7B);font:600 22px/1 var(--f-body,Onest,system-ui,sans-serif);cursor:pointer}
.rm-gst-b:hover:not(:disabled){background:#dcebf1}
.rm-gst-b:disabled{opacity:.35;cursor:not-allowed;border-color:rgba(11,37,48,.3);color:var(--mut,#516770)}
.rm-gst-b:focus-visible{outline:3px solid var(--brand,#125F7B);outline-offset:2px}
.rm-gst-n{min-width:1.1em;text-align:center;font:700 19px/1 var(--f-head,Onest,system-ui,sans-serif)}
.rm-gst-u{margin-right:2px;color:var(--ink-2,#34505B)}
.rm-gst-h{flex:1 0 100%;font:400 13px/1.35 var(--f-body,Onest,system-ui,sans-serif);color:var(--mut,#516770)}
.rm.rm-wait .rm-pp b,.rm.rm-wait .rm-sum-a{opacity:.45}
body.cart-on{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
body.cart-on .wa-float{bottom:calc(104px + env(safe-area-inset-bottom))}
body.cart-on .mbar,html.cart-mode .mbar-p{display:none!important}
/* schede camera in modalita' carrello */
.rm-cartintro{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin:0 0 12px;padding:14px 16px;border-radius:14px;background:#eaf3f7;color:var(--ink,#0B2530)}
.rm-cartintro>div{flex:1 1 230px;min-width:0}   /* testo lungo + pillola: su telefono la pillola va sotto invece di stringere il testo in una colonna stretta */
.rm-cartintro b{display:block;font:700 18px/1.25 var(--f-head,Onest,system-ui,sans-serif)}
.rm-cartintro span{display:block;margin-top:2px;font:400 14px/1.35 var(--f-body,Onest,system-ui,sans-serif);color:var(--mut,#516770)}
.rm-cartintro em{flex:none;font:600 14px/1 var(--f-body,Onest,system-ui,sans-serif);font-style:normal;padding:8px 12px;border-radius:999px;background:var(--brand,#125F7B);color:#fff;white-space:nowrap}
.rm-cartintro em.done{background:var(--ok,#1B7A4E)}
.rm-cartctl{display:contents}
.rm-cartctl-go{display:block}
.rm-cartctl .rm-add[hidden],.rm-step[hidden]{display:none}
.rm-add:disabled{opacity:.45;cursor:not-allowed}
.rm-step{display:inline-flex;align-items:center;justify-content:space-between;gap:4px;min-height:52px;padding:0 4px;border-radius:999px;background:var(--brand,#125F7B);color:#fff;box-sizing:border-box}
.rm-step button{width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#fff;font:600 26px/1 var(--f-body,Onest,system-ui,sans-serif);cursor:pointer;touch-action:manipulation}
.rm-step button:hover:not(:disabled){background:rgba(255,255,255,.16)}
.rm-step button:disabled{opacity:.35;cursor:not-allowed}
.rm-step button:focus-visible{outline:3px solid #fff;outline-offset:-3px}
.rm-step output{min-width:34px;text-align:center;font:700 18px var(--f-body,Onest,system-ui,sans-serif);font-variant-numeric:tabular-nums}
.rm-cartctl-go .rm-step{display:flex;width:100%;min-height:56px}
.rm-cartctl-go .rm-step[hidden]{display:none}
.rm-hi{display:block;font:500 13px/1.3 var(--f-body,Onest,system-ui,sans-serif);color:var(--mut,#516770)}
.rm.in-cart{box-shadow:0 0 0 2px var(--brand,#125F7B)}
@media (max-width:1000px){
  .rm-plan>.rm-cartctl{display:none}
  .cb-main{padding:12px 14px}
  .cb-go{padding:0 18px;min-height:52px}
  .cb-t b{font-size:16px}
}
@media (max-width:420px){
  .cb-go{padding:0 14px;font-size:15px}
}
@media (prefers-reduced-motion:reduce){.cb-chev{transition:none}}

/* checkout con piu' camere: una riga per camera nel riepilogo, extra per camera */
.ckl{display:flex;flex-direction:column;margin:14px 0 10px;padding:0;list-style:none}
.ckl-i{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 0;border-top:1px solid rgba(11,37,48,.1)}
.ckl-ph{display:block;width:56px;height:56px;border-radius:12px;background:#dcebf1 center/cover no-repeat}
.ckl-b{display:flex;flex-direction:column;gap:2px;min-width:0;font:400 14px/1.35 var(--f-body,Onest,system-ui,sans-serif);color:var(--mut,#516770)}
.ckl-b b{font:600 16px/1.25 var(--f-body,Onest,system-ui,sans-serif);color:var(--ink,#0B2530)}
.ckl-b em{font-style:normal;font-weight:600;color:var(--ok-tx,#14573A)}
.ckl-b em.no{color:var(--amb,#8A5410)}
.ckl-p{font:700 18px/1.1 var(--f-head,Onest,system-ui,sans-serif);white-space:nowrap;color:var(--ink,#0B2530)}
.ck-m .ckl{margin:0;padding:0 var(--s4,16px)}
.ck-m .ckl-i:first-child{border-top:0}
.ck-ex-leg{margin:14px 0 6px;font:600 14px var(--f-body,Onest,system-ui,sans-serif);color:var(--mut,#516770)}
/* etichetta "per camera" accanto al prezzo: sul computer in riga, su telefono e tablet va a capo sotto il prezzo (la colonna accanto al pulsante e' stretta) */
.pr-room{font-size:13px;color:var(--mut,#52666f)}
@media (max-width:1000px){
  .pr-main.has-room{flex-wrap:wrap;row-gap:0}
  .pr-main.has-room .pr-room{flex:0 0 100%;font-size:14px}
}
