/* =========================================================
   Yalla Yalla — foglio di stile unico per tutto il sito.
   Caratteri e colori sono gli stessi del menu stampato 2026.
   ========================================================= */
:root{
  --arancio:#F0904B;      /* arancio del logo, misurato dal file del marchio */
  --arancio-cupo:#DE7431;
  --paprika:#DF5431;
  --verde:#76BA43;
  --inchiostro:#1D1D1D;
  --panna:#FAF7F2;
  --testo:#5C5750;
  --bordo:rgba(29,29,29,.14);
  --wrap:1100px;
  --pad:22px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
/* La colonna verticale tiene il piede in fondo anche sulle pagine corte,
   altrimenti sotto al piede spunta una striscia di arancione. */
body{font-family:'Fira Sans',system-ui,sans-serif;background:var(--arancio);color:var(--inchiostro);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  display:flex;flex-direction:column;min-height:100vh}
body>footer{margin-top:auto}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
[hidden]{display:none!important}

h1,h2,h3,h4{font-family:'Zilla Slab',Georgia,serif;font-weight:700;line-height:1.1}
h2{font-size:clamp(2rem,5vw,2.9rem);margin-bottom:.5rem}
h3{font-size:1.4rem}
.occhiello{font-weight:600;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  margin-bottom:.6rem;opacity:.75}
.intro{max-width:56ch;opacity:.85}
.testata{margin-bottom:38px}
section{padding:76px 0}

/* In arabo si legge da destra e serve un carattere adatto. */
html[lang="ar"] body{font-family:'Noto Kufi Arabic','Fira Sans',system-ui,sans-serif;line-height:1.9}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h4{
  font-family:'Noto Kufi Arabic',Georgia,serif;line-height:1.5}
html[lang="ar"] .occhiello{letter-spacing:0}

/* ---------- bottoni ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:600;font-size:.95rem;padding:13px 24px;border-radius:8px;
  border:1.5px solid transparent;transition:background .2s,color .2s,border-color .2s;
  text-align:center}
.btn-scuro{background:var(--inchiostro);color:#fff}
.btn-scuro:hover{background:#000}
.btn-arancio{background:var(--arancio);color:var(--inchiostro)}
.btn-arancio:hover{background:var(--arancio-cupo)}
.btn-chiaro{background:var(--panna);color:var(--inchiostro)}
.btn-chiaro:hover{background:#fff}
.btn-vuoto{border-color:var(--inchiostro)}
.btn-vuoto:hover{background:var(--inchiostro);color:#fff}
.btn-vuoto-chiaro{border-color:var(--panna);color:var(--panna)}
.btn-vuoto-chiaro:hover{background:var(--panna);color:var(--inchiostro)}

/* ---------- barra in alto ---------- */
.barra{position:sticky;top:0;z-index:60;display:flex;align-items:center;
  justify-content:space-between;gap:16px;padding:10px var(--pad);
  background:var(--arancio);transition:box-shadow .25s}
.barra.staccata{box-shadow:0 8px 22px -18px rgba(0,0,0,.8)}
.barra img{height:40px;width:auto}
.barra-destra{display:flex;align-items:center;gap:14px}
.lingue{display:flex;align-items:center;gap:2px}
.lingua{font-weight:600;font-size:.82rem;padding:6px 9px;border-radius:6px;opacity:.55;
  transition:opacity .2s,background .2s}
.lingua:hover{opacity:1}
.lingua.attiva{opacity:1;background:rgba(29,29,29,.12)}
.tendina-tasto{display:flex;flex-direction:column;gap:5px;padding:8px 4px}
.tendina-tasto span{display:block;width:26px;height:2.5px;border-radius:2px;
  background:var(--inchiostro);transition:transform .3s,opacity .3s}
body.tendina-aperta .tendina-tasto span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
body.tendina-aperta .tendina-tasto span:nth-child(2){opacity:0}
body.tendina-aperta .tendina-tasto span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ---------- tendina che scende da destra ---------- */
.tendina{position:fixed;top:0;right:0;bottom:0;width:min(340px,86vw);z-index:80;
  background:var(--panna);padding:80px 30px 30px;
  display:flex;flex-direction:column;gap:22px;
  transform:translateX(102%);transition:transform .38s cubic-bezier(.3,.8,.35,1);
  box-shadow:-18px 0 50px -30px rgba(0,0,0,.7);overflow-y:auto}
.tendina.aperta{transform:none}
html[dir="rtl"] .tendina{right:auto;left:0;transform:translateX(-102%);
  box-shadow:18px 0 50px -30px rgba(0,0,0,.7)}
html[dir="rtl"] .tendina.aperta{transform:none}
.tendina-chiudi{position:absolute;top:22px;right:26px;font-size:0;width:34px;height:34px}
.tendina-chiudi::before{content:"×";font-size:2rem;line-height:1}
html[dir="rtl"] .tendina-chiudi{right:auto;left:26px}
.tendina ul{list-style:none;display:flex;flex-direction:column;gap:4px}
.tendina ul a{display:block;font-family:'Zilla Slab',Georgia,serif;font-weight:700;
  font-size:1.5rem;padding:9px 0;border-bottom:1px solid var(--bordo);width:100%;text-align:inherit}
html[lang="ar"] .tendina ul a{font-family:'Noto Kufi Arabic',serif;font-size:1.25rem}
.tendina ul a:hover{color:var(--paprika)}
.tendina-piede{margin-top:auto;display:flex;flex-direction:column;gap:6px;
  font-size:.9rem;color:var(--testo);padding-top:18px;border-top:1px solid var(--bordo)}
.velo{position:fixed;inset:0;z-index:70;background:rgba(20,12,4,.45)}
body.tendina-aperta,body.menu-aperto{overflow:hidden}

/* ---------- copertina con le foto che si dissolvono ---------- */
.copertina{position:relative;isolation:isolate;color:#fff;
  min-height:min(84vh,680px);display:flex;align-items:flex-end;padding:0 0 52px}
.diapositive{position:absolute;inset:0;z-index:-2;overflow:hidden;background:var(--inchiostro)}
.diapo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;
  transition:opacity 1.6s ease-in-out}
.diapo.visibile{opacity:1}
/* l'ingrandimento lento parte solo quando il JavaScript gira */
.js .diapo.visibile{animation:avvicina 8s ease-out forwards}
@keyframes avvicina{from{transform:scale(1)}to{transform:scale(1.09)}}
.copertina::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(20,12,4,.4) 0%,rgba(20,12,4,.15) 40%,rgba(16,9,3,.88) 100%)}
.copertina-testo{position:relative;width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.copertina h1{font-size:clamp(2.5rem,7vw,4.4rem);margin-bottom:.5rem}
.sottotitolo{max-width:36ch;color:#f4ece2;margin-bottom:1.7rem}
.copertina .azioni{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- specialità: una fila sola che si scorre ----------
   Senza JavaScript e' una fila normale che si trascina. Con il JavaScript le
   schede vengono ripetute e il giro non finisce mai. */
.piatti{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;
  padding:4px var(--pad) 22px;margin:0 calc(var(--pad)*-1);
  -webkit-overflow-scrolling:touch;scrollbar-width:none;cursor:grab}
.piatti::-webkit-scrollbar{display:none}
.piatti.trascino{cursor:grabbing;scroll-snap-type:none}
.piatto{flex:0 0 74%;max-width:290px;scroll-snap-align:center;
  background:var(--panna);border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 16px 34px -26px rgba(60,30,4,.9)}
.piatto img{aspect-ratio:4/3;object-fit:cover;width:100%}
.piatto .corpo{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}
.piatto h3{margin-bottom:.15rem}
.piatto p{font-size:.9rem;color:var(--testo);margin-bottom:.8rem}
.piatto .prezzo{margin-top:auto;font-family:'Zilla Slab',serif;font-weight:700;
  color:var(--paprika);font-size:1.15rem}

/* ---------- le due copertine dei menu ---------- */

.copertine{display:grid;gap:24px}
.copertina-menu{border-radius:14px;background:var(--panna);
  box-shadow:0 18px 40px -30px rgba(60,30,4,.9)}
.copertina-menu .corpo{padding:40px 24px;text-align:center}
.copertina-menu .tipo{font-size:.75rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;opacity:.75;margin-bottom:.2rem}
.copertina-menu h3{font-size:2.1rem;margin-bottom:1.3rem}

/* ---------- contatti ---------- */
.locali{display:grid;gap:24px}
.locale{background:var(--panna);border-radius:14px;padding:26px;
  box-shadow:0 16px 34px -26px rgba(60,30,4,.9)}
.locale .tipo{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--paprika);margin-bottom:.2rem}
.locale h3{font-size:1.7rem;margin-bottom:1rem}
.locale .info{font-size:.96rem;color:var(--testo);margin-bottom:1.4rem}
.locale .info p{margin-bottom:4px}
.locale .info a{font-weight:600;color:var(--inchiostro);border-bottom:1.5px solid var(--arancio)}
.locale .azioni{display:flex;gap:10px;flex-wrap:wrap}
.locale .azioni .btn{padding:11px 18px;font-size:.88rem}

/* ---------- ordina ora ---------- */
.ordina{background:var(--inchiostro);color:var(--panna);text-align:center}
.ordina .occhiello{color:var(--arancio);opacity:1}
.ordina .intro{margin:0 auto 1.7rem}
.ordina .azioni{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ---------- piede ---------- */
footer{background:var(--inchiostro);color:#c9c4bc;padding:20px 0 34px;font-size:.93rem;
  border-top:1px solid rgba(255,255,255,.1)}
footer img{height:56px;width:auto;margin-bottom:22px}
footer .griglia{display:grid;gap:28px}
footer h4{color:#fff;font-size:1.05rem;margin-bottom:.5rem}
footer a:hover{color:var(--arancio)}
footer .social{display:flex;gap:12px;margin-top:14px}
footer .social a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);
  display:grid;place-items:center;transition:background .2s}
footer .social a:hover{background:var(--arancio)}
footer .social svg{width:18px;height:18px;fill:#fff}
footer .sotto{border-top:1px solid rgba(255,255,255,.14);margin-top:34px;padding-top:20px;
  font-size:.82rem;color:#8a857d}

/* ---------- il menu a schermo intero ---------- */
.menu-pieno{position:fixed;inset:0;z-index:90;background:var(--panna);color:var(--inchiostro);
  display:flex;flex-direction:column;transform:translateY(100%);visibility:hidden;
  transition:transform .42s cubic-bezier(.4,.75,.3,1),visibility .42s}
.menu-pieno.aperto{transform:none;visibility:visible}
.menu-barra{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:calc(14px + env(safe-area-inset-top)) var(--pad) 14px;
  border-bottom:1px solid var(--bordo);background:var(--panna);flex:none}
.menu-barra strong{font-family:'Zilla Slab',Georgia,serif;font-size:1.15rem}
html[lang="ar"] .menu-barra strong{font-family:'Noto Kufi Arabic',serif;font-size:1rem}
.menu-chiudi{width:42px;height:42px;border-radius:50%;background:var(--inchiostro);color:#fff;
  display:grid;place-items:center;font-size:0;flex:none}
.menu-chiudi::before{content:"×";font-size:1.7rem;line-height:1}
.menu-dentro{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:28px var(--pad) 80px;flex:1}
.menu-dentro>div{max-width:1000px;margin:0 auto}
.menu-indice{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px}
.menu-indice a{font-size:.85rem;font-weight:500;padding:7px 14px;border-radius:100px;
  border:1px solid var(--bordo);color:var(--testo)}
.menu-indice a:hover{background:var(--inchiostro);color:#fff;border-color:var(--inchiostro)}
.degustazione{border:2px solid var(--arancio);border-radius:12px;padding:26px;margin-bottom:44px}
.degustazione .occhiello{color:var(--paprika);opacity:1}
.degustazione .prezzo{font-family:'Zilla Slab',serif;font-weight:700;font-size:2rem;color:var(--paprika)}
.degustazione .sotto{font-size:.9rem;color:var(--testo);margin-bottom:1rem}
.degustazione ul{list-style:none;margin:1rem 0}
.degustazione li{padding:8px 0;border-top:1px solid var(--bordo);font-size:.95rem;color:var(--testo)}
.degustazione li b{color:var(--inchiostro)}
.degustazione .coda{font-size:.88rem;color:var(--testo);margin-top:.6rem}
.colonne{columns:2;column-gap:52px}
.gruppo{break-inside:avoid;margin-bottom:34px}
.gruppo h3{font-size:1.3rem;margin-bottom:.7rem;padding-bottom:.4rem;border-bottom:2px solid var(--arancio)}
.voce{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:9px 0}
.voce+.voce{border-top:1px solid var(--bordo)}
.voce .nome{font-weight:600;font-size:1rem}
.voce .num{display:inline-block;min-width:1.9em;color:var(--arancio-cupo);font-weight:700;
  font-variant-numeric:tabular-nums}
.voce .desc{font-size:.85rem;color:var(--testo);margin-top:.1rem}
.voce .prezzo{font-family:'Zilla Slab',serif;font-weight:700;color:var(--paprika);
  white-space:nowrap;font-variant-numeric:tabular-nums}
html[lang="ar"] .voce .prezzo{font-family:'Fira Sans',sans-serif}
.tag{display:inline-block;font-size:.62rem;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;padding:2px 6px;border-radius:4px;margin:0 0 0 6px;vertical-align:1px}
html[dir="rtl"] .tag{margin:0 6px 0 0}
.tag.ve{background:#e8f2e0;color:#4a7a2e}
.tag.vg{background:#76BA43;color:#fff}
.tag.gf{background:#f7e9cd;color:#96690f}
.legenda{margin-top:18px;padding-top:18px;border-top:1px solid var(--bordo);
  font-size:.85rem;color:var(--testo);display:flex;gap:18px;flex-wrap:wrap}
.allergeni{margin-top:16px;font-size:.8rem;color:var(--testo);max-width:70ch}
.nota-prezzi{margin-top:10px;font-size:.85rem;color:var(--paprika);font-weight:600}

/* ---------- pagina della storia ---------- */
.storia-corpo{background:var(--panna);padding-top:40px;flex:1}
.storia-corpo .griglia{display:grid;gap:34px;align-items:center}
.storia-corpo img{border-radius:14px;aspect-ratio:4/3;object-fit:cover;width:100%}
.storia-corpo p{color:var(--testo);margin-bottom:1rem}
.note{display:flex;gap:10px;flex-wrap:wrap;margin-top:1.4rem;font-size:.85rem;
  font-weight:500;color:var(--testo)}
.note span{border:1px solid var(--bordo);border-radius:100px;padding:6px 14px;background:#fff}
.indietro{display:inline-block;margin-top:2.4rem;font-weight:600;border-bottom:1.5px solid var(--arancio)}

/* Due sezioni di fila sullo stesso fondo sommano le loro cornici: il vuoto
   diventa il doppio. Qui la seconda parte piu' vicina. */
#menu+#specialita{padding-top:0}

/* ---------- comparsa dolce (solo con JavaScript) ---------- */
.js .appare{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.js .appare.visibile{opacity:1;transform:none}

/* ---------- schermi larghi ---------- */
@media(min-width:760px){
  :root{--pad:34px}
  section{padding:100px 0}
  .piatto{flex-basis:300px}
  .copertine{grid-template-columns:1fr 1fr}
  .locali{grid-template-columns:1fr 1fr}
  footer .griglia{grid-template-columns:repeat(3,1fr)}
  .storia-corpo .griglia{grid-template-columns:1fr 1fr;gap:52px}
}
@media(max-width:759px){
  .colonne{columns:1}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition-duration:.01ms!important;animation:none!important}
  .js .appare{opacity:1;transform:none}
}
