/* ==========================================================================
   POScar Notte — "Notte di fuoco"
   Scuro e caldo: notte #0B0908, brace #171310, fuoco #FF6A2B, oro #E5B23A,
   panna #F6EFE4. Titoli Unbounded, testo Instrument Sans, arabo IBM Plex Sans
   Arabic. Solo proprietà logiche: con dir="rtl" la pagina si specchia da sola.
   ========================================================================== */

/* ---------- Font (OFL, self-hosted) ---------- */
@font-face { font-family: 'Unbounded'; font-weight: 500 800; font-display: swap; src: url('../fonts/unbounded-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: 'Unbounded'; font-weight: 500 800; font-display: swap; src: url('../fonts/unbounded-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: 'Instrument Sans'; font-weight: 400 700; font-display: swap; src: url('../fonts/instrument-sans-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: 'Instrument Sans'; font-weight: 400 700; font-display: swap; src: url('../fonts/instrument-sans-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: 'Instrument Sans'; font-style: italic; font-weight: 400 700; font-display: swap; src: url('../fonts/instrument-sans-italic-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122; }
@font-face { font-family: 'IBM Plex Sans Arabic'; font-weight: 400; font-display: swap; src: url('../fonts/plex-arabic-400-arabic.woff2') format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: 'IBM Plex Sans Arabic'; font-weight: 600; font-display: swap; src: url('../fonts/plex-arabic-600-arabic.woff2') format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }
@font-face { font-family: 'IBM Plex Sans Arabic'; font-weight: 700; font-display: swap; src: url('../fonts/plex-arabic-700-arabic.woff2') format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0898-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC; }

/* ---------- Token ---------- */
:root {
  --pc-notte: #0B0908;
  --pc-fondo-2: #060504;
  --pc-brace: #171310;
  --pc-brace-2: #1E1712;
  --pc-linea: #2A2320;
  --pc-linea-forte: #3D3327;
  --pc-fuoco: #FF6A2B;
  --pc-oro: #E5B23A;
  --pc-oro-scuro: #8a6512;
  --pc-panna: #F6EFE4;
  --pc-testo: #F6EFE4;
  --pc-testo-2: #CFC5B6;
  --pc-testo-3: #A89F92;
  --pc-aperto: #5FE39A;
  --pc-attenzione: #FF8A5B;
  --pc-ok: #1E7E34;
  --pc-rosso: #FF6B6B;
  --pc-raggio: 22px;
  --pc-raggio-sm: 12px;
  --pc-raggio-foglio: 28px;
  --pc-ombra-flottante: 0 16px 40px rgba(0,0,0,.55);
  --pc-max: 1344px;
  --pc-gutter: clamp(1.25rem, 4vw, 3rem);
  --pc-sezione: clamp(2.5rem, 6vw, 5rem);
  --pc-font: 'Instrument Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --pc-font-titoli: 'Unbounded', var(--pc-font);
  --pc-lh-titoli: 1.0;
  --pc-lh-testo: 1.5;
  --pc-ls-titoli: -0.03em;
  --pc-header-h: 68px;
  /* compatibilita' con i nomi usati dal plugin */
  --pc-bg: var(--pc-notte);
  --pc-bg-alt: var(--pc-brace);
  --pc-card: var(--pc-brace);
  --pc-nero: var(--pc-fondo-2);
  --pc-oro-chiaro: rgba(229,178,58,.14);
  --pc-verde: var(--pc-aperto);
}
body.pc-alfabeto-arabo {
  --pc-font: 'IBM Plex Sans Arabic', 'Instrument Sans', system-ui, sans-serif;
  --pc-font-titoli: 'IBM Plex Sans Arabic', 'Unbounded', sans-serif;
  --pc-lh-titoli: 1.3;
  --pc-lh-testo: 1.7;
  --pc-ls-titoli: 0;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--pc-font); font-size: 16px; line-height: var(--pc-lh-testo); color: var(--pc-testo); background: var(--pc-notte); -webkit-font-smoothing: antialiased; overflow-x: clip; }
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--pc-testo); text-decoration: none; }
a:hover { color: var(--pc-fuoco); }
h1, h2, h3, h4 { font-family: var(--pc-font-titoli); font-weight: 700; letter-spacing: var(--pc-ls-titoli); line-height: var(--pc-lh-titoli); color: var(--pc-testo); margin: 0 0 .5em; }
h1 { font-weight: 800; }
p { margin: 0 0 1em; }
button, input, select, textarea { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--pc-oro); outline-offset: 2px; }
::selection { background: rgba(255,106,43,.35); }
.pc-salta { position: absolute; inset-inline-start: 0; top: -100px; z-index: 1000; padding: .75rem 1rem; background: var(--pc-fuoco); color: var(--pc-notte); border-radius: 0 0 12px 0; }
.pc-salta:focus { top: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

/* Numeri, prezzi e nomi latini restano da sinistra a destra anche in arabo */
.pc-numero, .pc-menu-prezzo, .pc-scheda-totale, .pc-carrello-barra-totale, .woocommerce-Price-amount { direction: ltr; unicode-bidi: isolate; font-family: 'Unbounded', var(--pc-font-titoli); }
a[href^="tel:"] { direction: ltr; unicode-bidi: isolate; }
[dir="rtl"] .pc-icona-direzionale { transform: scaleX(-1); }

/* ---------- Header ---------- */
.pc-header { position: sticky; top: 0; z-index: 100; background: rgba(11,9,8,.82); backdrop-filter: saturate(180%) blur(16px); -webkit-backdrop-filter: saturate(180%) blur(16px); border-bottom: 1px solid transparent; transition: border-color .2s ease; }
.pc-header.is-scrolled { border-bottom-color: var(--pc-linea); }
.pc-header-inner { max-width: var(--pc-max); margin-inline: auto; padding: .7rem var(--pc-gutter); display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: var(--pc-header-h); }
.pc-marchio { display: inline-flex; align-items: center; gap: .65rem; min-width: 0; }
.pc-marchio img { width: 44px; height: 44px; border-radius: 50%; }
.pc-marchio-nome { font-family: 'Unbounded', var(--pc-font-titoli); font-weight: 700; font-size: 1rem; letter-spacing: -0.01em; text-transform: uppercase; white-space: nowrap; }
.pc-nav-lista { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: .25rem; }
.pc-nav-lista > li > a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .9rem; border-radius: 999px; font-weight: 500; font-size: .95rem; color: var(--pc-testo); }
.pc-nav-lista > li > a:hover { background: var(--pc-brace); color: var(--pc-testo); }
.pc-nav-lista > li.current-menu-item > a { color: var(--pc-oro); }
.pc-nav-lista > li.pc-nav-cta > a { background: var(--pc-fuoco); color: var(--pc-notte); font-weight: 700; padding-inline: 1.2rem; margin-inline-start: .35rem; }
.pc-nav-lista > li.pc-nav-cta > a:hover { background: #ff7f4a; color: var(--pc-notte); }
.pc-nav-lista > li.pc-nav-carrello > a { gap: .45rem; }
.pc-nav-n { background: var(--pc-oro); color: var(--pc-notte); font-size: .75rem; font-weight: 800; border-radius: 999px; min-width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; padding-inline: .35rem; font-family: 'Unbounded', sans-serif; }
.pc-header-azioni { display: flex; align-items: center; gap: .5rem; }
.pc-hamburger { display: none; width: 44px; height: 44px; border: 1px solid var(--pc-linea); background: var(--pc-brace); border-radius: 999px; cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 0; }
.pc-hamburger span { width: 18px; height: 2px; background: var(--pc-testo); border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
body.pc-nav-aperta .pc-hamburger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
body.pc-nav-aperta .pc-hamburger span:nth-child(2) { opacity: 0; }
body.pc-nav-aperta .pc-hamburger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 899px) {
  .pc-hamburger { display: flex; }
  .pc-nav { position: fixed; inset: var(--pc-header-h) 0 0 0; background: rgba(11,9,8,.96); backdrop-filter: blur(20px); padding: 1.5rem var(--pc-gutter); transform: translateY(-8px); opacity: 0; pointer-events: none; transition: opacity .2s ease, transform .2s ease; z-index: 99; }
  body.pc-nav-aperta .pc-nav { opacity: 1; transform: none; pointer-events: auto; }
  body.pc-nav-aperta { overflow: hidden; }
  /* backdrop-filter rende la testata il riferimento dei figli fixed: il pannello resterebbe alto quanto la testata, senza sfondo */
  body.pc-nav-aperta .pc-header { backdrop-filter: none; -webkit-backdrop-filter: none; background: var(--pc-notte); }
  .pc-nav-lista { flex-direction: column; align-items: stretch; gap: .25rem; }
  .pc-nav-lista > li > a { font-family: var(--pc-font-titoli); font-weight: 700; font-size: 1.5rem; min-height: 56px; padding-inline: .5rem; border-radius: 14px; }
  .pc-nav-lista > li.pc-nav-cta > a { justify-content: center; margin: .75rem 0 0; font-size: 1.1rem; }
}

/* Barra "stai ordinando da" (carrello e checkout) */
.pc-sede-corrente { background: var(--pc-brace); color: var(--pc-testo-2); font-size: .85rem; text-align: center; padding: .5rem var(--pc-gutter); display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; border-bottom: 1px solid var(--pc-linea); }
.pc-sede-corrente strong { color: var(--pc-testo); }
.pc-sede-corrente a { color: var(--pc-oro); font-weight: 600; }

/* ---------- Bottoni, chip, badge ---------- */
.pc-btn, .pc-btn-primario, .pc-btn-secondario, button.pc-btn-secondario,
.woocommerce a.button, .woocommerce button.button, .woocommerce .button, .woocommerce button.button.alt, .wc-block-components-button, .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 48px; padding: .75rem 1.4rem; border-radius: 999px; border: 0;
  font-family: var(--pc-font); font-size: 1rem; font-weight: 600; line-height: 1;
  text-decoration: none; cursor: pointer; transition: transform .18s ease, background .18s ease, border-color .18s ease; box-shadow: none;
}
.pc-btn--primario, .pc-btn-primario, .woocommerce a.button, .woocommerce button.button, .woocommerce .button, .woocommerce button.button.alt, .wc-block-components-button, .wp-block-button__link { background: var(--pc-fuoco) !important; color: var(--pc-notte) !important; font-weight: 700; }
.pc-btn--primario:hover, .pc-btn-primario:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button:hover { background: #ff7f4a !important; color: var(--pc-notte) !important; transform: translateY(-1px); }
.pc-btn--panna { background: var(--pc-panna) !important; color: var(--pc-notte) !important; }
.pc-btn--secondario, .pc-btn-secondario, button.pc-btn-secondario { background: transparent !important; color: var(--pc-testo) !important; border: 1px solid rgba(246,239,228,.35) !important; }
.pc-btn--secondario:hover, .pc-btn-secondario:hover, button.pc-btn-secondario:hover { border-color: var(--pc-panna) !important; background: rgba(246,239,228,.06) !important; transform: translateY(-1px); }
.pc-btn--oro { background: var(--pc-oro) !important; color: var(--pc-notte) !important; }
.pc-btn:disabled, .pc-scheda-aggiungi:disabled { opacity: .6; cursor: wait; transform: none !important; }
.pc-link { font-weight: 600; color: var(--pc-fuoco); }
.pc-link:hover { color: var(--pc-panna); }
.pc-azioni { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
.pc-eyebrow { display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pc-oro); margin-bottom: .75rem; }
.pc-sede-stato { display: inline-flex; align-items: center; gap: .45rem; font-size: .85rem; font-weight: 600; margin: 0 0 .5rem; }
.pc-sede-stato.aperta { color: var(--pc-aperto); }
.pc-sede-stato.chiusa { color: var(--pc-attenzione); }
.pc-sede-stato.aperta::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--pc-aperto); box-shadow: 0 0 10px var(--pc-aperto); }
.pc-sede-stato.chiusa::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--pc-attenzione); }
.pc-numero { font-family: 'Unbounded', sans-serif; font-weight: 800; color: var(--pc-oro); }
.pc-badge-vicina { display: inline-block; background: var(--pc-oro); color: var(--pc-notte); font-size: .75rem; font-weight: 700; padding: .25rem .65rem; border-radius: 999px; margin-bottom: .6rem; }
.pc-chip { display: inline-flex; align-items: center; min-height: 40px; padding: .45rem .95rem; border-radius: 999px; background: var(--pc-brace); border: 1px solid var(--pc-linea); color: var(--pc-testo); font-size: .9rem; font-weight: 600; }
.pc-chip.is-attiva { background: var(--pc-panna); color: var(--pc-notte); border-color: var(--pc-panna); }

/* ---------- Sezioni ---------- */
.pc-sezione { padding: var(--pc-sezione) var(--pc-gutter); width: 100%; }
.pc-sezione > * { max-width: var(--pc-max); margin-inline: auto; }
.pc-sezione.is-alt { background: var(--pc-fondo-2); }
.pc-sezione.is-dark { background: var(--pc-fondo-2); }
.pc-titolo { font-size: clamp(1.9rem, 5vw, 3rem); margin: 0 0 1rem; max-width: 20ch; }
.pc-titolo em { font-style: normal; color: var(--pc-fuoco); }
.pc-sottotitolo { font-size: clamp(1rem, 2vw, 1.2rem); color: var(--pc-testo-2); max-width: 48ch; margin: 0 0 1.5rem; }
.pc-sezione-testa { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.pc-sezione-testa .pc-titolo, .pc-sezione-testa .pc-sottotitolo { margin-bottom: 0; }
.pc-sezione-testa > a { white-space: nowrap; }
.pc-segnaposto { display: flex; align-items: center; justify-content: center; text-align: center; padding: 1rem; width: 100%; height: 100%; min-height: 160px; color: var(--pc-testo-3); background: repeating-linear-gradient(45deg, var(--pc-brace) 0 12px, #1f1a15 12px 24px); font-size: .85rem; }

/* Hero: foto piena con testo in basso (mobile) e affiancata (desktop) */
.pc-hero { position: relative; padding: 0; isolation: isolate; }
.pc-hero-inner { position: relative; display: grid; grid-template-columns: 1fr; min-height: 78vh; }
.pc-hero-foto { margin: 0; position: absolute; inset: 0; z-index: -1; }
.pc-hero-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.pc-hero-foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,9,8,.1) 0%, rgba(11,9,8,.35) 45%, rgba(11,9,8,.96) 100%); }
.pc-hero-foto figcaption { position: absolute; inset-inline-start: var(--pc-gutter); top: 1rem; background: rgba(11,9,8,.7); color: var(--pc-testo); font-size: .8rem; font-weight: 600; padding: .4rem .8rem; border-radius: 999px; backdrop-filter: blur(8px); }
.pc-hero-testo { align-self: end; padding: 3rem var(--pc-gutter) 2.25rem; display: flex; flex-direction: column; gap: .9rem; max-width: var(--pc-max); width: 100%; margin-inline: auto; }
.pc-hero .pc-titolo { font-size: clamp(2.5rem, 10vw, 4.75rem); letter-spacing: -0.035em; line-height: .98; max-width: 12ch; margin: 0; }
.pc-hero .pc-sottotitolo { margin: 0; max-width: 36ch; }
.pc-hero-prove { list-style: none; margin: .5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.pc-hero-prove li { font-size: .82rem; font-weight: 600; border: 1px solid rgba(246,239,228,.25); background: rgba(11,9,8,.45); border-radius: 999px; padding: .4rem .8rem; display: inline-flex; align-items: center; gap: .4rem; }
.pc-hero-prove .oro { color: var(--pc-oro); }
.pc-hero-stato { display: inline-flex; align-items: center; gap: .5rem; align-self: flex-start; min-height: 34px; padding: 0 .8rem; border-radius: 999px; border: 1px solid rgba(246,239,228,.25); background: rgba(11,9,8,.45); font-size: .82rem; font-weight: 600; }
.pc-hero-stato::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--pc-aperto); box-shadow: 0 0 12px var(--pc-aperto); }
.pc-hero-stato.chiusa::before { background: var(--pc-attenzione); box-shadow: none; }
@media (min-width: 900px) {
  .pc-hero-inner { grid-template-columns: 1fr; min-height: 80vh; max-height: 900px; }
  .pc-hero-foto img { object-position: 65% 50%; }
  .pc-hero-foto::after { background: linear-gradient(90deg, var(--pc-notte) 0%, rgba(11,9,8,.85) 35%, rgba(11,9,8,.3) 65%, rgba(11,9,8,.05) 100%), linear-gradient(180deg, rgba(11,9,8,0) 60%, var(--pc-notte) 100%); }
  .pc-hero-testo { align-self: center; padding-block: 4rem; max-width: var(--pc-max); }
  .pc-hero .pc-sottotitolo { font-size: 1.2rem; max-width: 44ch; }
}

/* Striscia sedi */
.pc-striscia { display: flex; align-items: center; gap: 1.75rem; height: 44px; padding-inline: max(var(--pc-gutter), calc((100% - var(--pc-max)) / 2 + var(--pc-gutter))); border-block: 1px solid var(--pc-linea); white-space: nowrap; overflow-x: auto; scrollbar-width: none; font-family: 'Unbounded', sans-serif; font-size: .75rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--pc-testo-3); }
.pc-striscia::-webkit-scrollbar { display: none; }
.pc-striscia .pc-numero { margin-inline-end: .35rem; font-size: .8rem; }
.pc-striscia a { color: inherit; }
.pc-striscia a:hover { color: var(--pc-testo); }

/* Trio fotografico */
.pc-trio { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pc-trio a { position: relative; display: flex; align-items: flex-end; border-radius: var(--pc-raggio); overflow: hidden; background: var(--pc-brace); color: var(--pc-panna); isolation: isolate; aspect-ratio: 1; padding: 1rem; }
.pc-trio a:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.pc-trio img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.pc-trio a:hover img { transform: scale(1.04); }
.pc-trio a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,9,8,0) 40%, rgba(11,9,8,.92) 100%); }
.pc-trio-testo { position: relative; z-index: 1; }
.pc-trio h3 { color: var(--pc-panna); font-size: 1.5rem; margin: 0; letter-spacing: -0.02em; }
.pc-trio p { color: var(--pc-testo-2); margin: .2rem 0 0; font-size: .85rem; }
@media (min-width: 700px) { .pc-trio { grid-template-columns: repeat(3, 1fr); } .pc-trio a, .pc-trio a:first-child { grid-column: auto; aspect-ratio: 3 / 4; padding: 1.25rem; } .pc-trio h3 { font-size: 1.75rem; } }
.pc-cats { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.25rem auto 0; }
.pc-cat { display: inline-flex; align-items: center; min-height: 40px; padding: .45rem .95rem; border-radius: 999px; background: var(--pc-brace); border: 1px solid var(--pc-linea); color: var(--pc-testo); font-size: .9rem; font-weight: 600; transition: border-color .18s ease; }
.pc-cat:hover { border-color: var(--pc-oro); color: var(--pc-testo); }

/* Storia con foto di sfondo */
.pc-sezione.has-foto { position: relative; isolation: isolate; }
.pc-sezione.has-foto .pc-foto-sfondo { position: absolute; inset: 0; z-index: -1; margin: 0; max-width: none; }
.pc-sezione.has-foto .pc-foto-sfondo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); }
.pc-sezione.has-foto::before { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(180deg, rgba(11,9,8,.9), rgba(11,9,8,.88)); }
@media (min-width: 768px) { .pc-sezione.has-foto::before { background: linear-gradient(90deg, rgba(11,9,8,.96) 0%, rgba(11,9,8,.85) 55%, rgba(11,9,8,.5) 100%); } }
.pc-sezione.has-foto > *:not(.pc-foto-sfondo) { position: relative; z-index: 1; }
.pc-storia-testo { max-width: 640px; }
.pc-storia-sedi { list-style: none; margin: 1.25rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.pc-storia-sedi li { border: 1px solid var(--pc-linea-forte); border-radius: 999px; padding: .4rem .9rem; font-size: .85rem; }
.pc-storia-sedi li b { color: var(--pc-oro); font-family: 'Unbounded', sans-serif; margin-inline-end: .35rem; }

/* Come funziona */
.pc-split { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
@media (min-width: 900px) { .pc-split { grid-template-columns: 1fr 1fr; gap: 4rem; } }
.pc-passi { display: grid; gap: .75rem; grid-template-columns: 1fr; counter-reset: passo; }
.pc-passo { background: var(--pc-brace); border: 1px solid var(--pc-linea); border-radius: var(--pc-raggio); padding: 1.1rem 1.25rem; counter-increment: passo; display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; }
.pc-passo::before { content: counter(passo); width: 40px; height: 40px; border-radius: 50%; background: rgba(229,178,58,.14); color: var(--pc-oro); font-family: 'Unbounded', sans-serif; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.pc-passo h3 { font-size: 1rem; margin: 0 0 .15rem; }
.pc-passo p { margin: 0; color: var(--pc-testo-2); font-size: .9rem; }

/* Instagram */
.pc-ig { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
.pc-ig a { display: block; aspect-ratio: 1; border-radius: var(--pc-raggio-sm); overflow: hidden; background: var(--pc-brace); }
.pc-ig img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.pc-ig a:hover img { transform: scale(1.05); }
@media (min-width: 700px) { .pc-ig { grid-template-columns: repeat(6, 1fr); } }

/* ---------- Card e griglia sedi ---------- */
.pc-sedi-griglia { display: grid; gap: .75rem; grid-template-columns: 1fr; }
@media (min-width: 700px) { .pc-sedi-griglia { grid-template-columns: repeat(2, 1fr); gap: 1rem; } }
@media (min-width: 1000px) { .pc-sedi-griglia { grid-template-columns: repeat(4, 1fr); } }
.pc-sede-card { position: relative; background: var(--pc-brace); border: 1px solid var(--pc-linea) !important; border-radius: var(--pc-raggio) !important; padding: 1.25rem !important; transition: border-color .2s ease, transform .2s ease; overflow: hidden; }
.pc-sede-card:hover { border-color: var(--pc-linea-forte) !important; transform: translateY(-2px); }
.pc-sede-card.pc-piu-vicina { border-color: var(--pc-oro) !important; }
.pc-sede-card h2, .pc-sede-card h3 { margin: 0 0 .35rem !important; font-size: 1.25rem !important; display: flex; align-items: baseline; gap: .5rem; }
.pc-sede-card h3 .pc-numero { font-size: 1.35em; }
.pc-sede-card p { margin: 0 0 .5rem; color: var(--pc-testo-2); font-size: .92rem; }
.pc-sede-card p:last-child { margin: .9rem 0 0; display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.pc-sede-card a[href^="tel:"] { color: var(--pc-testo); font-weight: 500; }
.pc-sede-card--prossimamente { background: transparent; border: 1px dashed var(--pc-linea-forte) !important; }
.pc-sede-card--prossimamente .pc-sede-stato { color: var(--pc-testo-3); }
.pc-sede-card--prossimamente .pc-sede-stato::before { display: none; }
.pc-sede-distanza { font-size: .85rem !important; color: var(--pc-oro) !important; font-weight: 600; }
.pc-sedi-griglia--home .pc-sede-card { padding: 0 !important; }
.pc-sedi-griglia--home .pc-sede-card > h3, .pc-sedi-griglia--home .pc-sede-card > p { margin-inline: 1.1rem !important; }
.pc-sedi-griglia--home .pc-sede-card > h3 { margin-top: .9rem !important; }
.pc-sedi-griglia--home .pc-sede-card > p:last-child { margin-bottom: 1.1rem !important; }
.pc-sedi-griglia--home .pc-sede-card--prossimamente { padding: 1.1rem !important; }
.pc-sede-card-foto { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--pc-brace-2); }
.pc-sede-card-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.pc-sede-card:hover .pc-sede-card-foto img { transform: scale(1.04); }
.pc-sede-card-foto--vuota { display: flex; align-items: flex-end; padding: 1rem 1.1rem; background: linear-gradient(135deg, var(--pc-brace-2), var(--pc-brace)); color: var(--pc-testo-3); font-family: var(--pc-font-titoli); font-weight: 700; font-size: 1.4rem; }
@media (max-width: 699px) {
  .pc-sedi-griglia--home { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: .75rem; margin-inline: calc(-1 * var(--pc-gutter)); padding: .25rem var(--pc-gutter) 1rem; scrollbar-width: none; }
  .pc-sedi-griglia--home::-webkit-scrollbar { display: none; }
  .pc-sedi-griglia--home .pc-sede-card { flex: 0 0 80%; scroll-snap-align: center; }
}

/* Pagina "I locali" */
.pc-scelta-sede .pc-gps-hint { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
#pc-gps-stato { color: var(--pc-testo-3); font-size: .9rem; }

/* ---------- Pagina sede ---------- */
.pc-sede-pagina .pc-sede-hero { margin-bottom: 1.5rem; }
.pc-sede-pagina .pc-sede-hero h1 { font-size: clamp(2.2rem, 8vw, 3.5rem); margin: 0 0 .75rem; display: flex; flex-direction: column; gap: .25rem; }
.pc-sede-pagina .pc-sede-hero h1 .pc-numero { font-size: .5em; letter-spacing: .02em; }
.pc-sede-riga { display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; color: var(--pc-testo-2); margin: 0 0 1rem; }
.pc-sede-riga > span:nth-child(2) { display: none; }
.pc-sede-riga .pc-sede-stato { margin: 0; font-size: .95rem; }
@media (min-width: 700px) { .pc-sede-riga { flex-direction: row; align-items: center; gap: .5rem .9rem; } .pc-sede-riga > span:nth-child(2) { display: inline; } }
.pc-sede-azioni { display: flex; gap: .6rem; flex-wrap: wrap; margin: 0; }
.pc-sede-corpo { display: grid; gap: 1.5rem; grid-template-columns: 1fr; margin-top: 2rem; }
@media (min-width: 800px) { .pc-sede-corpo { grid-template-columns: 1fr 1fr; gap: 2rem; } }
.pc-sede-orari h2, .pc-sede-mappa h2, .pc-sede-extra h2 { font-size: 1.25rem; margin-bottom: .75rem; }
.pc-sede-orari table { width: 100%; border-collapse: collapse; background: var(--pc-brace); border: 1px solid var(--pc-linea); border-radius: var(--pc-raggio-sm); overflow: hidden; }
.pc-sede-orari th, .pc-sede-orari td { padding: .8rem 1rem; border-bottom: 1px solid var(--pc-linea); font-size: .95rem; }
.pc-sede-orari th { font-weight: 600; text-align: start; }
.pc-sede-orari td { text-align: end; color: var(--pc-testo-2); font-variant-numeric: tabular-nums; direction: ltr; }
.pc-sede-orari tr:last-child th, .pc-sede-orari tr:last-child td { border-bottom: 0; }
.pc-sede-nota-orari { font-size: .8rem; color: var(--pc-testo-3); margin-top: .6rem; }
.pc-mappa-wrap { position: relative; border-radius: var(--pc-raggio); overflow: hidden; background: var(--pc-brace); border: 1px solid var(--pc-linea); padding: 1.1rem; display: grid; gap: .75rem; }
.pc-mappa-wrap.is-caricata { padding: 0; aspect-ratio: 4 / 3; }
.pc-mappa-wrap.is-caricata > *:not(iframe) { display: none; }
.pc-mappa-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: invert(.92) hue-rotate(180deg) saturate(.6); }
.pc-mappa-indirizzo { margin: 0; font-weight: 600; }
.pc-mappa-indirizzo small { display: block; font-weight: 400; color: var(--pc-testo-3); margin-top: .15rem; }
.pc-mappa-azioni { display: flex; flex-wrap: wrap; gap: .5rem; }
.pc-mappa-nota { font-size: .78rem; color: var(--pc-testo-3); margin: 0; }
.pc-sede-extra { margin-top: 2rem; }
.pc-sede-recensioni { background: linear-gradient(135deg, #2A1F14 0%, var(--pc-brace) 100%); border: 1px solid var(--pc-linea-forte); border-radius: var(--pc-raggio); padding: 1.1rem 1.25rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
.pc-sede-recensioni p { margin: 0; color: var(--pc-testo-2); }
.pc-sede-recensioni strong { font-family: var(--pc-font-titoli); font-size: 1.1rem; color: var(--pc-testo); }
.pc-sede-recensioni div { display: flex; flex-wrap: wrap; gap: .5rem; }
.pc-galleria { display: grid; gap: .5rem; }
.pc-galleria figure { margin: 0; border-radius: var(--pc-raggio); overflow: hidden; background: var(--pc-brace); }
.pc-galleria img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 16 / 10; }
.pc-galleria--griglia { grid-template-columns: 1fr; }
@media (min-width: 768px) { .pc-galleria--griglia { grid-template-columns: 2fr 1fr; } .pc-galleria--griglia figure:first-child { grid-row: span 2; } .pc-galleria--griglia figure:first-child img { aspect-ratio: auto; height: 100%; } }
.pc-galleria--striscia { grid-template-columns: repeat(2, 1fr); margin-top: .5rem; }
.pc-galleria--striscia img { aspect-ratio: 4 / 3; }
@media (min-width: 768px) { .pc-galleria--striscia { grid-template-columns: repeat(3, 1fr); } }
.pc-galleria--vuota { aspect-ratio: 16 / 7; border: 1px dashed var(--pc-linea-forte); border-radius: var(--pc-raggio); display: flex; align-items: center; justify-content: center; color: var(--pc-testo-3); }
@media (max-width: 767px) { .pc-galleria--griglia figure:not(:first-child) { display: none; } .pc-galleria--striscia { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(-1 * var(--pc-gutter)); padding-inline: var(--pc-gutter); } .pc-galleria--striscia figure { flex: 0 0 70%; scroll-snap-align: start; } }

/* ---------- Menu ---------- */
.pc-menu-testata { padding-top: 1.25rem !important; padding-bottom: 0 !important; }
.pc-menu-testata .pc-titolo { margin-bottom: .35rem; font-size: clamp(1.8rem, 5vw, 2.6rem); }
.pc-menu-testata .pc-sottotitolo { margin-bottom: 0; font-size: 1rem; }
.pc-menu-contenuto { padding-top: .75rem !important; }
.pc-menu-nav { position: sticky; top: var(--pc-header-h); z-index: 40; background: rgba(11,9,8,.9); backdrop-filter: saturate(180%) blur(16px); -webkit-backdrop-filter: saturate(180%) blur(16px); margin: 0 calc(-1 * var(--pc-gutter)) 1.25rem; padding: .5rem var(--pc-gutter); border-bottom: 1px solid var(--pc-linea); }
body.admin-bar .pc-menu-nav { top: calc(var(--pc-header-h) + 32px); }
.pc-menu-nav-inner { display: flex; gap: .6rem; align-items: center; max-width: var(--pc-max); margin-inline: auto; }
.pc-menu-nav-cats { display: flex; gap: .35rem; overflow-x: auto; scrollbar-width: none; flex: 1 1 auto; min-width: 0; padding: .15rem 0; }
.pc-menu-nav-cats::-webkit-scrollbar { display: none; }
.pc-menu-nav-cats a { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 40px; padding: .45rem .95rem; border-radius: 999px; background: var(--pc-brace); border: 1px solid var(--pc-linea); color: var(--pc-testo); font-size: .9rem; font-weight: 600; white-space: nowrap; transition: background .18s ease, color .18s ease; }
.pc-menu-nav-cats a:hover { border-color: var(--pc-linea-forte); color: var(--pc-testo); }
.pc-menu-nav-cats a.is-attiva { background: var(--pc-panna); color: var(--pc-notte); border-color: var(--pc-panna); }
@media (max-width: 767px) { .pc-menu-nav-inner { flex-wrap: wrap; } .pc-sede-chip-wrap { flex: 0 0 100%; } .pc-menu-nav-cats { flex-basis: 100%; margin-inline: calc(-1 * var(--pc-gutter)); padding-inline: var(--pc-gutter); } }
.pc-sede-chip-wrap { position: relative; flex: 0 0 auto; }
.pc-sede-chip { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .5rem .9rem .5rem .8rem; border-radius: 999px; border: 1px solid var(--pc-oro); background: rgba(229,178,58,.12); font-size: .9rem; font-weight: 600; color: var(--pc-testo); cursor: pointer; }
.pc-sede-chip-punto { width: 8px; height: 8px; border-radius: 50%; background: var(--pc-aperto); box-shadow: 0 0 10px var(--pc-aperto); }
.pc-sede-chip-punto.chiusa { background: var(--pc-attenzione); box-shadow: none; }
.pc-sede-chip-freccia { color: var(--pc-testo-3); line-height: 0; margin-top: -4px; }
.pc-sede-popover { position: absolute; top: calc(100% + .5rem); inset-inline-start: 0; z-index: 50; min-width: 270px; background: var(--pc-brace); border-radius: 16px; box-shadow: var(--pc-ombra-flottante); padding: .5rem; border: 1px solid var(--pc-linea-forte); }
.pc-sede-popover-titolo { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--pc-testo-3); margin: .35rem .75rem .5rem; font-weight: 700; }
.pc-sede-popover-voce { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 44px; padding: .5rem .75rem; border-radius: 10px; color: var(--pc-testo); font-weight: 600; }
.pc-sede-popover-voce:hover { background: var(--pc-brace-2); color: var(--pc-testo); }
.pc-sede-popover-voce.is-attiva { background: rgba(229,178,58,.14); }
.pc-sede-popover-stato { font-size: .8rem; font-weight: 600; }
.pc-sede-popover-stato.aperta { color: var(--pc-aperto); }
.pc-sede-popover-stato.chiusa { color: var(--pc-attenzione); }
.pc-sede-popover-link { display: block; padding: .6rem .75rem .35rem; font-size: .85rem; color: var(--pc-testo-3); border-top: 1px solid var(--pc-linea); margin-top: .35rem; }
.pc-sede-popover-link:hover { color: var(--pc-testo); }
.pc-menu-avviso { display: flex; align-items: center; gap: .75rem; margin: 0 0 1.25rem; padding: .7rem .9rem; border-radius: 14px; background: var(--pc-brace); border: 1px solid var(--pc-linea); font-size: .85rem; color: var(--pc-testo-2); }
.pc-menu-avviso svg { flex: 0 0 auto; color: var(--pc-oro); }
.pc-menu-avviso b { color: var(--pc-testo); }
.pc-menu-categoria { scroll-margin-top: calc(var(--pc-header-h) + 7rem); margin-bottom: 2rem; }
@media (min-width: 768px) { .pc-menu-categoria { scroll-margin-top: calc(var(--pc-header-h) + 4.5rem); } }
.pc-menu-categoria h2 { font-size: 1.4rem; margin: 0 0 .2rem; display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap; }
.pc-menu-categoria h2 small { font-family: var(--pc-font); font-weight: 400; font-size: .85rem; color: var(--pc-testo-3); letter-spacing: 0; }
.pc-menu-categoria-desc { color: var(--pc-testo-3); margin: 0 0 .75rem; font-size: .9rem; }
.pc-menu-lista { list-style: none; margin: .75rem 0 0; padding: 0; display: grid; gap: .6rem; }
@media (min-width: 700px) { .pc-menu-lista { grid-template-columns: repeat(2, 1fr); gap: .75rem; } }
@media (min-width: 1100px) { .pc-menu-lista { grid-template-columns: repeat(3, 1fr); } }
.pc-menu-riga { background: var(--pc-brace); border: 1px solid var(--pc-linea); border-radius: 20px; transition: border-color .2s ease, transform .2s ease; }
.pc-menu-riga:hover { border-color: var(--pc-linea-forte); transform: translateY(-2px); }
.pc-menu-riga.is-esaurita { opacity: .55; }
.pc-menu-riga-link { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .8rem; padding: .65rem .7rem .65rem .65rem; color: var(--pc-testo); min-height: 88px; }
.pc-menu-riga-link:hover, .pc-menu-riga-link:focus { color: var(--pc-testo); }
.pc-menu-riga.senza-foto .pc-menu-riga-link { grid-template-columns: 1fr auto; padding-inline-start: 1rem; }
.pc-menu-riga-testo { min-width: 0; display: flex; flex-direction: column; gap: .2rem; }
.pc-menu-riga-testo h3 { font-family: var(--pc-font); font-size: 1rem; margin: 0; font-weight: 600; letter-spacing: 0; line-height: 1.25; }
.pc-menu-riga-testo p { margin: 0; color: var(--pc-testo-3); font-size: .82rem; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pc-menu-riga-piede { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; margin-top: .15rem; }
.pc-menu-prezzo { font-weight: 700; font-size: .95rem; color: var(--pc-oro); font-variant-numeric: tabular-nums; }
.pc-menu-prezzo del { color: var(--pc-testo-3); font-weight: 400; margin-inline-end: .35rem; }
.pc-menu-allergeni { font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; color: var(--pc-testo-3); }
.pc-menu-riga-foto img { width: 84px; height: 84px; object-fit: cover; border-radius: 14px; background: var(--pc-brace-2); }
.pc-menu-riga-foto--contain img { object-fit: contain; background: #fff; padding: 6px; }
.pc-menu-aggiungi { width: 40px; height: 40px; border-radius: 50%; background: var(--pc-fuoco); color: var(--pc-notte); display: inline-flex; align-items: center; justify-content: center; font-weight: 800; font-size: 1.4rem; line-height: 1; transition: transform .18s ease; }
.pc-menu-riga:hover .pc-menu-aggiungi { transform: scale(1.06); }
.pc-menu-vuoto { color: var(--pc-testo-3); }
.pc-menu-lista--top { display: flex; gap: .6rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(-1 * var(--pc-gutter)); padding: .25rem var(--pc-gutter) .75rem; }
.pc-menu-lista--top::-webkit-scrollbar { display: none; }
.pc-menu-riga--card { flex: 0 0 176px; scroll-snap-align: start; }
.pc-menu-riga--card .pc-menu-riga-link { display: flex; flex-direction: column; align-items: stretch; gap: .5rem; padding: .5rem .5rem .7rem; position: relative; min-height: 0; }
.pc-menu-riga--card .pc-menu-riga-foto img { width: 100%; height: 124px; border-radius: 14px; }
.pc-menu-riga--card .pc-menu-riga-testo { padding: 0 .3rem; }
.pc-menu-riga--card .pc-menu-riga-testo p, .pc-menu-riga--card .pc-menu-allergeni { display: none; }
.pc-menu-riga--card .pc-menu-aggiungi { position: absolute; inset-inline-end: .75rem; bottom: .75rem; width: 34px; height: 34px; font-size: 1.25rem; }
@media (min-width: 1100px) { .pc-menu-lista--top { display: grid; grid-template-columns: repeat(4, 1fr); overflow: visible; margin: .75rem 0 0; padding: 0; } .pc-menu-riga--card { flex: none; } .pc-menu-riga--card .pc-menu-riga-foto img { height: 150px; } }
.pc-niente-ordini { background: var(--pc-brace); border: 1px solid var(--pc-linea-forte); border-radius: var(--pc-raggio); padding: 1.1rem 1.25rem; margin: 0 0 1.25rem; color: var(--pc-testo-2); }
.pc-niente-ordini strong { color: var(--pc-testo); }
.pc-niente-ordini p { margin: 0 0 .75rem; }
.pc-niente-ordini-azioni { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 !important; }
body.pc-sala .pc-nav, body.pc-sala .pc-hamburger, body.pc-sala #masthead .primary-menu-container, body.pc-sala .pc-tabbar { display: none !important; }
.pc-sede-chip--fissa { cursor: default; }
.pc-sala-box > p:last-child { margin-bottom: 0; }
.pc-sala-esci { color: var(--pc-testo); text-decoration: underline; text-underline-offset: 3px; font-size: .95rem; align-self: center; }
body.pc-nessun-ordine .pc-nav-carrello, body.pc-nessun-ordine .pc-sezione-ordina { display: none !important; }
.pc-non-disponibile { color: var(--pc-testo-3); font-size: .9rem; font-weight: 500; }

/* ---------- Scheda piatto (foglio e pagina) ---------- */
.pc-scheda { display: grid; grid-template-columns: 1fr; background: var(--pc-notte); }
.pc-scheda-foto { background: var(--pc-brace); aspect-ratio: 4 / 3; overflow: hidden; }
.pc-scheda-foto img { width: 100%; height: 100%; object-fit: cover; }
.pc-scheda--logo .pc-scheda-foto { background: #fff; }
.pc-scheda--logo .pc-scheda-foto img { object-fit: contain; padding: 12%; }
.pc-scheda-corpo { padding: 1.1rem var(--pc-gutter) 1.25rem; display: flex; flex-direction: column; gap: 1rem; }
.pc-scheda-testata { display: flex; flex-direction: column; gap: .35rem; }
.pc-scheda-nome { font-size: clamp(1.5rem, 5vw, 2rem); margin: 0; line-height: 1.05; }
.pc-scheda-desc { color: var(--pc-testo-2); margin: 0; font-size: .95rem; }
.pc-scheda-prezzo { display: flex; align-items: baseline; gap: .5rem; flex-wrap: wrap; margin: .25rem 0 0; font-weight: 700; }
.pc-scheda-prezzo .woocommerce-Price-amount { font-size: 1.6rem; color: var(--pc-oro); font-weight: 800; }
.pc-scheda-sede { font-size: .82rem; font-weight: 500; color: var(--pc-testo-3); }
.pc-scheda-allergeni { margin: 0; padding: .9rem 1rem; border-radius: 16px; background: var(--pc-brace); border: 1px solid var(--pc-linea-forte); font-size: .85rem; line-height: 1.5; color: var(--pc-testo-2); display: flex; flex-direction: column; gap: .5rem; }
.pc-scheda-allergeni strong { display: flex; align-items: center; gap: .5rem; font-family: 'Unbounded', sans-serif; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--pc-testo); }
.pc-scheda-allergeni strong::before { content: ""; width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--pc-oro); box-sizing: border-box; }
.pc-scheda-allergeni-lista { display: flex; flex-wrap: wrap; gap: .4rem; }
.pc-scheda-allergeni-lista span { display: inline-flex; align-items: center; min-height: 30px; padding: 0 .7rem; border-radius: 999px; background: rgba(229,178,58,.14); border: 1px solid var(--pc-oro); font-size: .8rem; font-weight: 600; color: var(--pc-testo); }
.pc-scheda-allergeni a { color: var(--pc-oro); text-decoration: underline; font-weight: 600; }
.pc-scheda-alcol { margin: 0; font-size: .85rem; font-weight: 600; color: var(--pc-fuoco); }
.pc-scheda-esaurito { color: var(--pc-testo-2); background: var(--pc-brace); padding: .9rem 1.1rem; border-radius: 14px; margin: 0; }
.pc-scheda .pc-niente-ordini { margin: 0; }
.pc-opzioni { display: grid; gap: 1.1rem; }
.pc-opz-gruppo { border: 0; padding: 0; margin: 0; min-width: 0; }
.pc-opz-gruppo legend { font-family: 'Unbounded', var(--pc-font-titoli); font-weight: 700; font-size: .95rem; margin-bottom: .5rem; padding: 0; }
.pc-opz-gruppo legend[data-nota]::after { content: attr(data-nota); font-family: var(--pc-font); font-weight: 400; color: var(--pc-testo-3); font-size: .8rem; margin-inline-start: .5rem; }
.pc-opz { display: flex; align-items: center; gap: .7rem; min-height: 46px; padding: .55rem .8rem; margin: 0 0 .4rem; background: var(--pc-brace); border: 1px solid var(--pc-linea); border-radius: 12px; cursor: pointer; transition: border-color .15s ease, background .15s ease; font-size: .95rem; }
.pc-opz:hover { border-color: var(--pc-linea-forte); }
.pc-opz:has(input:checked) { border-color: var(--pc-oro); background: rgba(229,178,58,.1); }
.pc-opz input { appearance: none; -webkit-appearance: none; width: 22px; height: 22px; margin: 0; border: 1.5px solid var(--pc-testo-3); border-radius: 7px; flex: 0 0 auto; display: grid; place-content: center; background: transparent; cursor: pointer; }
.pc-opz input::before { content: ""; width: 12px; height: 12px; border-radius: 3px; background: var(--pc-fuoco); transform: scale(0); transition: transform .12s ease; }
.pc-opz input:checked { border-color: var(--pc-fuoco); }
.pc-opz input:checked::before { transform: scale(1); }
.pc-opz-gruppo.is-singolo .pc-opz input, .pc-opz-gruppo.is-singolo .pc-opz input::before { border-radius: 50%; }
.pc-opz-nome { flex: 1 1 auto; font-weight: 500; }
.pc-opz-prezzo { color: var(--pc-testo-3); font-variant-numeric: tabular-nums; font-size: .85rem; direction: ltr; }
@media (min-width: 600px) { .pc-opz-gruppo--togli, .pc-opz-gruppo--salse, .pc-opz-gruppo--bibita, .pc-opz-gruppo--aggiungi { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .5rem; } .pc-opz-gruppo legend { grid-column: 1 / -1; } }
#yith-wapo-container { margin: 0; padding: 0; }
#yith-wapo-container .yith-wapo-block, #wapo-total-price-table, .yith-wapo-totals { display: none !important; }
.pc-scheda-azioni { position: sticky; bottom: 0; display: flex; gap: .6rem; align-items: center; padding: .8rem 0 0; margin-top: .25rem; background: linear-gradient(180deg, rgba(11,9,8,0), var(--pc-notte) 30%); }
.pc-qty { display: inline-flex; align-items: center; border: 1px solid var(--pc-linea); border-radius: 999px; background: var(--pc-brace); height: 52px; flex: 0 0 auto; }
.pc-qty button, .pc-qty button:hover { width: 44px; height: 50px; border: 0 !important; background: transparent !important; color: var(--pc-testo) !important; font-size: 1.3rem; cursor: pointer; border-radius: 999px; padding: 0 !important; box-shadow: none !important; }
.pc-qty input { width: 32px; border: 0; text-align: center; font-weight: 700; background: transparent; -moz-appearance: textfield; direction: ltr; }
.pc-qty input::-webkit-outer-spin-button, .pc-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pc-scheda-aggiungi { flex: 1 1 auto; justify-content: space-between !important; min-height: 52px; padding-inline: 1.4rem !important; }
.pc-scheda-aggiungi.is-attesa { opacity: .7; }
.pc-scheda-totale { font-weight: 700; }
.pc-scheda-errore { color: var(--pc-rosso); font-size: .9rem; margin: .5rem 0 0; }
body.pc-prodotto .pc-contenuto { max-width: 1000px; }
body.pc-prodotto div.product { display: block !important; }
body.pc-prodotto div.product .summary.entry-summary { width: 100% !important; float: none !important; margin: 0 !important; }
body.pc-prodotto .pc-scheda { border: 1px solid var(--pc-linea); border-radius: var(--pc-raggio); overflow: hidden; background: var(--pc-fondo-2); }
@media (min-width: 800px) { body.pc-prodotto .pc-scheda { grid-template-columns: 1fr 1.1fr; } body.pc-prodotto .pc-scheda-foto { aspect-ratio: auto; min-height: 100%; } body.pc-prodotto .pc-scheda--senza-foto { grid-template-columns: 1fr; max-width: 680px; margin-inline: auto; } body.pc-prodotto .pc-scheda-corpo { padding: 2rem; } }
.pc-torna-menu { display: inline-flex; align-items: center; gap: .35rem; color: var(--pc-testo-3); font-size: .9rem; margin-bottom: 1rem; }
.pc-torna-menu:hover { color: var(--pc-testo); }

/* Foglio (bottom sheet / modale) */
.pc-foglio { position: fixed; inset: 0; z-index: 200; }
.pc-foglio-sfondo { position: absolute; inset: 0; background: rgba(6,5,4,.72); opacity: 0; transition: opacity .25s ease; }
.pc-foglio.is-aperto .pc-foglio-sfondo { opacity: 1; }
.pc-foglio-pannello { position: absolute; inset-inline: 0; bottom: 0; max-height: 92dvh; background: var(--pc-notte); border: 1px solid var(--pc-linea); border-bottom: 0; border-radius: var(--pc-raggio-foglio) var(--pc-raggio-foglio) 0 0; overflow-y: auto; overscroll-behavior: contain; transform: translateY(100%); transition: transform .28s cubic-bezier(.2,.7,.2,1); box-shadow: 0 -20px 60px rgba(0,0,0,.6); }
.pc-foglio.is-aperto .pc-foglio-pannello { transform: none; }
.pc-foglio-pannello::before { content: ""; position: absolute; top: 8px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 2px; background: #4A3F38; z-index: 2; }
.pc-foglio-chiudi, .pc-foglio-chiudi:hover { position: absolute; top: .75rem; inset-inline-end: .75rem; z-index: 3; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--pc-linea) !important; background: rgba(23,19,16,.9) !important; color: var(--pc-testo) !important; font-size: 1rem; cursor: pointer; padding: 0 !important; line-height: 38px; }
.pc-foglio-attesa { height: 40vh; display: grid; place-content: center; }
.pc-foglio-attesa span { width: 32px; height: 32px; border-radius: 50%; border: 3px solid var(--pc-linea); border-top-color: var(--pc-fuoco); animation: pc-gira .8s linear infinite; }
@keyframes pc-gira { to { transform: rotate(360deg); } }
body.pc-foglio-aperto { overflow: hidden; }
.pc-foglio .pc-scheda-azioni { padding-bottom: calc(.6rem + env(safe-area-inset-bottom)); }
@media (min-width: 800px) {
  .pc-foglio-pannello { inset-inline: auto; left: 50%; top: 50%; bottom: auto; right: auto; width: min(940px, 92vw); max-height: 88vh; transform: translate(-50%, -46%) scale(.98); opacity: 0; border-radius: 26px; border-bottom: 1px solid var(--pc-linea); transition: transform .25s ease, opacity .25s ease; }
  .pc-foglio.is-aperto .pc-foglio-pannello { transform: translate(-50%, -50%) scale(1); opacity: 1; }
  .pc-foglio-pannello::before { display: none; }
  .pc-foglio .pc-scheda { grid-template-columns: 1fr 1.1fr; }
  .pc-foglio .pc-scheda-foto { aspect-ratio: auto; min-height: 100%; }
  .pc-foglio .pc-scheda--senza-foto { grid-template-columns: 1fr; }
  .pc-foglio .pc-scheda-corpo { padding: 2rem; }
}

/* Barra carrello, toast, barra a schede */
.pc-carrello-barra { position: fixed; left: 50%; bottom: calc(1rem + env(safe-area-inset-bottom)); transform: translateX(-50%); z-index: 95; display: inline-flex; align-items: center; gap: .9rem; min-height: 60px; padding: .5rem 1.25rem .5rem .5rem; border-radius: 999px; background: var(--pc-panna); color: var(--pc-notte); font-weight: 600; box-shadow: var(--pc-ombra-flottante), 0 0 0 1px rgba(255,106,43,.35); white-space: nowrap; }
.pc-carrello-barra:hover, .pc-carrello-barra:focus { color: var(--pc-notte); }
.pc-carrello-barra[hidden] { display: none; }
.pc-carrello-barra-n { background: var(--pc-fuoco); color: var(--pc-notte); border-radius: 50%; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; font-family: 'Unbounded', sans-serif; font-weight: 800; }
.pc-carrello-barra-testo { color: var(--pc-notte); }
.pc-carrello-barra-totale { color: var(--pc-notte); font-weight: 700; font-variant-numeric: tabular-nums; }
.pc-carrello-barra.is-pulsa { animation: pc-pulsa .45s ease; }
@keyframes pc-pulsa { 30% { transform: translateX(-50%) scale(1.06); } }
@media (min-width: 768px) { .pc-carrello-barra { left: auto; inset-inline-end: 1.5rem; bottom: 1.5rem; transform: none; } .pc-carrello-barra.is-pulsa { animation-name: pc-pulsa-d; } @keyframes pc-pulsa-d { 30% { transform: scale(1.06); } } }
body.pc-ha-carrello.pc-menu-pagina, body.pc-ha-carrello.pc-prodotto { padding-bottom: 5rem; }
.pc-toast { position: fixed; left: 50%; top: 1rem; transform: translate(-50%, -20px); z-index: 300; background: var(--pc-ok); color: #fff; padding: .7rem 1.1rem; border-radius: 999px; font-weight: 600; opacity: 0; transition: opacity .2s ease, transform .2s ease; pointer-events: none; }
.pc-toast.is-visibile { opacity: 1; transform: translate(-50%, 0); }
.pc-tabbar { display: none; }
@media (max-width: 767px) {
  .pc-tabbar { display: grid; grid-template-columns: repeat(3, 1fr); position: fixed; inset-inline: 0; bottom: 0; z-index: 90; padding: .45rem .5rem calc(.45rem + env(safe-area-inset-bottom)); background: rgba(11,9,8,.86); backdrop-filter: saturate(180%) blur(16px); -webkit-backdrop-filter: saturate(180%) blur(16px); border-top: 1px solid var(--pc-linea); }
  .pc-tabbar a { display: flex; flex-direction: column; align-items: center; gap: .2rem; padding: .35rem 0; color: var(--pc-testo-3); font-size: .7rem; font-weight: 600; border-radius: 12px; }
  .pc-tabbar a svg { width: 24px; height: 24px; }
  .pc-tabbar a.is-attiva { color: var(--pc-testo); }
  .pc-tabbar a.pc-tab-cta { color: var(--pc-testo); }
  .pc-tabbar a.pc-tab-cta span.icona { background: var(--pc-fuoco); color: var(--pc-notte); border-radius: 999px; width: 44px; height: 28px; display: inline-flex; align-items: center; justify-content: center; }
  body.pc-con-tabbar { padding-bottom: 4.75rem; }
}

/* ---------- WooCommerce: carrello, checkout, avvisi ---------- */
.pc-contenuto .woocommerce { color: var(--pc-testo); }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error, .woocommerce-notices-wrapper > div { border-radius: 14px; border: 1px solid var(--pc-linea-forte); border-top-color: var(--pc-oro); background: var(--pc-brace); color: var(--pc-testo); padding: 1rem 1.25rem; margin-bottom: 1.25rem; list-style: none; }
.woocommerce .woocommerce-error { border-top-color: var(--pc-rosso); }
.woocommerce form .form-row label { color: var(--pc-testo-2); font-size: .85rem; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-checkout .select2-container .select2-selection--single { border-radius: 12px; padding: .8rem 1rem; border: 1px solid var(--pc-linea); background: var(--pc-brace); color: var(--pc-testo); min-height: 48px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--pc-oro); outline: none; }
.woocommerce table.shop_table { border: 1px solid var(--pc-linea); border-radius: var(--pc-raggio); border-collapse: separate; background: var(--pc-brace); overflow: hidden; color: var(--pc-testo); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--pc-linea) !important; }
.woocommerce table.shop_table th { color: var(--pc-testo-3); font-size: .85rem; }
.woocommerce table.shop_table td.product-name a { font-weight: 600; }
.woocommerce table.shop_table dl.variation { font-size: .85rem; color: var(--pc-testo-3); }
.woocommerce table.shop_table td.product-thumbnail img { width: 56px; border-radius: 10px; }
.woocommerce .quantity .qty { border-radius: 999px; border: 1px solid var(--pc-linea); background: var(--pc-notte); color: var(--pc-testo); min-height: 40px; text-align: center; }
.woocommerce .product-remove a.remove { color: var(--pc-testo-3) !important; background: var(--pc-notte); border-radius: 50%; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout #order_review, .woocommerce-checkout #customer_details { background: transparent; }
.woocommerce .cart-collaterals .cart_totals h2, .woocommerce-checkout #order_review_heading, .woocommerce-checkout h3 { font-size: 1.2rem; }
.woocommerce .woocommerce-cart-form button[name="update_cart"] { display: none !important; }
.woocommerce-cart .woocommerce > h2 { display: none; }
.woocommerce .wc-proceed-to-checkout a.checkout-button { width: 100%; }
.woocommerce-checkout #payment { background: var(--pc-brace); border: 1px solid var(--pc-oro); border-radius: 16px; }
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--pc-linea); padding: 1rem; }
.woocommerce-checkout #payment div.payment_box { background: var(--pc-notte); color: var(--pc-testo-2); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--pc-notte); }
.woocommerce-checkout #payment div.place-order { padding: 1rem; }
.woocommerce-checkout #place_order { width: 100%; min-height: 58px; font-size: 1rem; }
.woocommerce-terms-and-conditions-wrapper, .woocommerce-privacy-policy-text { color: var(--pc-testo-2); font-size: .85rem; }
.woocommerce-terms-and-conditions-wrapper a, .woocommerce-privacy-policy-text a { color: var(--pc-oro); text-decoration: underline; }
.pc-avviso-alcol { background: rgba(255,106,43,.1); border: 1px solid rgba(255,106,43,.4); border-radius: 14px; padding: .8rem 1rem; font-size: .85rem; color: var(--pc-testo); }
@media (max-width: 767px) {
  .woocommerce table.shop_table_responsive tr.cart_item { display: grid; grid-template-columns: 56px 1fr auto; grid-template-areas: "foto nome rimuovi" "foto opzioni opzioni" "foto qty prezzo"; gap: .25rem .75rem; padding: .9rem; border-bottom: 1px solid var(--pc-linea); }
  .woocommerce table.shop_table_responsive tr.cart_item td { padding: 0 !important; border: 0 !important; display: block; text-align: start !important; }
  .woocommerce table.shop_table_responsive tr.cart_item td::before { display: none !important; }
  .woocommerce table.shop_table_responsive tr.cart_item td.product-thumbnail { grid-area: foto; }
  .woocommerce table.shop_table_responsive tr.cart_item td.product-name { grid-area: nome; }
  .woocommerce table.shop_table_responsive tr.cart_item td.product-name dl.variation { grid-area: opzioni; margin: 0; }
  .woocommerce table.shop_table_responsive tr.cart_item td.product-remove { grid-area: rimuovi; justify-self: end; }
  .woocommerce table.shop_table_responsive tr.cart_item td.product-price { display: none; }
  .woocommerce table.shop_table_responsive tr.cart_item td.product-quantity { grid-area: qty; }
  .woocommerce table.shop_table_responsive tr.cart_item td.product-subtotal { grid-area: prezzo; align-self: center; text-align: end !important; font-weight: 700; }
  .woocommerce table.shop_table_responsive tr.cart_item td.product-quantity .quantity .qty { width: 80px; }
}

/* ---------- Pagine e prosa ---------- */
.pc-pagina { max-width: var(--pc-max); margin-inline: auto; padding: 1.5rem var(--pc-gutter) var(--pc-sezione); }
.pc-pagina-testa { margin-bottom: 1.5rem; }
/* Tabelle nei testi delle pagine (es. privacy): scorrono dentro il riquadro, mai la pagina */
.pc-pagina table:not(.shop_table) { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin-block: 1rem 1.5rem; font-size: .92rem; }
.pc-pagina table:not(.shop_table) th, .pc-pagina table:not(.shop_table) td { min-width: 11rem; padding: .6rem .75rem; border: 1px solid var(--pc-linea); vertical-align: top; text-align: start; }
.pc-pagina table:not(.shop_table) th { color: var(--pc-testo-3); background: var(--pc-brace); }
.pc-prosa > p, .pc-prosa > h2, .pc-prosa > h3, .pc-prosa > ul, .pc-prosa > ol, .pc-prosa > table, .pc-prosa > figure, .pc-prosa > blockquote { max-width: 72ch; }
.pc-prosa h2 { font-size: 1.5rem; margin-top: 2rem; }
.pc-prosa h3 { font-size: 1.15rem; margin-top: 1.5rem; }
.pc-prosa p, .pc-prosa li { color: var(--pc-testo-2); }
.pc-prosa a { color: var(--pc-oro); text-decoration: underline; }
.pc-prosa table { width: 100%; border-collapse: collapse; font-size: .9rem; margin: 1rem 0; }
.pc-prosa th, .pc-prosa td { border: 1px solid var(--pc-linea); padding: .6rem .75rem; text-align: start; vertical-align: top; }
.pc-prosa th { color: var(--pc-testo); background: var(--pc-brace); }
.pc-prosa figure { margin: 1rem 0; }
.pc-pagina.pc-contenuto .woocommerce, .pc-scelta-sede { max-width: none; }
.pc-menu-pagina .pc-sezione > *, .pc-home-contenuto .pc-sezione > * { max-width: var(--pc-max); }

/* ---------- Footer ---------- */
.pc-footer { background: var(--pc-fondo-2); color: var(--pc-testo-3); border-top: 1px solid var(--pc-linea); padding: 3rem var(--pc-gutter) 2rem; }
.pc-footer a { color: var(--pc-testo-2); }
.pc-footer a:hover { color: var(--pc-testo); }
.pc-footer-inner, .pc-footer > .pc-footer { max-width: var(--pc-max); margin-inline: auto; }
.pc-footer .pc-footer { display: grid; gap: 2rem; padding: 0; }
.pc-footer-marchio { display: flex; align-items: center; gap: .9rem; }
.pc-footer-marchio img { width: 56px; height: 56px; border-radius: 50%; }
.pc-footer-marchio strong { display: block; color: var(--pc-testo); font-family: 'Unbounded', var(--pc-font-titoli); font-size: 1.15rem; font-weight: 800; text-transform: uppercase; letter-spacing: -0.01em; }
.pc-footer-marchio span { font-size: .85rem; }
.pc-footer-sedi { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, 1fr); }
.pc-footer-sede strong { display: block; color: var(--pc-testo); margin-bottom: .25rem; }
.pc-footer-sede strong b { color: var(--pc-oro); font-family: 'Unbounded', sans-serif; margin-inline-end: .35rem; font-size: 1.1em; }
.pc-footer-sede p { margin: 0; font-size: .85rem; line-height: 1.5; }
.pc-footer-sede .pc-footer-orari { color: #6B6259; }
.pc-footer-social { display: flex; flex-wrap: wrap; gap: .5rem; }
.pc-footer-social a { display: inline-flex; align-items: center; gap: .4rem; border: 1px solid var(--pc-linea); border-radius: 999px; padding: .4rem .8rem; font-size: .85rem; }
.pc-footer-social a:hover { border-color: var(--pc-linea-forte); }
.pc-footer-fondo { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1.5rem; border-top: 1px solid var(--pc-linea); padding-top: 1.25rem; font-size: .78rem; color: #6B6259; line-height: 1.5; }
.pc-footer-fondo nav { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.pc-footer-credito { flex-basis: 100%; margin: .25rem 0 0; }
.pc-footer-credito a { color: var(--pc-testo-3); text-decoration: underline; text-underline-offset: 2px; }
@media (min-width: 900px) { .pc-footer .pc-footer { grid-template-columns: 1.1fr 2fr; grid-template-areas: "marchio sedi" "social sedi" "fondo fondo"; } .pc-footer-marchio { grid-area: marchio; align-self: start; } .pc-footer-social { grid-area: social; align-self: start; } .pc-footer-sedi { grid-area: sedi; grid-template-columns: repeat(4, 1fr); } .pc-footer-fondo { grid-area: fondo; } }

/* ---------- Conferma ordine: blocco di ritiro ---------- */
.pc-ritiro { margin: 1.25rem 0 2rem; padding: 1.25rem 1.5rem; background: var(--pc-brace); border: 1px solid var(--pc-linea); border-radius: var(--pc-raggio); }
.pc-ritiro h2 { font-size: 1.25rem; margin-bottom: .5rem; }
.pc-ritiro p { margin: 0 0 .4rem; color: var(--pc-testo-2); }
.pc-ritiro a { color: var(--pc-oro); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Movimento ---------- */
/* Solo con JavaScript attivo (classe pc-js messa dal plugin nell'head): senza, tutto resta visibile. */
@media (prefers-reduced-motion: no-preference) {
  .pc-js .pc-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1); }
  .pc-js .pc-reveal.is-visible { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

/* ---------- Lingue ---------- */
.pc-lingua-btn { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: 0 .85rem; border-radius: 999px; border: 1px solid var(--pc-linea); background: var(--pc-brace); color: var(--pc-testo); font-weight: 600; font-size: .85rem; cursor: pointer; }
.pc-lingua-btn:hover { border-color: var(--pc-linea-forte); }
.pc-lingue { position: fixed; inset: 0; z-index: 210; }
.pc-lingue[hidden] { display: none; }
.pc-lingue-sfondo { position: absolute; inset: 0; background: rgba(6,5,4,.72); }
.pc-lingue-pannello { position: absolute; inset-inline: 0; bottom: 0; background: var(--pc-notte); border: 1px solid var(--pc-linea); border-bottom: 0; border-radius: var(--pc-raggio-foglio) var(--pc-raggio-foglio) 0 0; padding: 1.5rem 1rem calc(1rem + env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: .4rem; box-shadow: 0 -20px 60px rgba(0,0,0,.6); }
.pc-lingue-pannello::before { content: ""; position: absolute; top: 8px; left: 50%; width: 40px; height: 4px; margin-left: -20px; border-radius: 2px; background: #4A3F38; }
.pc-lingue-titolo { font-family: 'Unbounded', var(--pc-font-titoli); font-weight: 700; font-size: .85rem; margin: .25rem .25rem .5rem; color: var(--pc-testo-2); }
.pc-lingue-voce { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 .9rem; border-radius: 12px; border: 1px solid var(--pc-linea); font-weight: 600; color: var(--pc-testo); }
.pc-lingue-voce:hover { border-color: var(--pc-linea-forte); color: var(--pc-testo); }
.pc-lingue-voce.is-attiva { border-color: var(--pc-oro); background: rgba(229,178,58,.1); color: var(--pc-testo); }
.pc-lingue-voce.is-attiva svg { color: var(--pc-oro); }
@media (min-width: 700px) { .pc-lingue-pannello { inset-inline: auto; left: 50%; top: 50%; bottom: auto; width: 360px; transform: translate(-50%, -50%); border-radius: 22px; border-bottom: 1px solid var(--pc-linea); padding: 1.25rem 1rem 1rem; } .pc-lingue-pannello::before { display: none; } }
body.pc-lingue-aperto { overflow: hidden; }
.pc-proposta-lingua { position: fixed; inset-inline: 1rem; bottom: calc(5.5rem + env(safe-area-inset-bottom)); z-index: 96; background: var(--pc-panna); color: var(--pc-notte); border-radius: 18px; padding: 1rem 1.1rem; box-shadow: var(--pc-ombra-flottante); display: flex; flex-direction: column; gap: .75rem; }
.pc-proposta-lingua[hidden] { display: none; }
.pc-proposta-testo { margin: 0; font-weight: 600; font-size: .95rem; line-height: 1.4; }
.pc-proposta-azioni { display: flex; gap: .5rem; flex-wrap: wrap; }
.pc-proposta-azioni .pc-btn--secondario { color: var(--pc-notte) !important; border-color: rgba(11,9,8,.3) !important; }
.pc-proposta-azioni .pc-btn--secondario:hover { background: rgba(11,9,8,.06) !important; border-color: var(--pc-notte) !important; }
@media (min-width: 700px) { .pc-proposta-lingua { inset-inline: auto; inset-inline-end: 1.5rem; bottom: 6rem; max-width: 420px; flex-direction: row; align-items: center; } .pc-proposta-azioni { flex: 0 0 auto; } }
@media (max-width: 520px) { .pc-marchio img + .pc-marchio-nome { display: none; } .pc-marchio img { width: 48px; height: 48px; } }
