/* coliving/dvm.css — Trust & Clarity (30/08/2026)
   ================================================================
   Un solo sistema di token; una sola palette attiva. Navy = autorevolezza e
   navigazione · carta calda = lettura · arancio DVM = SOLO CTA/stati/dettagli
   · salvia = SOLO segnali positivi/inclusioni. Nessun emoji come icona di
   interfaccia: icone SVG inline (stroke currentColor).
   Le pagine portale/caparra/rata restano su stile.css (fuori scope). */
:root{
  --navy:#141C2B; --navy-2:#1E2A3F; --navy-ink:#0E1522;
  --bg:#F7F5F0; --bg-2:#EFECE4; --card:#FFFFFF; --line:#E3DFD6; --line-2:#CFC9BD;
  --ink:#1A2130; --soft:#5B6472; --mute:#8A919C;
  --or:#D97706; --or-2:#B45309; --or-bg:#FDF3E4; --or-line:#F3D9B4; --or-ink:#7C3F06;
  --sage:#3F7D5C; --sage-bg:#E9F2EC; --sage-line:#C6DDCF; --sage-ink:#25593F;
  --warn:#9A3412; --warn-bg:#FEF1EC; --warn-line:#F5C9B8;
  --r-s:8px; --r:12px; --r-l:16px;
  --sh-1:0 1px 2px rgba(20,28,43,.05); --sh-2:0 4px 16px rgba(20,28,43,.07),0 1px 3px rgba(20,28,43,.05);
  --sh-3:0 12px 32px rgba(20,28,43,.10);
  --font:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --t-fast:.15s; --t:.28s; --ease:cubic-bezier(.2,.7,.2,1);
  --hdr-h:60px; --wrap:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15.5px/1.6 var(--font);overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3,h4{margin:0;line-height:1.2;letter-spacing:-.01em}
h1{font-size:clamp(28px,4.2vw,44px);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(22px,2.8vw,30px);font-weight:800}
h3{font-size:17px;font-weight:700}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.ico{width:18px;height:18px;flex:0 0 18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--or);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:12px;top:-60px;background:var(--navy);color:#fff;padding:10px 16px;border-radius:var(--r-s);z-index:2000;font-weight:700;text-decoration:none}
.skip:focus{top:12px}

/* ---------- header ---------- */
.hdr{background:var(--navy);color:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.hdr .in{max-width:var(--wrap);margin:0 auto;padding:0 20px;height:var(--hdr-h);display:flex;align-items:center;gap:18px}
.hdr .brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-height:44px}
.hdr .brand img{height:28px;width:auto;filter:brightness(0) invert(1)}
.hdr .brand span{display:flex;flex-direction:column;line-height:1.15}
.hdr .brand b{font-size:14px;font-weight:800}
.hdr .brand small{font-size:11.5px;color:#B8C0CE}
.hdr nav{margin-left:auto;display:flex;align-items:center;gap:4px}
.hdr nav a{color:#DCE1EA;text-decoration:none;font-size:14px;font-weight:600;padding:10px 12px;border-radius:var(--r-s);min-height:44px;display:inline-flex;align-items:center;transition:background var(--t-fast)}
.hdr nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.hdr nav a[aria-current=page]{color:#fff;box-shadow:inset 0 -2px 0 var(--or)}
.hdr nav a.cta{background:var(--or);color:#fff;font-weight:800;padding:10px 16px;margin-left:6px}
.hdr nav a.cta:hover{background:var(--or-2)}
.lang{display:flex;gap:2px;margin-left:8px;padding-left:10px;border-left:1px solid rgba(255,255,255,.14)}
.lang a{color:#B8C0CE;text-decoration:none;font-size:12.5px;font-weight:700;padding:8px 7px;min-width:34px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-s)}
.lang a:hover{color:#fff;background:rgba(255,255,255,.08)}
.lang a[aria-current=true]{color:var(--or)}
.burger{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.18);border-radius:var(--r-s);color:#fff;width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer}
@media (max-width:900px){
  .hdr .brand small{display:none}
  .burger{display:inline-flex}
  .hdr nav{position:absolute;left:0;right:0;top:var(--hdr-h);background:var(--navy-2);flex-direction:column;align-items:stretch;padding:10px 14px 16px;gap:2px;display:none;box-shadow:var(--sh-3)}
  .hdr nav.open{display:flex;animation:drop var(--t) var(--ease)}
  .hdr nav a{min-height:48px}
  .hdr nav a.cta{margin:8px 0 0;justify-content:center}
  .lang{margin:8px 0 0;padding:10px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.14);justify-content:flex-start}
}
@keyframes drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- pulsanti ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 22px;border-radius:var(--r-s);
  font-weight:800;font-size:15px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast)}
.btn.p{background:var(--or);color:#fff;box-shadow:0 4px 14px rgba(217,119,6,.22)}
.btn.p:hover{background:var(--or-2);transform:translateY(-1px)}
.btn.s{background:#fff;color:var(--navy);border-color:var(--line-2)}
.btn.s:hover{border-color:var(--navy);transform:translateY(-1px)}
.btn.n{background:var(--navy);color:#fff}
.btn.n:hover{background:var(--navy-ink)}
.btn.w{width:100%}
.btn:disabled{opacity:.6;cursor:progress;transform:none}
.link{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.link:hover{color:var(--or-2)}
.back{display:inline-flex;align-items:center;gap:6px;color:var(--soft);text-decoration:none;font-weight:700;font-size:14px;min-height:44px}
.back:hover{color:var(--navy)}

/* ---------- badge ---------- */
.mode{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;padding:5px 10px;border-radius:6px;border:1px solid;line-height:1.3;letter-spacing:.01em}
.mode .ico{width:15px;height:15px;flex-basis:15px}
.mode.room{background:#F1EEFF;border-color:#D6CFF5;color:#3B2E7A}
.mode.apartment{background:#E8EEF8;border-color:#C9D6EC;color:#1B3766}
.mode small{font-weight:600;opacity:.85}
.avail{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--sage-ink);background:var(--sage-bg);border:1px solid var(--sage-line);padding:4px 9px;border-radius:6px}
.avail .ico{width:14px;height:14px;flex-basis:14px}
.avail small{font-weight:600;color:var(--sage);opacity:.9}
.tagk{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--soft);background:var(--bg-2);padding:4px 9px;border-radius:6px}

/* ---------- hero ---------- */
.hero{background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);border-bottom:1px solid var(--line);padding:56px 0 40px}
.hero .grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;align-items:center}
.eyebrow{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--or-2);margin-bottom:14px}
.hero h1{max-width:16ch;margin-bottom:16px}
.hero .lead{font-size:17px;color:var(--soft);max-width:58ch;margin-bottom:24px}
.hero .acts{display:flex;gap:12px;flex-wrap:wrap}
.hero-side{display:grid;gap:12px}
.fam{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;display:grid;gap:8px;box-shadow:var(--sh-1);text-decoration:none;transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}
.fam:hover{border-color:var(--navy);box-shadow:var(--sh-2);transform:translateY(-1px)}
.fam p{font-size:14px;color:var(--soft)}
.fam .go{font-size:13.5px;font-weight:800;color:var(--navy);display:inline-flex;align-items:center;gap:6px;margin-top:2px}
.trust{background:#fff;border-bottom:1px solid var(--line)}
.trust ul{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.trust li{display:flex;align-items:center;gap:10px;padding:16px 14px;font-size:13.5px;font-weight:700;color:var(--ink);border-left:1px solid var(--line)}
.trust li:first-child{border-left:0}
.trust .ico{color:var(--sage)}
@media (max-width:900px){
  .hero{padding:36px 0 28px}
  .hero .grid{grid-template-columns:1fr;gap:26px}
  .trust ul{grid-template-columns:1fr 1fr}
  .trust li{border-left:0;border-top:1px solid var(--line);padding:12px 4px}
  .trust li:nth-child(-n+2){border-top:0}
}
@media (max-width:560px){.trust ul{grid-template-columns:1fr}.trust li:nth-child(2){border-top:1px solid var(--line)}}

/* ---------- filtri ---------- */
.filters{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:var(--hdr-h);z-index:900}
.filters .in{max-width:var(--wrap);margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.seg{display:inline-flex;background:var(--bg-2);border-radius:var(--r-s);padding:3px;gap:2px}
.seg label{position:relative;min-height:42px;display:inline-flex;align-items:center;padding:0 14px;border-radius:6px;font-size:14px;font-weight:700;color:var(--soft);cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}
.seg input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.seg label:has(input:checked){background:var(--navy);color:#fff;box-shadow:var(--sh-1)}
.seg label:has(input:focus-visible){outline:3px solid var(--or);outline-offset:1px}
.fmore{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1.5px solid var(--line-2);background:#fff;border-radius:var(--r-s);font-weight:700;font-size:14px;cursor:pointer}
.fmore[aria-expanded=true]{border-color:var(--navy)}
.fmore .n{background:var(--or);color:#fff;font-size:11.5px;font-weight:800;border-radius:999px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.count{margin-left:auto;font-size:14px;font-weight:700;color:var(--soft)}
.fsec{display:none;width:100%;border-top:1px solid var(--line);padding-top:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fsec.open{display:grid;animation:drop var(--t) var(--ease)}
.fsec label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--soft);margin-bottom:5px}
.fsec select{width:100%;min-height:44px;padding:8px 36px 8px 12px;border:1.5px solid var(--line-2);border-radius:var(--r-s);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235B6472' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;appearance:none;font:600 14px var(--font);color:var(--ink)}
.fsec .tog{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:700;cursor:pointer}
.fsec .tog input{width:20px;height:20px;accent-color:var(--navy);margin:0}
.fsec .reset{align-self:end}
@media (max-width:900px){.fsec{grid-template-columns:1fr 1fr}.count{width:100%;margin:0}}
@media (max-width:560px){.fsec{grid-template-columns:1fr}.seg{width:100%}.seg label{flex:1;justify-content:center;padding:0 8px;font-size:13px}}

/* ---------- elenco + mappa ---------- */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,42%);gap:0}
.list{padding:22px 20px 40px;min-width:0}
.list .hd{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.list .hd p{font-size:13.5px;color:var(--soft);max-width:60ch}
.mapcol{position:sticky;top:calc(var(--hdr-h) + 68px);height:calc(100vh - var(--hdr-h) - 68px)}
#mappa{width:100%;height:100%;background:var(--bg-2)}
.grid-u{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;margin-top:16px}
.uc{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh-1);transition:box-shadow var(--t),transform var(--t),border-color var(--t)}
.uc:hover,.uc.hot{box-shadow:var(--sh-2);transform:translateY(-2px);border-color:var(--line-2)}
.uc:focus-within{outline:3px solid var(--or);outline-offset:2px}
.uc .ph{position:relative;aspect-ratio:4/3;background:var(--bg-2);overflow:hidden}
.uc .ph img{width:100%;height:100%;object-fit:cover}
.uc .ph .na{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--soft);background:repeating-linear-gradient(135deg,#EFECE4 0 12px,#E9E5DC 12px 24px);font-size:12.5px;font-weight:700}
.uc .ph .na .ico{width:28px;height:28px;flex-basis:28px;color:var(--mute)}
.uc .ph .cnt{position:absolute;right:10px;bottom:10px;background:rgba(20,28,43,.78);color:#fff;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:6px}
.uc .bd{padding:14px 16px 16px;display:flex;flex-direction:column;gap:9px;flex:1}
.uc h3{font-size:16px;line-height:1.3}
.uc h3 a{text-decoration:none;color:var(--ink)}
.uc h3 a::after{content:"";position:absolute;inset:0}
.uc .meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:13px;color:var(--soft)}
.uc .meta span{display:inline-flex;align-items:center;gap:5px}
.uc .meta .ico{width:14px;height:14px;flex-basis:14px;color:var(--mute)}
.uc .sh{font-size:12.5px;color:var(--soft);display:flex;align-items:center;gap:6px}
.uc .sh .ico{width:14px;height:14px;flex-basis:14px;color:var(--mute)}
.uc .pr{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:end}
.uc .pr .p6{font-size:19px;font-weight:800;line-height:1.1}
.uc .pr .p6 small{font-size:12px;font-weight:600;color:var(--soft)}
.uc .pr .lb{font-size:11.5px;color:var(--soft);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.uc .pr .p35{font-size:12.5px;color:var(--soft);text-align:right}
.uc .pr .p35 b{color:var(--ink)}
.uc .ft{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.uc .ft .go{font-size:13px;font-weight:800;color:var(--navy);display:inline-flex;align-items:center;gap:5px}
.empty{background:#fff;border:1.5px dashed var(--line-2);border-radius:var(--r);padding:32px;text-align:center;color:var(--soft);margin:16px 0}
.nf{margin:26px 0 0;background:var(--navy);color:#fff;border-radius:var(--r-l);padding:26px 28px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.nf h2{font-size:20px;color:#fff}
.nf p{color:#C4CCDA;font-size:14px;max-width:56ch;margin-top:6px}
.pin{background:#fff;color:var(--navy);border:1.5px solid var(--navy);border-radius:999px;padding:5px 11px;font:800 12.5px var(--font);white-space:nowrap;box-shadow:var(--sh-2);cursor:pointer;transition:transform var(--t-fast),background var(--t-fast),color var(--t-fast)}
.pin:hover,.pin.hot{background:var(--or);border-color:var(--or);color:#fff;transform:scale(1.06)}
.pin.dim{opacity:.35}
.pop{width:220px;font:13px/1.45 var(--font)}
.pop img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;margin-bottom:6px}
.pop b{display:block;margin-bottom:2px}
.pop a{display:inline-block;margin-top:5px;color:var(--navy);font-weight:800}
.mtog{display:none;position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:950;background:var(--navy);color:#fff;border:0;border-radius:999px;min-height:46px;padding:0 20px;font-weight:800;font-size:14px;box-shadow:var(--sh-3);cursor:pointer;align-items:center;gap:8px}
@media (max-width:980px){
  .split{grid-template-columns:1fr}
  .mapcol{display:none;position:fixed;inset:calc(var(--hdr-h) + 68px) 0 0;height:auto;z-index:800}
  body.mapon .mapcol{display:block}
  body.mapon .list{display:none}
  .mtog{display:inline-flex}
  .nf{grid-template-columns:1fr}
}

/* ---------- sezioni ---------- */
.sec{padding:52px 0}
.sec.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sec .sub{color:var(--soft);margin-top:8px;max-width:62ch}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px;counter-reset:s}
.steps li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;counter-increment:s;display:grid;gap:8px;box-shadow:var(--sh-1)}
.steps li::before{content:counter(s);width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;font-size:14px;display:inline-flex;align-items:center;justify-content:center}
.steps p{font-size:14px;color:var(--soft)}
.inst{background:var(--navy);color:#fff}
.inst .in{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.inst h2{color:#fff;font-size:clamp(22px,3vw,32px)}
.inst p{color:#C4CCDA;font-size:16px;margin-top:10px;max-width:56ch}
.inst ul{display:grid;gap:10px}
.inst li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:#E6EAF1}
.inst .ico{color:var(--or);margin-top:3px}
.faq{max-width:820px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);margin-top:8px}
.faq summary{list-style:none;cursor:pointer;padding:14px 46px 14px 18px;font-weight:700;font-size:15px;position:relative;min-height:48px;display:flex;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;border-right:2px solid var(--soft);border-bottom:2px solid var(--soft);transform:translateY(-70%) rotate(45deg);transition:transform var(--t)}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{padding:0 18px 16px;color:var(--soft);font-size:14.5px}
@media (max-width:900px){.steps{grid-template-columns:1fr}.inst .in{grid-template-columns:1fr}.sec{padding:40px 0}}

/* ---------- footer ---------- */
.ftr{background:var(--navy-ink);color:#B8C0CE;padding:38px 0 calc(28px + env(safe-area-inset-bottom));font-size:13.5px;margin-top:20px}
.ftr .g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.ftr b{color:#fff;display:block;margin-bottom:8px;font-size:14px}
.ftr a{color:#DCE1EA;text-decoration:none;display:inline-flex;align-items:center;min-height:36px}
.ftr a:hover{color:#fff;text-decoration:underline}
.ftr ul{display:grid;gap:2px}
.ftr .note{margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;color:#8F98A8;max-width:80ch}
@media (max-width:760px){.ftr .g{grid-template-columns:1fr;gap:20px}}

/* ---------- scheda unità ---------- */
.crumb{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--soft);padding:14px 0 4px}
.crumb a{text-decoration:none;font-weight:700;color:var(--soft)}
.crumb a:hover{color:var(--navy)}
.crumb li+li::before{content:"›";margin-right:6px;color:var(--mute)}
.uhead{padding:8px 0 18px;display:grid;gap:10px}
.uhead .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.uhead .code{font-size:12.5px;color:var(--soft);font-weight:700;letter-spacing:.04em}
.uhead h1{font-size:clamp(24px,3.2vw,36px)}
.uhead .facts{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;color:var(--soft)}
.uhead .facts span{display:inline-flex;align-items:center;gap:6px}
.uhead .facts .ico{width:16px;height:16px;flex-basis:16px;color:var(--mute)}
.ulay{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start;padding-bottom:40px}
.side{position:sticky;top:calc(var(--hdr-h) + 16px);display:grid;gap:14px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh-1)}
.card .bd{padding:18px 20px}
.card h2,.card h3{font-size:16px;margin-bottom:12px}
.blk{margin-top:28px}
.blk h2{font-size:20px;margin-bottom:12px}
.gal{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:8px;border-radius:var(--r);overflow:hidden}
.gal .main{grid-row:1/3;position:relative;aspect-ratio:4/3;background:var(--bg-2)}
.gal .main img,.gal .th img{width:100%;height:100%;object-fit:cover}
.gal .th{position:relative;aspect-ratio:4/3;background:var(--bg-2);overflow:hidden}
.gal .th.more::after{content:attr(data-n);position:absolute;inset:0;background:rgba(20,28,43,.55);color:#fff;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center}
.gal.one{grid-template-columns:1fr;grid-template-rows:auto}
.gal.one .main{aspect-ratio:16/9}
.gal .na{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--soft);background:repeating-linear-gradient(135deg,#EFECE4 0 14px,#E9E5DC 14px 28px);text-align:center;padding:20px;font-weight:700;font-size:14px}
.gal .na .ico{width:32px;height:32px;flex-basis:32px;color:var(--mute)}
.gal .na small{font-weight:500;max-width:46ch}
.thumbs{display:flex;gap:8px;overflow-x:auto;padding:10px 2px 4px;scrollbar-width:thin}
.thumbs button{flex:0 0 88px;aspect-ratio:4/3;border:2px solid transparent;border-radius:var(--r-s);padding:0;overflow:hidden;background:var(--bg-2);cursor:pointer}
.thumbs button img{width:100%;height:100%;object-fit:cover}
.thumbs button[aria-current=true]{border-color:var(--or)}
.galnav{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:8px;font-size:13px;color:var(--soft)}
.galnav .b{display:flex;gap:6px}
.galnav button{width:44px;height:44px;border:1.5px solid var(--line-2);background:#fff;border-radius:var(--r-s);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.galnav button:hover{border-color:var(--navy)}
.modebox{border-left:4px solid var(--navy);background:#fff;border-radius:var(--r-s);padding:16px 18px;display:grid;gap:8px;border:1px solid var(--line);border-left-width:4px}
.modebox .k{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--soft)}
.modebox .v{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.modebox p{font-size:14.5px;color:var(--ink)}
.spaces{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.spaces .c{background:#fff;border:1px solid var(--line);border-radius:var(--r-s);padding:14px 16px}
.spaces .c h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--soft);margin-bottom:8px;display:flex;align-items:center;gap:7px}
.spaces .c.priv h3 .ico{color:var(--sage)}
.spaces .c.shar h3 .ico{color:var(--or-2)}
.spaces li{display:flex;align-items:center;gap:8px;font-size:14.5px;padding:4px 0}
.spaces li .ico{width:15px;height:15px;flex-basis:15px;color:var(--mute)}
.spaces .none{font-size:14px;color:var(--sage-ink);background:var(--sage-bg);border:1px solid var(--sage-line);border-radius:6px;padding:10px 12px;display:flex;gap:8px;align-items:flex-start}
.spaces .none .ico{color:var(--sage);margin-top:2px}
.desc p{font-size:15.5px;line-height:1.7;white-space:pre-line}
.desc .na{color:var(--soft);font-size:14.5px;background:var(--bg-2);border-radius:var(--r-s);padding:12px 14px}
.ptab{width:100%;border-collapse:collapse;font-size:14.5px}
.ptab th,.ptab td{text-align:left;padding:11px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.ptab th{font-weight:700;color:var(--soft);font-size:12.5px;text-transform:uppercase;letter-spacing:.06em}
.ptab td:last-child,.ptab th:last-child{text-align:right}
.ptab .p{font-size:20px;font-weight:800;white-space:nowrap}
.ptab .p small{font-size:12px;font-weight:600;color:var(--soft)}
.ptab tr.std td{background:linear-gradient(90deg,transparent,var(--sage-bg) 100%)}
.ptab .tag{display:inline-block;font-size:11px;font-weight:800;color:var(--sage-ink);background:var(--sage-bg);border:1px solid var(--sage-line);border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:middle}
.ptab .tag.or{color:var(--or-ink);background:var(--or-bg);border-color:var(--or-line)}
.note{font-size:13px;color:var(--soft);margin-top:10px;display:flex;gap:7px;align-items:flex-start}
.note .ico{width:15px;height:15px;flex-basis:15px;margin-top:3px;color:var(--mute)}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.incl li{display:flex;align-items:center;gap:8px;font-size:14.5px;padding:5px 0}
.incl .ico{color:var(--sage);width:16px;height:16px;flex-basis:16px}
.terms li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;padding:6px 0;color:var(--ink)}
.terms .ico{color:var(--navy);margin-top:3px;width:16px;height:16px;flex-basis:16px}
#mappa-mini{height:280px;border-radius:var(--r);border:1px solid var(--line);background:var(--bg-2)}
.sidebox .avl{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px;font-size:13.5px;color:var(--soft)}
.sidebox .pri{display:grid;gap:6px;margin-bottom:12px}
.sidebox .pri div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:14px;color:var(--soft)}
.sidebox .pri b{font-size:22px;color:var(--ink);font-weight:800}
.sidebox .pri b small{font-size:12px;font-weight:600;color:var(--soft)}
.sidebox .pri .s{font-size:13px}
.sidebox .pri .s b{font-size:15px}
.sidebox .acts{display:grid;gap:8px;margin-top:12px}
.sidebox .free{font-size:13px;color:var(--soft);margin-top:10px;display:flex;gap:7px;align-items:flex-start}
.sidebox .free .ico{width:15px;height:15px;flex-basis:15px;color:var(--sage);margin-top:3px}
.mgd{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--soft)}
.mgd .ico{color:var(--navy);margin-top:2px}
.mgd b{color:var(--ink)}
.stickycta{display:none}
@media (max-width:980px){
  .ulay{grid-template-columns:1fr;gap:20px}
  .side{position:static}
  .gal{grid-template-columns:1fr;grid-template-rows:auto}
  .gal .th{display:none}
  .gal .main{aspect-ratio:4/3}
  .spaces{grid-template-columns:1fr}
  .incl{grid-template-columns:1fr}
  .stickycta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:940;background:#fff;border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:12px;align-items:center;box-shadow:0 -6px 20px rgba(20,28,43,.08)}
  .stickycta .p{display:grid;line-height:1.15}
  .stickycta .p b{font-size:18px}
  .stickycta .p small{font-size:11.5px;color:var(--soft)}
  .stickycta .btn{margin-left:auto;min-height:46px;padding:10px 18px}
  body.has-sticky{padding-bottom:84px}
  body.has-sticky #as-apri{bottom:calc(84px + env(safe-area-inset-bottom))!important}
  body.has-sticky .wa-float{bottom:calc(84px + env(safe-area-inset-bottom))!important}
}

/* ---------- richiesta ---------- */
.rlay{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:36px;align-items:start;padding:8px 0 48px}
.rlay .intro{font-size:16px;color:var(--soft);margin:10px 0 22px;max-width:60ch}
.fs{border:0;padding:0;margin:0 0 26px;min-width:0}
.fs legend{font-size:17px;font-weight:800;padding:0;margin-bottom:12px}
.fld{margin-bottom:14px}
.fld label,.fld .lbl{display:block;font-size:14px;font-weight:700;margin-bottom:5px}
.fld label .opt,.fld .lbl .opt{font-weight:500;color:var(--soft)}
.fld .hint{font-size:12.5px;color:var(--soft);margin-top:4px}
.fld input[type=text],.fld input[type=email],.fld input[type=tel],.fld input[type=date],.fld select,.fld textarea{
  width:100%;min-height:48px;padding:11px 13px;border:1.5px solid var(--line-2);border-radius:var(--r-s);background:#fff;font:500 16px var(--font);color:var(--ink);transition:border-color var(--t-fast),box-shadow var(--t-fast)}
.fld textarea{min-height:110px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(20,28,43,.12)}
.fld.err input,.fld.err select,.fld.err textarea{border-color:var(--warn);background:#FFFBFA}
.fld .e{display:none;font-size:13px;color:var(--warn);font-weight:700;margin-top:5px;align-items:center;gap:5px}
.fld.err .e{display:flex}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.chk{display:flex;gap:11px;align-items:flex-start;padding:10px 0;cursor:pointer;font-size:14.5px}
.chk input{width:22px;height:22px;flex:0 0 22px;margin:1px 0 0;accent-color:var(--navy)}
.chk small{display:block;color:var(--soft);font-size:13px;margin-top:2px}
.radios{display:grid;gap:8px}
.radios label{display:flex;gap:11px;align-items:center;padding:11px 14px;border:1.5px solid var(--line-2);border-radius:var(--r-s);cursor:pointer;font-size:14.5px;font-weight:600;min-height:48px;background:#fff;transition:border-color var(--t-fast),background var(--t-fast)}
.radios label:has(input:checked){border-color:var(--navy);background:var(--bg-2)}
.radios input{width:20px;height:20px;accent-color:var(--navy);margin:0;flex:0 0 20px}
.pnow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;background:var(--sage-bg);border:1px solid var(--sage-line);border-radius:var(--r-s);padding:12px 14px;margin:4px 0 14px;font-size:14px;color:var(--sage-ink)}
.pnow b{font-size:20px;color:var(--ink)}
.pnow b small{font-size:12px;color:var(--soft);font-weight:600}
.next{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin:6px 0 20px}
.next h2{font-size:15px;margin-bottom:10px}
.next ol{margin:0;padding:0;list-style:none;display:grid;gap:8px;counter-reset:n}
.next li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--soft);counter-increment:n}
.next li::before{content:counter(n);flex:0 0 22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}
.sum{position:sticky;top:calc(var(--hdr-h) + 16px)}
.sum .hd{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center}
.sum .hd b{font-size:15px}
.sum .hd small{font-size:12px;color:var(--soft);white-space:nowrap}
.sum .ph{aspect-ratio:16/9;background:var(--bg-2);position:relative;overflow:hidden}
.sum .ph img{width:100%;height:100%;object-fit:cover}
.sum .ph .na{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--soft);font-size:13px;font-weight:700;background:repeating-linear-gradient(135deg,#EFECE4 0 12px,#E9E5DC 12px 24px)}
.sum .bd{padding:16px 18px;display:grid;gap:10px}
.sum .row{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--soft);align-items:baseline}
.sum .row b{color:var(--ink)}
.sum .tot{border-top:1px solid var(--line);padding-top:10px;display:flex;justify-content:space-between;align-items:baseline}
.sum .tot b{font-size:22px}
.sum .tot b small{font-size:12px;color:var(--soft);font-weight:600}
.sum .np{font-size:12.5px;color:var(--sage-ink);display:flex;gap:6px;align-items:center}
.sum .np .ico{width:14px;height:14px;flex-basis:14px;color:var(--sage)}
.sum-m{display:none}
@media (max-width:980px){
  .rlay{grid-template-columns:1fr;gap:18px}
  .sum{position:static}
  .sum-d{display:none}
  .sum-m{display:block;order:-1}
  .sum-m summary{list-style:none;cursor:pointer;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:700;font-size:14.5px;min-height:52px}
  .sum-m summary::-webkit-details-marker{display:none}
  .sum-m summary b{font-size:18px}
  .two{grid-template-columns:1fr}
}

/* ---------- messaggi di stato ---------- */
.msg{display:flex;gap:10px;align-items:flex-start;border-radius:var(--r-s);padding:13px 16px;font-size:14.5px;margin:14px 0;border:1px solid}
.msg .ico{margin-top:2px}
.msg.ok{background:var(--sage-bg);border-color:var(--sage-line);color:var(--sage-ink)}
.msg.err{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}
.msg.info{background:var(--or-bg);border-color:var(--or-line);color:var(--or-ink)}
.msg ul{margin-top:6px;display:grid;gap:3px}
.msg ul a{font-weight:700}

/* ---------- conferma ---------- */
.done{max-width:760px;padding:26px 0 56px;display:grid;gap:18px}
.done .ok{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--sage-bg);border:1px solid var(--sage-line);color:var(--sage)}
.done .ok .ico{width:28px;height:28px;flex-basis:28px}
.done h1{font-size:clamp(26px,3.4vw,36px)}
.done .lead{font-size:16.5px;color:var(--soft);max-width:58ch}
.done dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 18px;font-size:14.5px}
.done dt{color:var(--soft);font-weight:700}
.done dd{margin:0}
.done .facts{display:grid;gap:8px}
.done .facts li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px}
.done .facts .ico{color:var(--sage);margin-top:3px}
.done .acts{display:flex;gap:10px;flex-wrap:wrap}
.done .team{font-size:14.5px;display:grid;gap:4px}
.done .team a{font-weight:700;color:var(--navy)}
.dep{border:1px solid var(--or-line);background:var(--or-bg)}
.dep .g2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
@media (max-width:560px){.done dl{grid-template-columns:1fr;gap:2px 0}.done dt{margin-top:8px}.dep .g2{grid-template-columns:1fr}}

/* ---------- WhatsApp flottante ---------- */
.wa-float{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:400;width:50px;height:50px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-3);text-decoration:none}
.wa-float .ico{width:24px;height:24px;flex-basis:24px;fill:#fff;stroke:none}
@media (max-width:980px){body.mapon .wa-float{display:none}}

/* ---------- motion ---------- */
.rv{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.rv.in{opacity:1;transform:none}
.hero .rv{transition-delay:.05s}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
}
/* senza JS tutto resta visibile */
.no-js .rv{opacity:1;transform:none}
.no-js .fsec{display:grid}
.no-js .mapcol{display:none}
/* ---- correzioni post-verifica 30/08 ---- */
[hidden]{display:none!important}
.hdr nav a{white-space:nowrap;padding:10px 10px}
@media (max-width:1100px) and (min-width:901px){.hdr nav a{font-size:13px;padding:10px 7px}.hdr .brand small{display:none}}
.ulay>*,.rlay>*{min-width:0}
.ptab{table-layout:fixed}
@media (max-width:980px){.ulay,.rlay{grid-template-columns:minmax(0,1fr)}}
ol.crumb{list-style:none;margin:0;padding:14px 0 4px}
.crumb li+li::before{font-family:system-ui,sans-serif}
.hdr .brand{flex:0 0 auto}
.hdr .brand b,.hdr .brand small{white-space:nowrap}
.fld label.chk{display:flex}
@media (max-width:980px){.sum{order:-1}}
/* ================= SKIN B «App» (scelta di Riccardo 30/08) =================
   Header flottante a pillola · hero centrato con ricerca a pillola · card
   morbide con foto arrotondata · moduli a tessere · box prezzo scuro. */
:root{--bg:#F6F5F2;--bg-2:#EFEDE8;--line:#E7E4DD;--wrap:1200px;--hdr-h:96px;--t:.3s;--ease:cubic-bezier(.2,.6,.2,1);--r:20px;--r-l:24px;--sh-2:0 8px 24px rgba(20,28,43,.06);--sh-3:0 20px 50px rgba(20,28,43,.12)}
.btn,.hdr nav a.cta,.fmore,.seg,.seg label,.pin,.mode,.avail,.tagk,.fsec select,.fld input:not([type=checkbox]):not([type=radio]),.fld select{border-radius:999px}
.btn{padding:14px 26px;min-height:52px}
.btn .ico{transition:transform var(--t) var(--ease)}.btn:hover .ico{transform:translateX(4px)}
.btn.g{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}.btn.g:hover{border-color:#fff}
/* header flottante */
.hdr{background:transparent;box-shadow:none;position:sticky;top:0;padding:16px 20px 0;pointer-events:none}
.hdr .in{pointer-events:auto;height:64px;max-width:1120px;background:#fff;border-radius:999px;box-shadow:0 10px 30px rgba(20,28,43,.10);padding:0 10px 0 24px;gap:28px;color:var(--ink)}
.hdr .brand img{height:26px;filter:none}
.hdr nav{gap:24px}
.hdr nav a{color:var(--ink);font-weight:700;font-size:15px;padding:8px 2px;border-radius:0;min-height:40px}
.hdr nav a:hover{background:none;color:var(--or-2)}
.hdr nav a[aria-current=page]{box-shadow:none;color:var(--or-2)}
.lang{margin-left:8px;padding:4px;background:var(--bg-2);border:0;border-radius:999px;gap:0}
.lang a{color:var(--soft);min-width:36px;min-height:34px;padding:0 6px;border-radius:999px;font-size:12px}
.lang a:hover{background:#fff;color:var(--ink)}
.lang a[aria-current=true]{background:var(--navy);color:#fff}
.hdr nav a.cta{background:var(--or);color:#fff;padding:12px 20px;min-height:44px;margin-left:4px;font-weight:800}
.hdr nav a.cta:hover{background:var(--or-2);color:#fff}
.burger{color:var(--ink);border-color:var(--line)}
@media (max-width:1100px){.hdr nav{gap:16px}.hdr nav a{font-size:14px}}
@media (max-width:900px){
  .hdr{padding:12px 12px 0}.hdr .in{height:58px;padding:0 8px 0 18px}
  .hdr nav{left:12px;right:12px;top:72px;background:#fff;color:var(--ink);border-radius:24px;padding:12px 18px 18px;box-shadow:var(--sh-3)}
  .hdr nav a{min-height:48px;font-size:16px}
  .lang{margin:10px 0 4px;padding:4px;border:0;justify-content:space-between}
  .hdr nav a.cta{margin-top:10px;justify-content:center}
}
/* hero centrato + ricerca a pillola */
.hero{background:var(--bg);color:var(--ink);border:0;padding:56px 0 40px;text-align:center}
.hero .wrap>div{display:flex;flex-direction:column;align-items:center}
.hero h1{font-size:clamp(38px,5vw,66px);line-height:1.05;letter-spacing:-.03em;max-width:16ch;margin:0 auto 18px}
.hero h1 em{font-style:normal;color:var(--or)}
.hero .chip{display:none}
.hero .lead{font-size:clamp(16px,1.3vw,18.5px);color:var(--soft);max-width:60ch;margin:0 auto 26px;line-height:1.6}
.hero .acts{justify-content:center}
.hero .ring{display:none}
.search{width:min(940px,100%);margin:6px auto 0;display:grid;grid-template-columns:1.3fr 1fr 1fr auto;align-items:center;background:#fff;border-radius:999px;box-shadow:var(--sh-3);padding:8px 8px 8px 26px;text-align:left}
.search .f{display:flex;flex-direction:column;gap:1px;padding:6px 18px 6px 0;border-right:1px solid var(--line);min-width:0}
.search .f+.f{padding-left:18px}
.search .f:nth-child(3){border-right:0}
.search label{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.search select{border:0;background:transparent;font:700 15px var(--font);color:var(--ink);padding:4px 24px 4px 0;appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A919C' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right center;cursor:pointer;min-height:32px;width:100%;text-overflow:ellipsis}
.search select:focus{outline:none}
.search .btn{min-height:52px;padding:12px 24px}
@media (max-width:760px){
  .hero{padding:36px 0 28px}
  .search{grid-template-columns:1fr;border-radius:24px;padding:10px;gap:4px}
  .search .f,.search .f+.f{border-right:0;padding:8px 12px;border-bottom:1px solid var(--line)}
  .search .f:nth-child(3){border-bottom:0}
  .search .btn{width:100%;margin-top:4px}
}
/* famiglie: due righe pulite */
.fams{background:var(--bg);padding:26px 0 0}
.two-f{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}
.fam{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:0;border-radius:var(--r);padding:20px 22px;box-shadow:0 2px 10px rgba(20,28,43,.05)}
.fam:hover{transform:none;box-shadow:var(--sh-2)}
.fam>*{margin:0}
.fam .mode{order:1}
.fam p{order:2;flex:1;font-size:14px}
.fam .go{order:3;width:44px;height:44px;border-radius:999px;background:var(--bg-2);display:inline-flex;align-items:center;justify-content:center;font-size:0}
.fam .go .ico{width:18px;height:18px;flex-basis:18px}
.trust{margin:22px 0 0;background:transparent;border:0}
.trust ul{grid-template-columns:repeat(5,auto);justify-content:space-between;gap:8px 18px}
.trust li{border:0;padding:6px 0;font-size:13px;font-weight:600;color:var(--soft)}
.trust .ico{color:var(--or)}
@media (max-width:900px){.two-f{grid-template-columns:1fr}.trust ul{grid-template-columns:1fr 1fr}.trust li{border:0}}
@media (max-width:560px){.trust ul{grid-template-columns:1fr}.fam{flex-wrap:wrap}.fam p{flex-basis:100%;order:3}.fam .go{order:2}}
/* filtri (barra sticky sotto l'header flottante) */
.filters{background:var(--bg);border:0;top:var(--hdr-h);z-index:900}
.filters .in{padding:14px 20px 10px}
.seg{background:#fff;box-shadow:0 2px 10px rgba(20,28,43,.05);padding:4px}
.seg label{padding:0 18px}
.fmore{background:#fff;border-color:transparent;box-shadow:0 2px 10px rgba(20,28,43,.05)}
.fmore[aria-expanded=true]{border-color:var(--navy)}
.fsec{background:#fff;border-radius:var(--r);padding:16px;border:0;box-shadow:0 2px 10px rgba(20,28,43,.05)}
.fsec select{border-color:var(--line)}
/* card morbide */
.list{padding-top:14px}
.grid-u{gap:20px}
.uc{border:0;border-radius:22px;padding:10px;box-shadow:var(--sh-2);background:#fff}
.uc:hover,.uc.hot{transform:translateY(-3px);box-shadow:0 16px 36px rgba(20,28,43,.10);border:0}
.uc .ph{border-radius:16px}
.uc .ph .mode-over{position:absolute;left:12px;top:12px;z-index:1}
.uc .bd{padding:12px 10px 10px}
.uc .bd>div:first-child{display:none}
.uc .ph .na{border-radius:16px}
.uc .pr{border-top:0;padding-top:4px}
.uc .ft .go{font-size:0}
.uc .ft .go .ico{width:18px;height:18px;flex-basis:18px}
.mode{background:#fff;border:0;box-shadow:0 1px 6px rgba(20,28,43,.15);padding:6px 12px}
.mode.room{color:#3B2E7A}.mode.apartment{color:#1B3766}
.avail{border:0}
.mapcol{top:calc(var(--hdr-h) + 62px);height:calc(100vh - var(--hdr-h) - 62px);border-radius:24px 0 0 24px;overflow:hidden}
@media (max-width:980px){.mapcol{inset:calc(var(--hdr-h) + 62px) 0 0;border-radius:0}}
.nf{border-radius:var(--r-l)}
.empty{border-radius:var(--r)}
/* sezioni a tessere */
.sec.alt{background:#fff;border:0;border-radius:40px 40px 0 0}
.steps li{border:0;border-radius:var(--r);background:#fff;box-shadow:0 2px 10px rgba(20,28,43,.05)}
.inst{border-radius:40px;margin:0 20px}
.faq details{border:0;background:var(--bg);border-radius:16px}
.ftr{border-radius:40px 40px 0 0;margin-top:40px}
/* scheda unità: tessere + box scuro */
.crumb{padding-top:18px}
.uhead .facts{gap:8px}
.uhead .facts span{background:#fff;border-radius:999px;padding:7px 13px;font-weight:700;color:var(--ink);box-shadow:0 1px 6px rgba(20,28,43,.06)}
.uhead .tagk{background:#fff;box-shadow:0 1px 6px rgba(20,28,43,.06)}
.modebox{border:0;border-left:0;background:#fff;border-radius:var(--r);padding:20px 22px;box-shadow:0 2px 10px rgba(20,28,43,.05)}
.spaces .c{border:0;border-radius:18px;background:#fff;box-shadow:0 2px 10px rgba(20,28,43,.05);padding:18px 20px}
.spaces .none{border-radius:12px}
.gal{border-radius:var(--r-l);gap:10px}
.gal .main,.gal .th{border-radius:16px;overflow:hidden}
.gal .na{border-radius:var(--r-l)}
.thumbs button{border-radius:12px}
.galnav button{border-radius:999px}
.blk>.ptab,.incl,.terms,.desc p,.desc .na{background:#fff;border-radius:18px;padding:18px 22px;box-shadow:0 2px 10px rgba(20,28,43,.05)}
.ptab th,.ptab td{padding:12px 0}
.ptab tr.std td{background:none}
.ptab tbody tr:last-child td{border-bottom:0}
.desc .na{color:var(--soft)}
#mappa-mini{border:0;border-radius:var(--r);box-shadow:0 2px 10px rgba(20,28,43,.05)}
.side .card{border:0;border-radius:var(--r-l);box-shadow:0 2px 10px rgba(20,28,43,.05)}
.sidebox{background:var(--navy)!important;color:#fff;box-shadow:var(--sh-3)!important}
.sidebox .bd{padding:24px}
.sidebox .avl,.sidebox .pri div,.sidebox p,.sidebox .free{color:#B8C0CE}
.sidebox .pri b,.sidebox .pri b small{color:#fff}
.sidebox .pri b small{color:#B8C0CE}
.sidebox .avail{background:rgba(255,255,255,.1);color:#fff}
.sidebox .avail small,.sidebox .avail .ico{color:#DCE1EA}
.sidebox .btn.s{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.sidebox .btn.s:hover{border-color:#fff}
.sidebox .link{color:#fff}
.sidebox .free .ico{color:#7BC29A}
.stickycta{border-radius:24px 24px 0 0}
/* richiesta */
.fld input[type=text],.fld input[type=email],.fld input[type=tel],.fld input[type=date],.fld select{padding:12px 18px;border-color:transparent;background:#fff;box-shadow:0 1px 6px rgba(20,28,43,.06)}
.fld textarea{border-radius:18px;border-color:transparent;background:#fff;box-shadow:0 1px 6px rgba(20,28,43,.06);padding:14px 18px}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(20,28,43,.12)}
.radios label{border-radius:999px;border-color:transparent;background:#fff;box-shadow:0 1px 6px rgba(20,28,43,.06)}
.radios label:has(input:checked){border-color:var(--navy);background:#fff}
.next{border:0;border-radius:var(--r);box-shadow:0 2px 10px rgba(20,28,43,.05)}
.pnow{border-radius:16px;border:0}
.sum .card,.sum-m,.sum-d{border:0;border-radius:var(--r-l);box-shadow:0 2px 10px rgba(20,28,43,.05);overflow:hidden}
.done .card{border:0;border-radius:var(--r-l);box-shadow:0 2px 10px rgba(20,28,43,.05)}
.msg{border-radius:16px}
.rv{opacity:1;transform:none;transition:none}
@keyframes up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.hero .rv{animation:up .5s var(--ease) both}
@media (prefers-reduced-motion:reduce){.hero .rv{animation:none}}
.fam .t{display:flex;flex-direction:column;gap:8px;align-items:flex-start;flex:1;min-width:0}
.fam .t p{font-size:14px;color:var(--soft);margin:0;order:0}
.fam .go{flex:0 0 44px}
@media (max-width:560px){.fam{flex-wrap:nowrap}}
/* ================= STATI DI INTERAZIONE (feedback 30/08 «quando selezioni qualcosa») ================= */
:root{--press:.97}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:999px}
/* lingue: pillola che scorre, hover chiaro, pressione */
.lang a{position:relative;transition:color var(--t) var(--ease),background var(--t) var(--ease),transform .12s ease}
.lang a:hover{background:#fff;color:var(--ink);box-shadow:0 1px 4px rgba(20,28,43,.12)}
.lang a:active{transform:scale(var(--press))}
.lang a[aria-current=true]{background:var(--navy);color:#fff;box-shadow:0 4px 12px rgba(20,28,43,.25)}
.lang a[aria-current=true]:hover{background:var(--navy-2);color:#fff}
/* voci di menu: sottolineatura che cresce */
.hdr nav a:not(.cta){position:relative}
.hdr nav a:not(.cta)::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;border-radius:2px;background:var(--or);transform:scaleX(0);transform-origin:left;transition:transform var(--t) var(--ease)}
.hdr nav a:not(.cta):hover::after,.hdr nav a[aria-current=page]::after{transform:scaleX(1)}
@media (max-width:900px){.hdr nav a:not(.cta)::after{display:none}.hdr nav a:not(.cta):hover{color:var(--or-2)}}
/* pulsanti: sollevamento + pressione + anello morbido */
.btn{transition:background var(--t) var(--ease),border-color var(--t) var(--ease),transform .14s ease,box-shadow var(--t) var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(var(--press))}
.btn.p:hover{box-shadow:0 10px 24px rgba(217,119,6,.32)}
.btn.n:hover{box-shadow:0 10px 24px rgba(20,28,43,.28)}
.btn.s:hover{background:#fff;box-shadow:0 6px 18px rgba(20,28,43,.10)}
.hdr nav a.cta:active{transform:scale(var(--press))}
/* segmenti Tutte / Stanza / Appartamento */
.seg label{transition:background var(--t) var(--ease),color var(--t) var(--ease),transform .12s ease,box-shadow var(--t) var(--ease)}
.seg label:hover{background:var(--bg-2);color:var(--ink)}
.seg label:active{transform:scale(var(--press))}
.seg label:has(input:checked){background:var(--navy);color:#fff;box-shadow:0 4px 12px rgba(20,28,43,.22)}
.seg label:has(input:checked):hover{background:var(--navy-2)}
.seg label:has(input:focus-visible){outline:2px solid var(--navy);outline-offset:2px}
/* «Altri filtri» */
.fmore{transition:background var(--t) var(--ease),color var(--t) var(--ease),box-shadow var(--t) var(--ease),transform .12s ease}
.fmore:hover{box-shadow:0 6px 16px rgba(20,28,43,.10)}
.fmore:active{transform:scale(var(--press))}
.fmore[aria-expanded=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.fmore[aria-expanded=true] .n{background:#fff;color:var(--navy)}
/* celle della ricerca: si accendono al passaggio e al focus */
.search .f{border-radius:999px;transition:background var(--t) var(--ease)}
.search .f:hover,.search .f:focus-within{background:var(--bg-2)}
.search .f:focus-within label{color:var(--or-2)}
.search .f{padding-left:14px;margin-left:-14px}
.search .f+.f{padding-left:18px;margin-left:0}
/* select generici */
.fsec select,.fld select{transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),background-color var(--t) var(--ease)}
.fsec select:hover,.fld select:hover,.fld input:hover,.fld textarea:hover{border-color:var(--line-2);box-shadow:0 2px 10px rgba(20,28,43,.08)}
/* radio/checkbox */
.radios label{transition:border-color var(--t) var(--ease),background var(--t) var(--ease),box-shadow var(--t) var(--ease),transform .12s ease}
.radios label:hover{box-shadow:0 4px 14px rgba(20,28,43,.10)}
.radios label:active{transform:scale(.99)}
.radios label:has(input:checked){border-color:var(--navy);box-shadow:0 0 0 3px rgba(20,28,43,.10)}
.chk{border-radius:14px;padding:10px 8px;margin:0 -8px;transition:background var(--t) var(--ease)}
.chk:hover{background:var(--bg-2)}
.chk input{transition:transform .12s ease}.chk input:active{transform:scale(.9)}
.fsec .tog{border-radius:999px;padding:0 10px;margin:0 -10px;transition:background var(--t) var(--ease)}
.fsec .tog:hover{background:var(--bg-2)}
/* card e famiglie */
.fam{transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.fam:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(20,28,43,.10)}
.fam:hover .go{background:var(--navy);color:#fff}
.fam .go{transition:background var(--t) var(--ease),color var(--t) var(--ease)}
.fam:active{transform:translateY(0) scale(.995)}
.uc:active{transform:translateY(-1px) scale(.995)}
.uc .ph img{transition:transform .6s var(--ease)}
.uc:hover .ph img{transform:scale(1.04)}
.uc .ft .go{transition:transform var(--t) var(--ease),color var(--t) var(--ease)}
.uc:hover .ft .go{transform:translateX(4px);color:var(--or-2)}
/* FAQ, thumbnail, galleria, link */
.faq summary{transition:background var(--t) var(--ease),color var(--t) var(--ease)}
.faq summary:hover{background:var(--bg-2)}
.faq details[open] summary{color:var(--or-2)}
.faq details[open] summary::after{border-color:var(--or-2)}
.thumbs button{transition:border-color var(--t) var(--ease),transform .12s ease,opacity var(--t)}
.thumbs button:hover{opacity:.85}
.thumbs button:active{transform:scale(var(--press))}
.thumbs button[aria-current=true]{border-color:var(--navy);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--navy)}
.galnav button{transition:background var(--t) var(--ease),color var(--t) var(--ease),transform .12s ease}
.galnav button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.galnav button:active{transform:scale(var(--press))}
.link{transition:color var(--t) var(--ease),text-decoration-color var(--t) var(--ease)}
.back{transition:color var(--t) var(--ease),transform var(--t) var(--ease)}
.back:hover{transform:translateX(-3px)}
.pin{transition:transform .18s var(--ease),background .18s,color .18s,box-shadow .18s}
.pin:hover,.pin.hot{box-shadow:0 8px 20px rgba(217,119,6,.35)}
.mtog{transition:transform .12s ease,box-shadow var(--t)}
.mtog:active{transform:translateX(-50%) scale(var(--press))}
.wa-float{transition:transform var(--t) var(--ease),box-shadow var(--t)}
.wa-float:hover{transform:scale(1.06)}
.sum-m summary{transition:background var(--t) var(--ease)}.sum-m summary:hover{background:var(--bg-2)}
@media (prefers-reduced-motion:reduce){.btn:hover,.fam:hover,.uc:hover,.uc:hover .ph img,.back:hover{transform:none}}
/* ================= HEADER + FILTRI IN SCROLL (feedback 30/08 «quando scorri crash») ================= */
:root{--hdr-h:80px;--flt-h:72px}
.hdr{height:var(--hdr-h);padding:16px 20px 0;box-sizing:border-box}
.hdr .in{transition:box-shadow var(--t) var(--ease),height var(--t) var(--ease)}
body.scrolled .hdr .in{box-shadow:0 14px 34px rgba(20,28,43,.16)}
/* i filtri: pillola bianca flottante sotto l'header, con dissolvenza che copre il contenuto che scorre sotto */
.filters{position:sticky;top:var(--hdr-h);z-index:900;background:transparent;pointer-events:none;padding:8px 20px 14px;margin-top:6px}
.filters::before{content:"";position:absolute;left:0;right:0;top:calc(-1 * var(--hdr-h));bottom:0;background:linear-gradient(var(--bg) 0,var(--bg) 78%,rgba(246,245,242,0) 100%);z-index:-1;opacity:0;transition:opacity var(--t) var(--ease)}
body.scrolled .filters::before{opacity:1}
.filters .in{pointer-events:auto;max-width:1120px;background:#fff;border-radius:28px;box-shadow:0 8px 24px rgba(20,28,43,.08);padding:8px 10px;gap:10px;min-height:56px;transition:box-shadow var(--t) var(--ease)}
body.scrolled .filters .in{box-shadow:0 14px 34px rgba(20,28,43,.14)}
.seg{background:var(--bg-2);box-shadow:none;padding:3px}
.seg label{min-height:40px;padding:0 16px;font-size:13.5px}
.fmore{box-shadow:none;background:var(--bg-2);min-height:46px}
.count{padding-right:10px}
.fsec{background:var(--bg);border-radius:20px;box-shadow:none;margin-top:2px}
.mapcol{top:calc(var(--hdr-h) + var(--flt-h) + 8px);height:calc(100vh - var(--hdr-h) - var(--flt-h) - 8px)}
@media (max-width:980px){.mapcol{inset:calc(var(--hdr-h) + var(--flt-h) + 8px) 0 0}}
@media (max-width:900px){
  :root{--hdr-h:72px}
  .hdr{padding:12px 12px 0}
  .filters{padding:6px 12px 12px}
  .filters .in{border-radius:22px;padding:8px}
  .count{width:auto;margin-left:auto}
}
@media (max-width:560px){:root{--flt-h:120px}.seg{width:100%}.count{width:100%;margin:0;padding:0 8px 4px}}
/* header: velo sotto la pillola quando la pagina scorre (niente testo che trapela) */
.hdr::before{content:"";position:absolute;left:0;right:0;top:0;height:calc(var(--hdr-h) + 10px);background:linear-gradient(var(--bg) 0,var(--bg) 72%,rgba(246,245,242,0) 100%);opacity:0;transition:opacity var(--t) var(--ease);pointer-events:none;z-index:-1}
.hdr{position:sticky;isolation:isolate}
body.scrolled .hdr::before{opacity:1}
/* filtri compatti su mobile: una riga di segmenti + una riga «Altri filtri · conteggio» */
@media (max-width:560px){
  :root{--flt-h:112px}
  .filters .in{gap:8px;padding:8px}
  .seg{width:100%;padding:3px}
  .seg label{flex:1;justify-content:center;padding:0 6px;font-size:12.5px;line-height:1.1;text-align:center;min-height:42px}
  .fmore{min-height:42px;padding:0 14px;font-size:13.5px}
  .count{width:auto;margin-left:auto;padding:0 8px;font-size:13px}
}
/* ================= GIRO DI CONTROLLO 30/08 ================= */
.mode small,.avail small{font-size:11.5px}
.uc .ph .cnt{font-size:12px}
.uc h3 a{display:inline-block;padding:3px 0}
.crumb a,.crumb li[aria-current]{display:inline-flex;align-items:center;min-height:28px}
.chk .link,.chk a{display:inline-block;padding:4px 0}
.done .team a,.ftr a{display:inline-flex;align-items:center;min-height:32px}
.done .team span{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
@media (max-width:1180px) and (min-width:901px){.hdr .in{gap:18px;padding-left:18px}.hdr nav{gap:16px}.hdr nav a{font-size:14px}.hdr nav a.cta{padding:10px 14px;font-size:13.5px}.lang a{min-width:32px;padding:0 4px}}
@media (max-width:1060px) and (min-width:901px){.hdr nav a.cta{display:none}}
.leaflet-control-attribution{font-size:12px!important;padding:5px 8px!important;border-radius:10px 0 0 0}
.leaflet-control-attribution a{display:inline-block;padding:4px 1px}
/* ================= CORREZIONI LAYOUT 30/08 (header · selezioni · mobile) ================= */
.lang,.lang a{border-radius:999px!important}
.burger .ic-close{display:none}
.burger[aria-expanded=true] .ic-open{display:none}
.burger[aria-expanded=true] .ic-close{display:block}
.burger{transition:background var(--t) var(--ease),border-color var(--t) var(--ease)}
.burger:hover,.burger[aria-expanded=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.fam .t .mode{order:0}.fam .t p{order:1}
@media (max-width:1200px){.trust li{white-space:nowrap;font-size:12.5px}.trust ul{gap:6px 12px}}
.fsec label.tog{text-transform:none;letter-spacing:0;font-size:14px;font-weight:700;color:var(--ink);margin:0 -10px}
/* elementi flottanti: WhatsApp a destra sopra Richard, «Mappa» a sinistra */
.wa-float{left:auto;right:18px;bottom:calc(82px + env(safe-area-inset-bottom))}
body.has-sticky .wa-float{bottom:calc(150px + env(safe-area-inset-bottom))!important}
.mtog{left:16px;transform:none}
.mtog:active{transform:scale(var(--press))}
@media (max-width:980px){body.mapon .wa-float{display:flex}body.mapon #as-apri{display:none}}
/* ricerca mobile: celle allineate */
@media (max-width:760px){.search .f,.search .f+.f{margin:0;padding:8px 12px;border-radius:14px}.search .f:nth-child(3){border-bottom:0}}
/* barra sticky scheda */
.stickycta .p{min-width:0}
.stickycta .p small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stickycta .btn{white-space:nowrap;flex:0 0 auto}
/* riepilogo richiesta mobile */
.sum-m summary b{white-space:nowrap}
.sum .hd b{font-size:14.5px}
/* ================= FILTRI ALLA AIRBNB (30/08) ================= */
.filters .in{padding:6px 10px;min-height:64px;gap:14px;border-radius:999px}
.cats{border:0;margin:0;padding:0;display:flex;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}
.cats::-webkit-scrollbar{display:none}
.cat{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:112px;min-height:52px;padding:6px 14px;border-radius:14px;font-size:12.5px;font-weight:700;color:var(--soft);cursor:pointer;white-space:nowrap;transition:color var(--t) var(--ease),background var(--t) var(--ease)}
.cat input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.cat .ico{width:22px;height:22px;flex-basis:22px;stroke-width:1.7;transition:transform var(--t) var(--ease)}
.cat::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;border-radius:2px;background:var(--ink);transform:scaleX(0);transition:transform var(--t) var(--ease)}
.cat:hover{color:var(--ink);background:var(--bg-2)}
.cat:hover .ico{transform:translateY(-1px)}
.cat:has(input:checked){color:var(--ink)}
.cat:has(input:checked)::after{transform:scaleX(1)}
.cat:has(input:focus-visible){outline:2px solid var(--navy);outline-offset:-2px}
.count{margin-left:auto;font-size:13.5px;white-space:nowrap}
.fbtn{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 16px;border:1.5px solid var(--line-2);background:#fff;border-radius:999px;font-weight:700;font-size:14px;cursor:pointer;transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),transform .12s ease}
.fbtn .ico{width:16px;height:16px;flex-basis:16px}
.fbtn:hover{border-color:var(--ink);box-shadow:0 4px 14px rgba(20,28,43,.10)}
.fbtn:active{transform:scale(var(--press))}
.fbtn .n{background:var(--ink);color:#fff;font-size:11.5px;font-weight:800;border-radius:999px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.seg,.fmore{display:none}
/* pannello */
.fdlg{border:0;padding:0;width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 64px);border-radius:24px;background:#fff;box-shadow:0 30px 80px rgba(20,28,43,.28);color:var(--ink);display:none;flex-direction:column;overflow:hidden;pointer-events:auto}
.fdlg[open]{display:flex;animation:pop .28s var(--ease)}
.fdlg::backdrop{background:rgba(20,28,43,.45);backdrop-filter:blur(2px)}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.fdlg-hd{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.fdlg-hd h2{font-size:16px;text-align:center;margin:0}
.fdlg-hd .x{width:40px;height:40px;border-radius:999px;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--t)}
.fdlg-hd .x:hover{background:var(--bg-2)}
.fdlg-bd{padding:8px 24px 16px;overflow-y:auto;display:grid;gap:4px}
.fdlg-bd section{padding:18px 0;border-bottom:1px solid var(--line)}
.fdlg-bd section:last-child{border-bottom:0}
.fdlg-bd h3{font-size:16px;margin:0 0 12px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative;display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1.5px solid var(--line-2);border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;background:#fff;transition:border-color var(--t) var(--ease),background var(--t) var(--ease),color var(--t) var(--ease),transform .12s ease}
.chips input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.chips label:hover{border-color:var(--ink)}
.chips label:active{transform:scale(var(--press))}
.chips label:has(input:checked){background:var(--ink);border-color:var(--ink);color:#fff}
.chips label:has(input:focus-visible){outline:2px solid var(--navy);outline-offset:2px}
.fdlg .tog{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;font-weight:700;cursor:pointer;margin:0}
.fdlg .tog input{appearance:none;width:48px;height:28px;border-radius:999px;background:var(--line-2);position:relative;margin:0;cursor:pointer;transition:background var(--t) var(--ease);flex:0 0 48px}
.fdlg .tog input::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform var(--t) var(--ease)}
.fdlg .tog input:checked{background:var(--ink)}
.fdlg .tog input:checked::after{transform:translateX(20px)}
.fdlg-ft{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;border-top:1px solid var(--line);background:#fff}
.fdlg-ft .btn{min-height:48px;padding:12px 22px}
.hero .search .btn .ico{width:18px;height:18px;flex-basis:18px}
@media (max-width:900px){
  .filters .in{border-radius:22px;padding:6px 8px;flex-wrap:nowrap;gap:8px}
  .cat{min-width:96px;padding:6px 10px;font-size:12px}
  .count{display:none}
  .fbtn span:not(.n){display:none}
  .fbtn{padding:0 13px;min-height:44px;flex:0 0 auto}
  .fdlg{width:100vw;max-width:100vw;max-height:100vh;height:100vh;border-radius:0;margin:0}
  .fdlg-bd{padding:4px 18px 16px}
  .fdlg-ft{padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
}
@media (max-width:560px){:root{--flt-h:76px}}
.fdlg .tog{flex-direction:row-reverse}
@media (max-width:900px){.cats{flex:1;overflow:visible}.cat{flex:1;min-width:0;padding:6px 4px;white-space:normal;text-align:center;line-height:1.1;font-size:11.5px}.cat span{display:block}}
@media (max-width:1200px){.trust ul{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 22px}.trust li{white-space:nowrap}}
/* ================= GIRO ESTETICO 30/08 ================= */
.nfw{padding:8px 0 36px}
.nfw .nf{margin:0}
.faq{max-width:none}
.done .team span{display:block}
.done .team .sep{color:var(--mute);margin:0 4px}
@media (max-width:560px){
  .fam .mode small{display:none}
  .done .acts{flex-direction:column}.done .acts .btn{width:100%}
  .done .team a{display:inline-flex;margin-right:6px}
  .done .team .sep{display:none}
}
.uc .meta{row-gap:4px}
.list .hd{margin-bottom:10px}
.inst .in{gap:48px}
.steps li h3{min-height:0}
.inst{max-width:var(--wrap);margin:0 auto}
@media (max-width:1240px){.inst{margin:0 20px}}
.nfw{padding-bottom:44px}
/* ================= RISOLVI (30/08): placeholder discreti, card più compatte, mappa che segue davvero ================= */
.uc .ph{aspect-ratio:3/2}
.uc .ph .na,.gal .na,.sum .ph .na{background:linear-gradient(160deg,#F1EEE8,#E7E3DB);color:var(--mute);font-size:12px;font-weight:600;gap:6px}
.uc .ph .na .ico{width:22px;height:22px;flex-basis:22px;opacity:.7}
.gal .na{font-size:13.5px;color:var(--soft)}
.gal.one .main,.gal .na{aspect-ratio:2/1}
.grid-u{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.uc .bd{padding:10px 8px 8px;gap:7px}
.uc h3{font-size:15px}
.uc .pr .p6{font-size:18px}
.mapcol{align-self:start}
.split{align-items:start}
@media (min-width:981px){.mapcol{top:calc(var(--hdr-h) + var(--flt-h) + 8px);height:calc(100vh - var(--hdr-h) - var(--flt-h) - 24px);margin-bottom:16px}}
html,body{overflow-x:clip}
/* ================= PORTALE INQUILINO (30/08) ================= */
body.po{padding-bottom:calc(30px + env(safe-area-inset-bottom))}
.po-tt{font-weight:800;font-size:15px;white-space:nowrap}
.po-shell{max-width:720px;margin:0 auto;padding:22px 16px 30px;display:grid;gap:14px}
.po-hd h1{font-size:clamp(24px,4vw,30px);margin-bottom:4px}
.po-hd .sub{color:var(--soft);font-size:14px;margin-bottom:10px}
.po-paga{background:var(--navy);color:#fff;border-radius:var(--r-l);padding:24px;display:grid;gap:6px;position:relative;overflow:hidden;box-shadow:var(--sh-3)}
.po-paga::after{content:"";position:absolute;right:-50px;top:-50px;width:180px;height:180px;border-radius:50%;background:rgba(217,119,6,.18)}
.po-paga .lab{font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#B8C0CE}
.po-paga .imp{font-size:40px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.po-paga .sca{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:#B8C0CE;margin-bottom:10px}
.po-paga .tutto-ok{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:#7BC29A}
.po-paga .btn{position:relative}
.po-due{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:720px){.po-due{grid-template-columns:1fr}}
.po .card{border:0;border-radius:var(--r-l);box-shadow:0 2px 10px rgba(20,28,43,.05)}
.po .card h2{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--soft);margin-bottom:12px}
.po .card h2 .ico{color:var(--or)}
.po-riga{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:8px 0;border-bottom:1px solid var(--line)}
.po-riga:last-child{border-bottom:0}
.po-riga .k{color:var(--soft)}
.po-riga b{font-weight:800}
.po-riga .msg{margin:10px 0 0}
.po-rata{display:grid;grid-template-columns:1fr auto auto;gap:11px;font-size:14px;padding:9px 0;border-bottom:1px solid var(--line);align-items:center}
.po-rata:last-child{border-bottom:0}
.po-rata small{color:var(--soft);font-size:12px}
.po-rata b{font-variant-numeric:tabular-nums}
.po-pill{font-size:11.5px;font-weight:800;padding:4px 10px;border-radius:999px;white-space:nowrap}
.po-pill.ok{background:var(--sage-bg);color:var(--sage-ink)}
.po-pill.no{background:var(--or-bg);color:var(--or-ink)}
.po-chat{padding:0;overflow:hidden}
.po-chat .chat-testa{display:flex;align-items:center;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line)}
.po-chat .avatar{width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;font-size:13px;flex:none}
.po-chat .chat-testa b{font-size:14.5px;display:block}
.po-chat .chat-testa small{color:var(--soft);font-size:12px}
.po-chat .chat-msgs{height:340px;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}
.po-chat .bolla{max-width:82%;padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.po-chat .bolla small{display:block;font-size:10.5px;opacity:.65;margin-top:3px}
.po-chat .bolla.io{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:6px}
.po-chat .bolla.dvm{align-self:flex-start;background:#fff;border-bottom-left-radius:6px;box-shadow:0 1px 4px rgba(20,28,43,.06)}
.po-chat .bolla.dvm .chi{font-size:10.5px;font-weight:800;color:var(--or-2);letter-spacing:.05em;margin-bottom:2px;display:block}
.po-chat .chat-vuota{margin:auto;text-align:center;color:var(--soft);font-size:13.5px;max-width:34ch}
.po-chips{padding:10px 14px 0;gap:7px}
.po-chips button{font:700 12.5px var(--font);padding:0 14px;min-height:38px;border-radius:999px;cursor:pointer;border:1.5px solid var(--line-2);background:#fff;color:var(--ink);transition:border-color var(--t),background var(--t),color var(--t)}
.po-chips button:hover{border-color:var(--ink)}
.po-chips button.on{border-color:var(--navy);background:var(--navy);color:#fff}
.po-chat .chat-input{display:flex;gap:9px;padding:12px 14px 14px;align-items:flex-end}
.po-chat textarea{flex:1;font:inherit;font-size:16px;padding:11px 16px;border:1.5px solid var(--line-2);border-radius:22px;background:#fff;color:var(--ink);resize:none;max-height:110px;outline:none;min-height:46px}
.po-chat textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(20,28,43,.12)}
.po-chat #chat-send{width:46px;height:46px;border-radius:50%;border:0;background:var(--or);color:#fff;cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center;transition:background var(--t),transform .12s}
.po-chat #chat-send:hover{background:var(--or-2)}
.po-chat #chat-send:active{transform:scale(.95)}
.po-chat #chat-send:disabled{opacity:.45}
.po-chat .gesti-nota{font-size:12.5px;color:var(--warn);padding:0 16px 13px;margin:0}
.po-install{display:none;font-size:12.5px;color:var(--soft);text-align:center;margin:0}
.po-ftr{padding:22px 0;font-size:12px;text-align:center;border-radius:0;margin-top:20px}
@media(max-width:560px){.po-shell{padding:16px 12px 26px;gap:12px}.po-paga{padding:20px}.po-paga .imp{font-size:34px}.po-chat .chat-msgs{height:min(52vh,440px);min-height:300px}.po-chips{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.po-chips button{flex:0 0 auto}.po-tt{display:none}}
.po-paga::after{background:rgba(217,119,6,.10)}
.po-chat .chat-msgs{height:300px}
/* ================= GIRI 1-3 (30/08) ================= */
:root{--or:#B45309;--or-2:#93430A}
.btn.p{box-shadow:0 4px 14px rgba(180,83,9,.22)}
.search label,.fsec label{color:var(--soft)}
.uc .pr .lb{color:var(--soft)}
.leaflet-control-zoom a{color:var(--ink)!important;font-weight:700}
@media print{
  .hdr nav,.burger,.wa-float,#as-apri,#as-box,.mtog,.filters,.mapcol,#mappa-mini,.stickycta,.fdlg,.hero .acts,.nfw,.inst,.sec.alt,.ftr .note{display:none!important}
  .hdr{position:static;padding:0;height:auto}.hdr .in{box-shadow:none;border-bottom:1px solid #ccc;border-radius:0}
  body{background:#fff;color:#000}.card,.uc,.modebox,.spaces .c{box-shadow:none;border:1px solid #ddd}
  .split{display:block}.ulay,.rlay{grid-template-columns:1fr}.side{position:static}
  a[href^="http"]::after{content:""}
}
/* G11: fallback a :has() — il JS marca .sel sulle label selezionate */
.cat.sel{color:var(--ink)}.cat.sel::after{transform:scaleX(1)}
.chips label.sel{background:var(--ink);border-color:var(--ink);color:#fff}
.radios label.sel{border-color:var(--navy);box-shadow:0 0 0 3px rgba(20,28,43,.10)}
.seg label.sel{background:var(--navy);color:#fff}
/* ================= 15 GIRI MOBILE (30/08) ================= */
.search select{min-height:44px;font-size:16px}
.ftr a{min-height:40px}
.crumb a,.crumb li[aria-current]{min-height:36px}
.chk .link{padding:8px 0}
.fld{scroll-margin-top:110px}
.lang a{min-width:40px}
@media (max-height:520px) and (orientation:landscape){.hdr,.filters{position:static}.hdr{height:auto;padding-bottom:8px}.stickycta{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}.stickycta .p small{display:none}body.has-sticky{padding-bottom:64px}}
/* card: il link esteso deve stare SOPRA meta/prezzo (dipinti dopo nell'ordine DOM) */
.uc h3 a::after{z-index:2}
.uc .ph .mode-over{z-index:1}
/* ================= UNA SOLA BARRA FLOTTANTE (30/08): i filtri scorrono col contenuto ================= */
.filters{position:static;pointer-events:auto;padding:8px 20px 6px;margin-top:0}
.filters::before{display:none}
.filters .in{box-shadow:0 2px 10px rgba(20,28,43,.05)}
body.scrolled .filters .in{box-shadow:0 2px 10px rgba(20,28,43,.05)}
.mapcol{top:calc(var(--hdr-h) + 12px);height:calc(100vh - var(--hdr-h) - 28px)}
@media (min-width:981px){.mapcol{top:calc(var(--hdr-h) + 12px);height:calc(100vh - var(--hdr-h) - 28px)}}
@media (max-width:980px){.mapcol{inset:var(--hdr-h) 0 0}}
@media (max-width:900px){.filters{padding:6px 12px}}
/* badge disponibilità su una riga */
.uc .ft{flex-wrap:nowrap;gap:6px}
.uc .avail{white-space:nowrap;font-size:12px;padding:4px 8px;min-width:0;overflow:hidden;text-overflow:ellipsis}
.uc .avail small{font-size:11px}
/* ================= HEADER ALLA AIRBNB (30/08) ================= */
:root{--hdr-h:80px}
.hdr{position:sticky;top:0;z-index:1000;background:#fff;padding:0;height:auto;border-bottom:1px solid var(--line);box-shadow:none;isolation:auto}
.hdr::before{display:none}
.hdr .in{max-width:var(--wrap);height:80px;padding:0 20px;border-radius:0;box-shadow:none;background:transparent;gap:16px;position:relative;display:flex;align-items:center}
body.scrolled .hdr{box-shadow:0 6px 20px rgba(20,28,43,.06)}
body.scrolled .hdr .in{box-shadow:none}
.hdr .brand{flex:0 0 auto}
.hdr .brand img{height:32px}
.hpill{margin:0 auto;display:inline-flex;align-items:center;gap:0;height:50px;padding:0 6px 0 4px;border:1px solid var(--line-2);border-radius:999px;background:#fff;box-shadow:0 2px 8px rgba(20,28,43,.08);cursor:pointer;text-decoration:none;color:var(--ink);font:inherit;transition:box-shadow var(--t) var(--ease)}
.hpill:hover{box-shadow:0 6px 18px rgba(20,28,43,.14)}
.hpill .s{display:flex;flex-direction:column;justify-content:center;padding:0 18px;line-height:1.15;border-right:1px solid var(--line);min-width:0}
.hpill .s:last-of-type{border-right:0}
.hpill .s b{font-size:13.5px;font-weight:700;white-space:nowrap}
.hpill .s small{font-size:12px;color:var(--soft);white-space:nowrap}
.hpill .go{width:38px;height:38px;border-radius:50%;background:var(--or);color:#fff;display:inline-flex;align-items:center;justify-content:center;margin-left:6px;flex:0 0 38px}
.hpill .go .ico{width:16px;height:16px;flex-basis:16px}
.hright{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.hdr .lang{margin:0;background:transparent;padding:0;gap:2px}
.hdr .lang a{min-width:34px;min-height:34px;color:var(--soft);font-size:12px}
.hdr .lang a[aria-current=true]{background:var(--navy);color:#fff}
.burger{display:inline-flex!important;margin:0;width:auto;height:44px;padding:0 8px 0 12px;gap:8px;border:1px solid var(--line-2);border-radius:999px;background:#fff;color:var(--ink);align-items:center;box-shadow:0 1px 4px rgba(20,28,43,.06)}
.burger:hover{box-shadow:0 4px 14px rgba(20,28,43,.14);background:#fff;color:var(--ink);border-color:var(--line-2)}
.burger[aria-expanded=true]{background:#fff;color:var(--ink);border-color:var(--ink)}
.burger .ic-user{width:30px;height:30px;flex-basis:30px;padding:6px;border-radius:50%;background:var(--navy);color:#fff;stroke:#fff}
.burger .ic-open,.burger .ic-close{width:16px;height:16px;flex-basis:16px}
/* menu a tendina */
.hdr nav{position:absolute;right:20px;top:calc(100% - 10px);left:auto;width:280px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(20,28,43,.18);padding:8px;display:none;flex-direction:column;gap:2px;margin:0}
.hdr nav.open{display:flex;animation:drop var(--t) var(--ease)}
.hdr nav a{display:flex;align-items:center;gap:12px;padding:10px 12px;min-height:44px;border-radius:12px;font-size:14.5px;font-weight:600;color:var(--ink);white-space:nowrap}
.hdr nav a::after{display:none}
.hdr nav a:hover{background:var(--bg-2);color:var(--ink)}
.hdr nav a[aria-current=page]{color:var(--or-2);background:var(--or-bg)}
.hdr nav a .ico{width:18px;height:18px;flex-basis:18px;color:var(--soft)}
.hdr nav a.sep{border-top:1px solid var(--line);margin-top:6px;padding-top:12px;border-radius:0 0 12px 12px}
.hdr nav .lang-m{display:none}
/* riga categorie dentro l'header */
.hdr .filters{position:static;padding:0;margin:0;pointer-events:auto}
.hdr .filters .in{height:auto;min-height:60px;padding:4px 20px 6px;border-radius:0;box-shadow:none;background:transparent;gap:12px}
.hdr .filters .in{box-shadow:none!important}
.cat{min-height:54px;padding:6px 12px;border-radius:0}
.cat::after{left:8px;right:8px}
.fbtn{min-height:42px;padding:0 14px;font-size:13.5px}
.count{font-size:13px}
/* mappa */
.mapcol{top:calc(var(--hdr-h) + 62px + 12px);height:calc(100vh - var(--hdr-h) - 62px - 28px)}
@media (min-width:981px){.mapcol{top:calc(var(--hdr-h) + 62px + 12px);height:calc(100vh - var(--hdr-h) - 62px - 28px)}}
@media (max-width:980px){.mapcol{inset:calc(var(--hdr-h) + 62px) 0 0}}
body.mapon .hdr .filters{display:block}
@media (max-width:1180px){.hpill .s{padding:0 12px}.hpill .s small{display:none}}
@media (max-width:900px){
  :root{--hdr-h:66px}
  .hdr .in{height:66px;padding:0 12px;gap:8px}
  .hdr .brand{display:none}
  .hpill{flex:1;margin:0;height:48px;padding:0 4px 0 14px;justify-content:space-between}
  .hpill .s{border:0;padding:0;flex:1}
  .hpill .s:not(:first-of-type){display:none}
  .hpill .s b{font-size:14px}.hpill .s small{display:block;font-size:11.5px}
  .hpill .go{width:36px;height:36px;flex-basis:36px}
  .hright .lang{display:none}
  .hdr nav{left:12px;right:12px;width:auto;top:calc(66px - 4px);border-radius:20px;padding:10px}
  .hdr nav .lang-m{display:flex;margin:8px 0 2px;padding:10px 4px 2px;border-top:1px solid var(--line);justify-content:space-between}
  .hdr nav .lang-m a{border:1px solid var(--line);min-width:44px}
  .hdr .filters .in{padding:2px 8px 6px;min-height:56px;flex-wrap:nowrap}
  .cats{overflow-x:auto;flex:1}
  .cat{flex:0 0 auto;min-width:104px;padding:4px 8px;font-size:11.5px;white-space:normal;text-align:center;line-height:1.1}
  .count{display:none}
  .fbtn{width:42px;height:42px;padding:0;justify-content:center;border-radius:50%}
  .fbtn span:not(.n){display:none}
  .fbtn .n{position:absolute;top:-4px;right:-4px}
  .fbtn{position:relative;flex:0 0 42px}
  .burger{padding:0 6px 0 10px;height:42px}
  .burger .ic-user{width:28px;height:28px;flex-basis:28px}
}
@media (max-height:520px) and (orientation:landscape){.hdr{position:static}}
@media print{.hpill,.burger,.hdr nav{display:none!important}}
/* rifiniture header Airbnb */
.hdr nav{z-index:6}
.hdr nav a{justify-content:flex-start;text-align:left}
.hpill .s.m{display:none}
.uc .ft .go{display:none}
.uc .avail{overflow:visible;white-space:normal;line-height:1.25}
@media (max-width:900px){
  .hpill .s.m{display:flex;flex:1}
  .hpill .s:not(.m){display:none}
  .cats{gap:0}
  .cat{flex:1 1 0;min-width:0;font-size:11px;padding:4px 4px}
}
@media (max-width:900px){
  .hpill{flex:1 1 0;min-width:0;overflow:hidden}
  .hpill .s.m{min-width:0;overflow:hidden}
  .hpill .s.m b,.hpill .s.m small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
  .hright{flex:0 0 auto}
  .burger{flex:0 0 auto}
}
.hdr nav{align-items:stretch}
.hdr nav a{width:100%}
@media (max-width:900px){.hdr .brand{display:flex;flex:0 0 auto}.hdr .brand img{height:24px}.hdr .in{gap:8px}.hpill{padding-left:12px}.hpill .s.m b{font-size:13.5px}}
@media (max-width:360px){.hpill .s.m small{display:none}}
/* ---- cluster mappa + «Mostra altre» ---- */
.pin-cl{background:var(--navy);color:#fff;border-color:var(--navy);min-width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 8px;font-size:13px}
.marker-cluster{background:transparent!important}
.more{display:flex;align-items:center;justify-content:center;gap:16px;padding:22px 0 6px}
.more span{font-size:13px;color:var(--soft)}
/* ---- servizi aggiuntivi ---- */
.sv{display:grid;gap:10px}
.sv-i{display:flex;align-items:center;gap:14px;background:#fff;border-radius:18px;padding:14px 18px;box-shadow:0 2px 10px rgba(20,28,43,.05)}
.sv-i .ic{width:40px;height:40px;border-radius:12px;background:var(--sage-bg);color:var(--sage);display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px}
.sv-i .ic .ico{width:20px;height:20px;flex-basis:20px}
.sv-i .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sv-i .t b{font-size:15px}
.sv-i .t small{font-size:13px;color:var(--soft)}
.sv-i .p{text-align:right;font-weight:800;font-size:16px;white-space:nowrap}
.sv-i .p small{display:block;font-size:11.5px;font-weight:600;color:var(--soft)}
.sv-form .sv-i{cursor:pointer;border:1.5px solid transparent;transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.sv-form .sv-i:hover{box-shadow:0 6px 18px rgba(20,28,43,.10)}
.sv-form .sv-i:has(input:checked),.sv-form .sv-i.sel{border-color:var(--navy);box-shadow:0 0 0 3px rgba(20,28,43,.10)}
.sv-form input{width:22px;height:22px;flex:0 0 22px;accent-color:var(--navy);margin:0}
.sv-sum .row{display:flex;justify-content:space-between;font-size:13.5px;color:var(--soft);padding:2px 0}
.sv-sum .tot{border-top:1px solid var(--line);margin-top:8px;padding-top:10px;display:flex;justify-content:space-between;align-items:flex-start}
.sv-sum .tot b{font-size:20px}
.sv-sum .tot b small{font-size:12px;color:var(--soft);font-weight:600}
@media (max-width:560px){.sv-i{flex-wrap:wrap}.sv-i .p{width:100%;text-align:left;display:flex;gap:6px;align-items:baseline}.sv-i .p small{display:inline}}
a.sv-i{text-decoration:none;color:inherit;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}
a.sv-i:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,28,43,.10)}
.sv-i .p em{display:block;font-style:normal;font-size:12px;font-weight:700;color:var(--or-2);margin-top:4px}
a.sv-i:hover .p em{text-decoration:underline}
@media (max-width:560px){.sv-i{gap:10px;padding:12px 14px}.sv-i .ic{width:34px;height:34px;flex:0 0 34px}.sv-i .t b{font-size:14px}.sv-i .t small{font-size:12.5px}.sv-i .p{margin-left:44px}.sv-form .sv-i .p{margin-left:32px}}
/* ---- trasparenza sul prezzo ---- */
.spacco{margin-top:14px;background:var(--sage-bg);border:1px solid var(--sage-line);border-radius:14px;padding:14px 16px;display:grid;gap:8px}
.spacco .k{display:flex;align-items:center;gap:8px;font-weight:800;font-size:13.5px;color:var(--sage-ink)}
.spacco .k .ico{color:var(--sage)}
.spacco .k small{font-weight:600;color:var(--sage)}
.spacco .r{display:grid;grid-template-columns:1fr auto auto;gap:2px 14px;align-items:baseline;font-size:14px}
.spacco .r span{grid-row:1/3;color:var(--ink)}
.spacco .r b{text-align:right;font-variant-numeric:tabular-nums}
.spacco .r small{text-align:right;font-size:11.5px;color:var(--sage-ink);opacity:.8;grid-row:2}
.spacco .r b:nth-of-type(1){grid-column:2;grid-row:1}.spacco .r small:nth-of-type(1){grid-column:2}
.spacco .r b:nth-of-type(2){grid-column:3;grid-row:1}.spacco .r small:nth-of-type(2){grid-column:3}
.spacco p{font-size:13px;color:var(--sage-ink);margin-top:4px;line-height:1.5}
.sb-sp{display:flex;align-items:center;gap:6px;font-size:13px;color:#B8C0CE;margin:-4px 0 10px;flex-wrap:wrap}
.sb-sp .ico{color:#7BC29A;width:15px;height:15px;flex-basis:15px}
.sb-sp b{color:#fff}
.sb-sp a{color:#fff;font-weight:700}
.sum .row.sp{font-size:13px}
.sum .row.sp small{font-weight:500}
@media (max-width:560px){.spacco .r{grid-template-columns:1fr auto}.spacco .r b:nth-of-type(2),.spacco .r small:nth-of-type(2){display:none}}
/* ---- pagina proprietari ---- */
.pr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px}
.pr-grid .card .bd{display:grid;gap:8px}
.pr-grid .k{display:flex;align-items:center;gap:9px;font-weight:800;font-size:16px}
.pr-grid .k .ico{color:var(--or);width:20px;height:20px;flex-basis:20px}
.pr-grid p{font-size:14.5px;color:var(--soft)}
@media (max-width:760px){.pr-grid{grid-template-columns:1fr}}
.fld input[type=number]{width:100%;min-height:48px;padding:12px 18px;border:1.5px solid transparent;border-radius:999px;background:#fff;font:500 16px var(--font);color:var(--ink);box-shadow:0 1px 6px rgba(20,28,43,.06);transition:border-color var(--t-fast),box-shadow var(--t-fast)}
.fld input[type=number]:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(20,28,43,.12)}
.steps.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.steps.four{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.steps.four{grid-template-columns:1fr}}

/* APP A SEI ICONE (07/09) */
.po-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:520px){.po-tiles{grid-template-columns:1fr 1fr}}
.po-tile{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:18px 14px 16px;display:grid;gap:4px;justify-items:center;text-align:center;text-decoration:none;color:var(--ink);box-shadow:var(--sh-1);min-height:132px;transition:transform .15s,box-shadow .15s}
.po-tile:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:var(--navy)}
.po-tile .ic{font-size:34px;line-height:1;width:60px;height:60px;display:grid;place-items:center;border-radius:18px;background:var(--bg-2)}
.po-tile b{font-size:14.5px;font-weight:800;margin-top:4px}
.po-tile small{font-size:12px;color:var(--soft)}
.po-hd .back{display:inline-block;font-size:13.5px;font-weight:700;color:var(--soft);text-decoration:none;margin-bottom:6px}
.po-paga .fld input,.po-paga .fld select{width:100%;min-height:44px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#fff;color:var(--ink);padding:8px 12px;font-size:16px}
.po-paga .fld label,.po-paga .fld .lbl{font-size:12.5px;font-weight:700;display:block;margin-bottom:4px}
.po-paga .radios{display:flex;gap:16px;font-size:14px}
/* ===== AUDIT 09/10/2026 — rifiniture (mandati/AUDIT-COLIVING-20261009.md) ===== */
/* proprietari: .rlay azzerava il margine laterale di .wrap → campi a filo schermo */
.wrap.rlay{padding-left:20px;padding-right:20px}
/* pillola di testata fuori dall'elenco: su mobile restava vuota (si vedeva solo .s.m) */
@media (max-width:900px){
  .hpill.hl .s{display:flex;flex:1;min-width:0;overflow:hidden;border:0;padding:0 4px 0 14px}
  .hpill.hl .s b,.hpill.hl .s small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
/* nessun testo sotto i 12px */
.hdr .brand small,.fmore .n,.uc .ph .cnt,.uc .pr .lb,.ptab .tag,.search label,.mode small,.avail small,.fbtn .n,.uc .avail small,.sv-i .p small,.spacco .r small,.po-paga .lab,.po-pill{font-size:12px}
.po-chat .bolla small,.po-chat .bolla.dvm .chi{font-size:12px}
@media (max-width:900px){.stickycta .p small,.hpill .s small{font-size:12px}.cat{font-size:12px}}
/* home mobile: il primo annuncio arrivava a ~1.400px. La ricerca grande e le due «famiglie»
   ripetevano la pillola di testata e la riga categorie (Tutte/Stanze/Appartamenti) */
@media (max-width:760px){
  .hero{padding:26px 0 6px}
  .hero h1{margin-bottom:12px}
  .hero .lead{font-size:15.5px;margin-bottom:0}
  .hero .search{display:none}
  .fams{padding-top:8px}
  .fams .two-f{display:none}
  .trust{margin-top:10px}
  .trust ul{display:flex;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;gap:8px;padding:2px 0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .trust ul::-webkit-scrollbar{display:none}
  .trust li{flex:0 0 auto;background:#fff;border-radius:999px;padding:7px 12px;box-shadow:0 1px 6px rgba(20,28,43,.06);font-size:12.5px}
}

/* ==========================================================
   G3 — SCHEDA UNITÀ
   Appendere ALLA FINE di dvm.css
   ========================================================== */

/* 1. TESTATA */

.uhead {
  gap: 8px;
  padding-bottom: 12px;
}

.uhead .g3-titleline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}

.uhead .g3-titleline h1 {
  margin: 0;
}

#main .ulay > div:first-child {
  min-width: 0;
}

/* Utility accessibile */

.g3-sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* 2. GALLERIA DESKTOP */

.blk.g3-photos {
  margin-top: 0;
}

.g3-gallery.gal {
  display: block;
  position: relative;
  overflow: visible;
  border-radius: var(--r-l, 16px);
  background: var(--bg-2);
}

.g3-gallery .g3-track {
  display: grid;
  width: 100%;
  aspect-ratio: 16 / 9;
  gap: 4px;
  overflow: hidden;
  border-radius: var(--r-l, 16px);
  background: var(--bg-2);
}

.g3-gallery .g3-item {
  appearance: none;
  display: block;
  position: relative;
  min-width: 0;
  min-height: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--bg-2);
  overflow: hidden;
  cursor: zoom-in;
}

.g3-gallery .g3-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--t, .2s) var(--ease, ease);
}

/* Focus da tastiera */

.g3-gallery .g3-item:focus-visible,
.g3-gallery .g3-all:focus-visible,
.g3-close:focus-visible,
.g3-sticky-wa:focus-visible,
.stickycta > .btn:focus-visible {
  outline: 3px solid var(--or-2, #B45309);
  outline-offset: -4px;
}

.g3-gallery .g3-track:focus-visible {
  outline: 3px solid var(--or-2, #B45309);
  outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
  .g3-gallery .g3-item:hover img {
    transform: scale(1.025);
  }
}

/* Una foto: 16:9 */

.g3-gallery.g3-n1 .g3-track {
  grid-template-columns: 1fr;
}

/* Due foto: 50/50 */

.g3-gallery.g3-n2 .g3-track {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Tre foto: grande + colonna da due */

.g3-gallery.g3-n3 .g3-track {
  grid-template-columns: 2fr 1fr;
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.g3-gallery.g3-n3 .g3-item:first-child {
  grid-row: 1 / 3;
}

/* Quattro foto: grande + colonna da tre */

.g3-gallery.g3-n4 .g3-track {
  grid-template-columns: 2fr 1fr;
  grid-template-rows: repeat(3, minmax(0, 1fr));
}

.g3-gallery.g3-n4 .g3-item:first-child {
  grid-row: 1 / 4;
}

/* Cinque o più: grande + quattro in griglia 2x2 */

.g3-gallery.g3-n5 .g3-track {
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.g3-gallery.g3-n5 .g3-item:first-child {
  grid-row: 1 / 3;
}

/* Desktop: massimo cinque tasselli */

.g3-gallery.g3-n5 .g3-item:nth-child(n+6) {
  display: none;
}

/* Pulsante mostra tutte */

.g3-gallery .g3-all {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 2;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 44px;
  max-width: calc(100% - 28px);
  padding: 9px 15px;

  border: 1px solid var(--line);
  border-radius: 10px;

  background: #fff;
  color: var(--ink);
  box-shadow: var(--sh-2);

  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  cursor: pointer;
}

/* Contatore visibile solo su mobile */

.g3-gallery .g3-counter {
  display: none;
}

/* 3. NESSUNA FOTO */

.gal.g3-empty {
  display: block;
  overflow: hidden;
  border-radius: var(--r-l, 16px);
}

.gal.g3-empty .na {
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 0;
  border-radius: var(--r-l, 16px);
  font-size: 14px;
}

.gal.g3-empty .na small {
  font-size: 12px;
}

/* 4. INFORMAZIONI SOTTO LE FOTO */

.g3-summary {
  margin-top: 16px;
  display: grid;
  gap: 10px;
}

.g3-avail {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.g3-summary .facts {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 14px;
  color: var(--soft);
}

.g3-summary .facts span {
  display: inline-flex;
  align-items: center;
  gap: 6px;

  padding: 7px 11px;
  border-radius: 999px;

  background: var(--card, #fff);
  color: var(--ink);
  font-weight: 600;
}

.g3-summary .facts .ico {
  width: 16px;
  height: 16px;
  flex-basis: 16px;
  color: var(--mute);
}

/* 5. SPAZI COMPATTI */

.blk.g3-spaces {
  margin-top: 22px;
}

.g3-spaces h2 {
  margin-bottom: 10px;
}

.g3-spaces .spaces {
  gap: 12px;
}

.g3-spaces .spaces .c {
  padding: 14px 16px;
  border-radius: 12px;
}

/* Appartamento intero: una riga sola */

.g3-apt-frase {
  margin: 0;
  padding: 13px 16px;

  border: 1px solid var(--line);
  border-radius: 12px;

  background: var(--card, #fff);
  color: var(--ink);

  font-size: 14px;
  line-height: 1.5;
}

/* 6. DIALOG FULL SCREEN */

.g3-lightbox {
  position: fixed;
  inset: 0;

  width: 100vw;
  max-width: none;

  height: 100vh;
  height: 100dvh;
  max-height: none;

  margin: 0;
  padding: 0;

  border: 0;
  border-radius: 0;

  background: var(--bg, #F7F5F0);
  color: var(--ink);
}

.g3-lightbox[open] {
  display: flex;
  flex-direction: column;
}

.g3-lightbox::backdrop {
  background: rgba(20, 28, 43, .7);
}

.g3-dialog-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex: 0 0 auto;

  padding: 12px max(20px, calc((100vw - 1200px) / 2));

  border-bottom: 1px solid var(--line);
  background: var(--card, #fff);
}

.g3-dialog-head h2 {
  margin: 0;
  font-size: 19px;
}

.g3-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  min-width: 44px;
  min-height: 44px;
  padding: 7px 12px;

  border: 1px solid var(--line);
  border-radius: 999px;

  background: var(--card, #fff);
  color: var(--ink);

  font: inherit;
  font-size: 14px;
  font-weight: 700;

  cursor: pointer;
}

.g3-close [aria-hidden] {
  font-size: 25px;
  line-height: 1;
}

.g3-dialog-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.g3-dialog-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;

  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

.g3-dialog-grid img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;

  border-radius: 12px;
  background: var(--bg-2);
}

/* WhatsApp nuovo nascosto su desktop */

.g3-sticky-wa {
  display: none;
}

/* ==========================================================
   MOBILE <= 980px
   ========================================================== */

@media (max-width: 980px) {

  /* 7. GALLERIA FULL BLEED */

  .g3-gallery.gal,
  .gal.g3-empty {
    width: calc(100% + 40px);
    margin-left: -20px;
    margin-right: -20px;
    border-radius: 0;
  }

  /* Swipe nativo, senza librerie */

  .g3-gallery .g3-track {
    display: flex;
    gap: 0;

    width: 100%;
    height: auto;
    aspect-ratio: auto;

    overflow-x: auto;
    overflow-y: hidden;
    border-radius: 0;

    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .g3-gallery .g3-track::-webkit-scrollbar {
    display: none;
  }

  /* Ripristina anche le immagini 6-12 */

  .g3-gallery .g3-item,
  .g3-gallery.g3-n5 .g3-item:nth-child(n+6) {
    display: block;

    flex: 0 0 100%;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;

    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .g3-gallery .g3-all {
    display: none;
  }

  /* Contatore sopra la fotografia */

  .g3-gallery .g3-counter {
    position: absolute;
    right: 16px;
    bottom: 16px;
    z-index: 2;

    display: inline-flex;
    justify-content: center;
    align-items: center;

    min-height: 32px;
    padding: 5px 11px;
    border-radius: 999px;

    background: rgba(20, 28, 43, .8);
    color: #fff;

    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    pointer-events: none;
  }

  .gal.g3-empty .na {
    border-radius: 0;
  }

  /* 8. DIALOG MOBILE */

  .g3-dialog-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 10px;
  }

  .g3-dialog-grid img {
    border-radius: 8px;
  }

  .g3-dialog-head {
    padding: 10px 12px;
  }

  .g3-dialog-head h2 {
    font-size: 17px;
  }

  /* 9. STICKY CTA MOBILE */

  body.has-sticky {
    padding-bottom:
      calc(var(--g3-sticky-h, 84px) + 12px) !important;
  }

  body.has-sticky .stickycta {
    display: grid;

    grid-template-columns:
      minmax(0, 1fr)
      46px
      minmax(115px, 42%);

    align-items: center;
    gap: 8px;

    padding:
      10px 12px
      calc(10px + env(safe-area-inset-bottom));

    border-top: 1px solid var(--line);
    border-radius: 20px 20px 0 0;

    background: var(--card, #fff);
    z-index: 940;
  }

  /* Prezzo */

  body.has-sticky .stickycta > .p {
    min-width: 0;
    display: grid;
    gap: 3px;
    line-height: 1.15;
  }

  body.has-sticky .stickycta > .p b {
    font-size: 16px;
    white-space: nowrap;
  }

  body.has-sticky .stickycta > .p small {
    display: block;
    min-width: 0;

    font-size: 12px !important;
    color: var(--soft);

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  body.has-sticky .stickycta > .p b small {
    display: inline;
    font-size: 12px !important;
  }

  /* Pulsante principale */

  body.has-sticky .stickycta > .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 0;
    min-height: 46px;

    margin-left: 0;
    padding: 8px 9px;

    border-color: var(--or-2, #B45309);
    border-radius: 12px;

    background: var(--or-2, #B45309);
    color: #fff;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
  }

  /* WhatsApp integrato nella barra */

  body.has-sticky .stickycta .g3-sticky-wa {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;
    min-width: 46px;
    min-height: 46px;

    border-radius: 50%;
    background: #25D366;
    color: #fff;

    text-decoration: none;
  }

  /* Il vecchio floating non deve più comparire */

  body.has-sticky .wa-float {
    display: none !important;
  }

  /* 10. ASSISTENTE CHAT
     Solo CSS: nessuna modifica al suo HTML */

  body.has-sticky #as-apri {
    position: fixed !important;

    top: auto !important;
    right: 12px !important;
    bottom:
      calc(var(--g3-sticky-h, 84px) + 12px) !important;
    left: auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;

    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    min-height: 46px !important;
    max-width: 46px !important;

    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 50% !important;

    font-size: 0 !important;
    line-height: 0 !important;
    white-space: nowrap !important;

    z-index: 941 !important;
  }

  /* Nasconde la scritta "Hai una domanda?" */

  body.has-sticky #as-apri *:not(svg):not(path) {
    font-size: 0 !important;
    line-height: 0 !important;
  }

  /* Mantiene visibili SVG, immagini o icon font */

  body.has-sticky #as-apri svg,
  body.has-sticky #as-apri img,
  body.has-sticky #as-apri .ico,
  body.has-sticky #as-apri i,
  body.has-sticky #as-apri [class*="icon"] {
    display: block !important;

    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;

    font-size: 22px !important;
    line-height: 1 !important;
    flex: 0 0 22px !important;
  }
}

/* 11. SCHERMI STRETTI */

@media (max-width: 360px) {
  body.has-sticky .stickycta > .p b {
    font-size: 15px;
  }

  body.has-sticky .stickycta > .btn {
    font-size: 12px;
    padding: 7px;
  }
}

/* 12. MOVIMENTO RIDOTTO */

@media (prefers-reduced-motion: reduce) {
  .g3-gallery .g3-item img,
  .g3-gallery .g3-all,
  .g3-close {
    transition: none !important;
  }

  .g3-gallery .g3-track {
    scroll-behavior: auto !important;
  }
}
/* audit 09/10: ultime rifiniture */
.spacco .k small{font-size:12px}
@media (max-width:760px){.trust ul{margin:0 -20px;padding-left:20px;padding-right:20px}}

/* ==========================================================
   G4 — CAROSELLO FOTO NELLE CARD ELENCO
   Appendere in fondo a dvm.css
   ========================================================== */

/* 1. LINK ESTESO: SOLO CORPO CARD */

.uc .bd {
  position: relative;
}

/*
 * Il contenitore posizionato più vicino al ::after
 * è ora .bd, non più l'intera .uc.
 */
.uc .bd h3 a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}

/* I filtri devono poter nascondere le card */
.uc[hidden] {
  display: none !important;
}

/* 2. AREA FOTO */

.uc .ph {
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  isolation: isolate;
}

.uc .ph .uc-carousel {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* 3. TRACK CON SWIPE NATIVO */

.uc .ph .uc-track {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;

  width: 100%;
  height: 100%;

  overflow-x: auto;
  overflow-y: hidden;

  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;

  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;

  scroll-behavior: auto;
}

.uc .ph .uc-track::-webkit-scrollbar {
  display: none;
}

.uc .ph .uc-track:focus-visible {
  outline: 3px solid var(--or-2, #B45309);
  outline-offset: -3px;
}

/* Ogni slide è un link alla scheda */

.uc .ph .uc-slide {
  display: block;
  position: relative;

  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;

  scroll-snap-align: start;
  scroll-snap-stop: always;

  text-decoration: none;
  cursor: pointer;
}

/* Immagini a pieno riempimento */

.uc .ph .uc-slide img {
  display: block;
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  /*
   * Annulla lo zoom generale della card,
   * che interferirebbe con il carosello.
   */
  transform: none !important;
  transition: none !important;
}

.uc:hover .ph .uc-slide img {
  transform: none !important;
}

/*
 * La pillola modalità non deve intercettare
 * swipe o tap sulla fotografia sottostante.
 */
.uc .ph .mode-over {
  position: absolute;
  z-index: 3;
  pointer-events: none;
}

/* 4. CONTATORE FOTO */

.uc .ph .cnt {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 4;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 24px;
  padding: 4px 8px;

  border-radius: 7px;
  background: rgba(20, 28, 43, .78);
  color: #fff;

  font-size: 12px;
  font-weight: 700;
  line-height: 1;

  pointer-events: none;
}

/* 5. PUNTINI */

.uc .ph .uc-dots {
  position: absolute;
  left: 50%;
  bottom: 16px;
  z-index: 4;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;

  transform: translateX(-50%);
  pointer-events: none;
}

.uc .ph .uc-dot {
  display: block;
  width: 6px;
  height: 6px;
  flex: 0 0 6px;

  border-radius: 50%;
  background: rgba(255, 255, 255, .48);

  box-shadow: 0 1px 3px rgba(20, 28, 43, .2);
  transition:
    background var(--t, .2s) var(--ease, ease),
    transform var(--t, .2s) var(--ease, ease);
}

.uc .ph .uc-dot.is-active {
  background: #fff;
  transform: scale(1.3);
}

/* 6. FRECCE DESKTOP */

/*
 * Il button misura 44px per il target touch.
 * Il cerchio bianco visibile misura 32px.
 */

.uc .ph .uc-arrow {
  display: none;

  position: absolute;
  top: 50%;
  z-index: 5;

  align-items: center;
  justify-content: center;

  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;

  padding: 0;
  border: 0;
  border-radius: 50%;

  background: transparent;
  color: var(--navy);

  transform: translateY(-50%);
  cursor: pointer;

  -webkit-tap-highlight-color: transparent;
}

.uc .ph .uc-arrow--prev {
  left: 4px;
}

.uc .ph .uc-arrow--next {
  right: 4px;
}

/* Cerchio bianco 32px */

.uc .ph .uc-arrow::before {
  content: "";

  position: absolute;
  top: 50%;
  left: 50%;

  width: 32px;
  height: 32px;

  border: 1px solid rgba(20, 28, 43, .1);
  border-radius: 50%;

  background: #fff;
  box-shadow: var(--sh-2);

  transform: translate(-50%, -50%);
}

/* Icona sopra il cerchio */

.uc .ph .uc-arrow .ico,
.uc .ph .uc-arrow svg {
  position: relative;
  z-index: 1;

  width: 18px;
  height: 18px;
  flex-basis: 18px;

  color: var(--navy);
}

/* hidden deve vincere anche su display:flex */

.uc .ph .uc-arrow[hidden] {
  display: none !important;
}

/*
 * Solo desktop con hover reale e puntatore fine.
 * Focus-within rende disponibili i controlli
 * anche durante la navigazione da tastiera.
 */

@media (hover: hover) and (pointer: fine) {

  .uc .ph .uc-arrow {
    display: flex;
    opacity: 0;
    pointer-events: none;

    transition: opacity var(--t, .2s) var(--ease, ease);
  }

  .uc:hover .ph .uc-arrow:not([hidden]),
  .uc:focus-within .ph .uc-arrow:not([hidden]) {
    opacity: 1;
    pointer-events: auto;
  }

  .uc .ph .uc-arrow:not([hidden]):hover::before {
    background: var(--bg);
  }
}

/* Focus tastiera */

.uc .ph .uc-arrow:focus-visible {
  outline: 3px solid var(--or-2, #B45309);
  outline-offset: -2px;
}

/* 7. SEGNAPOSTO SENZA FOTO */

/*
 * Solo le card vuote diventano 3:1.
 * Le card con foto mantengono 3:2.
 */

.uc .ph.ph--empty {
  aspect-ratio: 3 / 1;
  min-height: 0;
}

.uc .ph.ph--empty .na {
  position: absolute;
  inset: 0;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;

  width: 100%;
  height: 100%;

  padding: 8px 12px;
  border-radius: inherit;

  font-size: 12px;
  line-height: 1.3;
  text-align: center;
}

/* L'icona resta compatta */

.uc .ph.ph--empty .na .ico {
  width: 22px;
  height: 22px;
  flex-basis: 22px;
}

/* 8. MOBILE E TOUCH */

@media (hover: none), (pointer: coarse) {

  .uc .ph .uc-arrow {
    display: none !important;
  }

  .uc .ph .uc-track {
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
}

/* 9. MOVIMENTO RIDOTTO */

@media (prefers-reduced-motion: reduce) {

  .uc .ph .uc-track {
    scroll-behavior: auto !important;
  }

  .uc .ph .uc-dot,
  .uc .ph .uc-arrow,
  .uc .ph .uc-slide img {
    transition: none !important;
    animation: none !important;
  }
}
/* 09/10 giro 6 accessibilità: «· da confermare» 4,27:1 e testo nella barra scura 2,85:1 */
.avail small{opacity:1;color:var(--sage-ink)}.sidebox .avail small{color:#DCE1EA}
.sidebox .bd>p[style]{color:#C9D0DC!important}
.spacco .k small{color:var(--sage-ink);opacity:1}.sb-sp a{display:inline-block;padding:6px 0}

/* 09/10 giro 7: selezione personale, blocco carta spiegato, garanzie non ripetute */
.selz{background:var(--bg);padding:22px 0 8px}.selz h2{margin-bottom:4px}.selz .sub{color:var(--soft);margin:0 0 14px}.selz-all{margin:14px 0 0}
.pa-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 12px;font-size:13.5px}
.pa-box b{display:flex;align-items:center;gap:8px;margin-bottom:6px}.pa-box .ico{width:16px;height:16px;flex-basis:16px;color:var(--navy)}
.pa-box ul{margin:0;padding-left:18px;list-style:disc;color:var(--ink)}.pa-box li{margin:3px 0}
.inst.sec{display:none}
/* 09/10 giro 8: servizi a pagamento in un pannello da aprire (link ?sv= lo apre già aperto via JS? no: #servizi lo apre) */
.g8-more>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px}
.g8-more>summary::-webkit-details-marker{display:none}
.g8-more>summary::after{content:"+";font-size:24px;font-weight:700;color:var(--soft);line-height:1}
.g8-more[open]>summary::after{content:"–"}
.g8-more>summary h2{margin:0}
.incl-no-h{margin:14px 0 6px;font-weight:800;font-size:14px;color:var(--soft)}.incl-no li{color:var(--soft)}.incl-no .ico{color:var(--mute)}
/* giro 10: riepilogo della richiesta su desktop, piccoli testi tra parentesi sotto 12px */
.sum .row small,.sum .bd .row small{font-size:12px}
