/* =====================================================================
   Cavallini · Moduli PrestaShop — tema MINIMALE (v9)
   Consolidato: una sola palette, una scala di spazi, uno stile di card,
   bottoni sobri. Niente fasce decorative, ombre o filetti ridondanti.
   Mantiene i fix funzionali: input bianchi, padding checkout, hide-shipping,
   footer scuro, font self-hosted.
   ===================================================================== */

/* ----------------------------- @font-face ---------------------------- */
@font-face {
  font-family: "Instrument Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/v4/instrument-sans-v4-latin-regular.woff2") format("woff2");
}
@font-face {
  font-family: "Instrument Sans"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("../fonts/v4/instrument-sans-v4-latin-500.woff2") format("woff2");
}
@font-face {
  font-family: "Instrument Sans"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("../fonts/v4/instrument-sans-v4-latin-600.woff2") format("woff2");
}
@font-face {
  font-family: "Fraunces"; font-style: normal; font-weight: 300; font-display: swap;
  src: url("../fonts/v4/fraunces-v38-latin-300.woff2") format("woff2");
}
@font-face {
  font-family: "Fraunces"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("../fonts/v4/fraunces-v38-latin-600.woff2") format("woff2");
}
@font-face {
  font-family: "Fraunces"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("../fonts/v4/fraunces-v38-latin-italic.woff2") format("woff2");
}

/* ------------------------------ tokens ------------------------------- */
:root {
  --cava-paper:  #FAF8F5;   /* fondo pagina */
  --cava-white:  #FFFFFF;   /* superfici/card */
  --cava-ink:    #1C1813;   /* testo */
  --cava-accent: #F26522;   /* accento — usato con parsimonia */
  --cava-accent-ink: #BC4A0E; /* accento su carta, contrasto AA */
  --cava-hairline: #E7E1D8;   /* bordi sottili */
  --cava-muted: rgba(28, 24, 19, 0.58);

  /* scala di spaziatura coerente */
  --s-1: .5rem; --s-2: 1rem; --s-3: 1.5rem; --s-4: 2.5rem; --s-5: 4rem; --s-6: 6rem;

  --bs-body-bg: #FAF8F5;
  --bs-body-color: #1C1813;
  --bs-primary: #F26522;
  --bs-primary-rgb: 242, 101, 34;
  --bs-link-color: #BC4A0E;
  --bs-link-color-rgb: 188, 74, 14;
  --bs-link-hover-color: #8f370a;
  --bs-font-sans-serif: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  /* ---------------------------------------------------------------------
     GRADIENT TOKENS — gradient-driven theming.
     I 10 temi (theme-N.css) sovrascrivono SOLO queste variabili.
     I default qui sotto = look arancio attuale (nessun parametro = tema 1).
     --------------------------------------------------------------------- */
  /* superfici a gradiente */
  --grad-button:  linear-gradient(135deg, #F58233 0%, #F26522 55%, #D24E10 100%);
  --grad-button-hover: linear-gradient(135deg, #E5641F 0%, #C8480D 100%);
  --grad-hero:    linear-gradient(160deg, #FAF8F5 0%, #FBEFE4 60%, #F7E2CF 100%);
  --grad-section: linear-gradient(180deg, #FAF8F5 0%, #FBF3EB 100%);
  --grad-footer:  linear-gradient(160deg, #1C1813 0%, #2A1E12 55%, #3A2412 100%);
  --grad-header:  linear-gradient(180deg, #FFFFFF 0%, #FAF8F5 100%);
  --grad-accent-strip: linear-gradient(90deg, #F26522 0%, #F58233 100%);
  /* tinta su cui poggia il testo del bottone/hero-cta (sempre #fff salvo candy) */
  --on-grad: #ffffff;
  /* colore CTA hero (può differire dal bottone std) */
  --grad-cta: var(--grad-button);
  --grad-cta-hover: var(--grad-button-hover);
}

/* ------------------------------ corpo -------------------------------- */
html, body {
  background-color: var(--cava-paper) !important;
  color: var(--cava-ink);
  font-family: "Instrument Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* ------------------------------ titoli ------------------------------- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.page-title, .product-title, .h1.product-title,
.card-title, .block-title, .title_block {
  font-family: "Fraunces", Georgia, "Times New Roman", serif;
  font-weight: 600;
  color: var(--cava-ink);
  letter-spacing: -0.01em;
}

/* ------------------------------ link --------------------------------- */
a { color: var(--cava-accent-ink); text-decoration: none; }
a:hover, a:focus { color: var(--cava-accent); }

/* ----------------------------- bottoni ------------------------------- */
.btn { border-radius: 6px; font-weight: 500; }
.btn-primary,
.add-to-cart, .btn.add-to-cart,
button.btn-primary,
.product-add-to-cart .btn {
  background: var(--grad-button) !important;
  background-color: var(--cava-accent) !important;
  border-color: transparent !important;
  color: var(--on-grad) !important;
}
.btn-primary:hover, .btn-primary:focus,
.add-to-cart:hover, .add-to-cart:focus,
button.btn-primary:hover, button.btn-primary:focus {
  background: var(--grad-button-hover) !important;
  background-color: var(--cava-accent-ink) !important;
  border-color: transparent !important;
  color: var(--on-grad) !important;
}
.btn-outline-primary {
  color: var(--cava-accent-ink) !important;
  border-color: var(--cava-hairline) !important;
  background: transparent !important;
}
.btn-outline-primary:hover, .btn-outline-primary:focus {
  background: var(--grad-button) !important;
  background-color: var(--cava-accent) !important;
  border-color: transparent !important;
  color: var(--on-grad) !important;
}

/* Miniature prodotto: bottone "Dettagli" sempre bianco con bordo arancione,
   a tutta larghezza. Hover = riempimento arancione. */
.product-miniature__details {
  display: block;
  width: 100%;
  background: #fff !important;
  background-color: #fff !important;
  color: var(--cava-accent-ink) !important;
  border: 1px solid var(--cava-accent) !important;
}
.product-miniature__details:hover, .product-miniature__details:focus {
  background: var(--cava-accent) !important;
  background-color: var(--cava-accent) !important;
  border-color: var(--cava-accent) !important;
  color: #fff !important;
}

/* ----------------------------- prezzi -------------------------------- */
.product-price, .price, .current-price, .current-price-value,
.product-prices .price {
  color: var(--cava-accent-ink);
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600;
}
.badge-primary, .label-primary {
  background-color: var(--cava-accent) !important; color: #fff !important;
}

/* =====================================================================
   HEADER — carta pulita, hairline sotto, logo contenuto
   ===================================================================== */
.header, header#header, #header,
.header-top, .header-nav {
  background: var(--grad-header) !important;
  color: var(--cava-ink);
}
.header, header#header, #header {
  border-bottom: 1px solid var(--cava-hairline) !important;
}
.header-logo img, #_desktop_logo img, .logo img {
  max-height: 52px; width: auto;
}

/* =====================================================================
   FORM / INPUT — fondo bianco pieno, bordo coerente, focus sobrio
   ===================================================================== */
.form-control, .form-select,
input[type="text"], input[type="email"], input[type="password"],
input[type="search"], input[type="tel"], input[type="number"],
input[type="url"], input[type="date"], textarea, select,
.ps-searchbar__input, .js-search-input, .input-group .form-control {
  background-color: var(--cava-white) !important;
  border: 1px solid var(--cava-hairline) !important;
  border-radius: 6px !important;
  color: var(--cava-ink) !important;
  padding: 0.62rem 0.85rem;
  -webkit-appearance: none; appearance: none;
  box-shadow: none;
}
select, .form-select { -webkit-appearance: auto; appearance: auto; }

.form-control::placeholder, input::placeholder, textarea::placeholder,
.ps-searchbar__input::placeholder {
  color: rgba(28, 24, 19, 0.42) !important; opacity: 1;
}

.form-control:focus, .form-select:focus,
input:focus, textarea:focus, select:focus, .ps-searchbar__input:focus {
  background-color: var(--cava-white) !important;
  border-color: var(--cava-accent) !important;
  outline: 2px solid rgba(242, 101, 34, 0.18);
  outline-offset: 1px;
  box-shadow: none !important;
}

input:-webkit-autofill, input:-webkit-autofill:hover,
input:-webkit-autofill:focus, textarea:-webkit-autofill, select:-webkit-autofill {
  -webkit-text-fill-color: var(--cava-ink) !important;
  -webkit-box-shadow: 0 0 0 1000px var(--cava-white) inset !important;
  box-shadow: 0 0 0 1000px var(--cava-white) inset !important;
  caret-color: var(--cava-ink);
  transition: background-color 9999s ease-in-out 0s;
}

.ps-searchbar__form { background: transparent; }
.ps-searchbar__input, .ps-searchbar input[name="s"] { padding-left: 46px !important; }

.form-check-input:checked {
  background-color: var(--cava-accent) !important;
  border-color: var(--cava-accent) !important;
}
.form-check-input:focus {
  border-color: var(--cava-accent) !important;
  box-shadow: 0 0 0 0.18rem rgba(242, 101, 34, 0.18) !important;
}

/* selettore lingua: solo freccia nativa */
.ps-languageselector select, .js-language-selector {
  background-image: none !important; appearance: auto !important;
  -webkit-appearance: menulist !important;
}

/* =====================================================================
   HOME — hero pulito, sezione moduli, striscia fiducia leggera
   ===================================================================== */

/* HERO: tanto whitespace, headline Fraunces, nessuna immagine */
.cava-hero {
  background: var(--grad-hero);
  padding: var(--s-4) var(--s-2) var(--s-3);
  text-align: center;
}
.cava-hero__inner { max-width: 760px; margin: 0 auto; }
.cava-hero__title {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600;
  font-size: clamp(1.9rem, 4vw, 2.8rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 var(--s-2);
  color: var(--cava-ink);
}
.cava-hero__sub {
  font-size: clamp(1rem, 2vw, 1.12rem);
  line-height: 1.55;
  color: var(--cava-muted);
  max-width: 540px;
  margin: 0 auto var(--s-3);
}
.cava-hero__cta {
  display: inline-block;
  background: var(--grad-cta);
  color: var(--on-grad) !important;
  font-weight: 600;
  padding: .85rem 1.8rem;
  border-radius: 6px;
  transition: filter .15s ease;
}
.cava-hero__cta:hover, .cava-hero__cta:focus { background: var(--grad-cta-hover); color: var(--on-grad) !important; }

/* SEZIONE MODULI: respiro, niente fondo alternato pesante */
.ps-featuredproducts {
  background: var(--grad-section);
  padding: var(--s-3) 0 var(--s-5);
}
/* titolo di sezione sobrio (un solo stile, niente filetto decorativo) */
.products-section-title, h2.products-section-title, .ps-featuredproducts .h2 {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.015em;
  text-align: center;
  margin-bottom: var(--s-4);
}

/* CARD PRODOTTO — UNO stile unico, hairline, niente ombre né translate */
.product-miniature__inner {
  background: var(--cava-white);
  border: 1px solid var(--cava-hairline) !important;
  border-radius: 8px;
  overflow: hidden;
  transition: border-color .15s ease;
}
.product-miniature:hover .product-miniature__inner {
  border-color: var(--cava-accent) !important;
}
.product-miniature__inner, .product-miniature__inner * { box-shadow: none !important; }
.product-miniature__image-container {
  background: var(--cava-white);
  overflow: hidden;
}
.product-miniature img { object-fit: cover; }
.product-miniature .product-title,
.product-miniature__title, .product-miniature h3 a {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.005em;
}

/* STRISCIA FIDUCIA — leggera, su carta, separata da hairline (non fascia scura) */
.cava-reassure {
  background: var(--grad-section);
  border-top: 3px solid transparent;
  border-image: var(--grad-accent-strip) 1;
}
.cava-reassure__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s-3);
  max-width: 1000px;
  margin: 0 auto;
  padding: var(--s-4) var(--s-2);
}
.cava-reassure__item { text-align: center; }
.cava-reassure__item .ttl {
  font-family: "Fraunces", Georgia, serif;
  font-weight: 600;
  font-size: 1.05rem;
  color: var(--cava-ink);
  margin: 0 0 .2rem;
}
.cava-reassure__item .sub {
  font-size: .9rem;
  color: var(--cava-muted);
  margin: 0;
}
@media (max-width: 720px) {
  .cava-reassure__grid { grid-template-columns: 1fr; gap: var(--s-2); text-align: center; }
  .cava-hero { padding: var(--s-5) var(--s-2) var(--s-4); }
}

/* =====================================================================
   FOOTER — scuro, pulito (mantiene dati legali già presenti)
   ===================================================================== */
.footer-container, #footer, .footer {
  background: var(--grad-footer) !important;
  background-color: var(--cava-ink) !important;
  color: var(--cava-paper) !important;
  border-top: 3px solid transparent;
  border-image: var(--grad-accent-strip) 1;
}
.footer-container a, #footer a, .footer a,
.footer-container li a {
  color: rgba(250, 248, 245, 0.78) !important;
}
.footer-container a:hover, #footer a:hover, .footer a:hover {
  color: var(--cava-accent) !important;
}
.footer-container .h3, .footer-container .title-block,
.footer-container h3, .footer-container .block-title, .footer-container .h4 {
  color: var(--cava-paper) !important;
  font-family: "Fraunces", Georgia, serif;
  border-bottom: 1px solid rgba(250, 248, 245, 0.12);
  padding-bottom: .55rem;
}
.footer-container hr, .footer .links hr { border-color: rgba(250, 248, 245, 0.10); }

/* newsletter (displayFooterBefore) su scuro: input bianco leggibile */
.footer-container .form-control, #footer .form-control,
.footer-container input[type="email"], .footer-container input[type="text"],
#footer input[type="email"] {
  background-color: var(--cava-white) !important;
  border: 1px solid rgba(250, 248, 245, 0.28) !important;
  color: var(--cava-ink) !important;
}
.footer-container .form-control::placeholder, #footer .form-control::placeholder {
  color: rgba(28, 24, 19, 0.42) !important;
}
/* il blocco newsletter sopra il footer: fondo carta, sobrio */
.ps-emailsubscription, #footer-before, .block-newsletter {
  background: var(--cava-paper);
}

/* =====================================================================
   CHECKOUT / CARRELLO — card bianche su carta, padding interno, no ombre
   ===================================================================== */
body#checkout, body#cart, body#order-confirmation { background: var(--cava-paper) !important; }

#cart .cart-grid-body .card, #cart .cart-grid-right .card,
#checkout .card, #checkout #checkout-personal-information-step,
.checkout-process .card, #order-confirmation .card,
.cart-summary, .cart-detailed-totals, #order-summary-content {
  background: var(--cava-white) !important;
  border: 1px solid var(--cava-hairline) !important;
  border-radius: 8px;
  box-shadow: none !important;
}

/* padding interno coerente per i box del funnel */
#checkout-personal-information-step, #checkout-addresses-step,
#checkout-payment-step, .cart-summary, #order-summary-content,
.cart-detailed-totals, #cart .cart-grid-body .card,
#cart .cart-grid-right .card, #order-confirmation .card, #checkout .card {
  padding: 1.7rem 1.9rem !important;
}
.cart-summary > .cart-summary-products,
.cart-summary .cart-summary-line { padding-left: 0; padding-right: 0; }
#checkout .form-group, #checkout .checkout__form .form-group { margin-bottom: 1.05rem; }

/* step numerati sobri */
.checkout-step .step-title, .checkout-step .step-number { font-family: "Fraunces", Georgia, serif; }
.checkout-step .step-number, .step-number {
  background: var(--cava-accent); color: #fff; border-radius: 50%;
  width: 28px; height: 28px;
  display: inline-flex; align-items: center; justify-content: center; font-weight: 600;
}
.checkout-step.-complete .step-number { background: var(--cava-accent-ink); }

.cart-item { border-bottom: 1px solid var(--cava-hairline); padding: .8rem 0; }
.cart-summary-line { display: flex; justify-content: space-between; }
.cart-detailed-totals .cart-total, .cart-summary-line.cart-total {
  font-family: "Fraunces", Georgia, serif; font-weight: 600; color: var(--cava-accent-ink);
}
#checkout .btn-primary, #cart .btn-primary,
.checkout .continue, .cart-detailed-actions .btn {
  background: var(--cava-accent) !important; border-color: var(--cava-accent) !important; color: #fff !important;
}
#order-confirmation #content-hook_order_confirmation,
#order-confirmation .order-confirmation-table {
  background: var(--cava-white); border: 1px solid var(--cava-hairline); border-radius: 8px;
}

/* =====================================================================
   SHOP SOLO-DIGITALE — nascondi spedizione (tutti i prodotti sono moduli)
   ===================================================================== */
#cart-subtotal-shipping,
.cart-summary-line.cart-summary-shipping,
.cart-summary__line.cart-summary__line--shipping { display: none !important; }

#checkout-delivery-step,
.js-checkout-step.-current#checkout-delivery-step,
#delivery-options, .delivery-options-list, .delivery-option { display: none !important; }

#order-items .order-line--shipping,
.order-confirmation-table .cart-summary__line[id*="shipping"] { display: none !important; }

/* =====================================================================
   CHECKOUT (body.page-order) — header ridotto al solo logo, niente barra
   step, niente newsletter (footer resta), sfondo bianco, riepilogo aperto,
   tutto pi e1 compatto. Scope rigoroso .page-order: non tocca il resto.
   ===================================================================== */
/* header: via barra alta e tutto il bottom tranne il logo.
   Scope su .header (NON #header): lo sticky-header JS clona il <header>
   e il clone perde l'id, mantiene la classe. */
.page-order .header .header-top { display: none !important; }
.page-order .header .header-bottom__row > *:not(.header-bottom__logo) { display: none !important; }
.page-order .header .header-bottom { box-shadow: none; border-bottom: 1px solid #ECE6DD; }
.page-order .header .header-bottom__container { padding-top: .5rem; padding-bottom: .5rem; }
.page-order .header { position: static !important; }

/* via tutta la barra step 1-2-3 (i form degli step non sono qui dentro) */
.page-order .checkout-steps { display: none !important; }

/* niente newsletter nel checkout; footer colonne resta */
.page-order .ps-emailsubscription { display: none !important; }

/* sfondo bianco su tutti gli step */
.page-order, .page-order #wrapper, .page-order #content-wrapper,
.page-order .bg-body-tertiary { background: #fff !important; }

/* riepilogo carrello gi e0 aperto + nascondi il toggle "Mostra dettagli" */
.page-order #cart-summary-product-list { display: block !important; }
.page-order .js-checkout-summary .accordion-button { display: none !important; }

/* compattazione verticale */
.page-order #wrapper { padding-top: .8rem; padding-bottom: 1.2rem; }
.page-order .checkout__form, .page-order .checkout-step { padding-top: .4rem; padding-bottom: .4rem; }

/* CHECKOUT step 2 (indirizzo) — compatto: griglia 2 colonne, spazi stretti.
   I blocchi fattura/e-fattura/switch occupano tutta la larghezza. */
.page-order .js-address-form section.form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .85rem; align-items: start; }
.page-order .js-address-form section.form-fields > .mb-3 { margin-bottom: .5rem !important; }
.page-order .js-address-form section.form-fields > .mb-3:has(#field-address1) { grid-column: 1 / -1; }
.page-order .js-address-form section.form-fields > .cll-billing,
.page-order .js-address-form section.form-fields > .js-fic-einvoice,
.page-order .js-address-form section.form-fields > .form-check,
.page-order .js-address-form section.form-fields > input[type="hidden"],
.page-order .js-address-form section.form-fields > script { grid-column: 1 / -1; }
.page-order .js-address-form .form-label { margin-bottom: .15rem; font-size: .92rem; }
.page-order .js-address-form .form-control, .page-order .js-address-form .form-select { padding: .45rem .7rem; }
.page-order .cll-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 .85rem; }
.page-order .cll-full { grid-column: 1 / -1; }
.page-order .cll-billing { margin: .3rem 0 .2rem; }
.page-order .cll-custtype .form-check-inline { margin-right: 1.2rem; }

/* =====================================================================
   SFONDO BIANCO ovunque (richiesta utente 2026-06-14). Unico fondo diverso:
   l'HEADER (tinta calda chiara). Regole a livello di ELEMENTO con !important,
   così vincono sui token --grad-* dei temi (theme-N.css caricati dopo).
   ===================================================================== */
html, body { background: #FFFFFF !important; background-color: #FFFFFF !important; }
#wrapper, #content-wrapper, #main, .page-content,
.cava-hero, .ps-featuredproducts, .cava-reassure,
.ps-emailsubscription, #footer-before, .block-newsletter { background: #FFFFFF !important; }

/* HEADER: unico fondo diverso (tinta calda chiara) + hairline di stacco */
.header, header#header, #header, .header-top, .header-nav, .header-bottom {
  background: #F6F1EA !important;
  background-image: none !important;
}
#header, header#header, .header { border-bottom: 1px solid #E7E1D8 !important; }

/* FOOTER: bianco con testo scuro leggibile (niente più fascia scura) */
.footer-container, #footer, .footer {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  color: #1C1813 !important;
  border-image: none !important;
  border-top: 1px solid #E7E1D8 !important;
}
.footer-container a, #footer a, .footer a, .footer-container li a { color: #3A332B !important; }
.footer-container a:hover, #footer a:hover, .footer a:hover { color: var(--cava-accent-ink) !important; }
.footer-container .h3, .footer-container .title-block, .footer-container h3,
.footer-container .block-title, .footer-container .h4 {
  color: #1C1813 !important;
  border-bottom: 1px solid #E7E1D8 !important;
}
.footer-container hr, .footer .links hr { border-color: #E7E1D8 !important; }
.footer-container .form-control, #footer .form-control { border-color: #E7E1D8 !important; }

/* =====================================================================
   RIFINITURE UI (richieste utente 2026-06-14)
   ===================================================================== */
/* 1) NIENTE border-radius da nessuna parte */
*, *::before, *::after { border-radius: 0 !important; }

/* 2) Pulsanti quantità +/- : fondo GRIGIO (non il gradiente arancione) */
.quantity-button__group .btn, .quantity-button__group button,
.btn.decrement, .btn.increment, .js-decrement-button, .js-increment-button {
  background: #ECE8E2 !important;
  background-image: none !important;
  color: #1C1813 !important;
  border: 1px solid #DCD6CC !important;
}
.quantity-button__group .btn:hover, .js-decrement-button:hover, .js-increment-button:hover {
  background: #E0DBD3 !important; color: #1C1813 !important;
}

/* 3) Select LINGUA in alto: niente bordo, niente sfondo */
.ps-languageselector select, select.js-language-selector,
.ps-languageselector .form-select {
  border: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  padding-left: 2px !important;
  color: inherit !important;
}

/* 4) FOOTER: grigio scurissimo + testo ARANCIONE (override del bianco precedente) */
.footer-container, #footer, .footer {
  background: #1A1A1A !important;
  background-color: #1A1A1A !important;
  color: #F58233 !important;
  border-top: 1px solid #2A2A2A !important;
}
.footer-container a, #footer a, .footer a, .footer-container li a,
.footer-container p, .footer-container span, .footer-container address { color: #F58233 !important; }
.footer-container a:hover, #footer a:hover, .footer a:hover { color: #FFB279 !important; }
.footer-container .h3, .footer-container h3, .footer-container .block-title,
.footer-container .h4, .footer-container .title-block {
  color: #F26522 !important;
  border-bottom: 1px solid rgba(242,101,34,0.28) !important;
}
.footer-container hr, .footer .links hr { border-color: rgba(242,101,34,0.20) !important; }

/* 5) PAGINA PRODOTTO: colonna logo al minimo, info a fianco larga */
.product__container { align-items: flex-start; }
.product__left { flex: 0 0 220px !important; max-width: 220px !important; width: 220px !important; }
.product__right { flex: 1 1 auto !important; max-width: none !important; }

/* 6) TAB prodotto (Descrizione/Dettagli/Scarica): tutti APERTI, niente chevron */
.product__accordion .accordion-collapse { display: block !important; height: auto !important; visibility: visible !important; }
.product__accordion .accordion-button { cursor: default; }
.product__accordion .accordion-button::after { display: none !important; }

/* PRODOTTO — fix griglia: logo 240px + info a fianco (niente gap), descrizione a TUTTA LARGHEZZA */
.product__container { grid-template-columns: 240px minmax(0, 1fr) !important; column-gap: 2rem !important; align-items: start !important; }
.product__bottom { grid-template-columns: minmax(0, 1fr) !important; align-items: start !important; }
.product__left, .product__right, .product__bottom-left, .product__bottom-right { width: auto !important; max-width: none !important; }

/* =====================================================================
   FONT professionale: Inter (variabile, self-hosted) ovunque.
   Sostituisce Instrument Sans (body) e Fraunces (heading serif).
   ===================================================================== */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/v4/inter-v20-latin-400.woff2") format("woff2");
}
:root { --bs-font-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
html, body, .btn, button, input, select, textarea, .form-control, .form-select,
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6,
.product-title, .card-title, .block-title, .page-title, .title_block,
.cava-hero__title, .products-section-title, .product__accordion .accordion-button {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .product-title, .cava-hero__title { letter-spacing: -0.018em; }

/* Inter anche sui titoli delle card prodotto e sui prezzi (erano rimasti Fraunces) */
.product-miniature__title, .product-miniature__title a, .product-miniature .h3,
.product-miniature h2, .product-miniature h3, .product-title, .product-title a, .h1.product-title,
.price, .current-price, .current-price-value, .product-price, .product-prices .price, .regular-price {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

/* =====================================================================
   PRODOTTO/LISTE — bottone carrello ridimensionato + miniature più piccole
   ===================================================================== */
/* Bottone "Aggiungi al carrello" della pagina prodotto: non a tutta larghezza */
.product__add-to-cart-button, .product-add-to-cart .product__add-to-cart-button {
  width: auto !important;
  flex: 0 0 auto !important;
  min-width: 210px;
  max-width: 330px;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

/* Liste prodotti (consigliati / categorie / home): ~6 per riga, immagini più piccole.
   auto-fill responsivo: desktop ~6, tablet 3, mobile 1-2. */
.products {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
  gap: 1rem !important;
}
.product-miniature img, .product-miniature__cover img { width: 100%; height: auto; }

/* =====================================================================
   SEZIONE DESCRIZIONE PRODOTTO (tab) — ordine, padding, bianco, professionale
   ===================================================================== */
.product__bottom-left, .product__accordion { background: #fff !important; }
.product__accordion .accordion-item { background: #fff !important; border: 0 !important; border-bottom: 1px solid #E7E1D8 !important; }
.product__accordion .accordion-button {
  padding: 1.15rem 0 !important;
  background: #fff !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: #1C1813 !important;
}
.product__accordion .accordion-body {
  padding: .2rem 0 1.6rem 0 !important;
  background: #fff !important;
  line-height: 1.65;
  color: #2A241E;
}
.product__accordion .accordion-body p { margin: 0 0 .85rem; }
.product__accordion .accordion-body p:last-child { margin-bottom: 0; }
.product__accordion .accordion-body ul { margin: 0 0 1rem; padding-left: 1.25rem; }
.product__accordion .accordion-body li { margin-bottom: .4rem; }
.product__accordion .accordion-body strong { color: #1C1813; }
/* tabella/elenco "Dettagli del prodotto": righe pulite su bianco */
.product__accordion .data-sheet, .product__accordion dl, .product__accordion table { width: 100%; margin: 0; background: #fff !important; }
.product__accordion .data-sheet dt, .product__accordion .data-sheet dd,
.product__accordion dl dt, .product__accordion dl dd { padding: .55rem .2rem !important; background: #fff !important; border-bottom: 1px solid #F0EBE3; }
/* allegato "Scarica": box bianco ordinato con bordo */
.attachment { background: #fff !important; padding: 1.1rem 1.2rem !important; border: 1px solid #E7E1D8 !important; margin: .4rem 0 .6rem; }

/* Prodotti 100% digitali: nascondi il blocco disponibilita/stock */
#product-availability, .product__availability, .product-availability { display: none !important; }

/* === Product page: notify-me box width + tidy spacing (cll) === */
.js-mailalert { max-width: 440px; margin: 1rem 0; }
.js-mailalert .form-control,
.js-mailalert input[type="email"],
.js-mailalert input[type="text"] { max-width: 440px; }
.js-mailalert .btn,
.js-mailalert button.js-mailalert-add { width: auto; min-width: 240px; display:inline-block; }

/* === Notify-me (emailalerts) box: constrain width (cll, real selector) === */
.ps-emailalerts--product { max-width: 460px; }
.ps-emailalerts--product .ps-emailalerts__content { max-width: 460px; }
.ps-emailalerts--product .form-control { max-width: 460px; }
.ps-emailalerts--product .btn,
.ps-emailalerts--product button { width: auto; min-width: 240px; display:inline-block; }
