/* Form "Parliamone": pannello laterale a passi (brief.js). */
.brief{position:fixed;inset:0 0 0 auto;margin:0;width:min(740px,100vw);height:100dvh;max-width:none;max-height:none;padding:0;border:0;border-left:4px solid var(--ink);background:#fff;color:var(--ink);overflow:clip}
.brief[open]{animation:brief-in .55s var(--ease)}
.brief::backdrop{background:#17132fb3;backdrop-filter:blur(6px);animation:brief-fade .4s ease}
@keyframes brief-in{from{transform:translateX(100%)}}
@keyframes brief-fade{from{opacity:0}}
.motion-off .brief[open],.motion-off .brief::backdrop{animation:none}
.brief-form{display:flex;flex-direction:column;height:100%}

.brief-top{position:relative;display:flex;align-items:center;gap:16px;padding:22px 28px 20px}
.brief-title{font-size:15px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.brief-count{margin-left:auto;font-size:14px;color:color-mix(in srgb,var(--ink) 65%,transparent)}
.brief-close{width:44px;height:44px;border:1.5px solid currentColor;border-radius:50%;background:transparent;font-size:24px;line-height:1;transition:transform .35s var(--ease),background .3s var(--ease)}
.brief-close:hover{background:var(--green);transform:rotate(90deg)}
.brief-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:#dfdbf1}
.brief-bar i{position:absolute;inset:0;background:#491bd4;transform-origin:left;transform:scaleX(0);transition:transform .5s var(--ease)}

.brief-body{flex:1;min-height:0;overflow-y:auto;padding:clamp(28px,5vh,56px) 28px 28px;overscroll-behavior:contain}
.brief-step{margin:0;padding:0;border:0;min-width:0}
.brief-q{padding:0;font-size:clamp(30px,4.2vw,42px);line-height:1.02;letter-spacing:-.04em;font-weight:800}
.brief-hint{margin-top:12px;font-size:17px;color:color-mix(in srgb,var(--ink) 70%,transparent)}

.brief-fields{display:grid;gap:16px;margin-top:30px}
.brief-field{display:grid;gap:7px;font-size:15px;font-weight:600}
.brief-field small{font-weight:400;opacity:.65;font-size:inherit}
.brief-field input,.brief-field textarea{width:100%;padding:14px 16px;border:2px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);font:400 18px/1.4 Cabinet,Frecce,sans-serif}
.brief-field textarea{resize:vertical;min-height:170px}
.brief-field input:focus,.brief-field textarea:focus{outline:none;box-shadow:5px 5px 0 var(--green)}
.brief-consent{display:flex;gap:12px;align-items:flex-start;margin-top:22px;font-size:15px;line-height:1.4;cursor:pointer}
.brief-consent input{flex-shrink:0;width:22px;height:22px;margin:0;accent-color:#491bd4}
.brief-consent a{text-decoration:underline;text-underline-offset:.18em;white-space:nowrap}
.brief-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.brief-summary{margin:28px 0 0;border-top:2px solid var(--ink)}
.brief-summary>div{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}
.brief-summary dt{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.brief-summary dd{grid-column:1;margin:0;font-size:17px;white-space:pre-line;overflow-wrap:anywhere}
.brief-summary button{grid-column:2;grid-row:1/3;align-self:center;padding:6px 0;border:0;background:none;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:.2em}

.brief-done{text-align:left;outline:none}
.brief-done img{margin-bottom:26px}
.brief-done .pill{margin-top:34px}
.brief-error{margin-top:20px;padding:12px 16px;border-radius:10px;background:#ffe3f5;color:#8a0059;font-size:15px}

.brief-nav{display:flex;align-items:center;gap:14px;padding:16px 28px calc(16px + env(safe-area-inset-bottom));border-top:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}
.brief-back,.brief-skip{padding:10px 4px;border:0;background:none;font-size:16px;font-weight:600}
.brief-skip{opacity:.7;text-decoration:underline;text-underline-offset:.2em}
.brief-back:hover,.brief-skip:hover{opacity:1;color:#491bd4}
.brief-next{margin:0 0 0 auto}
.brief .pill.dark{background:var(--ink);color:#fff}
.brief-next:disabled{opacity:.6;transform:none}
.brief-nav:has(.brief-back[hidden]):has(.brief-skip[hidden]):has(.brief-next[hidden]){display:none}

/* Gruppi di domande nello stesso passo. */
.brief-group{margin:30px 0 0;padding:0;border:0;min-width:0}
.brief-group+.brief-group{margin-top:26px}
.brief-group:has(.brief-field)+.brief-group:has(.brief-field),.brief-group:has(.brief-field)+.brief-group:has(.brief-consent){margin-top:16px}
.brief-label{padding:0;margin-bottom:12px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.brief-note{margin:-4px 0 12px;font-size:15px;color:color-mix(in srgb,var(--ink) 70%,transparent)}

/* Scelte: etichette tipo adesivo, singole e multiple. Il segno a sinistra (cerchio per le singole,
   "+" per le multiple) diventa una spunta; l'adesivo scelto prende un colore della palette,
   si inclina un poco e lascia l'ombra piena come le card del sito. */
.brief-chips{display:flex;flex-wrap:wrap;gap:10px}
.brief-chip{position:relative;display:flex;align-items:center;gap:10px;min-height:46px;padding:8px 18px 8px 8px;border:2px solid var(--ink);border-radius:999px;background:#fff;font-size:16px;font-weight:500;line-height:1.2;text-align:left;cursor:pointer;transition:background .25s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}
.brief-chip:has(small){border-radius:18px}
.brief-chip input{position:absolute;opacity:0;pointer-events:none}
.brief-chip b{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--ink) 8%,transparent);font-weight:700;font-size:18px;line-height:1;transition:transform .35s var(--ease),background .25s}
.is-multi .brief-chip b::before{content:"+"}
.is-single .brief-chip b::before{content:"";width:10px;height:10px;border:2px solid currentColor;border-radius:50%}
.brief-chip:hover{background:color-mix(in srgb,var(--c) 45%,#fff)}
.brief-chip:has(:checked){background:var(--c);color:var(--ink);box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px) rotate(var(--tilt));animation:brief-pop .4s var(--ease)}
.brief-chip:has(:checked) b{background:var(--ink);color:var(--c);transform:none}
.brief-chip:has(:checked) b::before{content:"✓";width:auto;height:auto;border:0;font-size:15px}
.brief-chip:has(:focus-visible){outline:3px solid #491bd4;outline-offset:3px}
.motion-off .brief-chip{animation:none}
.brief-chip:has([value=non-so]),.brief-chip:has([value=altro]){border-style:dashed}
.tone-0{--c:#00ffd1;--tilt:-1.2deg}.tone-1{--c:#ff78d7;--tilt:.9deg}.tone-2{--c:#edff38;--tilt:-.7deg}.tone-3{--c:#b9a6ff;--tilt:1.3deg}
@keyframes brief-pop{40%{transform:translate(-2px,-2px) rotate(var(--tilt)) scale(1.05)}}
/* Domanda da sola nel passo: adesivi grandi, due per riga su desktop. */
.is-big{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.is-big .brief-chip{min-height:70px;padding:14px 18px 14px 14px;border-radius:18px;font-size:18px}
.is-big .brief-chip b{width:32px;height:32px}

/* Riga di spiegazione sotto le risposte e sotto i gruppi. */
.brief-opt{display:flex;flex-direction:column;gap:3px;min-width:0}
.brief-opt small{font-size:14px;font-weight:400;line-height:1.3;opacity:.68}
.brief-chip:has(:checked) small{opacity:.85}
.brief-links{margin-top:18px}
.brief-links input{font-size:17px}

/* Campo per scrivere "Altro": compare solo quando "Altro" è scelto. */
.brief-other{display:none;margin-top:12px}
.brief-pick:has(input[value=altro]:checked) .brief-other{display:block;animation:brief-fade .3s ease}
.brief-other textarea{display:block;width:100%;min-height:76px;padding:13px 16px;border:2px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);font:400 17px/1.4 Cabinet,Frecce,sans-serif;resize:vertical}
.brief-other textarea:focus{outline:none;box-shadow:5px 5px 0 var(--green)}

/* Maniglia del foglio: solo su mobile. */
.brief-handle{display:none}
.brief.is-closing{pointer-events:none}

/* Mobile: foglio che sale dal basso, lascia vedere la pagina sopra e si chiude trascinandolo giù. */
@media(max-width:700px){
 .brief{inset:auto 0 0 0;width:100%;height:calc(100dvh - 64px);border:0;border-top:4px solid var(--ink);border-radius:22px 22px 0 0;transition:transform .3s var(--ease)}
 .brief.is-dragging{transition:none}
 .brief[open]{animation:brief-up .5s var(--ease)}
 .brief::backdrop{opacity:calc(1 - var(--drag,0))}
 @keyframes brief-up{from{transform:translateY(100%)}}
 .brief-handle{display:block;padding:10px 0 2px;touch-action:none;cursor:grab}
 .brief-handle i{display:block;width:44px;height:5px;margin:0 auto;border-radius:5px;background:color-mix(in srgb,var(--ink) 30%,transparent)}
 .brief-top{padding:6px 18px 14px;touch-action:none}
 .brief-body{padding:24px 18px 22px}
 .brief-nav{padding-left:18px;padding-right:18px}
 .is-big{grid-template-columns:1fr}
  .brief-q{font-size:30px}
}
