/* VESTHO v4 — struttura a linee: VESTHO® Interior e VESTHO® Wall (12/11/2026) */
:root{--hh:80px}
.v4-lock{display:inline-flex;align-items:center;gap:10px;line-height:1;color:inherit;white-space:nowrap}
.v4-lock svg{height:20px;width:auto;display:block;fill:currentColor}
.v4-lock i{font-style:normal;font-weight:500;font-size:19px;letter-spacing:.01em;text-transform:none;padding-left:10px;border-left:1px solid currentColor;opacity:.92}
.v4-lock-lg svg{height:30px}.v4-lock-lg i{font-size:28px;padding-left:14px}
.v4-lock-sm svg{height:15px}.v4-lock-sm i{font-size:15px;padding-left:8px}

/* sotto-menu di linea, stile Apple */
.v4-sub{position:sticky;top:var(--hh);z-index:45;background:rgba(250,248,244,.86);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid #DDD3C2}
.v4-sub-in{max-width:1240px;margin:0 auto;padding:0 24px;min-height:54px;display:flex;align-items:center;gap:20px}
.v4-sub-t{color:#111;text-decoration:none}
.v4-sub-l{display:flex;gap:4px 24px;margin-left:auto;align-items:center}
.v4-sub-l a{font-size:12.5px;font-weight:600;color:#4A443A;text-decoration:none;white-space:nowrap;padding:8px 0}
.v4-sub-l a:hover,.v4-sub-l a[aria-current="page"]{color:#111}
.v4-sub-l a[aria-current="page"]{box-shadow:inset 0 -2px #111}
.v4-sub-cta{flex:none;display:inline-flex;align-items:center;min-height:32px;padding:7px 16px;border-radius:999px;background:#111;color:#fff!important;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;text-decoration:none}
.v4-sub-cta:hover{background:#7A6D58}
.v4-sub-tg{display:none;margin-left:auto;width:36px;height:36px;border:0;background:none;cursor:pointer;align-items:center;justify-content:center;color:#111}
.v4-sub-tg svg{transition:transform .25s}
.v4-sub.open .v4-sub-tg svg{transform:rotate(180deg)}
@media (max-width:1060px){
  .v4-sub-tg{display:inline-flex}
  .v4-sub-l{display:none}
  .v4-sub.open .v4-sub-l{display:flex;flex-direction:column;align-items:stretch;gap:0;position:absolute;left:0;right:0;top:100%;background:#FAF8F4;border-bottom:1px solid #DDD3C2;padding:6px 24px 18px;max-height:70vh;overflow:auto}
  .v4-sub.open .v4-sub-l a{font-size:17px;padding:13px 0;border-bottom:1px solid #EDE6DA;box-shadow:none}
  .v4-sub-cta{margin-left:0}
}
@media (max-width:520px){.v4-sub .v4-lock svg{height:15px}.v4-sub .v4-lock i{font-size:15px}.v4-sub-in{gap:8px}}

/* immagini che scorrono */
.v4-bgs{position:absolute;inset:0;z-index:-1;background:#111}
.v4-bgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.04);transition:opacity 1.4s ease,transform 7s linear}
.v4-bgs img.on{opacity:1;transform:scale(1)}
.v4-bgs::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.08) 35%,rgba(0,0,0,.62) 100%)}
.v4-dots{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:8px;z-index:2}
.v4-dots button{width:26px;height:3px;border:0;padding:0;border-radius:2px;background:rgba(255,255,255,.4);cursor:pointer}
.v4-dots button.on{background:#fff}

/* home: intestazione e due linee affiancate */
.v4-intro{background:#FAF8F4;text-align:center;padding:40px 24px 30px}
.v4-intro h1{margin:0;font-size:clamp(32px,4.6vw,56px);font-weight:800;text-transform:uppercase;letter-spacing:-.015em;line-height:1}
.v4-intro p{margin:14px auto 0;max-width:640px;font-size:clamp(16px,1.6vw,19px);line-height:1.5;color:#4A443A}
.v4-split{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 10px;background:#FAF8F4}
.v4-pan{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;min-height:clamp(560px,82vh,880px);display:flex;align-items:flex-end;color:#fff}
.v4-pan-in{padding:clamp(28px,4vw,56px);display:flex;flex-direction:column;gap:16px;max-width:560px}
.v4-pan h2{margin:0;font-size:clamp(30px,3.6vw,50px);font-weight:800;text-transform:uppercase;line-height:1.02;letter-spacing:-.01em}
.v4-pan p{margin:0;font-size:16px;line-height:1.55;color:rgba(255,255,255,.9)}
.v4-pan .v2-btns{justify-content:flex-start;margin-top:4px}
.v4-pan .v4-dots{left:auto;right:28px;transform:none;bottom:28px}
.v4-pan-k{display:flex;gap:8px;flex-wrap:wrap}
.v4-pan-k span{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@media (max-width:860px){.v4-split{grid-template-columns:1fr}.v4-pan{min-height:74vh}.v4-pan .v4-dots{right:auto;left:50%;transform:translateX(-50%);bottom:14px}.v4-pan-in{padding-bottom:44px}}

/* hero delle pagine di linea */
.v4-hero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(600px,88vh,940px);display:flex;align-items:flex-end;justify-content:center;color:#fff;text-align:center}
.v4-hero-in{padding:0 24px clamp(70px,10vh,110px);max-width:980px;display:flex;flex-direction:column;align-items:center;gap:20px}
.v4-hero h1{margin:0;font-size:clamp(38px,6.4vw,82px);font-weight:800;text-transform:uppercase;line-height:.98;letter-spacing:-.02em}
.v4-hero-p{margin:0;max-width:700px;font-size:clamp(16px,1.7vw,20px);line-height:1.5;color:rgba(255,255,255,.92)}

/* sezioni */
.v4-sec{padding:clamp(72px,9vw,120px) 0;background:#fff}
.v4-sec.beige{background:#E9E1D3}.v4-sec.paper{background:#FAF8F4}.v4-sec.dark{background:#111;color:#E9E1D3}
.v4-sec.dark .v2-h2{color:#fff}.v4-sec.dark .v2-k{color:#CFC4B1}.v4-sec.dark .v2-lead{color:#CFC4B1}
.v4-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.v4-head .v2-lead{margin-top:12px;max-width:620px}
.v4-head-r{display:flex;align-items:center;gap:14px}
.v4-arr{width:42px;height:42px;border-radius:50%;border:1px solid #CFC4B1;background:#fff;color:#111;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.v4-arr:hover{background:#111;color:#fff;border-color:#111}
.v4-sec.dark .v4-arr{background:transparent;color:#fff;border-color:#4A443A}
@media (max-width:760px){.v4-arr{display:none}}

/* fila di card che scorre */
.v4-row{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px max(24px,calc((100vw - 1240px)/2 + 24px)) 18px;scroll-padding-left:max(24px,calc((100vw - 1240px)/2 + 24px))}
.v4-row::-webkit-scrollbar{display:none}
.v4-tile{position:relative;flex:none;width:clamp(250px,27vw,340px);aspect-ratio:4/5;border-radius:22px;overflow:hidden;scroll-snap-align:start;color:#fff;text-decoration:none;isolation:isolate;background:#222;box-shadow:0 1px 2px rgba(17,17,17,.06)}
.v4-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s ease}
.v4-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,0) 34%,rgba(0,0,0,0) 55%,rgba(0,0,0,.55) 100%)}
.v4-tile:hover img{transform:scale(1.05)}
.v4-tile-t{position:absolute;left:22px;right:22px;top:22px;display:flex;flex-direction:column;gap:6px}
.v4-tile-t small{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.85)}
.v4-tile-t b{font-size:clamp(21px,2vw,26px);font-weight:800;text-transform:uppercase;line-height:1.05}
.v4-tile-f{position:absolute;left:22px;right:70px;bottom:22px;font-size:14px;line-height:1.4;color:rgba(255,255,255,.92)}
.v4-plus{position:absolute;right:18px;bottom:18px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);color:#111;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:22px;font-weight:400;line-height:1}
.v4-tile.light{color:#111;background:#E9E1D3}
.v4-tile.light::after{display:none}
.v4-tile.light .v4-tile-t small{color:#7A6D58}
.v4-tile.light .v4-tile-f{color:#4A443A}
.v4-tile.light .v4-plus{background:#111;color:#fff}

/* griglia ambienti */
.v4-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.v4-grid .v4-tile{width:auto;aspect-ratio:4/4.4}
.v4-grid.c4{grid-template-columns:repeat(4,1fr)}
.v4-grid.c4 .v4-tile{aspect-ratio:4/5}
@media (max-width:980px){.v4-grid,.v4-grid.c4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.v4-grid{grid-template-columns:1fr}.v4-grid.c4{grid-template-columns:1fr 1fr;gap:10px}.v4-grid.c4 .v4-tile-t{left:14px;top:14px;right:14px}.v4-grid.c4 .v4-tile-t b{font-size:17px}.v4-grid.c4 .v4-tile-f{display:none}.v4-grid.c4 .v4-plus{width:30px;height:30px;font-size:18px;right:12px;bottom:12px}}

/* blocco immagine + testo */
.v4-feat{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.v4-feat.rev{grid-template-columns:1fr 1.15fr}
.v4-feat.rev .v4-feat-m{order:2}
.v4-feat-m{border-radius:22px;overflow:hidden;aspect-ratio:5/4;background:#ddd}
.v4-feat-m img{width:100%;height:100%;object-fit:cover;display:block}
.v4-feat .v2-lead{margin:16px 0 0}
.v4-feat ul{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.v4-feat li{display:flex;gap:12px;font-size:15.5px;line-height:1.5}
.v4-feat li::before{content:"";flex:none;width:20px;height:20px;margin-top:1px;border-radius:50%;background:#111 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.6 2.6L14.5 7' fill='none' stroke='%23E9E1D3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.v4-sec.dark .v4-feat li::before{background-color:#E9E1D3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.6 2.6L14.5 7' fill='none' stroke='%23111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.v4-feat .v2-btns{justify-content:flex-start;margin-top:28px}
@media (max-width:900px){.v4-feat,.v4-feat.rev{grid-template-columns:1fr}.v4-feat.rev .v4-feat-m{order:0}}

/* card prezzo / scelte */
.v4-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.v4-card{background:#fff;border-radius:22px;padding:30px 28px;display:flex;flex-direction:column;gap:10px;border:1px solid #EDE6DA;text-decoration:none;color:#111;transition:transform .25s,box-shadow .25s}
a.v4-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(17,17,17,.08)}
.v4-card img{width:100%;height:clamp(170px,15vw,220px)!important;aspect-ratio:auto;flex:none;object-fit:cover;border-radius:14px;margin-bottom:8px}
.v4-card small{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#7A6D58}
.v4-card b{font-size:21px;font-weight:800;text-transform:uppercase;line-height:1.1}
.v4-card span{font-size:15px;line-height:1.55;color:#4A443A}
.v4-card .v4-price{margin-top:auto;padding-top:10px;font-size:15px;font-weight:700;color:#111}
.v4-card .v4-go{font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#111}
.v4-card .v4-go::after{content:" →"}
.v4-sec.dark .v4-card{background:#1B1A17;border-color:#2A2620;color:#fff}
.v4-sec.dark .v4-card span{color:#CFC4B1}.v4-sec.dark .v4-card small{color:#CFC4B1}.v4-sec.dark .v4-card .v4-go,.v4-sec.dark .v4-card .v4-price{color:#E9E1D3}
@media (max-width:900px){.v4-cards{grid-template-columns:1fr}}

/* passi numerati */
.v4-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:s}
.v4-steps div{border-top:1px solid #4A443A;padding-top:22px}
.v4-sec:not(.dark) .v4-steps div{border-color:#CFC4B1}
.v4-steps i{display:block;font-style:normal;font-size:13px;font-weight:700;letter-spacing:.1em;color:#7A6D58;margin-bottom:12px}
.v4-sec.dark .v4-steps i{color:#CFC4B1}
.v4-steps b{display:block;font-size:19px;font-weight:800;text-transform:uppercase;margin-bottom:8px}
.v4-sec.dark .v4-steps b{color:#fff}
.v4-steps span{font-size:15px;line-height:1.55}
@media (max-width:860px){.v4-steps{grid-template-columns:1fr 1fr;row-gap:32px}}
@media (max-width:480px){.v4-steps{grid-template-columns:1fr}}

/* testo SEO */
.v4-seo{max-width:880px;margin:0 auto;font-size:15.5px;line-height:1.7;color:#4A443A}
.v4-seo h2{font-size:clamp(22px,2.4vw,28px);font-weight:800;text-transform:uppercase;color:#111;margin:0 0 14px}
.v4-seo a{color:#111;font-weight:600}
.v4-center{text-align:center}.v4-center .v2-btns{justify-content:center}
.v4-mt{margin-top:40px}
@media (max-width:560px){.v4-pan-k{display:none}.v4-pan{min-height:70vh}.v4-pan p{font-size:15px}.v4-pan .v2-btns{flex-direction:column;align-items:stretch}.v4-pan .v2-btn{width:100%}}
