/* ===== Kit Eventi & Bomboniere — Tisane su Stecco (base: app principal, misma paleta) =====
   Letra grande y botones grandes: pensado para mujeres de 55-65 en el celular. */
:root{
  --crema:#fdf1ef;
  --crema-2:#f8e3e0;
  --carta:#fffdfc;
  --inchiostro:#2b1d1b;
  --inchiostro-2:#6e5552;
  --oro:#d9677a;
  --oro-scuro:#a8475a;
  --salvia:#6e3a33;
  --salvia-chiara:#f8dde0;
  --rosa-chiaro:#fbe9ec;
  --giallo-chiaro:#fff4ef;
  --bordo:#f0d9d5;
  --ombra:0 1px 2px rgba(43,35,29,.06),0 8px 24px rgba(43,35,29,.08);
  --raggio:16px;
  --max:880px;
  --barra:68px;
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html{font-size:18px;-webkit-text-size-adjust:100%}
html.grande{font-size:21px}
*{box-sizing:border-box}
html,body{overflow-x:clip;max-width:100%}
body{
  margin:0;font-family:var(--sans);font-size:1rem;line-height:1.6;color:var(--inchiostro);background:var(--crema);
  padding-bottom:calc(var(--barra) + env(safe-area-inset-bottom,0px) + 8px);
}
img{max-width:100%;display:block}
a{color:var(--oro-scuro);text-underline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.18;margin:0 0 .45em;overflow-wrap:break-word}
h1{font-size:clamp(1.85rem,7vw,2.7rem)}
h2{font-size:1.4rem}
h3{font-size:1.12rem}
p{margin:0 0 .9em}
b,strong{font-weight:700}
.contenitore{max-width:var(--max);margin:0 auto;padding:0 16px}
.pagina{padding-top:22px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.caricamento{padding:80px 16px;text-align:center;color:var(--inchiostro-2)}

/* ===== Intestazione ===== */
.sito-header{position:sticky;top:0;z-index:50;background:rgba(250,244,233,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--bordo)}
.sito-header .contenitore{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px}
.logo{font-family:var(--serif);font-weight:600;font-size:1.3rem;color:var(--inchiostro);text-decoration:none;white-space:nowrap}
.logo span{color:var(--oro)}
.aa{flex:0 0 auto;min-width:52px;height:44px;border-radius:999px;border:2px solid var(--inchiostro);background:var(--carta);color:var(--inchiostro);font:700 1rem/1 var(--sans);cursor:pointer;padding:0 12px}
.aa[aria-pressed="true"]{background:var(--inchiostro);color:var(--crema)}

/* ===== Barra in basso ===== */
.barra{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;background:rgba(255,253,248,.97);border-top:1px solid var(--bordo);box-shadow:0 -6px 20px rgba(43,35,29,.08);padding-bottom:env(safe-area-inset-bottom,0px)}
.barra a{flex:1 1 0;min-width:0;height:var(--barra);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--inchiostro-2);font-weight:700;font-size:.8rem;position:relative}
.barra a .ic{font-size:1.45rem;line-height:1.1}
.barra a.attivo{color:var(--oro-scuro)}
.barra a.attivo::before{content:"";position:absolute;top:0;left:22%;right:22%;height:4px;border-radius:0 0 4px 4px;background:var(--oro)}
html.grande .barra a{font-size:.74rem}

/* ===== Hero ===== */
.hero{padding:44px 0 40px;text-align:center;color:#f6ead8;background:radial-gradient(ellipse at 15% 0%,rgba(200,100,30,.5),transparent 55%),radial-gradient(ellipse at 90% 100%,rgba(140,40,60,.5),transparent 55%),#2a1d17;background-size:cover;background-position:center}
.hero h1{color:#fff7ea;font-size:clamp(2.3rem,11vw,3.6rem);margin-bottom:.25em}
.hero .occhiello{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;color:#f3b06b;margin-bottom:10px}
.hero .sub{font-family:var(--serif);font-size:1.22rem;line-height:1.35;color:#fbeedd;max-width:560px;margin:0 auto 12px}
.hero .sub2{font-size:1rem;color:#e6d6c0;max-width:560px;margin:0 auto}
.azioni-hero{display:flex;flex-direction:column;gap:12px;align-items:stretch;max-width:420px;margin:24px auto 0}

/* ===== Bottoni ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-family:var(--sans);font-weight:700;font-size:1rem;line-height:1.25;min-height:54px;padding:12px 22px;border-radius:999px;border:2px solid transparent;text-decoration:none;text-align:center}
.btn-primario{background:var(--oro);color:#fff}
.btn-primario:hover{background:#b0561a}
.btn-chiaro{background:transparent;color:#fbeedd;border-color:rgba(251,238,221,.55)}
.btn-fantasma{background:var(--carta);border-color:var(--bordo);color:var(--inchiostro)}
.btn-fantasma:hover{background:var(--crema-2)}
.azioni{display:flex;flex-direction:column;gap:12px;margin:22px 0 6px}
.azioni .btn{width:100%}

/* ===== Sezioni ===== */
.sezione{padding:26px 0 4px}
.titolo-sez{font-size:1.35rem;margin-bottom:12px}
.titolo-sez a{color:inherit;text-decoration:none}
.occhiello-sez{color:var(--inchiostro-2);margin:-6px 0 12px}
.intro{font-size:1.08rem;color:var(--inchiostro-2);margin-bottom:18px}
.tag{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:4px 11px;border-radius:999px;color:#fff;margin-bottom:10px}
.torna{display:inline-flex;align-items:center;min-height:44px;font-weight:700;font-size:.95rem;text-decoration:none;color:var(--inchiostro-2);margin:6px 0 8px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;color:var(--oro-scuro);margin-bottom:4px}
.aiuto{font-size:.92rem;color:var(--inchiostro-2);margin:0 0 8px}

/* ===== Il Metodo in 3 numeri ===== */
.numeri{display:flex;flex-direction:column;gap:10px;text-decoration:none;color:inherit;background:var(--carta);border:1px solid var(--bordo);border-radius:var(--raggio);padding:16px;box-shadow:var(--ombra)}
.numero{display:flex;align-items:center;gap:14px}
.numero > b{flex:0 0 52px;height:52px;border-radius:50%;background:var(--inchiostro);color:var(--crema);font-family:var(--serif);font-size:1.6rem;display:flex;align-items:center;justify-content:center}
.numero > span{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.numero strong{font-family:var(--serif);font-weight:600;font-size:1.12rem}
.numeri-link{font-weight:800;color:var(--oro-scuro);margin-top:4px}

/* ===== Ricerca ===== */
.ricerca{padding:22px 0 0}
.ricerca input{width:100%;min-height:54px;padding:12px 18px;font-size:1rem;font-family:var(--sans);border:2px solid var(--bordo);border-radius:999px;background:var(--carta);color:var(--inchiostro)}
.ricerca input:focus{outline:3px solid var(--oro);border-color:transparent}
#risultati{margin-top:14px}

/* ===== Collezioni ===== */
.griglia-col{display:grid;grid-template-columns:1fr;gap:16px}
.card-col{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--carta);border:1px solid var(--bordo);border-radius:var(--raggio);overflow:hidden;box-shadow:var(--ombra)}
.card-col .cc-foto{width:100%;aspect-ratio:12/5;object-fit:cover}
.cc2-corpo{display:flex;flex-direction:column;padding:14px 16px 16px;min-width:0}
.cc2-corpo .tag{align-self:flex-start;margin-bottom:8px}
.cc2-corpo b{font-family:var(--serif);font-weight:600;font-size:1.3rem;line-height:1.2}
.cc2-corpo > span:last-child{color:var(--inchiostro-2);font-size:.95rem}

/* ===== Lista ricette ===== */
.lista-ric{display:flex;flex-direction:column;gap:12px}
.card-ric{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;background:var(--carta);border:1px solid var(--bordo);border-radius:var(--raggio);padding:10px 12px 10px 10px;box-shadow:var(--ombra);min-height:104px}
.card-ric .cr-foto{flex:0 0 84px;width:84px;height:84px;border-radius:12px;object-fit:cover}
.cr-corpo{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.cr-nome{font-family:var(--serif);font-weight:600;font-size:1.12rem;line-height:1.22;overflow-wrap:break-word}
.cr-meta{font-size:.88rem;color:var(--inchiostro-2)}
.cr-badge{font-size:.8rem;color:var(--oro-scuro);font-weight:700}
.cr-freccia{flex:0 0 auto;font-size:1.8rem;line-height:1;color:var(--bordo);font-weight:300}

/* ===== Capitoli e bonus (elenchi) ===== */
.lista-cap{display:flex;flex-direction:column;gap:12px}
.card-cap{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;background:var(--carta);border:1px solid var(--bordo);border-radius:var(--raggio);padding:14px 12px 14px 14px;box-shadow:var(--ombra)}
.cc-emoji{flex:0 0 52px;height:52px;border-radius:14px;background:var(--crema-2);display:flex;align-items:center;justify-content:center;font-size:1.6rem}
.cc-corpo{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;line-height:1.35}
.cc-corpo small{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--oro)}
.cc-corpo b{font-family:var(--serif);font-weight:600;font-size:1.1rem;line-height:1.25;overflow-wrap:break-word}
.cc-corpo > span{font-size:.9rem;color:var(--inchiostro-2)}

/* ===== Collezione ===== */
.col-hero{border-radius:var(--raggio);overflow:hidden;margin:4px 0 16px;box-shadow:var(--ombra)}
.col-hero .col-foto{width:100%;aspect-ratio:16/9;object-fit:cover}

/* ===== Ricetta ===== */
.ricetta,.capitolo{max-width:760px;margin:0 auto;padding:12px 0 30px}
.ricetta-hero{border-radius:var(--raggio);overflow:hidden;border:1px solid var(--bordo);box-shadow:var(--ombra);margin-bottom:18px;background:var(--crema-2)}
.ricetta-hero .rh-foto{width:100%;aspect-ratio:16/10;object-fit:cover}
.ricetta h1{margin:.1em 0 .3em}
.ricetta .intro{font-style:italic}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.chip{background:var(--carta);border:1px solid var(--bordo);border-radius:12px;padding:7px 12px;font-size:.9rem;line-height:1.35;max-width:100%}
.chip b{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--oro-scuro)}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.badge{font-size:.88rem;font-weight:700;padding:5px 12px;border-radius:999px;background:var(--giallo-chiaro);border:1px solid #f0d99a}

.blocco{background:var(--carta);border:1px solid var(--bordo);border-radius:var(--raggio);padding:20px 18px;margin-bottom:16px;box-shadow:var(--ombra)}
.blocco h2{font-size:1.3rem}
.blocco h3{margin-top:1em;color:var(--oro-scuro)}
.blocco > :last-child{margin-bottom:0}
.ingr{list-style:none;padding:0;margin:0 0 6px}
.ingr li{position:relative;padding:11px 4px 11px 44px;border-bottom:1px dashed var(--bordo);cursor:pointer;min-height:48px;-webkit-tap-highlight-color:transparent}
.ingr li:last-child{border-bottom:0}
.ingr li::before{content:"";position:absolute;left:4px;top:11px;width:26px;height:26px;border-radius:8px;border:2px solid var(--oro);background:#fff}
.ingr li.fatto{color:#9b8f80;text-decoration:line-through}
.ingr li.fatto::before{background:var(--oro);border-color:var(--oro)}
.ingr li.fatto::after{content:"✓";position:absolute;left:10px;top:9px;color:#fff;font-weight:800;font-size:1.05rem}
.passi{margin:0;padding:0;counter-reset:p;list-style:none}
.passi li{position:relative;padding:5px 0 16px 50px;margin:0}
.passi li::before{counter-increment:p;content:counter(p);position:absolute;left:0;top:1px;width:36px;height:36px;border-radius:50%;background:var(--inchiostro);color:var(--crema);font-weight:700;font-family:var(--serif);display:flex;align-items:center;justify-content:center;font-size:1.05rem}
.passi li:not(:last-child)::after{content:"";position:absolute;left:17px;top:40px;bottom:4px;width:2px;background:var(--bordo)}
.punti{margin:0 0 .6em;padding-left:1.2em}
.punti li{margin-bottom:.55em}
.punti li::marker{color:var(--oro)}

.box{border-radius:var(--raggio);padding:16px 18px;margin-bottom:14px;border:1px solid var(--bordo)}
.box > b{display:block;font-family:var(--serif);font-weight:600;font-size:1.15rem;margin-bottom:4px}
.box p,.box ul{margin:0 0 .5em}
.box ul{padding-left:1.2em}
.box li{margin-bottom:.35em}
.box a{font-weight:700;display:inline-block;padding:4px 0}
.box-segreto{background:var(--salvia-chiara);border-color:#cfdccf;border-left:5px solid var(--salvia)}
.box-tazza{background:#f6ecdc;border-left:5px solid var(--oro)}
.box-regalo{background:var(--rosa-chiaro);border-color:#f1d0d6;border-left:5px solid #b8506a}
.box-avviso{background:var(--giallo-chiaro);border-color:#f0d99a;border-left:5px solid #c9971a}
.nota{background:var(--giallo-chiaro);border:1px solid #f0d99a;border-radius:var(--raggio);padding:14px 16px;margin-bottom:16px;font-size:.98rem}

.nav-ric{display:flex;flex-direction:column;gap:12px;margin-top:22px}
.nav-ric a{text-decoration:none;background:var(--carta);border:1px solid var(--bordo);border-radius:var(--raggio);padding:12px 16px;color:inherit;min-height:56px}
.nav-ric a small{display:block;color:var(--inchiostro-2);font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.nav-ric a b{font-family:var(--serif);font-weight:600;font-size:1.05rem;overflow-wrap:break-word}

/* ===== Capitolo ===== */
.cap-testa{margin-bottom:12px}
.cap-emoji{display:inline-flex;width:58px;height:58px;border-radius:16px;background:var(--crema-2);align-items:center;justify-content:center;font-size:1.9rem;margin-bottom:10px}
.capitolo .blocco h2{font-size:1.22rem}
.capitolo .blocco h2:not(:first-child){margin-top:.6em}
.capitolo .lista-ric{margin-top:6px}

/* ===== Le 3 basi ===== */
.griglia-basi{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.card-base{border:1px solid var(--bordo);border-radius:14px;overflow:hidden;background:#fff}
.cb-testa{display:flex;align-items:center;gap:12px;padding:12px 14px;background:linear-gradient(135deg,var(--c1),var(--c2));color:#2b231d}
.cb-emoji{font-size:1.7rem;flex:0 0 auto}
.cb-testa b{display:block;font-family:var(--serif);font-weight:600;font-size:1.2rem}
.cb-testa small{font-size:.86rem;font-weight:700;opacity:.8}
.cb-dati{display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px 0}
.cb-dati span{background:var(--crema);border:1px solid var(--bordo);border-radius:999px;padding:4px 11px;font-size:.88rem;line-height:1.3;max-width:100%}
.cb-dati b{font-weight:800;color:var(--inchiostro)}
.card-base p{padding:12px 14px 0;margin:0 0 .4em;font-size:.95rem}
.cb-ingr{margin:4px 14px 10px;padding-left:1.1em;font-size:.95rem}
.cb-quando{font-size:.92rem!important;padding-bottom:12px!important}

/* ===== Modulo etichette ===== */
.modulo label{display:block;font-weight:700;margin-bottom:14px;font-size:.98rem}
.modulo select,.modulo input{display:block;width:100%;margin-top:6px;min-height:54px;padding:10px 14px;font-size:1rem;font-family:var(--sans);color:var(--inchiostro);background:#fff;border:2px solid var(--bordo);border-radius:12px}
.modulo select:focus,.modulo input:focus{outline:3px solid var(--oro);border-color:transparent}
.anteprima{display:flex;justify-content:center;padding:14px 0;background:var(--crema-2);border-radius:12px}

/* etichetta (schermo) */
.etq{position:relative;width:100%;max-width:290px;background:#fff;border:1.5px dashed #b9a98f;border-radius:10px;padding:16px 16px 12px;text-align:center;color:#2b231d;font-size:.82rem;line-height:1.35;overflow:hidden}
.etq-buco{display:block;width:14px;height:14px;border-radius:50%;border:1.5px solid #b9a98f;margin:-6px auto 6px}
.etq-testa{font-family:var(--serif);color:#9a3d1c;font-size:.95rem;margin-bottom:2px}
.etq-nome{font-family:var(--serif);font-weight:600;font-size:1.25rem;line-height:1.15;overflow-wrap:break-word}
.etq-sotto{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:#8a7b68;margin:2px 0 8px}
.etq p{margin:0 0 5px}
.etq-ingr,.etq-avv{font-size:.74rem;text-align:left}
.etq-avv{font-weight:700}
.etq-riga{font-family:var(--serif);font-style:italic;color:#9a3d1c}
.etq-firma{font-weight:700}
.etq-cons{font-size:.7rem;color:#6a5c4c}

/* bigliettini (schermo) */
.griglia-big{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:6px}
.big{background:#fff;border:1.5px dashed #b9a98f;border-radius:10px;padding:16px;text-align:center}
.big-emoji{font-size:1.6rem}
.big-testo{font-family:var(--serif);font-size:1.12rem;line-height:1.35;margin:6px 0 8px}
.big-firma{font-weight:700;margin:0 0 4px}
.big-uso{font-size:.78rem;color:#6a5c4c;margin:0}

/* ===== Disegno provvisorio (finché non c'è la foto) ===== */
.sp{--d:48px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:
    radial-gradient(circle at 16% 24%,rgba(255,255,255,.55) 0 2px,transparent 3px),
    radial-gradient(circle at 84% 30%,rgba(255,255,255,.45) 0 1.5px,transparent 2.5px),
    radial-gradient(circle at 72% 84%,rgba(255,255,255,.4) 0 2px,transparent 3px),
    radial-gradient(circle at 28% 78%,rgba(255,255,255,.35) 0 1.5px,transparent 2.5px),
    radial-gradient(ellipse at 30% 18%,rgba(255,255,255,.55),transparent 62%),
    linear-gradient(145deg,var(--c1),var(--c2))}
.sp-lolly{display:flex;flex-direction:column;align-items:center;transform:rotate(-12deg) translateY(4%)}
.sp-disco{width:var(--d);height:var(--d);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;
  background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.95),rgba(255,255,255,.4) 20%,rgba(255,255,255,.14) 55%,rgba(255,255,255,.28) 100%);
  box-shadow:inset 0 0 0 calc(var(--d)*.045) rgba(255,255,255,.6),inset 0 calc(var(--d)*-.09) calc(var(--d)*.2) rgba(0,0,0,.12),0 calc(var(--d)*.08) calc(var(--d)*.22) rgba(0,0,0,.2)}
.sp-emoji{font-size:calc(var(--d)*.46);line-height:1;filter:drop-shadow(0 2px 3px rgba(0,0,0,.2))}
.sp-stecco{width:calc(var(--d)*.075);height:calc(var(--d)*.6);margin-top:calc(var(--d)*-.05);border-radius:3px;background:linear-gradient(90deg,#e4cfa8,#fbf1dc,#d8c094);box-shadow:0 2px 4px rgba(0,0,0,.14)}
.cr-foto.sp{--d:42px}
.cc-foto.sp{--d:62px}
.col-foto.sp{--d:clamp(80px,22vw,130px)}
.rh-foto.sp{--d:clamp(92px,26vw,170px)}

/* ===== Footer ===== */
.sito-footer{border-top:1px solid var(--bordo);background:var(--crema-2);padding:24px 0 10px;margin-top:34px;text-align:center;color:var(--inchiostro-2);font-size:.92rem}
.sito-footer .btn{width:100%;max-width:420px}

/* ===== Schermi più grandi ===== */
@media (min-width:640px){
  .contenitore{padding:0 24px}
  .azioni-hero{flex-direction:row;justify-content:center;max-width:none}
  .azioni{flex-direction:row;flex-wrap:wrap}
  .azioni .btn{width:auto}
  .griglia-col{grid-template-columns:1fr 1fr}
  .numeri{flex-direction:row;flex-wrap:wrap;align-items:center}
  .numero{flex:1 1 200px}
  .numeri-link{flex-basis:100%}
  .nav-ric{flex-direction:row}
  .nav-ric a{flex:1}
  .nav-ric a.avanti{text-align:right}
  .griglia-big{grid-template-columns:1fr 1fr}
  .blocco{padding:22px 24px}
}


/* =====================================================================================
   KIT EVENTI & BOMBONIERE — componentes propios (se agregan a la base de la app principal)
   ===================================================================================== */
.hero.con-foto{background-size:cover;background-position:center}
.titolo-sez a{color:inherit;text-decoration:none}
.pagina h1{margin-top:.2em}

/* foto grande in home */
.card-grande{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--carta);border:1px solid var(--bordo);border-radius:var(--raggio);overflow:hidden;box-shadow:var(--ombra)}
.card-grande .cg-foto{width:100%;aspect-ratio:16/9;object-fit:cover}
.cg-corpo{display:flex;flex-direction:column;padding:14px 16px 16px}
.cg-corpo .tag{align-self:flex-start;margin-bottom:8px}
.cg-corpo b{font-family:var(--serif);font-weight:600;font-size:1.35rem;line-height:1.2}
.cg-corpo > span:last-child{color:var(--inchiostro-2);font-size:.95rem}

/* occasioni */
.griglia-occ{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.card-occ{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--carta);border:1px solid var(--bordo);border-radius:14px;overflow:hidden;box-shadow:var(--ombra);min-width:0}
.card-occ .co-foto{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--crema-2)}
.co-corpo{display:flex;flex-direction:column;gap:2px;padding:10px 11px 12px;min-width:0}
.co-corpo b{font-family:var(--serif);font-weight:600;font-size:1rem;line-height:1.22;overflow-wrap:break-word}
.co-corpo span{font-size:.8rem;line-height:1.3;color:var(--inchiostro-2);overflow-wrap:break-word}

/* temi */
.griglia-temi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.card-tema{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-decoration:none;color:inherit;background:var(--carta);border:1px solid var(--bordo);border-radius:14px;overflow:hidden;box-shadow:var(--ombra);padding:28px 12px 12px;min-width:0}
.ct-nastro{position:absolute;left:0;right:0;top:0;height:14px;background:linear-gradient(90deg,var(--c1),var(--c2))}
.ct-emoji{width:44px;height:44px;border-radius:50%;background:var(--c1);display:flex;align-items:center;justify-content:center;font-size:1.35rem;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.1);margin-top:-6px}
.ct-corpo{display:flex;flex-direction:column;gap:2px;min-width:0}
.ct-corpo b{font-family:var(--serif);font-weight:600;font-size:1.02rem;line-height:1.2;overflow-wrap:break-word}
.ct-corpo span{font-size:.8rem;line-height:1.3;color:var(--inchiostro-2);overflow-wrap:break-word}

/* pagine */
.pag-hero{border-radius:var(--raggio);overflow:hidden;margin:2px 0 16px;box-shadow:var(--ombra);background:var(--crema-2)}
.pag-hero .ph-img{width:100%;aspect-ratio:4/3;object-fit:cover}
.foto-blocco{border-radius:12px;overflow:hidden;margin:4px 0 12px;background:var(--crema-2)}
.foto-blocco .fb-img{width:100%;aspect-ratio:4/3;object-fit:cover}
.box-idea{background:var(--rosa-chiaro);border-color:#f1d0d6;border-left:5px solid var(--oro)}
.box-avviso p:last-child{margin-bottom:0}
.link-blocco{margin:.4em 0 0}
.link-blocco a,.link-nota{font-weight:800;color:var(--oro-scuro);display:inline-block;padding:6px 0}
.capitolo .eyebrow{margin-top:4px}
.capitolo h1{margin:.1em 0 .25em}
.tema .eyebrow{color:var(--c2)}
.tema-colori{display:flex;gap:8px;margin:0 0 16px}
.tema-colori span{width:34px;height:34px;border-radius:50%;border:2px solid var(--bordo);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.scheda-tema{margin:0;display:flex;flex-direction:column}
.scheda-tema div{padding:10px 0;border-bottom:1px dashed var(--bordo)}
.scheda-tema div:last-child{border-bottom:0}
.scheda-tema dt{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--c2,var(--oro-scuro));margin-bottom:2px}
.scheda-tema dd{margin:0;font-size:1rem}
.aiuto{font-size:.92rem;color:var(--inchiostro-2);margin:0 0 10px}

/* ricette (si aprono nel ricettario) */
.card-ric .cr-vuota{display:flex;align-items:center;justify-content:center;background:var(--crema-2);font-size:2rem}
.cr-apri{font-size:.82rem;font-weight:800;color:var(--oro-scuro);margin-top:2px}

/* calcolatrice */
.calc-rapidi{display:flex;gap:8px;margin:-4px 0 14px}
.chip-btn{flex:1 1 0;min-height:46px;border-radius:999px;border:2px solid var(--bordo);background:#fff;font:700 1rem/1 var(--sans);color:var(--inchiostro);cursor:pointer}
.chip-btn:active{background:var(--crema-2)}
.modulo .spunta{display:flex;align-items:center;gap:10px;font-weight:700;min-height:44px;margin-bottom:6px}
.modulo .spunta input{width:24px;height:24px;min-height:0;margin:0;flex:0 0 auto;accent-color:var(--oro)}
.calc-esito{margin-top:8px;border-top:1px dashed var(--bordo);padding-top:14px}
.calc-numeri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}
.calc-numeri span{background:var(--crema);border:1px solid var(--bordo);border-radius:14px;padding:10px 6px;text-align:center;font-size:.85rem;color:var(--inchiostro-2);display:flex;flex-direction:column;min-width:0}
.calc-numeri b{font-family:var(--serif);font-size:1.7rem;line-height:1.1;color:var(--inchiostro)}
.calc-esito h3{margin:.6em 0 .3em}

/* modulo etichette */
.modulo fieldset.gusti{border:2px solid var(--bordo);border-radius:12px;padding:8px 14px 6px;margin:0 0 6px}
.modulo legend{font-weight:700;padding:0 6px}
.modulo fieldset .spunta{font-weight:600;margin:0}

/* ---------- etichetta (schermo) ---------- */
.anteprima{display:flex;justify-content:center;padding:14px 10px;background:var(--crema-2);border-radius:12px}
.etq{position:relative;width:100%;max-width:290px;background:#fff;border:1.5px dashed #c9b3b0;border-radius:10px;padding:14px 16px 12px;text-align:center;color:#2b1d1b;font-size:.8rem;line-height:1.34;overflow:hidden;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:inset 0 5px 0 var(--c1)}
.etq-buco{display:block;width:14px;height:14px;border-radius:50%;border:1.5px solid #c9b3b0;margin:0 auto 6px}
.etq-testa{font-family:var(--serif);font-style:italic;color:var(--c2);font-size:1rem;line-height:1.2}
.etq-nome{font-family:var(--serif);font-weight:600;font-size:1.3rem;line-height:1.15;overflow-wrap:break-word;margin:2px 0}
.etq-data{font-size:.78rem;color:#6e5552}
.etq-sotto{font-size:.64rem;text-transform:uppercase;letter-spacing:.12em;color:var(--c2);margin:6px 0 6px;font-weight:700}
.etq p{margin:0 0 5px}
.etq-ingr,.etq-avv{font-size:.72rem;text-align:left}
.etq-avv{font-weight:700}
.etq-firma{font-weight:700;font-size:.74rem}
.etq-cons{font-size:.68rem;color:#6a5c4c;margin-bottom:0!important}
.riga{display:inline-block;height:1.05em;border-bottom:1px solid #8d7b78;vertical-align:bottom}

/* ---------- bigliettino (schermo) ---------- */
.big{position:relative;width:100%;max-width:340px;background:#fff;border:1.5px dashed #c9b3b0;border-radius:10px;padding:26px 18px 14px;text-align:center;color:#2b1d1b;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.big-fascia{position:absolute;left:0;right:0;top:0;height:12px;background:linear-gradient(90deg,var(--c1),var(--c2))}
.big-emoji{font-size:1.5rem;line-height:1}
.big-testa{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--c2);margin:6px 0 2px}
.big-nome{font-family:var(--serif);font-weight:600;font-size:1.5rem;line-height:1.15;overflow-wrap:break-word}
.big-data{font-size:.85rem;color:#6e5552;margin:2px 0 8px}
.big-frase{font-family:var(--serif);font-style:italic;font-size:1rem;line-height:1.35;margin:0 0 8px}
.big-uso{font-size:.72rem;color:#6a5c4c;margin:0}

/* ---------- cartellini dei gusti (schermo) ---------- */
.griglia-big{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:6px}
.cgu{position:relative;background:#fff;border:1.5px dashed #c9b3b0;border-radius:10px;padding:22px 16px 12px;text-align:center;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.cgu-fascia{position:absolute;left:0;right:0;top:0;height:10px;background:linear-gradient(90deg,var(--c1),var(--c2))}
.cgu-nome{font-family:var(--serif);font-weight:600;font-size:1.25rem;line-height:1.15;overflow-wrap:break-word}
.cgu-badge{font-size:.78rem;font-weight:700;color:var(--oro-scuro);margin:3px 0 4px}
.cgu p{margin:4px 0 0;font-size:.8rem;line-height:1.35}
.cgu-avv{font-weight:700}

/* ---------- cartello A4 (schermo: in scala) ---------- */
.anteprima-cartello{padding:14px}
.cartello{container-type:inline-size;width:100%;max-width:330px;aspect-ratio:210/297;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12);-webkit-print-color-adjust:exact;print-color-adjust:exact}
.ca-cornice{height:100%;margin:0;border:2.2cqw solid #f8dde0;outline:.5cqw solid #d9677a;outline-offset:-4.2cqw;padding:12cqw 10cqw 8cqw;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:3.7cqw;line-height:1.3;color:#3d2a26}
.ca-emoji{font-size:3.2em;line-height:1}
.ca-titolo{font-family:var(--serif);font-weight:600;font-size:2.35em;line-height:1.05;color:#5c2b2f;margin:.3em 0 .2em}
.ca-nomi{font-family:"Caveat",cursive;font-size:1.9em;color:#b04c62;line-height:1.1}
.ca-passi{list-style:none;counter-reset:c;margin:1em 0 0;padding:0;text-align:left;width:100%}
.ca-passi li{counter-increment:c;position:relative;padding:0 0 0 2.6em;margin:0 0 1.15em;font-size:1.2em;line-height:1.3;min-height:2em;display:flex;align-items:center}
.ca-passi li::before{content:counter(c);position:absolute;left:0;top:50%;transform:translateY(-50%);width:1.9em;height:1.9em;border-radius:50%;background:#d9677a;color:#fff;font-family:var(--serif);font-weight:600;display:flex;align-items:center;justify-content:center}
.ca-piede{margin:auto 0 0;font-size:.82em;color:#6e5552;font-style:italic}

@media (min-width:640px){
  .griglia-occ{grid-template-columns:repeat(3,minmax(0,1fr))}
  .griglia-temi{grid-template-columns:repeat(3,minmax(0,1fr))}
  .griglia-big{grid-template-columns:1fr 1fr}
  .card-grande{flex-direction:row}
  .card-grande .cg-foto{width:50%;aspect-ratio:4/3}
  .cg-corpo{justify-content:center}
}

/* ===== Stampa =====
   Las medidas en mm valen siempre dentro de #print-root: así app.js puede medir cada etiqueta fuera de pantalla
   y achicar (zoom) solo la que no entra. En @media print solo se decide qué se ve. */
#print-root{display:none}
#print-root .p-foglio{display:grid;justify-content:center;align-content:start;break-inside:avoid;page-break-inside:avoid}
#print-root .etq-in,#print-root .big-in,#print-root .cgu-in{width:100%;margin:auto 0}

/* etichette: 3 x 4 = 12 (58 x 60 mm) */
#print-root .p-foglio-etq{grid-template-columns:repeat(3,58mm);grid-auto-rows:60mm}
#print-root .etq{max-width:none;width:58mm;height:60mm;border:.3mm dashed #999;border-radius:0;padding:2.6mm 3.2mm 2mm;font-size:7pt;line-height:1.24;box-shadow:inset 0 1.6mm 0 var(--c1);display:flex;flex-direction:column}
#print-root .etq-buco{width:3mm;height:3mm;border:.3mm solid #999;margin:0 auto 1mm}
#print-root .etq-testa{font-size:9.2pt}
#print-root .etq-nome{font-size:12pt;margin:.4mm 0}
#print-root .etq-data{font-size:7.2pt}
#print-root .etq-sotto{font-size:6pt;margin:1.4mm 0 1.2mm}
#print-root .etq p{margin:0 0 1mm}
#print-root .etq-ingr,#print-root .etq-avv{font-size:6.6pt}
#print-root .etq-firma{font-size:6.8pt}
#print-root .etq-cons{font-size:6pt}
#print-root .riga{border-bottom:.25mm solid #777}

/* bigliettini e cartellini: 2 x 4 = 8 (88 x 64 mm) */
#print-root .p-foglio-big{grid-template-columns:repeat(2,88mm);grid-auto-rows:64mm}
#print-root .big,#print-root .cgu{max-width:none;width:88mm;height:64mm;border:.3mm dashed #999;border-radius:0;display:flex;flex-direction:column;align-items:center}
#print-root .big{padding:7mm 7mm 4mm}
#print-root .big-fascia{height:3.2mm}
#print-root .big-emoji{font-size:15pt}
#print-root .big-testa{font-size:8pt;margin:1.5mm 0 .5mm}
#print-root .big-nome{font-size:17pt}
#print-root .big-data{font-size:9pt;margin:.5mm 0 2mm}
#print-root .big-frase{font-size:10.5pt;margin:0 0 2mm}
#print-root .big-uso{font-size:7pt}
#print-root .cgu{padding:6mm 6mm 4mm}
#print-root .cgu-fascia{height:3mm}
#print-root .cgu-nome{font-size:15pt}
#print-root .cgu-badge{font-size:8pt}
#print-root .cgu p{font-size:8.2pt}

/* cartello A4 */
#print-root .p-cartello{display:flex;justify-content:center}
#print-root .cartello{max-width:none;width:184mm;height:266mm;aspect-ratio:auto;box-shadow:none;break-inside:avoid;page-break-inside:avoid}

@media print{
  @page{size:A4;margin:12mm}
  html,html.grande{font-size:12px}
  body{background:#fff;color:#000;padding:0;margin:0}
  .sito-header,.sito-footer,.barra,#app{display:none!important}
  body.stampa-tutto #print-root{display:block!important;position:static!important;left:auto!important}
  body:not(.stampa-tutto) #app{display:block!important}
  body:not(.stampa-tutto) .azioni,body:not(.stampa-tutto) .modulo,body:not(.stampa-tutto) .torna{display:none!important}
}
/* 26/10 validación: el logo largo empujaba el botón A+ fuera de la pantalla a 360 px y con A+ prendido.
   El logo queda en px (no crece con A+) y más chico en pantallas angostas, como en la Biblioteca. */
.logo{font-size:20.8px}
@media (max-width:380px){.logo{font-size:17.9px}}
