/* =========================================================
   CityShirt2 — Tema "DGA" (2026-09-13)
   Riproduce il look di dgaplanetshirt.com (template React "Flone"
   personalizzato da DGA): barra menu NERA 50px, font Poppins,
   accento blu #2e98f0, card prodotto bianche senza bordo con
   titolo centrato e barra azioni blu al passaggio, sidebar filtri
   con checkbox quadrati, tabella disponibilità con intestazione
   grigia #c3c3c3 e bordi neri 1px, bottone "aggiungi" scuro con
   riempimento blu in hover. Valori presi dal loro CSS
   (main.*.chunk.css). Si carica DOPO style.css e la sovrascrive.
   ========================================================= */

:root {
  --dga-accent: #2e98f0;
  --dga-black: #010101;
  --dga-btn: #343538;
  --dga-grey: #f1f2f6;
  --dga-grey-2: #f6f6f6;
  --dga-line: #e6e6e6;
  --dga-pink: #fa6bff;
  --dga-price: #fe5252;

  --color-accent: var(--dga-btn);
  --color-line: var(--dga-line);
  --font-heading: "Poppins", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Poppins", "Helvetica Neue", Arial, sans-serif;
}
body { color: #333; font-size: 14px; }
h1, h2, h3, h4 { color: var(--dga-black); font-weight: 500; }
a { transition: color .3s ease; }
a:hover { color: var(--dga-accent); }

/* ---------- annuncio + header nero (DGA: backgroudMenu "black", 50px) ---------- */
.announce { background: var(--dga-accent); color: #fff; font-weight: 500; letter-spacing: .03em; }
.header { background: #000; color: #fff; border-bottom: 0; }
.header__bar { min-height: 50px; padding-block: 0; }
.header__logo, .header__logo:hover { color: #fff; font-weight: 700; letter-spacing: .02em; }
.header__logo span { color: var(--dga-accent); }
.nav a { color: #fff; font-size: 14px; font-weight: 500; text-transform: capitalize; padding: 14px 10px; border-radius: 0; white-space: nowrap; }
.nav { gap: 0; }
.nav a::after { display: none; }
.nav a:hover, .nav a[aria-current="page"] { color: var(--dga-accent); background: transparent; }
.header__actions .iconbtn, .menu-toggle { color: #fff; }
.header__actions .iconbtn:hover, .menu-toggle:hover { color: var(--dga-accent); background: transparent; }
.cart-count { background: var(--dga-accent); color: #fff; }
/* ricerca "Cerca qui" nel menu (desktop) */
.hdr-search { display: none; align-items: center; margin-left: 8px; }
.hdr-search input { height: 32px; width: 170px; padding: 0 30px 0 10px; border: 1px solid #444; background: transparent; color: #fff; font: inherit; font-size: 12px; }
.hdr-search input::placeholder { color: #999; }
.hdr-search input:focus { outline: none; border-color: var(--dga-accent); }
.hdr-search button { margin-left: -28px; width: 28px; height: 32px; border: 0; background: transparent; color: #fff; cursor: pointer; }
.hdr-search button:hover { color: var(--dga-accent); }
@media (min-width: 1001px) { .hdr-search { display: flex; } }
/* menu mobile (iniettato da app.js) */
#mobileMenu { font-family: var(--font-body); }
#mobileMenu a { text-transform: capitalize; }
#mobileMenu a:hover { color: var(--dga-accent); }

/* ---------- breadcrumb su fascia grigia (breadcrumb-area bg-gray-3) ---------- */
.ig-cathead { background: #f7f7f7; margin-top: 0; padding-block: 22px 26px; max-width: none; }
.ig-cathead > * { max-width: var(--page-max); margin-inline: auto; }
.ig-cathead .product__cat, .product__cat { font-size: 15px; color: #5b5858; }
.ig-cathead .product__cat a, .product__cat a { color: #5b5858; }
.ig-cathead .product__cat a:hover { color: var(--dga-accent); }
.ig-cathead h1 { font-size: 26px; font-weight: 500; margin-top: 6px; }
.ig-cathead__meta a { color: var(--dga-accent); }

/* ---------- sidebar filtri (sidebar-widget con checkbox) ---------- */
.filters h3 { font-size: 17px; font-weight: 600; color: #000; text-transform: none; letter-spacing: 0; line-height: 30px; margin-bottom: 10px; }
.filters li { margin-bottom: 4px; }
.filters ul a { position: relative; display: block; padding-left: 26px; font-size: 14px; line-height: 24px; color: #333; text-transform: capitalize; }
.filters ul a::before { content: ""; position: absolute; left: 0; top: 4px; width: 15px; height: 15px; background: #fff; border: 2px solid #888; border-radius: 3px; }
.filters ul a::after { content: ""; position: absolute; display: none; left: 5px; top: 4px; width: 5px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.filters ul a:hover { color: var(--dga-accent); text-decoration: none; }
.filters ul a.is-active { color: var(--dga-accent); font-weight: 500; }
.filters ul a.is-active::before { background: var(--dga-accent); border-color: var(--dga-accent); }
.filters ul a.is-active::after { display: block; }
.filters .muted { color: #999; font-size: 12px; }
/* tag a pillola (sidebar-widget-tag) */
.dga-tags { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 28px; }
.dga-tag { display: inline-block; padding: 9px 17px 12px; border-radius: 50px; background: var(--dga-grey-2); color: #424242; font-size: 14px; line-height: 1; text-transform: capitalize; }
.dga-tag:hover, .dga-tag.is-active { background: var(--dga-accent); color: #fff; }
.dga-tag--school { background: #007bff; color: #fff; font-size: 15px; font-weight: 500; }
.dga-tag--school:hover { background: #0056b3; }
/* ricerca in sidebar (pro-sidebar-search) */
.dga-search { position: relative; margin-bottom: 28px; }
.dga-search input { width: 100%; height: 43px; padding: 2px 55px 2px 16px; border: 1px solid var(--dga-line); background: transparent; font: inherit; font-size: 14px; color: #606060; }
.dga-search input:focus { outline: none; border-color: var(--dga-accent); }
.dga-search button { position: absolute; right: 0; top: 0; height: 100%; padding: 0 15px; border: 0; border-left: 1px solid #a1a5aa; background: transparent; color: #000; cursor: pointer; }
.dga-search button:hover { color: var(--dga-accent); }

/* toolbar "Mostra 1–24 di N risultati" */
.toolbar { border-bottom: 0; color: #606060; font-size: 14px; }
.toolbar select { border-color: var(--dga-line); font: inherit; font-size: 14px; color: #606060; }

/* ---------- card prodotto (product-wrap) ---------- */
.igcard-grid { gap: 30px 24px; }
@media (min-width: 701px) { .igcard-grid, .igcard-grid--3 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1001px) { .igcard-grid--3 { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1300px) { .igcard-grid--3 { grid-template-columns: repeat(5, 1fr); } }
.igcard { border: 0; background: #fff; }
.igcard:hover { box-shadow: none; }
.igcard__media { aspect-ratio: 4 / 5; background: #fff; }
.igcard__media img { object-fit: contain; }
.igcard:hover .igcard__media img { transform: none; }
.igcard__badge { left: auto; right: 12px; top: 12px; background: var(--dga-accent); font-size: 13px; font-weight: 500; letter-spacing: 0; text-transform: none; padding: 3px 11px; border-radius: 3px; }
.igcard__badge--promo { background: var(--dga-pink); }
/* barra azioni: sale dal basso al passaggio, blu (product-action) */
.igcard__action { position: absolute; left: 0; bottom: 0; width: 100%; display: flex; z-index: 2; }
.igcard__action > span { display: flex; align-items: center; justify-content: center; height: 48px; background: var(--dga-accent); color: #fff; font-size: 14px; opacity: 0; visibility: hidden; transform: translateY(20px); transition: all .5s ease; }
.igcard__action .side { width: 48px; }
.igcard__action .side:first-child { border-right: 1px solid rgba(255,255,255,.2); }
.igcard__action .side:last-child { border-left: 1px solid rgba(255,255,255,.2); transition-delay: .2s; }
.igcard__action .mid { width: calc(100% - 96px); transition-delay: .1s; }
.igcard:hover .igcard__action > span { opacity: 1; visibility: visible; transform: translateY(0); }
.igcard:hover .igcard__action .mid { background: #000; }
.igcard__body { padding: 20px 6px 0; text-align: center; align-items: center; gap: 3px; }
.igcard__brand { font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: #6c757d; }
.igcard__title { font-size: 13px; font-weight: 400; line-height: 1.4; color: #000; }
.igcard:hover .igcard__title { text-decoration: none; color: var(--dga-accent); }
.igcard__opts { font-size: 11px; color: #8e8e8e; }
.igcard__price { margin-top: 4px; font-size: 15px; font-weight: 500; color: #000; }
.igcard__price b { font-size: 15px; font-weight: 500; }
.igcard__price small, .igcard__iva { font-size: 11px; color: #8e8e8e; font-weight: 400; }
.igcard__cta { display: none; }               /* l'azione sta nella barra blu al passaggio */
@media (hover: none) { .igcard__cta { display: flex; border-color: var(--dga-accent); color: var(--dga-accent); } .igcard__cta:hover { background: var(--dga-accent); } }
@media (prefers-reduced-motion: reduce) { .igcard__action > span { transition: none; } }

/* ---------- paginazione tonda (pro-pagination-style) ---------- */
.pagination a, .pagination span { border: 0; border-radius: 100%; background: var(--dga-grey-2); color: #333; min-width: 43px; min-height: 43px; padding: 0 12px; font-size: 16px; }
.pagination a:hover, .pagination .is-active { background: var(--dga-accent); color: #fff; }

/* ---------- scheda prodotto (product-details-content) ---------- */
.product__title { font-size: 24px; font-weight: 500; color: var(--dga-black); line-height: 1.25; }
.product__price { font-size: 24px; color: var(--dga-price); font-weight: 500; }
.product__tax { color: #606060; }
.gallery__main { border: 1px solid var(--dga-line); background: #fff; }
.gallery__main img { object-fit: contain; padding: 12px; }
.product__info .btn { background: var(--dga-btn); color: #fff; font-weight: 700; text-transform: uppercase; font-size: 14px; padding: 18px 30px; border: 0; position: relative; z-index: 1; overflow: hidden; transition: color .5s; }
.product__info .btn::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; width: 0; background: var(--dga-accent); z-index: -1; transition: all .5s cubic-bezier(.645,.045,.355,1); }
.product__info .btn:hover::after { width: 100%; left: 0; right: auto; }
.product__info .btn--wa { background: #075e54; }
.dga-meta { display: flex; gap: 5px; margin: 14px 0 0; font-size: 15px; color: #676767; }
.dga-meta a { color: #676767; }
.dga-meta a:hover { color: var(--dga-accent); }
/* swatch colore (pro-details-color-content) e chip taglia (pro-details-size-content) */
.dga-label { display: block; margin: 18px 0 12px; font-size: 15px; font-weight: 500; color: #000; }
.dga-swatches { display: flex; flex-wrap: wrap; padding-left: 4px; }
.dga-swatch { position: relative; display: inline-block; width: 14px; height: 14px; margin: 0 15px 15px 0; border-radius: 50px; border: 1px solid #d9d9d9; }
.dga-swatch::after { content: ""; position: absolute; top: -7px; left: -7px; width: 24px; height: 24px; border: 2px solid #333; border-radius: 50%; opacity: 0; transition: .3s; }
.dga-swatch:hover::after { opacity: 1; }
.dga-sizes { display: flex; flex-wrap: wrap; gap: 5px; }
.dga-size { display: inline-block; padding: 8px 10px; background: var(--dga-grey); color: #000; font-size: 12px; line-height: 1; text-transform: uppercase; }
.dga-size:hover { background: var(--dga-accent); color: #fff; }
.dga-lead { display: inline-block; margin-top: 10px; padding: 3px 11px; border-radius: 3px; background: #198754; color: #fff; font-size: 12px; font-weight: 500; }
.dga-lead--slow { background: #6c757d; }

/* ---------- griglia colore×taglia: tabella DGA (th #c3c3c3, bordi neri 1px, 12px) ---------- */
.ig__actions .ig__btn, .ig__foot .ig__btn { border-radius: 0; font-weight: 700; text-transform: uppercase; font-size: 13px; }
.ig__btn--primary, .ig__btn--primary.is-ready { background: var(--dga-btn); border-color: var(--dga-btn); color: #fff; }
.ig__btn--primary:hover, .ig__btn--primary.is-ready:hover { background: var(--dga-accent); border-color: var(--dga-accent); }
.ig__table { border-collapse: collapse; }
.ig__table th, .ig__table td { border: 1px solid #000; }
.ig__size, .ig__corner { background: #c3c3c3; color: #000; font-size: 12px; font-weight: 500; padding: 8px 6px; text-transform: uppercase; }
.ig__color { background: #fff; font-size: 12px; }
.ig__color-name { font-size: 12px; font-weight: 500; }
.ig__cell { font-size: 12px; padding: 8px 6px; }
.ig__price b { font-size: 14px; color: #000; }
.ig__price s { color: #8e8e8e; }
.ig__iva { font-size: 11px; color: #606060; }
.ig__tag { font-size: 11px; background: #c3c3c3; color: #000; border-radius: 3px; }
.ig__stock { font-size: 12px; color: #198754; }
.ig__out { color: #dc3545; }
.ig__cell.is-out { background: #f5f5f5; }
.ig__cell.has-qty { background: #eef6fe; box-shadow: inset 0 0 0 2px var(--dga-accent); }
.ig__stepper button { border-color: #e8e8e8; color: #8f8f8f; }
.ig__stepper button:hover:not(:disabled) { color: var(--dga-accent); border-color: var(--dga-accent); }
.ig__qty { border-color: #e8e8e8; font-size: 13px; }
.ig__summary b { color: #000; }
.ig__foot.has-items { background: #f9f9f9; }

/* ---------- home / collezioni: coerenza ---------- */
.btn { border-radius: 0; font-weight: 700; text-transform: uppercase; font-size: 13px; letter-spacing: .02em; }
.btn:hover { background: var(--dga-accent); border-color: var(--dga-accent); color: #fff; }
.sec-head h2 { font-weight: 500; }
.footer { background: #fff; border-top: 1px solid var(--dga-line); }
.footer h4 { font-weight: 500; }
.footer a:hover { color: var(--dga-accent); }
.footer .header__logo, .footer .header__logo span { color: var(--dga-black); }
.footer .header__logo span { color: var(--dga-accent); }

/* ---------- personalizzazione (capo neutro / personalizzato) ---------- */
.pers { margin: 24px 0 18px; border: 1px solid var(--dga-line); padding: 18px; background: #fff; }
.pers__title { font-size: 17px; font-weight: 600; margin: 0 0 12px; }
.pers__choice { display: grid; gap: 8px; }
@media (min-width: 701px) { .pers__choice { grid-template-columns: 1fr 1fr; } }
.pers__opt { display: flex; gap: 10px; align-items: flex-start; padding: 12px; border: 1px solid var(--dga-line); cursor: pointer; }
.pers__opt input { margin-top: 3px; }
.pers__opt b { display: block; font-size: 14px; color: #000; font-weight: 500; }
.pers__opt small { display: block; font-size: 12px; color: #606060; line-height: 1.4; }
.pers__opt.is-selected { border-color: var(--dga-accent); background: #eef6fe; }
.pers__lead { margin: 12px 0 0; font-size: 13px; color: #606060; }
.pers__lead .dga-lead { margin: 0 6px 0 0; }
.pers__panel { margin-top: 16px; border-top: 1px solid var(--dga-line); padding-top: 4px; }
.pers__row { margin-top: 14px; }
.pers__row .dga-label { margin: 0 0 8px; }
.pers__input { width: 100%; max-width: 420px; height: 40px; padding: 0 12px; border: 1px solid var(--dga-line); font: inherit; font-size: 13px; }
.pers__input:focus { outline: none; border-color: var(--dga-accent); }
.pers__side { border: 1px solid var(--dga-line); padding: 10px 12px; margin-bottom: 8px; }
.pers__side.is-on { border-color: var(--dga-accent); }
.pers__side-head { display: flex; align-items: center; gap: 8px; cursor: pointer; font-size: 14px; }
.pers__side-head .pers__side-price { margin-left: auto; font-size: 12px; }
.pers__side-body { display: none; margin-top: 10px; padding-left: 24px; }
.pers__side.is-on .pers__side-body { display: block; }
.pers__formati { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.pers__formati .dga-size { cursor: pointer; text-transform: none; padding: 8px 10px; }
.pers__formati .dga-size input { position: absolute; opacity: 0; width: 0; height: 0; }
.pers__formati .dga-size span { opacity: .75; font-size: 11px; }
.pers__upload { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pers__file { display: inline-flex; align-items: center; gap: 6px; padding: 9px 12px; border: 1px dashed #a1a5aa; font-size: 13px; cursor: pointer; }
.pers__file:hover { border-color: var(--dga-accent); color: var(--dga-accent); }
.pers__file input { position: absolute; opacity: 0; width: 0; height: 0; }
.pers__file-ok { font-size: 12px; color: #198754; }
.pers__note { font-size: 11.5px; margin: 6px 0 0; }
.pers__tot { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--dga-line); font-size: 14px; color: #606060; }
.pers__tot b { color: #000; }
.pers__err { display: block; margin-top: 4px; font-size: 12px; color: #dc3545; font-weight: 500; }
/* carrello: descrizione stampa e blocco checkout */
.cart-line__pers { font-size: 12px; color: var(--dga-accent); margin-top: 2px; }
.cart-line__pers.muted { color: #8e8e8e; }
.cart-blocco { margin: 10px 0 0; padding: 10px 12px; background: #fff7e6; border: 1px solid #f0c36d; color: #7a4a00; font-size: 12.5px; line-height: 1.45; }
.btn.is-disabled { background: #bbb; border-color: #bbb; color: #fff; cursor: not-allowed; pointer-events: none; }

/* ---------- header: nav completa solo da 1001px (6 voci + ricerca non stanno su tablet) ---------- */
@media (min-width: 701px) and (max-width: 1000px) {
  .nav { display: none; }
  .menu-toggle { display: inline-flex; }
  .header__bar { grid-template-columns: auto 1fr auto; }
}
@media (min-width: 1001px) {
  .menu-toggle { display: none !important; }
  .header__bar { grid-template-columns: 1fr auto auto; gap: 16px; }
  .nav { justify-content: flex-start; }
  .nav a { font-size: 13px; padding: 14px 8px; }
}
[hidden] { display: none !important; }
/* ---------- T-shirt di gruppo: banner home, pagina, configuratore (2026-09-14) ----------
   Appeso a dga-theme.css dal deploy (vedi STATO_CITYSHIRT_EU.md); tenuto separato in
   sviluppo per leggibilità. */
.gr-banner { padding-block: 24px; }
.gr-banner__in { position: relative; overflow: hidden; border-radius: 24px; padding: 28px; color: #fff; background: linear-gradient(135deg, #c026d3 0%, #f43f5e 55%, #fbbf24 100%); display: grid; gap: 20px; }
@media (min-width: 801px) { .gr-banner__in { grid-template-columns: 1.05fr .95fr; align-items: center; padding: 40px; } }
.gr-banner__eyebrow { display: inline-block; padding: 4px 12px; border-radius: 50px; background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.4); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gr-banner__title { color: #fff; font-size: clamp(24px, 3.4vw, 36px); font-weight: 700; line-height: 1.15; margin: 14px 0 10px; }
.gr-banner__price { margin: 0 0 12px; font-weight: 600; }
.gr-banner__price span { font-size: clamp(40px, 6vw, 60px); font-weight: 800; letter-spacing: -.02em; }
.gr-banner__price small { font-size: .6em; }
.gr-banner__list { list-style: none; margin: 0 0 18px; padding: 0; font-size: 14px; line-height: 1.7; }
.gr-banner__cta { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.gr-banner__cta .btn { background: #fff; color: #be123c; border-color: #fff; }
.gr-banner__cta .btn:hover { background: #fff7ed; color: #be123c; border-color: #fff7ed; }
.gr-banner__link { color: #fff; font-weight: 600; text-decoration: underline; }
.gr-svg { width: 100%; max-width: 480px; margin-inline: auto; display: block; }
.gr-hero { color: #fff; background: linear-gradient(135deg, #c026d3 0%, #f43f5e 55%, #fbbf24 100%); }
.gr-hero__in { display: grid; gap: 24px; padding-block: 40px; }
@media (min-width: 801px) { .gr-hero__in { grid-template-columns: 1.1fr .9fr; align-items: center; padding-block: 64px; } }
.gr-hero__title { color: #fff; font-size: clamp(28px, 4.5vw, 48px); font-weight: 800; line-height: 1.1; margin: 10px 0 14px; }
.gr-hero__sub { font-size: 17px; line-height: 1.55; max-width: 60ch; }
.gr-hero__price { margin: 18px 0; font-weight: 600; }
.gr-hero__price span { font-size: clamp(40px, 6vw, 60px); font-weight: 800; letter-spacing: -.02em; display: block; }
.gr-hero__cta.btn { background: #fff; color: #be123c; border-color: #fff; }
.gr-hero__cta.btn:hover { background: #fff7ed; color: #be123c; }
.gr-steps { padding-block: 40px 20px; }
.gr-steps h2, .gr-conf h2, .gr-faq h2 { font-size: 24px; font-weight: 600; margin: 0 0 18px; }
.gr-steps__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
@media (min-width: 701px) { .gr-steps__list { grid-template-columns: repeat(3, 1fr); } }
.gr-steps__list li { border: 1px solid var(--dga-line); padding: 18px; }
.gr-steps__list li span { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; border-radius: 50%; background: var(--dga-accent); color: #fff; font-weight: 700; }
.gr-steps__list li b { display: block; margin: 12px 0 4px; font-weight: 600; }
.gr-steps__list li small { display: block; font-size: 13px; color: #606060; line-height: 1.5; }
.gr-conf { padding-block: 20px 40px; scroll-margin-top: 70px; }
.gr-layout { display: grid; gap: 24px; }
@media (min-width: 1001px) { .gr-layout { grid-template-columns: 1fr 320px; align-items: start; } .gr-side { position: sticky; top: 70px; } }
.gr-card { border: 1px solid var(--dga-line); padding: 18px; margin-bottom: 18px; }
.gr-card h3 { font-size: 17px; font-weight: 600; margin: 0 0 12px; display: flex; align-items: center; gap: 8px; }
.gr-n { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: var(--dga-accent); color: #fff; font-size: 14px; font-weight: 700; }
.gr-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.gr-chip { padding: 8px 14px; border-radius: 50px; border: 0; background: var(--dga-grey-2); color: #333; font: inherit; font-size: 13px; font-weight: 500; cursor: pointer; }
.gr-chip:hover { background: #e9e9ef; }
.gr-chip.is-active { background: var(--dga-accent); color: #fff; }
.gr-chip--sm { padding: 5px 10px; font-size: 12px; }
#grColori .dga-swatch { width: 24px; height: 24px; margin: 0 14px 14px 0; border: 0; cursor: pointer; }
#grColori .dga-swatch::after { top: -5px; left: -5px; width: 30px; height: 30px; }
#grColori .dga-swatch.is-active::after { opacity: 1; }
.gr-num { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.gr-num button { width: 44px; height: 44px; border: 1px solid var(--dga-line); background: #fff; font-size: 20px; cursor: pointer; }
.gr-num button:hover { border-color: var(--dga-accent); color: var(--dga-accent); }
.gr-num input { width: 70px; height: 44px; text-align: center; font: inherit; font-size: 18px; font-weight: 700; border: 1px solid var(--dga-line); }
.gr-num .muted { font-size: 13px; }
.gr-comune { display: flex; gap: 10px; align-items: flex-start; margin-top: 14px; padding: 12px; background: var(--dga-grey-2); font-size: 13px; cursor: pointer; }
.gr-comune input[type="checkbox"] { margin-top: 3px; }
.gr-rows { list-style: none; margin: 0; padding: 0; }
.gr-row { display: grid; gap: 8px; padding: 14px 0; border-top: 1px solid var(--dga-line); grid-template-columns: 1fr; }
@media (min-width: 701px) { .gr-row { grid-template-columns: 28px 1fr 96px 1.2fr; align-items: start; } }
.gr-row__n { font-weight: 700; color: #8e8e8e; padding-top: 10px; }
.gr-row .pers__input { max-width: none; }
.gr-row select { height: 40px; border: 1px solid var(--dga-line); font: inherit; font-size: 13px; padding: 0 8px; width: 100%; }
.gr-graf__in { margin-top: 6px; }
.gr-link { background: none; border: 0; text-decoration: underline; color: #606060; font: inherit; font-size: 12px; cursor: pointer; }
.gr-side { border: 1px solid var(--dga-line); padding: 18px; }
.gr-problemi { list-style: none; margin: 10px 0 0; padding: 10px 12px; background: #fff7e6; border: 1px solid #f0c36d; color: #7a4a00; font-size: 12px; line-height: 1.5; max-height: 160px; overflow: auto; }
.gr-side .btn { margin-top: 14px; }
.gr-done { border: 1px solid #b7e4c7; background: #eefaf0; padding: 28px; text-align: center; }
.gr-done__t { font-size: 22px; font-weight: 700; color: #1a7f3c; margin: 0 0 8px; }
.gr-done .btn { margin: 8px 4px 0; }
.gr-faq { padding-block: 0 48px; max-width: 900px; }
.gr-faq dl { margin: 0; border: 1px solid var(--dga-line); }
.gr-faq dl > div { padding: 14px 18px; border-top: 1px solid var(--dga-line); }
.gr-faq dl > div:first-child { border-top: 0; }
.gr-faq dt { font-weight: 600; }
.gr-faq dd { margin: 4px 0 0; font-size: 14px; color: #606060; }

/* ---------- pannello ordini: schede su mobile/app, tabella su desktop ---------- */
.adm-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.adm-card { display: grid; gap: 4px; padding: 12px 14px; border: 1px solid var(--dga-line); border-left: 5px solid #333; background: #fff; color: #333; text-decoration: none; }
.adm-card__top { display: flex; justify-content: space-between; gap: 8px; font-size: 14px; }
.adm-card__who { font-size: 14px; font-weight: 500; color: #000; }
.adm-card__meta { font-size: 12px; color: #606060; }
.adm-card__tot { font-size: 17px; font-weight: 700; color: #000; }
.adm-table { display: none; }
@media (min-width: 801px) { .adm-cards { display: none; } .adm-table { display: block; } }
/* allarme nuovo ordine (sirena finché non si preme Ferma) */
#csAlarm { position: fixed; inset: 0; z-index: 1000; display: none; align-items: center; justify-content: center; background: rgba(220, 38, 38, .92); color: #fff; text-align: center; padding: 24px; animation: cs-blink 1s steps(2) infinite; }
#csAlarm.is-on { display: flex; }
@keyframes cs-blink { 50% { background: rgba(120, 10, 10, .95); } }
.cs-alarm__t { font-size: clamp(28px, 8vw, 48px); font-weight: 800; letter-spacing: .04em; }
.cs-alarm__n { font-size: 18px; margin: 10px 0 24px; }
.cs-alarm__h { font-size: 13px; opacity: .85; margin-top: 14px; }
#csAlarm .btn { background: #fff; color: #b91c1c; border-color: #fff; font-size: 18px; padding: 20px 36px; }
/* cella ingrosso "su ordinazione" (stock -1 nel feed DGA: ordinabile, arriva dal fornitore) */
.ig__preorder { color: #b45309; font-weight: 600; }
.ig__more td { text-align: center; padding: 14px; background: var(--dga-grey-2); }
