/* QR code v5 (22/10/2026) · flusso Contenuto → Stile → Scarica, anteprima sempre in vista, niente bordi.
   Regola d'oro anti-salto: niente in questa colonna cambia altezza mentre si regola qualcosa (altezze fisse + transform). */
.q5-wrap{display:grid;gap:8px;grid-template-areas:'main' 'side' 'more'}
.q5-main{grid-area:main;min-width:0}.q5-side{grid-area:side;min-width:0}.q5-more{grid-area:more;min-width:0}
.q5 .q5-types{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.q5 .q5-types>label{min-height:52px;padding:0 8px;align-items:center;justify-content:center;text-align:center;border-radius:16px}
.q5 .q5-types b{font-size:.92rem}
.q5 .q5-f{margin-top:14px}
/* palco dell'anteprima: spazio fisso, il QR cresce o si rimpicciolisce con transform (il layout non si muove mai) */
.q5-stage{position:relative;width:100%;max-width:420px;aspect-ratio:1;margin:22px auto 0;background:radial-gradient(closest-side,rgba(201,182,228,.10),rgba(201,182,228,0));display:grid;place-items:center;overflow:hidden;contain:layout paint;--q5s:.86}
.q5-card{width:100%;aspect-ratio:1;background:#fff;border-radius:18px;padding:0;transform:scale(var(--q5s));transform-origin:50% 50%;transition:transform .45s var(--ease),opacity .3s;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);overflow:hidden}
.q5-card canvas{display:block;width:100%;height:100%}
.q5-stage.empty .q5-card{opacity:.14;filter:blur(2px)}
@media (prefers-reduced-motion:reduce){.q5-card{transition:none}}
.q5-cap{height:22px;margin:10px 0 0;text-align:center;font-size:.84rem;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.q5-cap b{color:var(--ink);font-weight:600}
/* riga logo: stessa altezza con e senza logo */
.q5-logo{height:56px;margin-top:12px;border-radius:16px;background:rgba(244,239,249,.05);display:flex;align-items:center;overflow:hidden}
.q5-lbtn{position:relative;flex:1;height:100%;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:.92rem;color:var(--ink);cursor:pointer}
.q5-lbtn small{font-weight:400;color:var(--mut);font-size:.8rem}
.q5-lbtn input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.q5-lset{display:none;flex:1;height:100%;align-items:center;gap:10px;padding:0 6px 0 8px;min-width:0}
.q5-logo.has .q5-lbtn{display:none}.q5-logo.has .q5-lset{display:flex}
.q5-lset img{width:40px;height:40px;border-radius:10px;background:#fff;object-fit:contain;flex:0 0 auto}
.q5-lset .lb{font-size:.8rem;color:var(--mut);flex:0 0 auto}
.q5-lset output{flex:0 0 3.2em;text-align:right;font-size:.84rem;font-variant-numeric:tabular-nums;color:var(--ink)}
.q5-lset button{flex:0 0 auto;width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--mut);font-size:1.3rem;line-height:1;cursor:pointer}
.q5-lset button:hover{color:var(--ink);background:rgba(244,239,249,.06)}
/* slider minimal: niente panning della pagina mentre lo trascini (touch-action:none), area di presa alta 44px */
.q5 input[type=range].q5-range{-webkit-appearance:none;appearance:none;flex:1;min-width:0;height:44px;min-height:44px;margin:0;background:none;touch-action:none;cursor:pointer;accent-color:var(--gold)}
.q5-range::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,var(--gold) var(--p,50%),rgba(244,239,249,.16) var(--p,50%))}
.q5-range::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;margin-top:-10px;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.45)}
.q5-range::-moz-range-track{height:4px;border-radius:4px;background:rgba(244,239,249,.16)}
.q5-range::-moz-range-progress{height:4px;border-radius:4px;background:var(--gold)}
.q5-range::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:50%;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.45)}
.q5-range:focus-visible{outline:2px solid var(--lil);outline-offset:2px;border-radius:8px}
/* dimensione: 4 tessere con l'uso tipico */
.q5 .q5-size{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 0}
.q5 .q5-size>label{min-height:62px;padding:10px 14px;border-radius:16px;gap:2px}
.q5 .q5-size b{font-size:.95rem}
.q5 .q5-size small{font-size:.78rem}
.q5-k{display:block;margin:20px 0 0;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
/* stato: altezza fissa, mai più di 2 righe */
.q5 .q5-st{height:54px;min-height:0;margin-top:12px;padding:0 14px;display:flex;align-items:center;overflow:hidden;font-size:.84rem;line-height:1.35;border-radius:14px;transition:opacity .2s}
.q5 .q5-st>*{min-width:0}
.q5 .q5-st.chk{opacity:.55}
.q5 .q5-st .q-what{word-break:normal;overflow-wrap:anywhere}
.q5 .acts{margin-top:12px;gap:4px}
.q5 .acts .b-big{width:100%}
.q5-svg{min-height:44px;border:0;background:none;color:var(--lil);font:600 .9rem/1 var(--sans);cursor:pointer;text-decoration:underline;text-decoration-color:rgba(201,182,228,.35);text-underline-offset:4px}
.q5-svg:disabled,.q5 .q-dl:disabled{opacity:.45;cursor:default}
/* stile */
.q5 .q5-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.q5 .q5-presets>label{min-height:64px;flex-direction:row!important;align-items:center;justify-content:flex-start;gap:12px;padding:10px 14px;border-radius:16px}
.q5-sw{flex:0 0 auto;width:28px;height:28px;border-radius:8px;background:#fff;display:grid;place-items:center}
.q5-sw i{display:block;width:16px;height:16px}
.q5-sw.classico i{background:#111}
.q5-sw.morbido i{background:#3b2a5c;border-radius:5px}
.q5-sw.elegante i{background:linear-gradient(135deg,#5b3fa0,#b07a2a);border-radius:2px 7px}
.q5-sw.punti i{background:radial-gradient(circle,#0b3d4f 2.4px,transparent 2.8px) 0 0/8px 8px}
.q5 .q5-presets b{font-size:.92rem}
.q5 .q5-presets small{display:block}
.q5-adv{margin-top:10px}
.q5-adv>summary{min-height:52px;display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-weight:600;font-size:.92rem;color:var(--ink)}
.q5-adv>summary::-webkit-details-marker{display:none}
.q5-adv>summary .chev{margin-left:auto}
.q5-adv>summary small{font-weight:400;color:var(--mut);font-size:.8rem}
.q5-adv[open]>summary .chev{transform:rotate(180deg)}
.q5-advb{padding:4px 0 10px;display:grid;gap:12px}
.q5-advb .fld{margin-bottom:0}
.q5-advb .fg{margin-bottom:0}
@media (min-width:860px){
  .q5-wrap{grid-template-columns:minmax(0,1fr) 400px;grid-template-areas:'side main' 'side more';grid-template-rows:auto 1fr;gap:0 56px;align-items:start}
  .q5-side{position:sticky;top:84px;align-self:start}
  .q5-stage{margin-top:4px;max-width:440px}
  .q5-side>*:not(.q5-stage){max-width:520px;margin-left:auto;margin-right:auto}
  .q5 .q5-size{grid-template-columns:repeat(4,minmax(0,1fr))}
  .q5 .q5-size>label{padding:10px 12px}
  .q5-k{margin-top:16px}
}
@media (min-width:860px) and (max-height:860px){.q5-stage{max-width:360px}}
@media (max-width:370px){.q5 .q5-size small,.q5 .q5-presets small{font-size:.74rem}.q5-lset .lb{display:none}}
