/* v7o: WhatsApp con il simbolo, finestra della bozza, pulsante fisso del telefono, piede con «Seguiteci» */
.fsoc{display:flex;align-items:center;gap:6px}.fsoc span{margin-right:6px}.fsoc a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:#cfccc6;border-radius:50%}.fsoc a:hover{color:#fff}.fsoc svg{width:22px;height:22px}
.stk{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#050506e6;border-top:1px solid #26252a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translateY(110%);transition:transform .28s ease;visibility:hidden}
.stk.on{transform:none;visibility:visible}.stk .btn-1{flex:1;min-height:48px;padding:0 14px;font-size:16px}.stk .stk-wa{width:52px;min-height:48px;padding:0;flex:none}.stk .wa-ic{width:24px;height:24px}
@media (min-width:900px){.stk{display:none}}
@media (max-width:899px){footer{padding-bottom:96px}}
@media (prefers-reduced-motion:reduce){.stk{transition:none}}
html.bm-on{overflow:hidden}html.bm-on body{padding-right:var(--sbw,0)}
.bm{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--fg);overflow:hidden}
.bm:not([open]){display:none}
.bm::backdrop{background:#000000b8}
.bm-box{position:absolute;inset:0;display:flex;flex-direction:column;background:#0d0d0f;font-size:16px;line-height:1.5}
.bm-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px 10px 20px;border-bottom:1px solid var(--line);flex:none}
.bm-head>div{flex:1;min-width:0}
.bm-n{font-size:13.5px;font-weight:650;color:var(--mute);margin-bottom:6px}
.bm-prog{height:4px;border-radius:2px;background:#26252a;overflow:hidden;max-width:260px}.bm-prog span{display:block;height:100%;width:calc(var(--p,.25) * 100%);background:var(--o);transition:width .25s ease}
.bm-x{width:48px;height:48px;flex:none;border:1px solid #3a3a40;border-radius:50%;background:transparent;color:var(--fg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.bm-x svg{width:20px;height:20px}
.bm-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:22px 20px 28px;-webkit-overflow-scrolling:touch}
.bm h2{font-family:'Zodiak',serif;font-size:30px;line-height:1.12;letter-spacing:-.015em;margin-bottom:8px;outline:none}
.bm-i,.bm-fb>p,.bm-ok p{color:var(--mute);max-width:56ch}
.bm-step{border:0;margin:22px 0 0;padding:0;min-width:0}
.bm-step>legend{font-size:19px;font-weight:700;margin-bottom:4px;outline:none;padding:0}
.grp{border:0;padding:0;margin:20px 0 0;min-width:0}.grp legend{font-weight:650;font-size:15.5px;padding:0;margin-bottom:6px}
.op{font-weight:500;color:var(--dim);font-size:13.5px}
.bm-hint{display:block;color:var(--dim);font-size:14px;margin:-2px 0 8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;display:inline-flex;cursor:pointer}
.chip input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.chip>span{display:flex;flex-direction:column;justify-content:center;min-height:44px;padding:8px 14px;border:1.5px solid #3a3a40;border-radius:22px;font-size:15px;line-height:1.2}
.chip b{font-weight:600}.chip small{display:block;font-size:12.5px;color:var(--mute);margin-top:2px}
.chip input:checked+span{border-color:var(--o);background:#ff7a1a1f}
.chip input:checked+span b::before{content:'';display:inline-block;width:.45em;height:.8em;border:solid var(--o);border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);margin-right:8px}
.chip input:focus-visible+span{outline:2px solid var(--o);outline-offset:2px}
.chip:hover>span{border-color:#5a5960}
/* colori: un pallino prima del nome */
.sw>span{flex-direction:row;align-items:center;gap:9px}.sw>span>i{width:18px;height:18px;border-radius:50%;flex:none;border:1px solid #ffffff33}
.sw-chiari i{background:linear-gradient(135deg,#fff 50%,#e9e2d4 50%)}.sw-scuri i{background:linear-gradient(135deg,#111 50%,#3a3a46 50%)}.sw-caldi i{background:linear-gradient(135deg,#b5653b 50%,#e6c79a 50%)}.sw-freschi i{background:linear-gradient(135deg,#2f6f9f 50%,#5fa88a 50%)}
.sw-vivaci i{background:conic-gradient(#ff3b5c 0 33%,#ffd23f 0 66%,#2ec4b6 0)}.sw-logo i{background:repeating-linear-gradient(45deg,#cfccc6 0 3px,transparent 3px 6px)}.sw-nonso i{background:transparent;border-style:dashed}
/* stile: una piccola anteprima disegnata in CSS sopra il nome (4 riquadri, una sola scelta) */
.grp .sw-sobrio,.grp .sw-caldo,.grp .sw-deciso,.grp .sw-elegante{flex:1 1 calc(50% - 4px);min-width:0}
.sw-sobrio>span,.sw-caldo>span,.sw-deciso>span,.sw-elegante>span{flex-direction:column;align-items:flex-start;border-radius:12px;padding:10px;width:100%}
.sw-sobrio i,.sw-caldo i,.sw-deciso i,.sw-elegante i{width:100%;height:54px;border-radius:7px;margin-bottom:6px;border:1px solid #ffffff22}
.sw-sobrio i{background:linear-gradient(#222 0 0) 10px 12px/46% 5px no-repeat,linear-gradient(#bbb 0 0) 10px 24px/66% 3px no-repeat,linear-gradient(#bbb 0 0) 10px 31px/56% 3px no-repeat,#fafafa}
.sw-caldo i{background:linear-gradient(#5b3a22 0 0) 10px 12px/50% 7px no-repeat,linear-gradient(#a0704a 0 0) 10px 26px/62% 3px no-repeat,radial-gradient(circle at 82% 70%,#c9774a 0 9px,transparent 10px),#efe3cf}
.sw-deciso i{background:linear-gradient(#fff 0 0) 10px 10px/72% 13px no-repeat,linear-gradient(#ff7a1a 0 0) 10px 32px/30% 10px no-repeat,#111}
.sw-elegante i{background:linear-gradient(#d9cfb8 0 0) 50% 16px/40% 2px no-repeat,linear-gradient(#8f8778 0 0) 50% 26px/60% 1px no-repeat,linear-gradient(#8f8778 0 0) 50% 32px/48% 1px no-repeat,#16151a}
.fl{margin-top:18px;display:flex;flex-direction:column}.fl label{font-weight:650;font-size:15.5px;margin-bottom:6px}
.fl input,.fl textarea,.bm-fb textarea{font:inherit;font-size:16px;color:var(--fg);background:#050506;border:1.5px solid #3a3a40;border-radius:10px;padding:11px 13px;min-height:48px;width:100%}
.fl textarea{resize:vertical;min-height:84px}
.fl input:focus,.fl textarea:focus,.bm-fb textarea:focus{outline:2px solid var(--o);outline-offset:1px;border-color:var(--o)}
.fl input[aria-invalid="true"]{border-color:#ff8a8a}
.fl.bm-ck{flex-direction:row;align-items:flex-start;gap:12px;margin-top:16px}.fl.bm-ck input{width:24px;height:24px;min-height:0;flex:none;margin-top:2px;accent-color:var(--o)}.fl.bm-ck label{font-weight:500;margin:0;font-size:15px}
.bm-ch{margin:16px 0 -6px}.bm-cg{margin-top:22px}.bm-cg>legend.bm-ch{font-weight:500;font-size:14px;margin:0 0 -2px}
.bm-e{color:#ffb0a8;font-size:14.5px;margin-top:6px;outline:none}
.bm-pv{margin-top:18px;border:1px solid var(--line);border-radius:10px;padding:0 14px;font-size:14.5px;color:var(--mute)}.bm-pv summary{cursor:pointer;font-weight:650;color:var(--fg);padding:12px 0;min-height:44px}.bm-pv p{padding-bottom:12px}.bm-pv a{color:var(--fg)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bm-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}.bm-nav .btn{min-height:50px}.bm-nav [data-next],.bm-nav [data-send]{margin-left:auto}
.bm-nav .btn[disabled]{opacity:.6}
.bm .btn-wa{display:inline-flex}
.bm-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.bm-acts .btn{flex:1 1 220px}
.bm-note{margin-top:10px;font-size:14.5px;color:#ffcf9e}
.bm-tl{display:block;margin-top:22px;font-weight:650;font-size:15px;margin-bottom:6px}.bm-fb textarea{font-size:14px;line-height:1.45;min-height:180px;resize:vertical;color:#d6d3cd}
@media (min-width:700px){.bm-box{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:min(680px,calc(100vw - 48px));height:min(760px,calc(100dvh - 48px));border:1px solid #2a2a30;border-radius:18px;box-shadow:0 30px 80px #000c}
  .bm-body{padding:26px 32px 32px}.bm-head{padding:12px 14px 12px 32px}.bm h2{font-size:34px}
  .grp .sw-sobrio,.grp .sw-caldo,.grp .sw-deciso,.grp .sw-elegante{flex:1 1 calc(25% - 6px)}}
.bm button,.bm input,.bm textarea{font-family:inherit}.bm .btn{font-family:'Author',system-ui,sans-serif;cursor:pointer;border:0}.bm .btn-g{border:1px solid #4a4950}.bm .btn-wa{border:1.5px solid #5a5960}
.bm-form .bm-nav{position:sticky;bottom:-28px;margin-left:-20px;margin-right:-20px;padding:12px 20px 14px;background:#0d0d0f;border-top:1px solid var(--line);z-index:2}
@media (min-width:700px){.bm-form .bm-nav{bottom:-32px;margin-left:-32px;margin-right:-32px;padding:14px 32px 16px}}

/* v7o g2: titolo e introduzione solo al passo 1 (dal 2 il titolo resta per i lettori di schermo e per il fuoco); nel riquadro finale niente «Passo 4 di 4» */
.bm:not(.bm-s1) .bm-form>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.bm:not(.bm-s1) .bm-form>.bm-i{display:none}
.bm.bm-fin .bm-head>div{visibility:hidden}
/* v7o g2-2: dal passo 2 niente vuoto sopra il titolo della sezione (era 44 px: padding del corpo + margine del passo) */
.bm:not(.bm-s1) .bm-body{padding-top:16px}
.bm:not(.bm-s1) .bm-step{margin-top:0}
