/* ===========================================================================
   marchio.css — i componenti visivi di Morsi & Sorsi.

   ⚠ Lo caricano DUE cose: il sito pubblico (css/styles.css lo affianca) e
   l'area riservata, che li usa per mostrare l'ANTEPRIMA di quello che si sta
   modificando. Prima il pannello se li era rifatti a mano: due riquadri
   uguali scritti due volte, cioe due posti in cui il marchio puo' divergere
   senza che nessuno se ne accorga.

   ⚠ Qui NON sta `.btn`: esiste con lo stesso nome e un significato diverso
   nel pannello, e spostarlo renderebbe comici tutti i bottoni della gestione.

   Generato da: node management-backend/scripts/estrai-marchio.js --scrivi
   =========================================================================== */
/* I font del marchio. ⚠ Stavano scritti DUE volte: qui e in
   management/css/admin.css, con percorsi diversi. I percorsi sono relativi
   a css/, dove sta questo file, quindi valgono per entrambi. */
@font-face{font-family:'Bagel Fat One';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/bagel-fat-one-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Bagel Fat One';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/bagel-fat-one-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Caveat';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/caveat-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Caveat';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/caveat-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Caveat';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/caveat-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Caveat';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/caveat-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/fredoka-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/fredoka-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/fredoka-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/fredoka-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/fredoka-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/fredoka-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/fredoka-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Fredoka';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/fredoka-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/nunito-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/nunito-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/nunito-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/nunito-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/nunito-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/nunito-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:800;font-display:swap;src:url(../assets/fonts/nunito-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:800;font-display:swap;src:url(../assets/fonts/nunito-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:900;font-display:swap;src:url(../assets/fonts/nunito-900-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Nunito';font-style:normal;font-weight:900;font-display:swap;src:url(../assets/fonts/nunito-900-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root{

  --blue:#65B6E5;
  --blue-dark:#2E92C4;
  --blue-ink:#146B96;
  --red:#EE2B2B;
  --red-dark:#CE1B1B;
  --yellow:#FFC61E;
  --yellow-dark:#F0A800;
  --green:#5FBE47;
  --green-dark:#46A030;
  --sweet:#C98A54;
  --sweet-dark:#A96C39;

  --ink:#171311;
  --ink-soft:#4b423d;
  --cream:#FFFFFF;
  --cream-2:#FFEFDD;
  --paper:#ffffff;

  --font-display:"Bagel Fat One", system-ui, sans-serif;
  --font-head:"Fredoka", system-ui, sans-serif;
  --font-body:"Nunito", system-ui, sans-serif;
  --font-hand:"Caveat", cursive;

  --radius:22px;
  --radius-lg:34px;
  --border:3px solid var(--ink);
  --border-thick:4px solid var(--ink);

  --pop:6px 6px 0 var(--ink);
  --pop-sm:4px 4px 0 var(--ink);
  --pop-lg:10px 10px 0 var(--ink);

  --maxw:1180px;
  --header-h:76px;
}

.eyebrow{font-family:var(--font-hand);font-weight:700;color:var(--red);font-size:1.5rem;line-height:1;transform:rotate(-2deg);display:inline-block}
.eyebrow--light{color:#fff}
.section-title{font-family:var(--font-display);font-weight:400;text-transform:uppercase;
  font-size:clamp(2.2rem,6vw,3.6rem);line-height:.9;margin:.1em 0 .25em;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;color:var(--blue)}
.section-title--light{color:#fff;-webkit-text-stroke:3px var(--ink)}
.hl-blue{color:var(--blue)}
.hl-red{color:var(--red)}
.hl-yellow{color:var(--yellow)}
.section-lead{font-size:1.08rem;color:var(--ink-soft);font-weight:600}
.section-lead--light{color:#fff}
.section-lead a{color:var(--red-dark);font-weight:800;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:2px}
.section-lead a:hover{color:var(--blue-ink)}
.section-lead--light a{color:#fff}
.section-lead--light a:hover{color:var(--yellow)}
.cat-card{--accent:var(--red-dark);position:relative;display:flex;flex-direction:column;align-items:center;
  background:var(--cream);color:var(--ink);border:var(--border-thick);border-radius:14px;
  padding:30px 20px 22px;text-align:center;overflow:hidden;isolation:isolate;
  box-shadow:var(--pop);transition:transform .2s cubic-bezier(.34,1.4,.5,1), box-shadow .2s ease}
.cat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:10px;
  background:var(--accent);border-bottom:3px solid var(--ink)}
.cat-card:hover{transform:translate(-3px,-6px) rotate(-1.2deg);box-shadow:var(--pop-lg)}
.cat-card:hover .cat-ic{transform:rotate(-3deg)}
.cat-card:hover .cat-ic svg{transform:scale(1.1) rotate(4deg)}
.cat--red{--accent:var(--red-dark)}
.cat--blue{--accent:var(--blue)}
.cat--yellow{--accent:var(--yellow)}
.cat--green{--accent:var(--green)}
.cat--sweet{--accent:var(--sweet)}
.cat--more{--accent:var(--blue-ink)}
.cat-ic{display:grid;place-items:center;width:74px;height:74px;margin:6px auto 14px;
  background:#fff;border:var(--border-thick);border-radius:16px;box-shadow:var(--pop-sm);
  transition:transform .25s ease}
.cat-ic svg{width:46px;height:46px;color:var(--accent);transition:transform .25s ease}
.cat-card h3{font-family:var(--font-display);font-weight:400;font-size:1.4rem;text-transform:uppercase;letter-spacing:.5px;color:var(--ink);margin-bottom:.12em}
.cat-card p{font-size:.98rem;font-weight:600;color:var(--ink-soft);margin-bottom:16px}
.cat-tag{margin-top:auto;display:inline-block;font-family:var(--font-head);font-weight:700;font-size:.82rem;
  text-transform:uppercase;letter-spacing:.3px;color:var(--ink);background:#fff;
  border:2px solid var(--ink);border-radius:30px;padding:.28em .85em;box-shadow:var(--pop-sm)}
.dish-list{display:grid;grid-template-columns:1fr;gap:2px}
.dish-list--2col{grid-template-columns:1fr 1fr;gap:2px 40px}
.dish{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;
  padding:13px 6px;border-bottom:2px dotted #e7ddd2}
.dish-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}
.dish-name{font-family:var(--font-head);font-weight:700;font-size:1.12rem;line-height:1.2;display:flex;align-items:center;gap:.4em;flex-wrap:wrap}
.dish-desc{font-size:.95rem;color:var(--ink-soft);font-weight:600;line-height:1.35}
.dish-price{flex:0 0 auto;justify-self:end;text-align:center;font-family:var(--font-head);font-weight:700;font-size:1.02rem;
  color:var(--red-dark);white-space:nowrap;background:#fff2f2;border:2px solid #ffd4d4;border-radius:30px;padding:.15em .7em}
.dish--star{background:#fffbe9;border-radius:16px;padding-inline:12px;border-bottom-color:transparent}
.dish--star .dish-price{background:var(--yellow);border-color:var(--ink);color:var(--ink)}
.tag{font-family:var(--font-head);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.4px;
  padding:.12em .55em;border-radius:30px;border:2px solid var(--ink);line-height:1.4}
.tag--hot{background:#ffe0d6;color:#c0331a}
.tag--veg{background:#e3f6d9;color:#2f6b1c}
.tag--top{background:var(--yellow);color:var(--ink)}
.promo-card{position:relative;display:flex;flex-direction:column;border:var(--border-thick);border-radius:var(--radius);padding:30px 22px 26px;
  box-shadow:var(--pop);overflow:hidden;transition:transform .16s ease, box-shadow .16s ease;isolation:isolate}
.promo-card:hover{transform:translate(-3px,-5px) rotate(-1deg);box-shadow:var(--pop-lg)}
.promo-card--red{background:var(--red-dark);color:#fff}
.promo-card--blue{background:var(--blue);color:var(--ink)}
.promo-card--yellow{background:var(--yellow);color:var(--ink)}
.promo-card--sweet{background:var(--sweet);color:var(--ink)}
.promo-sticker{position:absolute;top:-8px;right:-8px;display:grid;place-items:center;width:88px;height:88px;
  background:#fff;color:var(--ink);border:var(--border-thick);border-radius:50%;
  font-family:var(--font-display);font-weight:400;font-size:1.28rem;transform:rotate(9deg);box-shadow:var(--pop-sm);z-index:2}
.promo-name{font-family:var(--font-display);font-weight:400;text-transform:uppercase;font-size:1.55rem;
  line-height:.95;letter-spacing:.5px;margin:6px 0 12px;max-width:70%}
.promo-desc{font-size:1rem;font-weight:600;line-height:1.4;margin-bottom:18px}
.promo-card--red .promo-desc{color:#fff}
.promo-tag{margin-top:auto;align-self:center;text-align:center;display:inline-block;font-family:var(--font-head);font-weight:700;font-size:.9rem;
  background:#fff;color:var(--ink);border:var(--border);border-radius:30px;padding:.25em .8em;box-shadow:var(--pop-sm)}
.section-title .hl-blue,.section-title .hl-red,.section-title .hl-yellow{-webkit-text-stroke:inherit}
.chip{font-family:var(--font-head);font-weight:600;background:#fff;border:var(--border);border-radius:30px;
  padding:.3em .9em;box-shadow:var(--pop-sm);font-size:.95rem}
.hl-card{display:flex;align-items:center;gap:16px;background:#fff;border:var(--border-thick);border-radius:var(--radius);
  padding:14px 18px;box-shadow:var(--pop-sm);transition:transform .16s ease, box-shadow .16s ease}
.hl-card:hover{transform:translate(-3px,-3px);box-shadow:var(--pop)}
.hl-doodle{width:52px;height:52px;flex:0 0 auto;color:var(--red)}
.hl-card:nth-child(2) .hl-doodle{color:var(--blue-dark)}
.hl-card:nth-child(3) .hl-doodle{color:var(--sweet-dark)}
.hl-info{flex:1;display:flex;flex-direction:column}
.hl-name{font-family:var(--font-head);font-weight:700;font-size:1.15rem;line-height:1.1}
.hl-desc{font-size:.92rem;color:var(--ink-soft);font-weight:600}
.hl-price{font-family:var(--font-display);font-weight:400;color:var(--red-dark);font-size:1.15rem}
.stat{flex:1;min-width:150px;background:rgba(0,0,0,.16);border:3px solid rgba(255,255,255,.45);border-radius:var(--radius);
  padding:20px 14px;text-align:center}
.stat-num{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(2.2rem,6vw,3rem);color:var(--yellow);line-height:1}
.stat-label{font-family:var(--font-head);font-weight:600;font-size:.95rem}
.review-card{background:#fff;color:var(--ink);border:var(--border-thick);border-radius:var(--radius);padding:22px;box-shadow:var(--pop);
  display:flex;flex-direction:column;gap:10px;transition:transform .16s ease, box-shadow .16s ease}
.review-card:hover{transform:translate(-2px,-4px);box-shadow:var(--pop-lg)}
.stars{display:flex;gap:2px;color:var(--yellow-dark)}
.stars svg{width:20px;height:20px}
.review-text{font-weight:700;font-size:1.02rem;line-height:1.45}
.review-author{display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:700;margin-top:auto}
/* ⚠ inchiostro, non bianco: il bianco sopra questi colori vivi stava fra
   1.57:1 (giallo) e 4.19 (rosso). Con l'inchiostro sta fra 6.37 e 11.73, ed e'
   anche il modo in cui il sito scrive dappertutto: scuro sopra il colore. */
.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--c,var(--yellow));color:var(--ink);
  border:2px solid var(--ink);font-family:var(--font-display);font-size:1rem}
.dish.is-hidden{display:none}
.promo-card,.review-card,.hl-card{transition:transform .2s cubic-bezier(.34,1.4,.5,1), box-shadow .2s ease}
.promo-card:hover{transform:translate(-3px,-6px) rotate(1deg);box-shadow:var(--pop-lg)}
.review-card:hover{transform:translate(-2px,-5px) rotate(-.6deg);box-shadow:var(--pop-lg)}
.hl-card:hover{transform:translate(-3px,-4px) rotate(-.8deg);box-shadow:var(--pop)}
.promo-sticker{transition:transform .2s cubic-bezier(.34,1.4,.5,1)}
.promo-card:hover .promo-sticker{transform:rotate(9deg) scale(1.06)}
.eyebrow{animation:handSway 5s ease-in-out infinite}
.stat-num{transform-origin:center}
.stat-num.counting{animation:statPop .5s cubic-bezier(.34,1.56,.64,1)}
.dish{position:relative}
