/* ==========================================================================
   Carpstore – stile child theme (warehousechild)
   Mobile first. Colori e font dal mockup "Carpstore Homepage Restyling".
   ========================================================================== */

:root {
  --cs-ink: #14201A;
  --cs-forest: #1E4D35;
  --cs-forest-dark: #123323;
  --cs-yellow: #F2C230;
  --cs-orange: #D9481C;
  --cs-ground: #F5F5F2;
  --cs-line: #E2E5E0;
  --cs-muted: #5B6860;
  --cs-radius: 10px;
  --cs-font: 'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --cs-font-display: 'Barlow Condensed', 'Barlow', sans-serif;
  --cs-bottom-nav-h: 64px;
}

/* --- Base ---------------------------------------------------------------- */
body {
  font-family: var(--cs-font);
  color: var(--cs-ink);
  -webkit-font-smoothing: antialiased;
}

h1, h2, .h1, .h2,
.page-title, .section-title, .block-title,
.elementor-heading-title {
  font-family: var(--cs-font-display);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  line-height: 1;
}

a { color: var(--cs-forest); }
a:hover, a:focus { color: var(--cs-forest-dark); }

/* --- Bottoni ------------------------------------------------------------- */
.btn {
  border-radius: var(--cs-radius);
  font-weight: 700;
  min-height: 44px;
}
.btn-primary,
.btn-primary:not(:disabled):not(.disabled):active {
  background-color: var(--cs-yellow);
  border-color: var(--cs-yellow);
  color: var(--cs-ink);
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: #E0B020;
  border-color: #E0B020;
  color: var(--cs-ink);
}
.btn-secondary {
  background-color: var(--cs-forest);
  border-color: var(--cs-forest);
  color: #fff;
}

/* --- Card prodotto ------------------------------------------------------- */
.product-miniature .thumbnail-container {
  background: #fff;
  border-radius: var(--cs-radius);
  overflow: hidden;
}
.product-miniature .product-thumbnail img {
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: #fff;
}
.product-miniature .product-description {
  padding: 10px 2px 4px;
}
.product-miniature .product-brand,
.product-miniature .product-category-name {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cs-muted);
}
.product-miniature .product-title {
  font-family: var(--cs-font);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
  text-transform: none;
  color: var(--cs-ink);
}
.product-miniature .product-price {
  font-family: var(--cs-font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--cs-forest);
}
.product-miniature .regular-price { font-size: 14px; }
.product-flags .product-flag.new,
.product-flags .product-flag {
  border-radius: 4px;
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
}
.product-flags .product-flag.new { background: var(--cs-forest); color: #fff; }
.product-flags .product-flag.discount,
.product-flags .product-flag.on-sale { background: var(--cs-orange); color: #fff; }

/* --- Header mobile ------------------------------------------------------- */
#mobile-header .m-nav-btn {
  min-width: 44px;
  min-height: 44px;
}

/* --- Barra di navigazione in basso (solo mobile) ------------------------- */
.cs-bottom-nav { display: none; }

@media (max-width: 991.98px) {
  body { padding-bottom: calc(var(--cs-bottom-nav-h) + env(safe-area-inset-bottom)); }

  .cs-bottom-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    height: calc(var(--cs-bottom-nav-h) + env(safe-area-inset-bottom));
    padding-bottom: env(safe-area-inset-bottom);
    background: #fff;
    border-top: 1px solid var(--cs-line);
    box-shadow: 0 -4px 16px rgba(20, 32, 26, 0.06);
  }
  .cs-bottom-nav__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    border: 0;
    background: transparent;
    color: #4A564F;
    font: 600 11px/1 var(--cs-font);
    text-decoration: none;
    position: relative;
    cursor: pointer;
  }
  .cs-bottom-nav__item:hover,
  .cs-bottom-nav__item:focus,
  .cs-bottom-nav__item.is-active { color: var(--cs-forest); text-decoration: none; }
  .cs-bottom-nav__item svg { width: 22px; height: 22px; }
  .cs-bottom-nav__badge {
    position: absolute;
    top: 8px;
    left: calc(50% + 6px);
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: var(--cs-yellow);
    color: var(--cs-ink);
    font: 700 11px/18px var(--cs-font);
    text-align: center;
  }

  /* il pulsante "torna su" non deve finire sotto la barra */
  #back-to-top { bottom: calc(var(--cs-bottom-nav-h) + 16px); }
  #iqitcookielaw { bottom: calc(var(--cs-bottom-nav-h) + env(safe-area-inset-bottom) + 8px) !important; }
}
/* --- Mega menu orizzontale ---------------------------------------------- */
#cbp-hrmenu > ul > li,
#cbp-hrmenu > ul > li > a,
#cbp-hrmenu > ul > li .cbp-tab-title {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.01em;
}
#cbp-hrmenu > ul > li > a { padding-left: 14px; padding-right: 14px; }
/* --- Homepage (Elementor) ------------------------------------------------ */
.cs-badge {
  display: inline-block;
  background: var(--cs-orange);
  color: #fff;
  font: 700 12px/1 var(--cs-font);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 7px 10px;
  border-radius: 4px;
}
.cs-hero .elementor-button { min-width: 220px; }

.cs-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  padding: 4px 2px 8px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.cs-chips::-webkit-scrollbar { display: none; }
.cs-chip {
  flex: 0 0 auto;
  scroll-snap-align: start;
  display: inline-flex;
  align-items: center;
  height: 42px;
  padding: 0 18px;
  border: 1px solid #C9D0CB;
  border-radius: 21px;
  background: #fff;
  color: var(--cs-ink);
  font-weight: 600;
  font-size: 14px;
  white-space: nowrap;
  text-decoration: none;
}
.cs-chip:hover, .cs-chip:focus { border-color: var(--cs-forest); color: var(--cs-forest); text-decoration: none; }

.cs-usp .elementor-icon-box-title { font-family: var(--cs-font); font-size: 15px; font-weight: 700; text-transform: none; margin-bottom: 2px; }
.cs-usp .elementor-icon-box-description p { margin: 0; font-size: 13px; }

.cs-cards .elementor-column-wrap,
.cs-minis .elementor-column-wrap { border-radius: 14px; overflow: hidden; }
.cs-cards > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { min-height: 360px; display: flex; align-items: flex-end; }
.cs-minis > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { border: 1px solid var(--cs-line); min-height: 150px; display: flex; align-items: flex-end; }
.cs-minis .elementor-heading-title a { color: inherit; }

@media (max-width: 767.98px) {
  .cs-cards > .elementor-container > .elementor-row > .elementor-column,
  .cs-minis > .elementor-container > .elementor-row > .elementor-column { margin-bottom: 10px; }
  .cs-cards > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { min-height: 220px; }
  .cs-minis > .elementor-container > .elementor-row > .elementor-column { width: 50%; }
  .cs-minis > .elementor-container > .elementor-row > .elementor-column > .elementor-column-wrap { min-height: 120px; }
  .cs-usp .elementor-column { width: 100%; }
  .cs-hero .elementor-button { width: 100%; }
}
/* bottoni Elementor coerenti col brand */
.elementor-button.elementor-button-primary,
.elementor-button-primary .elementor-button { background-color: var(--cs-yellow); color: var(--cs-ink); border-radius: var(--cs-radius); font-weight: 700; }
.elementor-button.elementor-button-secondary,
.elementor-button-secondary .elementor-button { background-color: var(--cs-forest); color: #fff; border-radius: var(--cs-radius); font-weight: 700; }
.cs-split .elementor-button-secondary .elementor-button,
.cs-split .elementor-button.elementor-button-secondary { background: transparent; border: 2px solid var(--cs-yellow); color: var(--cs-yellow); }

@media (max-width: 767.98px) {
  .cs-usp > .elementor-container > .elementor-row { flex-wrap: nowrap; }
  .cs-usp .elementor-column { width: 33.333% !important; }
  .cs-usp .elementor-icon-box-wrapper { text-align: center; display: block; }
  .cs-usp .elementor-icon-box-icon { margin: 0 auto 6px !important; display: block; }
  .cs-usp .elementor-icon-box-icon .elementor-icon { font-size: 22px !important; }
  .cs-usp .elementor-icon-box-title { font-size: 12px; line-height: 1.2; }
  .cs-usp .elementor-icon-box-description { display: none; }
}
/* --- Layout full width: stesso margine laterale per header, menu e contenuti --- */
:root { --cs-gutter: clamp(16px, 2.5vw, 48px); }
.container,
.container-fluid { max-width: 100% !important; padding-left: var(--cs-gutter); padding-right: var(--cs-gutter); }
.elementor-section.elementor-section-boxed > .elementor-container { max-width: 100% !important; }
.cs-hero.elementor-section,
.cs-split .elementor-column > .elementor-column-wrap { padding-left: var(--cs-gutter) !important; padding-right: var(--cs-gutter) !important; }
.cs-hero .elementor-widget-wrap { max-width: 900px; }
.container .container { padding-left: 0 !important; padding-right: 0 !important; }
/* homepage: hero attaccato all'header */
#index #wrapper { padding-top: 0 !important; }
#index #wrapper .breadcrumb { display: none; }
/* barra gialla in alto: su mobile una sola riga con il messaggio spedizione */
@media (max-width: 991.98px) {
  .header-nav .row > div { display: none !important; }
  .header-nav { padding-top: 0 !important; padding-bottom: 0 !important; }
  .header-nav .row::before {
    content: "Spedizione 24h · Gratis da 149 €";
    display: block;
    width: 100%;
    text-align: center;
    padding: 8px 12px;
    font: 700 12px/1.2 var(--cs-font);
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--cs-ink);
  }
}

/* --- Mega menu centrato (desktop) --------------------------------------- */
@media (min-width: 992px) {
  #cbp-hrmenu > ul {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    float: none !important;
    width: 100%;
  }
  #cbp-hrmenu > ul > li { float: none !important; }
}

/* --- Logo -25% ----------------------------------------------------------- */
#desktop_logo img.logo { width: 390px; max-width: 100%; height: auto; }

/* --- Scheda prodotto: contenuto centrato, niente condivisione social ------ */
@media (min-width: 992px) {
  .page-product #inner-wrapper.container {
    max-width: 1400px !important;
    margin-left: auto;
    margin-right: auto;
  }
}
.page-product .social-sharing { display: none !important; }
.page-product .product-reference {
  display: inline-flex;
  gap: 6px;
  align-items: baseline;
  margin: 4px 0 8px;
  padding: 4px 10px;
  border: 1px solid var(--cs-line);
  border-radius: 6px;
  background: #F5F5F2;
  font-size: 14px;
}
.page-product .product-reference .label { font-weight: 700; color: var(--cs-muted); margin: 0; }
.page-product .product-reference span { font-weight: 700; color: var(--cs-ink); user-select: all; }

/* --- Scheda prodotto: SKU + EAN, garanzie, scheda tecnica ---------------- */
.page-product .cs-codes { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 8px; }
.page-product .cs-codes .product-reference { margin: 0; }
.page-product .cs-features-only .product-quantities,
.page-product .cs-features-only .specific-references,
.page-product .cs-features-only .product-condition { display: none !important; }
.cs-trust {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--cs-line);
  border-radius: var(--cs-radius);
  overflow: hidden;
}
.cs-trust__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: #fff;
  border-bottom: 1px solid var(--cs-line);
}
.cs-trust__item:nth-child(odd) { border-right: 1px solid var(--cs-line); }
.cs-trust__item:nth-last-child(-n+2) { border-bottom: 0; }
.cs-trust__item svg { flex: 0 0 26px; width: 26px; height: 26px; color: var(--cs-forest); }
.cs-trust__item span { display: flex; flex-direction: column; line-height: 1.25; }
.cs-trust__item strong { font-size: 14px; font-weight: 700; color: var(--cs-ink); }
.cs-trust__item small { font-size: 12.5px; color: var(--cs-muted); }
.cs-trust__link { color: var(--cs-muted); text-decoration: underline; text-underline-offset: 2px; }
.cs-trust__link:hover { color: var(--cs-forest); }
@media (max-width: 400px) {
  .cs-trust { grid-template-columns: 1fr; }
  .cs-trust__item:nth-child(odd) { border-right: 0; }
  .cs-trust__item:nth-last-child(2) { border-bottom: 1px solid var(--cs-line); }
}

/* --- Scheda prodotto: prezzo grande e in grassetto ---------------------- */
.page-product .product-prices { margin-top: 6px; }
.page-product .product-prices .current-price,
.page-product .product-prices .current-price-value {
  font-family: var(--cs-font-display);
  font-size: 40px;
  font-weight: 800;
  line-height: 1;
  color: var(--cs-forest);
  letter-spacing: 0.01em;
}
.page-product .product-prices .regular-price {
  font-family: var(--cs-font-display);
  font-size: 22px;
  font-weight: 600;
  color: var(--cs-muted);
  text-decoration: line-through;
  margin-left: 8px;
}
.page-product .product-prices .badge-discount,
.page-product .product-prices .discount {
  background: var(--cs-orange);
  color: #fff;
  font-weight: 700;
  border-radius: 4px;
  vertical-align: middle;
}
.page-product .product-prices .tax-shipping-delivery-label {
  margin-top: 4px;
  font-size: 13px;
  color: var(--cs-muted);
}
@media (max-width: 575.98px) {
  .page-product .product-prices .current-price,
  .page-product .product-prices .current-price-value { font-size: 34px; }
}

/* --- Hero homepage con immagine (desktop 2400x1100, mobile 1080x1350) ----- */
.cs-hero.elementor-section {
  background-color: #2B3A31 !important;
  background-image:
    linear-gradient(90deg, rgba(18,51,35,.88) 0%, rgba(18,51,35,.62) 42%, rgba(18,51,35,.10) 75%),
    url("/img/cms/carpstore-hero-desktop.webp") !important;
  background-size: cover !important;
  background-position: center right !important;
  background-repeat: no-repeat !important;
}
@media (max-width: 767.98px) {
  .cs-hero.elementor-section {
    background-image:
      linear-gradient(180deg, rgba(18,51,35,.05) 0%, rgba(18,51,35,.25) 35%, rgba(18,51,35,.92) 68%),
      url("/img/cms/carpstore-hero-mobile.webp") !important;
    background-position: center top !important;
  }
}

/* --- Quantità: selettore "– 1 +" ben leggibile -------------------------- */
.product-add-to-cart .product-quantity { align-items: center; flex-wrap: nowrap; }
.product-add-to-cart .col-add-qty { flex: 0 0 auto; width: auto; max-width: none; }
.product-add-to-cart .col-add-btn { flex: 1 1 auto; width: auto; min-width: 0; }
.product-add-to-cart .col-add-wishlist { flex: 0 0 auto; }
.product-add-to-cart .qty { width: auto; }
.product-add-to-cart .bootstrap-touchspin {
  display: grid !important;
  grid-template-columns: 42px 46px 42px;
  height: 52px;
  width: auto !important;
  border: 2px solid #C9CFC9;
  border-radius: var(--cs-radius);
  overflow: hidden;
  background: #fff;
}
.product-add-to-cart .bootstrap-touchspin .input-group-btn-vertical { display: contents !important; }
.product-add-to-cart .bootstrap-touchspin-prefix,
.product-add-to-cart .bootstrap-touchspin-postfix { display: none !important; }
.product-add-to-cart #quantity_wanted {
  grid-column: 2; grid-row: 1;
  height: 48px !important;
  width: 46px !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: center;
  font: 700 19px/48px var(--cs-font) !important;
  color: var(--cs-ink) !important;
  background: #fff;
  -moz-appearance: textfield;
}
.product-add-to-cart #quantity_wanted::-webkit-inner-spin-button,
.product-add-to-cart #quantity_wanted::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.product-add-to-cart .btn-touchspin {
  position: static !important;
  grid-row: 1;
  display: flex !important; align-items: center; justify-content: center;
  width: 42px !important; height: 48px !important;
  margin: 0 !important; padding: 0 !important;
  border: 0 !important; border-radius: 0 !important;
  background: #F2F4F1 !important;
  color: var(--cs-forest) !important;
  font: 700 22px/1 var(--cs-font) !important;
}
.product-add-to-cart .btn-touchspin:hover { background: var(--cs-line) !important; }
.product-add-to-cart .btn-touchspin i { display: none !important; }
.product-add-to-cart .bootstrap-touchspin-down { grid-column: 1; }
.product-add-to-cart .bootstrap-touchspin-up { grid-column: 3; }
.product-add-to-cart .bootstrap-touchspin-down::before { content: "\2212"; }
.product-add-to-cart .bootstrap-touchspin-up::before { content: "+"; }
.product-add-to-cart .add-to-cart,
.product-add-to-cart .btn-iqitwishlist-add { height: 52px; min-height: 52px; }

/* --- Barra "Aggiungi al carrello" mobile sopra la navigazione in basso ---- */
@media (max-width: 767.98px) {
  .page-product .product-add-to-cart.js-product-add-to-cart[style*="fixed"],
  .page-product .product-add-to-cart.js-product-add-to-cart {
    bottom: calc(var(--cs-bottom-nav-h) + env(safe-area-inset-bottom)) !important;
    padding: 12px 14px 14px !important;
    border-top: 1px solid var(--cs-line);
    box-shadow: 0 -8px 18px rgba(20, 32, 26, 0.10);
  }
  .page-product .product-add-to-cart .product-quantity { margin: 0 !important; }
  .page-product .product-add-to-cart .product-minimal-quantity { display: none; }
  .product-add-to-cart .bootstrap-touchspin { grid-template-columns: 36px 40px 36px; height: 50px; }
  .product-add-to-cart #quantity_wanted { width: 40px !important; height: 46px !important; line-height: 46px !important; }
  .product-add-to-cart .btn-touchspin { width: 36px !important; height: 46px !important; }
  .product-add-to-cart .add-to-cart,
  .product-add-to-cart .btn-iqitwishlist-add { height: 50px; min-height: 50px; }
  body.page-product { padding-bottom: calc(var(--cs-bottom-nav-h) + 80px + env(safe-area-inset-bottom)); }
}
/* wishlist larghezza fissa nella riga carrello */
.product-add-to-cart .col-add-wishlist { min-width: 52px; }
.product-add-to-cart .btn-iqitwishlist-add { width: 52px; min-width: 52px; padding: 0 !important; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 767.98px) { .product-add-to-cart .btn-iqitwishlist-add { width: 50px; min-width: 50px; } }
/* bottone carrello a tutta larghezza nella sua colonna */
.product-add-to-cart .col-add-btn .add,
.product-add-to-cart .add-to-cart { width: 100%; }
/* --- Home: banner finali (negozio + newsletter) appoggiati al footer ------- */
#index #wrapper { padding-bottom: 0 !important; margin-bottom: 0 !important; }
#index #content-wrapper .elementor > .elementor-section:last-child { margin-bottom: 0 !important; }
/* --- Home: card Carpfishing / Feeder con foto (1200x800 / 900x600 webp) ---- */
.cs-cards .elementor-element-16d42f8 > .elementor-column-wrap,
.cs-cards .elementor-element-17d6cc1 > .elementor-column-wrap {
  background-size: cover !important;
  background-repeat: no-repeat !important;
  overflow: hidden;
}
.cs-cards .elementor-element-16d42f8 > .elementor-column-wrap {
  background-image:
    linear-gradient(180deg, rgba(18,51,35,.05) 0%, rgba(18,51,35,.35) 45%, rgba(18,51,35,.92) 100%),
    url("/img/cms/carpstore-card-carpfishing.webp") !important;
  background-position: center 40% !important;
}
.cs-cards .elementor-element-17d6cc1 > .elementor-column-wrap {
  background-image:
    linear-gradient(180deg, rgba(18,51,35,.05) 0%, rgba(18,51,35,.35) 45%, rgba(18,51,35,.92) 100%),
    url("/img/cms/carpstore-card-feeder.webp") !important;
  background-position: center 30% !important;
}
/* =========================================================
   v20 - Pagina categoria: fascia filtri (stile barra)
   Template: catalog/_partials/products-top.tpl (child)
   ThemeEditor: pl_faceted_position = 1
   ========================================================= */
.cs-filterbar{background:var(--cs-forest,#1E4D35);border-radius:16px;padding:10px 12px;margin:0 0 14px;box-shadow:0 6px 18px rgba(20,32,26,.10)}
.cs-filterbar__row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.cs-filterbar__left{justify-self:start;min-height:1px}
.cs-filterbar__count{color:#fff;font-weight:600;font-size:15px;text-align:center;white-space:nowrap}
.cs-filterbar__sort{justify-self:end}
.cs-filterbar .filter-button{margin:0}
.cs-filterbar .cs-filterbar__btn{display:inline-flex;align-items:center;gap:9px;background:#F2C230!important;color:#14201A!important;border:0!important;border-radius:999px;padding:11px 22px;font-weight:800;font-size:15px;line-height:1;text-transform:none;letter-spacing:.01em;box-shadow:none;transition:background .15s,transform .15s}
.cs-filterbar .cs-filterbar__btn:hover,.cs-filterbar .cs-filterbar__btn:focus{background:#FFD24A!important;color:#14201A!important}
.cs-filterbar .cs-filterbar__btn:active{transform:scale(.98)}
.cs-filterbar .cs-filterbar__btn svg{flex:0 0 auto}
/* ordinamento: pillola bianca */
.cs-filterbar .products-sort-order{margin:0}
.cs-filterbar .products-sort-order .select-title{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:210px;height:40px;background:#fff;border:0;border-radius:999px;padding:0 16px 0 18px;color:#14201A;font-weight:600;font-size:14px;cursor:pointer}
.cs-filterbar .products-sort-order .dropdown-menu{left:auto!important;right:0!important;margin-top:6px;border-radius:12px;border:1px solid var(--cs-line,#E3E6E1);box-shadow:0 10px 24px rgba(20,32,26,.14);overflow:hidden;padding:6px 0;min-width:240px}
.cs-filterbar .products-sort-order .dropdown-item{padding:8px 16px;font-size:14px}
.cs-filterbar .products-sort-order .dropdown-item.current{font-weight:700;color:var(--cs-forest,#1E4D35);background:#F2F4F1}

/* pannello filtri aperto */
#facets_search_center{background:#F5F5F2;border:1px solid var(--cs-line,#E3E6E1);border-radius:16px;padding:22px 18px 8px;margin:0 0 20px}
#facets_search_center .block-facets{margin:0}
#facets_search_center #search_filters{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 22px}
#facets_search_center #search_filters .facet{width:auto!important;padding:0 0 18px!important;margin:0!important}
#facets_search_center .facet-title{font-family:var(--cs-font-display,inherit);font-size:16px!important;font-weight:800!important;color:var(--cs-forest,#1E4D35)!important;margin:0 0 10px!important;padding:0 0 8px!important;border-bottom:2px solid #F2C230!important}
#facets_search_center .facet ul{max-height:240px;overflow-y:auto;padding-right:6px;margin:0}
#facets_search_center .facet ul::-webkit-scrollbar{width:6px}
#facets_search_center .facet ul::-webkit-scrollbar-thumb{background:#C9CFC9;border-radius:6px}
#facets_search_center .facet-label{font-size:14px;margin:0;padding:3px 0;display:flex;align-items:center;gap:6px}
#facets_search_center .facet-label a{color:#14201A}
#facets_search_center .facet-label .magnitude{color:#7A857E;font-size:12px}
#facets_search_center .faceted-slider{overflow:visible!important;max-height:none!important;padding:6px 8px 0!important}
#facets_search_center .ui-slider .ui-slider-range{background:var(--cs-forest,#1E4D35)!important}
#facets_search_center .ui-slider .ui-slider-handle{background:#F2C230!important;border:2px solid var(--cs-forest,#1E4D35)!important;border-radius:50%}
/* filtri attivi */
#js-active-search-filters:not(.hide){margin:0 0 14px}
#js-active-search-filters .filter-block{background:#fff;border:1px solid var(--cs-line,#E3E6E1);border-radius:999px;padding:5px 12px;font-size:13px}

/* mobile */
@media(max-width:767.98px){
  .cs-filterbar{padding:10px;border-radius:14px}
  .cs-filterbar__row{grid-template-columns:1fr 1fr;gap:10px}
  .cs-filterbar__count{grid-column:1 / -1;grid-row:1;font-size:14px;padding-top:2px}
  .cs-filterbar__left,.cs-filterbar__sort{justify-self:stretch}
  .cs-filterbar .cs-filterbar__btn{width:100%;justify-content:center;padding:0 12px;height:44px;font-size:14px}
  .cs-filterbar .products-sort-order .select-title{min-width:0;width:100%;height:44px;font-size:13px;padding:0 12px 0 14px}
  .cs-filterbar .products-sort-order .select-title-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cs-filterbar .products-sort-order .dropdown-menu{min-width:220px}
  #facets_search_center{padding:16px 14px 4px;border-radius:14px}
  #facets_search_center #search_filters{grid-template-columns:1fr 1fr;gap:0 14px}
  #facets_search_center .facet ul{max-height:200px}
}
@media(max-width:400px){
  #facets_search_center #search_filters{grid-template-columns:1fr}
}
/* v21 - slider prezzo + prodotti per pagina */
.cs-filterbar__sort{display:flex;align-items:center;gap:8px}
.cs-filterbar__sort .products-sort-nb-dropdown{margin:0}
.cs-filterbar .products-nb-per-page .select-title{display:flex;align-items:center;gap:6px;height:40px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:0 14px;color:#fff;font-weight:600;font-size:14px}
.cs-filterbar .products-nb-per-page .dropdown-menu{left:auto!important;right:0!important;min-width:90px;border-radius:12px}
#facets_search_center .noUi-target{height:6px;background:#DDE2DC;border:0;box-shadow:none;border-radius:6px;margin:14px 10px 6px}
#facets_search_center .noUi-connect{background:var(--cs-forest,#1E4D35)}
#facets_search_center .noUi-horizontal .noUi-handle{width:20px;height:20px;right:-10px;top:-7px;border-radius:50%;background:#F2C230;border:2px solid var(--cs-forest,#1E4D35);box-shadow:0 2px 6px rgba(20,32,26,.2);cursor:grab}
#facets_search_center .noUi-handle:before,#facets_search_center .noUi-handle:after{display:none}
#facets_search_center .faceted-slider p{font-weight:700;color:#14201A;font-size:14px;margin:0 0 4px}
@media(max-width:767.98px){
  .cs-filterbar__sort .products-nb-per-page{display:none!important}
  .cs-filterbar__sort .products-sort-order{flex:1 1 auto;min-width:0}
}
/* v22 - mobile: facet a fisarmonica */
@media(max-width:767.98px){
  #facets_search_center #search_filters{grid-template-columns:1fr!important;gap:0!important}
  #facets_search_center #search_filters .facet{padding:0!important;border-bottom:1px solid var(--cs-line,#E3E6E1)}
  #facets_search_center #search_filters .facet:last-child{border-bottom:0}
  #facets_search_center .facet-title{cursor:pointer;position:relative;margin:0!important;padding:13px 32px 13px 2px!important;border-bottom:0!important;font-size:15px!important;-webkit-tap-highlight-color:transparent}
  #facets_search_center .facet-title::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:#F2C230;color:#14201A;font-weight:800;font-size:17px;line-height:24px;text-align:center}
  #facets_search_center .facet.cs-open .facet-title::after{content:"\2212"}
  #facets_search_center .facet:not(.cs-open) > :not(.facet-title){display:none!important}
  #facets_search_center .facet.cs-open{padding-bottom:12px!important}
  #facets_search_center{padding:4px 14px!important}
}
/* v23 - annulla margine negativo tema sul pannello filtri */
#facets_search_center #search_filters{margin:0!important}
/* v24 - chip filtri attivi */
#js-active-search-filters .filter-block{background:none!important;border:0!important;padding:0!important;margin:0 6px 6px 0}
#js-active-search-filters .filter-block .btn{display:inline-flex;align-items:center;gap:6px;background:#fff!important;color:var(--cs-forest,#1E4D35)!important;border:1.5px solid var(--cs-forest,#1E4D35)!important;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;text-transform:none}
#js-active-search-filters .filter-block .btn:hover{background:var(--cs-forest,#1E4D35)!important;color:#fff!important}
#js-active-search-filters .active-filter-title{font-weight:700;font-size:13px;color:#14201A;margin-right:8px}
#js-active-search-filters #active-search-filters{display:flex;flex-wrap:wrap;align-items:center}
#js-active-search-filters .filter-blocks{display:flex;flex-wrap:wrap;margin:0;padding:0;list-style:none}
/* v25 - menu desktop MAIUSCOLO, piu' importante */
@media(min-width:992px){
  #cbp-hrmenu > ul > li > a,#cbp-hrmenu > ul > li .cbp-tab-title{font-family:var(--cs-font-display,'Barlow Condensed',sans-serif)!important;font-size:18px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.06em!important}
  #cbp-hrmenu > ul > li > a{padding-left:16px!important;padding-right:16px!important}
  #cbp-hrmenu > ul > li > a .cbp-mainlink-icon,#cbp-hrmenu > ul > li > a .fa-angle-down{font-size:.85em}
}
@media(min-width:992px) and (max-width:1299.98px){
  #cbp-hrmenu > ul > li > a,#cbp-hrmenu > ul > li .cbp-tab-title{font-size:16px!important;letter-spacing:.03em!important}
  #cbp-hrmenu > ul > li > a{padding-left:10px!important;padding-right:10px!important}
}@media(min-width:992px){#cbp-hrmenu > ul > li > a,#cbp-hrmenu > ul > li > a .cbp-tab-title{white-space:nowrap!important}}@media(min-width:992px) and (max-width:1099.98px){#cbp-hrmenu > ul > li > a,#cbp-hrmenu > ul > li .cbp-tab-title{font-size:15px!important;letter-spacing:0!important}#cbp-hrmenu > ul > li > a{padding-left:7px!important;padding-right:7px!important}}
/* v29 - card prodotto in griglia */
.product-miniature-grid{height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid #E6E9E4;border-radius:14px;padding:10px;transition:border-color .15s,box-shadow .2s,transform .2s}
.product-miniature-grid:hover{border-color:#C5D0C7;box-shadow:0 10px 24px rgba(20,32,26,.10);transform:translateY(-2px)}
.product-miniature-grid .thumbnail-container{border-radius:10px}
.product-miniature-grid .product-description{display:flex;flex-direction:column;flex:1 1 auto;padding:12px 4px 2px!important}
.product-miniature-grid .product-brand{order:-1;margin:0 0 4px}
.product-miniature-grid .product-brand a{color:var(--cs-muted)}
.product-miniature-grid .product-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em;font-size:15px!important;margin:0 0 6px}
.product-miniature-grid .product-title:hover{color:var(--cs-forest)}
.product-miniature-grid .product-price-and-shipping{margin-top:auto;padding-top:6px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.product-miniature-grid .product-price{font-size:22px!important;font-weight:800!important;line-height:1}
.product-miniature-grid .regular-price{font-size:14px;color:var(--cs-muted);text-decoration:line-through}
.product-miniature-grid .product-flags .product-flag{padding:4px 8px;border-radius:6px}
.product-flags .product-flag.out_of_stock,.product-flags .product-flag.unavailable{background:#5B635D!important;color:#fff!important}
#js-product-list .products{row-gap:0}
#js-product-list .js-product-miniature-wrapper{padding-left:8px;padding-right:8px;margin-bottom:16px}
#js-product-list .products.row{margin-left:-8px;margin-right:-8px}
@media(max-width:767.98px){
  .product-miniature-grid{padding:7px;border-radius:12px}
  .product-miniature-grid:hover{transform:none}
  .product-miniature-grid .product-description{padding:9px 2px 2px!important}
  .product-miniature-grid .product-title{font-size:13.5px!important}
  .product-miniature-grid .product-price{font-size:19px!important}
  #js-product-list .js-product-miniature-wrapper{padding-left:5px;padding-right:5px;margin-bottom:10px}
  #js-product-list .products.row{margin-left:-5px;margin-right:-5px}
}
/* v29 - barra spedizione gratuita */
.cs-freeship{background:#F2F6F1;border:1px solid #D9E3DA;border-radius:12px;padding:10px 12px 12px;margin:0 0 14px;text-align:left}
.cs-freeship__text{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#14201A;line-height:1.3;margin-bottom:8px}
.cs-freeship__text svg{flex:0 0 auto;color:var(--cs-forest,#1E4D35)}
.cs-freeship__track{height:8px;background:#DDE5DE;border-radius:8px;overflow:hidden}
.cs-freeship__track span{display:block;height:100%;background:linear-gradient(90deg,#F2C230,#E9A915);border-radius:8px;transition:width .4s ease}
.cs-freeship.is-free{background:#E7F3EA;border-color:#B9D9C1}
.cs-freeship.is-free .cs-freeship__track span{background:var(--cs-forest,#1E4D35)}
.cs-freeship.is-free .cs-freeship__text{color:var(--cs-forest,#1E4D35)}
#blockcart-content .cs-freeship{margin:0 0 12px}
#blockcart-modal .cs-freeship{margin:4px 0 14px}
/* v30 - badge non disponibile */
.product-miniature .product-availability .product-unavailable{background:#5B635D!important;color:#fff!important;border-radius:6px;font-weight:700;font-size:11px;padding:4px 8px}
.product-miniature .product-availability .product-last-items{background:var(--cs-orange,#E8742A)!important;color:#fff!important;border-radius:6px;font-weight:700;font-size:11px}
/* =========================================================
   v31 - MEGA MENU nuovo (Carpfishing / Feeder / Colpo)
   Struttura in BO iqitmegamenu: 1 blocco "categorie" (treep=1, mostra
   automaticamente tutte le sottocategorie) col-9 + 1 immagine col-3.
   Ordine alfabetico: script in footer.tpl (csSortMenus).
   ========================================================= */
@media(min-width:992px){
  #cbp-hrmenu .cbp-hrsub-inner{background:#fff;border-top:4px solid #F2C230;border-radius:0 0 18px 18px;box-shadow:0 22px 44px rgba(20,32,26,.18);padding:26px 30px 24px}
  #cbp-hrmenu .iqitmegamenu-submenu-container{max-width:100%}
  #cbp-hrmenu .cbp-hrsub .menu_row{align-items:stretch}
  /* titolo categoria madre */
  #cbp-hrmenu .cbp-hrsub .cbp-category-title{align-items:center;gap:10px;font-family:var(--cs-font-display,'Barlow Condensed',sans-serif)!important;font-size:26px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.02em;color:var(--cs-forest,#1E4D35)!important;padding:0!important;margin:0 0 18px!important;line-height:1!important}
  #cbp-hrmenu .cbp-hrsub .cbp-category-title::after{content:"Vedi tutto \2192";font-family:var(--cs-font,'Barlow',sans-serif);font-size:12px;font-weight:700;text-transform:none;letter-spacing:0;color:#14201A;background:#F2C230;border-radius:999px;padding:5px 11px}
  #cbp-hrmenu .cbp-hrsub .cbp-category-title:hover::after{background:#FFD24A}
  /* elenco alfabetico su 4 colonne (dall'alto in basso), tutto attaccato; righe calcolate dallo script */
  #cbp-hrmenu .cbp-hrsub .cbp-category-title{display:flex!important;width:max-content}
  #cbp-hrmenu .cbp-hrsub .cbp-categories-row .cbp-category-tree{display:grid!important;width:100%!important;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(var(--cs-rows,8),auto);grid-auto-flow:column;column-gap:24px;margin:0;padding:0}
  #cbp-hrmenu .cbp-hrsub .cbp-category-tree > li{padding:0 0 4px;margin:0}
  #cbp-hrmenu .cbp-hrsub .cbp-category-tree > li > .cbp-category-link-w > a{display:inline-block;font-size:15px;font-weight:700;color:#14201A;line-height:1.25;padding:6px 0 3px;background:linear-gradient(#F2C230,#F2C230) left bottom/0 2px no-repeat;transition:background-size .2s,color .15s}
  #cbp-hrmenu .cbp-hrsub .cbp-category-tree > li > .cbp-category-link-w > a:hover{color:var(--cs-forest,#1E4D35);background-size:100% 2px}
  /* sottocategorie: riquadro che si apre al passaggio del mouse */
  #cbp-hrmenu .cbp-hrsub .cbp-category-tree .cbp-hrsub-level2{background:#fff!important;border:1px solid #E3E6E1!important;border-left:3px solid #F2C230!important;border-radius:12px!important;box-shadow:0 14px 30px rgba(20,32,26,.16)!important;padding:10px 16px!important;margin:0!important;min-width:230px!important;z-index:20!important}
  #cbp-hrmenu .cbp-hrsub .cbp-hrsub-level2 a{display:block;padding:4px 0!important;font-size:14px!important;font-weight:500;color:#3F4842!important;line-height:1.35}
  #cbp-hrmenu .cbp-hrsub .cbp-hrsub-level2 a:hover{color:var(--cs-forest,#1E4D35)!important}
  /* pannello immagine a destra */
  #cbp-hrmenu .cbp-hrsub .cbp-menu-element:has(.cbp-banner-image) .cbp-menu-column-inner{height:100%}
  #cbp-hrmenu .cbp-hrsub .cbp-menu-column-inner > a:has(.cbp-banner-image){position:relative;display:block;height:100%;min-height:300px;border-radius:16px;overflow:hidden}
  #cbp-hrmenu .cbp-hrsub .cbp-banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
  #cbp-hrmenu .cbp-hrsub .cbp-menu-column-inner > a:has(.cbp-banner-image)::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(18,51,35,0) 35%,rgba(18,51,35,.88) 100%)}
  #cbp-hrmenu .cbp-hrsub .cbp-menu-column-inner > a:has(.cbp-banner-image)::after{content:"Scopri tutto \2192";position:absolute;left:18px;bottom:18px;z-index:2;background:#F2C230;color:#14201A;font-weight:800;font-size:14px;border-radius:999px;padding:10px 18px}
  #cbp-hrmenu .cbp-hrsub .cbp-menu-column-inner > a:hover .cbp-banner-image{transform:scale(1.05)}
}
/* mobile / tablet: un'unica lista continua */
@media(max-width:991.98px){
  .mobile-menu__column:has(.cbp-banner-image),.mobile-menu__column img.cbp-banner-image{display:none!important}
  .mobile-menu__row{margin:0!important;padding:0!important}
  .mobile-menu__column{margin:0!important;padding:0!important}
  .mobile-menu__column-title{display:flex!important;align-items:center;justify-content:space-between;font-family:var(--cs-font-display,'Barlow Condensed',sans-serif);font-size:24px!important;font-weight:800!important;text-transform:uppercase;color:var(--cs-forest,#1E4D35)!important;padding:2px 0 12px!important;margin:0 0 4px!important;border-bottom:3px solid #F2C230}
  .mobile-menu__column-title::after{content:"Vedi tutto \2192";font-family:var(--cs-font,'Barlow',sans-serif);font-size:12px;font-weight:700;text-transform:none;color:#14201A;background:#F2C230;border-radius:999px;padding:5px 10px}
  .mobile-menu__links-list--lvl-1{margin:0!important;padding:0!important}
  .mobile-menu__links-list--lvl-1 > li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:0!important;padding:0!important;border-bottom:1px solid var(--cs-line,#E3E6E1)}
  .mobile-menu__links-list--lvl-1 > li > a{flex:1 1 auto;padding:13px 0!important;font-size:15.5px;font-weight:600;color:#14201A!important}
  .mobile-menu__links-list--lvl-1 > li > .mobile-menu__subcat-expander{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0!important;border-radius:50%;background:#F2F4F1;color:var(--cs-forest,#1E4D35)}
  .mobile-menu__links-list--lvl-1 > li > ul{flex:0 0 100%;margin:0 0 10px!important;padding:2px 0 0 12px!important;border-left:3px solid #F2C230}
  .mobile-menu__links-list--lvl-1 > li > ul a{display:block;padding:7px 0!important;font-size:14.5px;font-weight:500;color:#5B635D!important}
}
/* v31 - titolo pagine elenco (categoria, marca, novità, offerte, ricerca) come i titoli della home */
#js-product-list-header .page-title,#js-product-list-header h1{font-family:var(--cs-font-display,'Barlow Condensed',sans-serif)!important;font-weight:800!important;text-transform:uppercase;font-size:clamp(28px,3vw,40px)!important;line-height:1.05!important;letter-spacing:.01em;color:#14201A!important;margin:6px 0 18px!important}
/* v33 - titolo anche nelle pagine marca/fornitore/novità/offerte/ricerca */
:is(#category,#manufacturer,#supplier,#search,#new-products,#best-sales,#prices-drop) #main h1.page-title{font-family:var(--cs-font-display,'Barlow Condensed',sans-serif)!important;font-weight:800!important;text-transform:uppercase;font-size:clamp(28px,3vw,40px)!important;line-height:1.05!important;letter-spacing:.01em;color:#14201A!important;margin:6px 0 18px!important}
/* v34 - sottocategorie del menu attaccate alla voce (prima si chiudevano spostando il mouse) */
@media(min-width:992px){
  #cbp-hrmenu .cbp-hrsub .cbp-category-tree > li{width:fit-content;max-width:100%}
  #cbp-hrmenu .cbp-hrsub .cbp-category-tree > li > .cbp-category-link-w{position:relative}
  #cbp-hrmenu .cbp-hrsub .cbp-category-tree > li .cbp-hrsub-level2{left:100%!important;top:-4px!important;margin-left:10px!important}
  #cbp-hrmenu .cbp-hrsub .cbp-category-tree > li .cbp-hrsub-level2::before{content:"";position:absolute;top:0;bottom:0;left:-16px;width:16px}
}
/* v35 - HOME: blocco testo SEO (.cs-seo) con H1 */
.cs-seo.elementor-section{background:#F5F5F2}
.cs-seo .elementor-heading-title{margin-bottom:14px}
.cs-seo .cs-seo__lead{display:inline-block;background:#F2C230;color:#14201A;font-weight:800;font-size:15px;border-radius:999px;padding:7px 16px;margin:4px 0 18px}
.cs-seo .cs-seo__facts{list-style:none;margin:0;padding:0}
.cs-seo .cs-seo__facts li{position:relative;padding:6px 0 6px 30px;font-size:15px;font-weight:600;color:#14201A}
.cs-seo .cs-seo__facts li::before{content:"";position:absolute;left:0;top:7px;width:20px;height:20px;border-radius:50%;background:var(--cs-forest,#1E4D35) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F2C230' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/12px no-repeat}
.cs-seo .elementor-text-editor p{font-size:15.5px;line-height:1.65;margin:0 0 12px}
.cs-seo .elementor-text-editor a{color:var(--cs-forest,#1E4D35);font-weight:700;text-decoration:underline;text-decoration-color:#F2C230;text-decoration-thickness:2px;text-underline-offset:3px}
@media(min-width:768px){.cs-seo .elementor-column:last-child .elementor-text-editor{border-left:3px solid #F2C230;padding-left:28px}}

/* =========================================================
   v36 - SOTTOCATEGORIE A PILLOLE (category-subcategories.tpl)
   ========================================================= */
.cs-subcats{margin:6px 0 18px}
.cs-subcats__list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.cs-subcats__list li{margin:0}
.cs-subcats__chip{display:inline-flex;align-items:center;min-height:42px;padding:9px 18px;border:1.5px solid var(--cs-line,#E3E6E1);border-radius:999px;background:#fff;color:#14201A!important;font-family:var(--cs-font,'Barlow',sans-serif);font-size:15px;font-weight:600;line-height:1.2;text-decoration:none!important;white-space:nowrap;transition:border-color .15s,background .15s,color .15s,box-shadow .15s}
.cs-subcats__chip:hover,.cs-subcats__chip:focus-visible{border-color:var(--cs-forest,#1E4D35);background:var(--cs-forest,#1E4D35);color:#fff!important;box-shadow:0 6px 14px rgba(20,32,26,.14)}
@media(max-width:767.98px){
  .cs-subcats{margin:0 calc(-1 * var(--cs-gutter,16px)) 14px;padding:0 var(--cs-gutter,16px)}
  .cs-subcats__list{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 0 6px;scroll-snap-type:x proximity}
  .cs-subcats__list::-webkit-scrollbar{display:none}
  .cs-subcats__list li{flex:0 0 auto;scroll-snap-align:start}
  .cs-subcats__chip{min-height:40px;padding:8px 15px;font-size:14.5px}
}

/* =========================================================
   v37 - CATEGORIE DELLA MARCA (modulo csbrandcats, pagina marca)
   ========================================================= */
.cs-subcats--brand{margin:4px 0 20px}
.cs-subcats__n{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;margin-left:8px;padding:0 7px;border-radius:999px;background:#F2F4F1;color:var(--cs-forest,#1E4D35);font-size:12.5px;font-weight:700;line-height:1}
.cs-subcats__chip:hover .cs-subcats__n,.cs-subcats__chip:focus-visible .cs-subcats__n{background:#F2C230;color:#14201A}
/* v38 – icona CookieHub (scudo) sopra la barra in basso su mobile */
@media (max-width: 991.98px) {
  .ch2-icon { bottom: calc(var(--cs-bottom-nav-h, 64px) + env(safe-area-inset-bottom) + 12px) !important; left: 12px !important; }
  .page-product .ch2-icon { bottom: calc(var(--cs-bottom-nav-h, 64px) + env(safe-area-inset-bottom) + 178px) !important; }
}
/* v40 – testo copyright/P.IVA nel footer: stesso colore dei link */
#footer-copyrights, #footer-copyrights .copyright-txt, #footer-copyrights .copyright-txt p, #footer-copyrights .copyright-txt a { color: #C3CCC6 !important; }
/* --- v41 Pagina 404 + ricerca senza risultati (.cs-restart) ------------- */
.cs-restart { padding: 8px 0 24px; }
.cs-restart__head { text-align: center; max-width: 760px; margin: 0 auto 32px; }
.cs-restart__eyebrow { display: inline-block; background: var(--cs-forest); color: #fff; font-family: var(--cs-font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 13px; padding: 4px 12px; border-radius: 999px; margin-bottom: 14px; }
.cs-restart__title { font-family: var(--cs-font-display); font-weight: 800; text-transform: uppercase; line-height: 1.02; font-size: clamp(30px, 5vw, 52px); color: var(--cs-ink); margin: 0 0 12px; }
.cs-restart__lead { color: var(--cs-muted); font-size: 17px; margin: 0 0 22px; }
.cs-restart__search { max-width: 560px; margin: 0 auto; }
.cs-restart__search .search-widget, .cs-restart__search form { width: 100%; }
.cs-restart__search input[type="text"], .cs-restart__search input[type="search"] { height: 54px; font-size: 16px; border: 2px solid var(--cs-forest); border-radius: var(--cs-radius); padding-left: 16px; background: #fff; }
.cs-restart__search button[type="submit"] { height: 54px; }

.cs-restart__cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 40px; }
.cs-restart__card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 190px; padding: 18px; border-radius: 14px; overflow: hidden; text-decoration: none !important; background-size: cover; background-position: center; transition: transform .15s ease, box-shadow .15s ease; }
.cs-restart__card:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(20,32,26,.18); }
.cs-restart__card--photo::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,51,35,0) 35%, rgba(18,51,35,.85) 100%); }
.cs-restart__card--yellow { background: var(--cs-yellow); }
.cs-restart__card--orange { background: var(--cs-orange); }
.cs-restart__card-kicker, .cs-restart__card-label { position: relative; }
.cs-restart__card-kicker { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; margin-bottom: 2px; }
.cs-restart__card-label { font-family: var(--cs-font-display); font-weight: 800; text-transform: uppercase; font-size: 26px; line-height: 1; }
.cs-restart__card-label::after { content: " →"; }
.cs-restart__card--photo .cs-restart__card-label, .cs-restart__card--orange .cs-restart__card-label, .cs-restart__card--orange .cs-restart__card-kicker { color: #fff; }
.cs-restart__card--yellow .cs-restart__card-label, .cs-restart__card--yellow .cs-restart__card-kicker { color: var(--cs-forest-dark); }

.cs-restart__new { margin-bottom: 32px; }
.cs-restart__new-head { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 2px solid var(--cs-line); padding-bottom: 10px; margin-bottom: 18px; }
.cs-restart__new-title { font-family: var(--cs-font-display); font-weight: 800; text-transform: uppercase; font-size: 28px; margin: 0; }
.cs-restart__new-all { font-weight: 600; }

.cs-restart__contact { text-align: center; background: var(--cs-ground); border-radius: var(--cs-radius); padding: 18px; margin: 0; font-size: 16px; }
.cs-restart__contact a { font-weight: 700; }

@media (max-width: 991.98px) {
  .cs-restart__cards { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .cs-restart__card { min-height: 130px; padding: 14px; }
  .cs-restart__card-label { font-size: 21px; }
}
@media (max-width: 575.98px) {
  .cs-restart__lead { font-size: 15px; }
  .cs-restart__new-title { font-size: 23px; }
}
/* --- v42 CHECKOUT (body.page-order) -------------------------------------- */
/* testata e footer del sito nascosti: resta la testata semplificata .cs-co-head */
body.page-order #header,
body.page-order #wrapper > .breadcrumb,
body.page-order #wrapper .breadcrumb,
body.page-order #footer-container-main,
body.page-order .cs-bottom-nav,
body.page-order #back-to-top { display: none !important; }
body.page-order #wrapper { padding-top: 0; }

.cs-co-head { background: var(--cs-forest); color: #fff; }
.cs-co-head .container { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 76px; }
.cs-co-head__back { color: #fff !important; opacity: .85; font-weight: 600; white-space: nowrap; flex: 1 1 0; }
.cs-co-head__back:hover { opacity: 1; }
.cs-co-head__logo img { display: block; max-height: 58px; width: auto; height: auto; }
.cs-co-head__info { display: flex; align-items: center; justify-content: flex-end; gap: 18px; flex: 1 1 0; }
.cs-co-head__secure, .cs-co-head__phone { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: #fff !important; white-space: nowrap; }
.cs-co-head__secure svg { color: var(--cs-yellow); }

.cs-checkout .page-title { margin: 22px 0 18px; }

/* passaggi */
.cs-checkout .checkout-step { border: 1px solid var(--cs-line); border-radius: 14px; margin-bottom: 12px; background: #fff; overflow: hidden; }
.cs-checkout .checkout-step .step-title { display: flex; align-items: center; gap: 10px; margin: 0; padding: 16px 18px; font-size: 18px; font-family: var(--cs-font-display); font-weight: 800; text-transform: uppercase; }
.cs-checkout .checkout-step .step-number { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--cs-ground); color: var(--cs-muted); font-size: 15px; flex: 0 0 30px; }
.cs-checkout .checkout-step.-current .step-number { background: var(--cs-forest); color: #fff; }
.cs-checkout .checkout-step.-complete .step-number { background: var(--cs-yellow); color: var(--cs-forest-dark); }
.cs-checkout .checkout-step.-current { border-color: var(--cs-forest); box-shadow: 0 4px 16px rgba(20,32,26,.08); }
.cs-checkout .checkout-step .step-title .done { color: var(--cs-forest); }
.cs-checkout .checkout-step .step-edit { margin-left: auto; font-family: var(--cs-font); text-transform: none; font-size: 14px; font-weight: 600; color: var(--cs-forest) !important; text-decoration: underline; }
.cs-checkout .checkout-step .content { padding: 4px 18px 20px; }
.cs-checkout .checkout-step:not(.-current) .content { padding-top: 0; }

/* campi: bordo visibile, 16px (niente zoom su iPhone) */
.cs-checkout .form-control,
.cs-checkout select.form-control,
.page-authentication .form-control, .page-customer-account .form-control, .page-address .form-control {
  border: 1px solid #C9CFC9 !important; border-radius: 8px; background: #fff; min-height: 46px; font-size: 16px; color: var(--cs-ink);
}
.cs-checkout .form-control:focus,
.page-authentication .form-control:focus, .page-customer-account .form-control:focus, .page-address .form-control:focus { border-color: var(--cs-forest) !important; box-shadow: 0 0 0 3px rgba(30,77,53,.15); }
.cs-checkout .col-form-label { font-weight: 600; }
/* titolo sociale (Sig./Sig.ra) e note di formato nome: superflui */
.cs-checkout .form-group:has(input[name="id_gender"]) { display: none; }
.cs-checkout #customer-form .js-input-column > .form-control-comment { display: none; }
.cs-checkout .form-control-comment { font-size: 13px; }
.cs-invoice-toggle__label { display: flex; align-items: center; gap: 8px; font-weight: 600; cursor: pointer; margin: 0; }
.cs-invoice-toggle__label input { width: 18px; height: 18px; accent-color: var(--cs-forest); }

/* ospite in primo piano */
.cs-checkout #checkout-personal-information-step .nav-inline,
.cs-checkout #checkout-personal-information-step .content > p:first-child { background: var(--cs-ground); border-radius: 10px; padding: 10px 14px; }

/* opzioni di spedizione e pagamento come card */
.cs-checkout .delivery-option,
.cs-checkout .payment-option { border: 2px solid var(--cs-line); border-radius: 12px; padding: 14px 12px; margin: 0 0 10px; background: #fff; cursor: pointer; transition: border-color .15s ease; }
.cs-checkout .delivery-option:has(input:checked),
.cs-checkout .payment-option:has(input:checked) { border-color: var(--cs-forest); background: #F4F8F5; }
.cs-checkout .delivery-option label,
.cs-checkout .payment-option label { cursor: pointer; margin: 0; width: 100%; }
.cs-checkout .delivery-option .carrier-name { font-weight: 700; font-size: 16px; }
.cs-checkout .delivery-option .carrier-delay { color: var(--cs-muted); font-size: 14px; }
.cs-checkout .delivery-option .carrier-price { font-weight: 800; font-size: 17px; color: var(--cs-forest); }
.cs-checkout .delivery-option img { max-width: 52px; height: auto; }
.cs-checkout .payment-option { display: flex; align-items: center; gap: 10px; }
.cs-checkout .payment-option label span { font-weight: 700; font-size: 16px; }
.cs-checkout .additional-information { background: var(--cs-ground); border-radius: 10px; padding: 12px 14px; margin: -4px 0 12px; font-size: 14px; }
.cs-checkout #conditions-to-approve { margin-top: 14px; }
.cs-checkout #conditions-to-approve ul { padding: 0; list-style: none; }

/* pulsanti */
.cs-checkout .checkout-step .btn-primary,
.cs-checkout #payment-confirmation .btn { min-height: 52px; font-size: 17px; font-weight: 800; border-radius: 10px; }

/* colonna destra: riepilogo fisso + fiducia */
@media (min-width: 768px) {
  .cs-checkout__sticky { position: sticky; top: 20px; }
}
.cs-checkout .cart-summary { border-radius: 14px; border: 1px solid var(--cs-line); }
.cs-checkout__aside .cs-freeship { margin: 12px 0 0; }
.cs-co-trust { list-style: none; padding: 14px 16px; margin: 12px 0 0; border: 1px solid var(--cs-line); border-radius: 14px; display: grid; gap: 10px; background: #fff; }
.cs-co-trust li { display: flex; flex-direction: column; padding-left: 26px; position: relative; font-size: 14px; color: var(--cs-muted); }
.cs-co-trust li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 18px; height: 18px; border-radius: 50%; background: var(--cs-forest); color: #fff; font-size: 12px; line-height: 18px; text-align: center; font-weight: 700; }
.cs-co-trust li strong { color: var(--cs-ink); font-size: 15px; }
.cs-co-help { margin: 12px 0 0; font-size: 14px; color: var(--cs-muted); text-align: center; }
.cs-co-help a { font-weight: 700; }

/* MOBILE */
@media (max-width: 767.98px) {
  .cs-co-head .container { min-height: 60px; gap: 10px; }
  .cs-co-head__back span, .cs-co-head__phone span { display: none; }
  .cs-co-head__back { font-size: 26px; line-height: 1; flex: 0 0 auto; }
  .cs-co-head__logo img { max-height: 42px; }
  .cs-co-head__info { gap: 12px; flex: 0 0 auto; }
  .cs-co-head__secure { font-size: 13px; }
  .cs-co-head__phone svg { width: 20px; height: 20px; }
  .cs-checkout .page-title { margin: 14px 0 12px; font-size: 26px; }
  /* riepilogo in alto (prodotti chiusi in "mostra dettagli"), fiducia in fondo */
  .cs-checkout > .row { display: flex; flex-direction: column; }
  .cs-checkout__aside { order: -1; margin-bottom: 12px; }
  .cs-checkout__aside .cs-co-trust, .cs-checkout__aside .cs-co-help { display: none; }
  .cs-checkout .checkout-step .step-title { padding: 14px; font-size: 16px; }
  .cs-checkout .checkout-step .content { padding: 4px 14px 16px; }
  .cs-checkout .col-form-label { padding-bottom: 2px; }
  /* pulsante "Continua" / "Invia l'ordine" sempre a portata di pollice */
  .cs-checkout .checkout-step.-current .form-footer,
  .cs-checkout .checkout-step.-current #payment-confirmation { position: sticky; bottom: 0; z-index: 5; background: #fff; padding: 10px 0 calc(10px + env(safe-area-inset-bottom)); margin-bottom: -16px; box-shadow: 0 -6px 12px rgba(255,255,255,.9); }
  .cs-checkout .delivery-option .row > [class*="col-"] { flex: 0 0 auto; max-width: none; }
  .cs-checkout .delivery-option { display: flex; align-items: flex-start; }
  .cs-checkout .delivery-option > .col-sm-1 { width: auto; padding-right: 6px; }
}
/* v42.1 checkout: numeri passaggi */
.cs-checkout .checkout-step .step-title .step-number { display: inline-flex !important; align-items: center; justify-content: center; text-align: center; line-height: 1; padding: 0 !important; margin: 0 !important; float: none !important; position: static !important; font-family: var(--cs-font-display); font-weight: 800; }
.cs-checkout .checkout-step:not(.-current) .step-title { color: var(--cs-muted); }
/* v42.2 checkout: passaggi compatti, riepilogo compatto su mobile */
.cs-checkout .checkout-step { padding: 0 !important; }
.cs-checkout .checkout-step:not(.-current) .step-title { padding-top: 14px; padding-bottom: 14px; }
@media (max-width: 767.98px) {
  .cs-checkout .page-title { display: none; }
  #js-checkout-summary > .card-body { padding: 12px 14px; }
  #js-checkout-summary .cart-summary-subtotals-container,
  #js-checkout-summary > hr { display: none; }
  #js-checkout-summary .cart-summary-totals { padding: 4px 14px 10px; }
  #js-checkout-summary .cart-total { font-size: 18px; }
  #js-checkout-summary .block-promo { padding: 0 14px 12px; }
  #js-checkout-summary .block-promo .form-control, #js-checkout-summary .block-promo .btn { min-height: 42px; }
  .cs-checkout__aside .cs-freeship { margin-top: 8px; padding: 8px 12px; }
  .cs-checkout .checkout-step .step-title { flex-wrap: nowrap; }
  .cs-checkout .checkout-step .step-edit { font-size: 13px; white-space: nowrap; }
  .cs-checkout .checkout-step:not(.-current) .step-title { padding-top: 10px; padding-bottom: 10px; font-size: 14px; }
  .cs-checkout .checkout-step { margin-bottom: 8px; }
}
/* v42.3 checkout: corrieri su una riga (logo+nome+tempi | prezzo) */
.cs-checkout .checkout-step .step-title { padding-left: 16px !important; padding-right: 16px !important; }
.cs-checkout .delivery-option { display: flex; align-items: center; gap: 10px; }
.cs-checkout .delivery-option > .col-sm-1 { flex: 0 0 auto; width: auto; max-width: none; padding: 0; }
.cs-checkout .delivery-option > label { flex: 1 1 auto; max-width: none; width: auto; padding: 0; }
.cs-checkout .delivery-option label > .row { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; margin: 0; align-items: center; }
.cs-checkout .delivery-option label > .row > div { width: auto; max-width: none; padding: 0; flex: none; }
.cs-checkout .delivery-option label > .row > div:nth-child(1) { grid-column: 1; grid-row: 1; }
.cs-checkout .delivery-option label > .row > div:nth-child(2) { grid-column: 1; grid-row: 2; }
.cs-checkout .delivery-option label > .row > div:nth-child(3) { grid-column: 2; grid-row: 1 / span 2; text-align: right; }
.cs-checkout .delivery-option .carrier-hasLogo { display: flex; align-items: center; gap: 10px; margin: 0; }
.cs-checkout .delivery-option .carrier-hasLogo > div { width: auto; max-width: none; padding: 0; flex: none; }
.cs-checkout .delivery-option .carrier-hasLogo img { width: 40px; max-width: 40px; border-radius: 6px; }
.cs-checkout .delivery-option .carrier-delay { display: block; padding-left: 50px; line-height: 1.35; }
.cs-checkout .delivery-option .carrier-price { white-space: nowrap; }
@media (max-width: 767.98px) {
  .cs-checkout .delivery-option .carrier-delay { padding-left: 0; margin-top: 4px; font-size: 13px; }
  .cs-checkout .delivery-option .carrier-price { font-size: 15px; }
}
/* v42.4 */
.cs-checkout .checkout-step .step-title { margin: 0 !important; }
.cs-checkout .checkout-step.-current .step-title { border-bottom: 1px solid var(--cs-line); }
.cs-checkout .delivery-option, .cs-checkout .delivery-option .carrier-hasLogo { flex-wrap: nowrap !important; }
.cs-checkout .delivery-option > label { min-width: 0; }
/* v42.5 */
.cs-checkout .checkout-step .content { margin: 0 !important; }
.cs-checkout .checkout-step.-current .content { padding: 16px 18px 20px !important; }
@media (max-width: 767.98px) { .cs-checkout .checkout-step.-current .content { padding: 12px 12px 16px !important; } }
@media (max-width: 767.98px) {
  .cs-checkout .delivery-option label > .row { grid-template-columns: 1fr; }
  .cs-checkout .delivery-option label > .row > div:nth-child(3) { grid-column: 1; grid-row: 3; text-align: left; padding-left: 50px; }
  .cs-checkout .delivery-option .carrier-delay { padding-left: 50px; }
}
.cs-checkout .checkout-step { overflow: visible !important; }
/* v42.9 conferma ordine */
.page-order-confirmation #content-hook_payment_return { background: #FFF8E1; border: 2px solid var(--cs-yellow); border-radius: 14px; padding: 16px 18px; margin: 16px 0; }
.page-order-confirmation #content-hook_payment_return dl { display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; margin: 10px 0; }
.page-order-confirmation #content-hook_payment_return dt { font-weight: 700; }
.page-order-confirmation #content-hook_payment_return dd { margin: 0; word-break: break-word; }
.cs-next { border: 1px solid var(--cs-line); border-radius: 14px; padding: 18px 20px; margin: 16px 0; background: #fff; }
.cs-next__title { font-family: var(--cs-font-display); font-weight: 800; text-transform: uppercase; font-size: 22px; margin: 0 0 10px; }
.cs-next__steps { margin: 0; padding-left: 0; list-style: none; counter-reset: csn; display: grid; gap: 10px; }
.cs-next__steps li { counter-increment: csn; position: relative; padding-left: 38px; line-height: 1.45; }
.cs-next__steps li::before { content: counter(csn); position: absolute; left: 0; top: -2px; width: 28px; height: 28px; border-radius: 50%; background: var(--cs-forest); color: #fff; font-weight: 800; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.cs-next__help { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--cs-line); font-size: 14px; color: var(--cs-muted); }
.cs-next__help a { font-weight: 700; }
.page-order-confirmation .mail-sent-info { background: var(--cs-ground); border-radius: 10px; padding: 12px 14px; }
/* --- v43 Pagina CMS "Metodi di pagamento" (.cs-pay) ---------------------- */
.cs-pay { max-width: 1100px; margin: 0 auto; }
.cs-pay__lead { font-size: 17px; color: var(--cs-muted); max-width: 820px; margin: 0 0 24px; }
.cs-pay__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 20px; }
.cs-pay__card { border: 1px solid var(--cs-line); border-radius: 14px; padding: 20px 22px; background: #fff; }
.cs-pay__badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.cs-pay__badge { display: inline-block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 4px 10px; border-radius: 999px; background: var(--cs-ground); color: var(--cs-forest-dark); border: 1px solid var(--cs-line); }
.cs-pay__badge--paypal { background: #003087; color: #fff; border-color: #003087; text-transform: none; }
.cs-pay__badge--alma { background: #FA5022; color: #fff; border-color: #FA5022; text-transform: none; }
.cs-pay__badge--fee { background: var(--cs-yellow); border-color: var(--cs-yellow); }
.cs-pay .cs-pay__title { font-family: var(--cs-font-display); font-weight: 800; text-transform: uppercase; font-size: 22px; line-height: 1.1; margin: 0 0 8px; color: var(--cs-ink); }
.cs-pay__card p { margin: 0 0 10px; }
.cs-pay__card ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.cs-pay__card li { position: relative; padding-left: 24px; font-size: 15px; }
.cs-pay__card li::before { content: "✓"; position: absolute; left: 0; top: 1px; width: 16px; height: 16px; border-radius: 50%; background: var(--cs-forest); color: #fff; font-size: 10px; line-height: 16px; text-align: center; font-weight: 700; }
.cs-pay__bank { display: grid; grid-template-columns: max-content 1fr; gap: 4px 14px; margin: 14px 0 0; padding: 12px 14px; background: #FFF8E1; border: 1px solid var(--cs-yellow); border-radius: 10px; font-size: 15px; }
.cs-pay__bank dt { font-weight: 700; }
.cs-pay__bank dd { margin: 0; word-break: break-word; }
.cs-pay__secure { background: var(--cs-forest); color: #fff; border-radius: 14px; padding: 20px 22px; margin-bottom: 16px; }
.cs-pay__secure .cs-pay__title { color: #fff; }
.cs-pay__secure p { margin: 0; color: #E6EDE8; }
.cs-pay__help { text-align: center; background: var(--cs-ground); border-radius: var(--cs-radius); padding: 16px; margin: 0; }
.cs-pay__help a { font-weight: 700; }
@media (max-width: 767.98px) {
  .cs-pay__grid { grid-template-columns: 1fr; gap: 12px; }
  .cs-pay__card, .cs-pay__secure { padding: 16px; }
  .cs-pay .cs-pay__title { font-size: 20px; }
  .cs-pay__lead { font-size: 15px; }
}
/* --- v44 Pagina CMS "Chi siamo" (.cs-about) ------------------------------ */
.cs-about { max-width: 1100px; margin: 0 auto; }
.cs-about__hero { max-width: 860px; margin-bottom: 22px; }
.cs-about__eyebrow { display: inline-block; background: var(--cs-forest); color: #fff; font-family: var(--cs-font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 13px; padding: 4px 12px; border-radius: 999px; margin-bottom: 12px; }
.cs-about .cs-about__title { font-family: var(--cs-font-display); font-weight: 800; text-transform: uppercase; font-size: clamp(28px, 4vw, 44px); line-height: 1.02; margin: 0 0 12px; color: var(--cs-ink); }
.cs-about__lead { font-size: 17px; color: var(--cs-muted); margin: 0; }
.cs-about__facts { list-style: none; padding: 0; margin: 0 0 24px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.cs-about__facts li { background: var(--cs-ground); border-radius: 14px; padding: 16px; display: flex; flex-direction: column; }
.cs-about__facts strong { font-family: var(--cs-font-display); font-weight: 800; font-size: 30px; line-height: 1; color: var(--cs-forest); text-transform: uppercase; }
.cs-about__facts span { font-size: 14px; color: var(--cs-muted); margin-top: 4px; }
.cs-about__gallery { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 24px; }
.cs-about__gallery figure { margin: 0; position: relative; border-radius: 14px; overflow: hidden; aspect-ratio: 3 / 2; }
.cs-about__gallery img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cs-about__gallery figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 12px 10px; background: linear-gradient(180deg, rgba(18,51,35,0) 0%, rgba(18,51,35,.85) 100%); color: #fff; font-weight: 700; font-size: 14px; }
.cs-about__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
.cs-about__card { border: 1px solid var(--cs-line); border-radius: 14px; padding: 20px 22px; background: #fff; }
.cs-about__card--green { background: var(--cs-forest); border-color: var(--cs-forest); color: #E6EDE8; }
.cs-about__card--green .cs-about__h, .cs-about__card--green strong { color: #fff; }
.cs-about .cs-about__h { font-family: var(--cs-font-display); font-weight: 800; text-transform: uppercase; font-size: 22px; line-height: 1.1; margin: 0 0 10px; color: var(--cs-ink); }
.cs-about__contacts { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; font-size: 16px; }
.cs-about__contacts a { font-weight: 700; }
.cs-about__addr { margin: 0 0 14px; }
.cs-about__btn { display: inline-block; background: var(--cs-yellow); color: var(--cs-forest-dark) !important; font-weight: 800; padding: 10px 18px; border-radius: 10px; text-decoration: none !important; }
.cs-about__btn:hover { filter: brightness(.95); }
.cs-about__cta { text-align: center; margin-bottom: 18px; }
.cs-about__links { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.cs-about__links a { border: 2px solid var(--cs-forest); color: var(--cs-forest) !important; font-weight: 700; padding: 8px 18px; border-radius: 999px; text-decoration: none !important; }
.cs-about__links a:hover { background: var(--cs-forest); color: #fff !important; }
.cs-about__legal { text-align: center; font-size: 13px; color: var(--cs-muted); margin: 0; }
@media (max-width: 991.98px) {
  .cs-about__facts, .cs-about__gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767.98px) {
  .cs-about__cols { grid-template-columns: 1fr; }
  .cs-about__facts strong { font-size: 24px; }
  .cs-about__lead { font-size: 15px; }
  .cs-about__card { padding: 16px; }
}
.cs-about__contacts, .cs-about__contacts li, .cs-about__facts, .cs-about__facts li { list-style: none !important; padding-left: 0; margin-left: 0; }
.cs-about__contacts li::marker { content: none; }.cs-about ul.cs-about__facts, .cs-about ul.cs-about__contacts { padding: 0 !important; margin-left: 0 !important; }
.cs-about ul.cs-about__facts li { padding: 16px !important; }
/* v45 titoli pagina uniformi (CMS, contatti, account, ecc. come le categorie) */
body #main .page-title, body #main .page-title span, body #main h1.page-title { font-family: var(--cs-font-display) !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .01em; line-height: 1; }
body.page-cms #content h2, body.page-cms #content h3 { font-family: var(--cs-font-display); font-weight: 800; text-transform: uppercase; line-height: 1.1; color: var(--cs-ink); }
/* --- v46 Pagine legali (.cs-legal): T&C, recesso, resi, privacy, cookie --- */
.cs-legal { max-width: 860px; margin: 0 auto; font-size: 16px; line-height: 1.65; color: var(--cs-ink); }
.cs-legal__meta { font-size: 13px; color: var(--cs-muted); margin: 0 0 8px; }
.cs-legal__lead { font-size: 17px; color: var(--cs-muted); margin: 0 0 24px; }
.cs-legal p { margin: 0 0 12px; }
.cs-legal ul, .cs-legal ol { margin: 0 0 16px; padding-left: 22px; }
.cs-legal li { margin-bottom: 6px; }
.cs-legal a { font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
body.page-cms #content .cs-legal h2 { font-size: 22px; margin: 32px 0 12px; padding-top: 16px; border-top: 1px solid var(--cs-line); scroll-margin-top: 110px; }
.cs-legal__toc { background: var(--cs-ground); border-radius: 14px; padding: 16px 20px; margin: 0 0 8px; }
.cs-legal__toc-title, .cs-legal__box-title { font-family: var(--cs-font-display); font-weight: 800; text-transform: uppercase; font-size: 16px; margin: 0 0 8px !important; }
.cs-legal__toc ol { columns: 2; column-gap: 28px; margin: 0; }
.cs-legal__toc li { break-inside: avoid; margin-bottom: 4px; }
.cs-legal__toc a { font-weight: 500; text-decoration: none; }
.cs-legal__box { background: #FFF8E1; border: 1px solid var(--cs-yellow); border-radius: 14px; padding: 16px 20px; margin: 0 0 8px; }
.cs-legal__box ul { margin: 0; }
.cs-legal__table { overflow-x: auto; margin: 0 0 16px; -webkit-overflow-scrolling: touch; }
.cs-legal table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 520px; }
.cs-legal th, .cs-legal td { border: 1px solid var(--cs-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.cs-legal th { background: var(--cs-ground); font-weight: 700; }
.cs-legal__btn { display: inline-block; background: var(--cs-forest); color: #fff !important; text-decoration: none !important; font-weight: 700; padding: 12px 20px; border-radius: var(--cs-radius); }
.cs-legal__btn:hover { background: var(--cs-forest-dark); }
.cs-legal__form { border: 2px dashed var(--cs-line); border-radius: 14px; padding: 20px 22px; background: #fff; }
.cs-legal__line { border-bottom: 1px solid var(--cs-muted); min-height: 28px; margin-bottom: 16px !important; }
.cs-legal__field { display: inline-block; min-width: 220px; border-bottom: 1px solid var(--cs-muted); height: 1.2em; vertical-align: bottom; }
.cs-legal__note { font-size: 13px; color: var(--cs-muted); }
.cs-legal__help { text-align: center; background: var(--cs-ground); border-radius: var(--cs-radius); padding: 16px; margin-top: 24px !important; }
.cs-legal .cookiehub-declaration { font-size: 14px; overflow-x: auto; }
.cs-legal .cookiehub-declaration table { min-width: 600px; }
@media (max-width: 767.98px) {
  .cs-legal { font-size: 15px; }
  .cs-legal__lead { font-size: 15px; }
  .cs-legal__toc ol { columns: 1; }
  body.page-cms #content .cs-legal h2 { font-size: 20px; }
  .cs-legal__field { min-width: 140px; }
}
@media print {
  #header, #footer, .breadcrumb, .cs-legal__toc, .ch2-container, .ch2-icon { display: none !important; }
}
/* v46.1 consensi GDPR leggibili nel footer scuro */
#footer .psgdpr_consent_message, #footer .psgdpr_consent_message span { color: #D5DED9 !important; font-size: 13px; }
#footer .psgdpr_consent_message a { color: #fff !important; text-decoration: underline; }
/* v46.2 Contatti: blocco "Vieni a trovarci" al posto dell'iframe Google Maps */
#iqitcontactpage-map.cs-map { display: grid; grid-template-columns: 1.1fr 1fr; min-height: 260px; border-radius: 14px; overflow: hidden; background: var(--cs-forest); margin-bottom: 24px; }
.cs-map__media { background-size: cover; background-position: center; min-height: 220px; }
.cs-map__body { padding: 28px; color: #fff; display: flex; flex-direction: column; justify-content: center; }
.cs-map__eyebrow { align-self: flex-start; background: var(--cs-yellow); color: var(--cs-forest-dark); font-family: var(--cs-font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 13px; padding: 4px 12px; border-radius: 999px; margin-bottom: 12px; }
.cs-map__title { font-family: var(--cs-font-display); font-weight: 800; text-transform: uppercase; font-size: clamp(26px, 3vw, 36px); line-height: 1.02; margin: 0 0 10px; color: #fff; }
.cs-map__addr { margin: 0 0 18px; color: #E6EDE8; font-size: 16px; }
.cs-map__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.cs-map__btn { display: inline-block; background: var(--cs-yellow); color: var(--cs-forest-dark) !important; font-weight: 700; padding: 12px 18px; border-radius: var(--cs-radius); text-decoration: none !important; }
.cs-map__btn--ghost { background: transparent; color: #fff !important; border: 2px solid rgba(255,255,255,.7); }
.cs-map__btn:hover { filter: brightness(.95); }
@media (max-width: 767.98px) { #iqitcontactpage-map.cs-map { grid-template-columns: 1fr; } .cs-map__media { min-height: 170px; } .cs-map__body { padding: 20px; } }
/* v46.3 Sconti per quantità a riquadri (.cs-qd) */
.cs-qd { margin: 4px 0 6px; }
.cs-qd__title { font-family: var(--cs-font-display); font-weight: 800; text-transform: uppercase; font-size: 18px; margin: 0 0 8px; color: var(--cs-ink); }
.cs-qd__tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 8px; }
.cs-qd__tile { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; padding: 12px 12px 10px; border: 2px solid var(--cs-line); border-radius: 12px; background: #fff; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease; font: inherit; color: var(--cs-ink); }
.cs-qd__tile:hover, .cs-qd__tile:focus-visible { border-color: var(--cs-forest); box-shadow: 0 4px 12px rgba(20,32,26,.10); outline: none; }
.cs-qd__tile--deal { border-color: var(--cs-yellow); background: #FFFBEA; }
.cs-qd__badge { position: absolute; top: -10px; right: 10px; background: var(--cs-orange); color: #fff; font-weight: 800; font-size: 13px; line-height: 1; padding: 5px 8px; border-radius: 999px; }
.cs-qd__qty { font-family: var(--cs-font-display); font-weight: 800; text-transform: uppercase; font-size: 16px; }
.cs-qd__price { font-weight: 800; font-size: 18px; color: var(--cs-forest-dark); }
.cs-qd__price small { font-weight: 600; font-size: 12px; color: var(--cs-muted); }
.cs-qd__note { font-size: 12px; color: var(--cs-muted); }
.cs-qd__hint { font-size: 13px; color: var(--cs-muted); margin: 8px 0 0; }
/* v46.4 Menu: etichetta "Fai scorta" gialla */
a[href*="fai-scorta"] .cbp-legend { background: #123323 !important; color: #F2C230 !important; font-weight: 700; }
a[href*="fai-scorta"] .cbp-legend::after, a[href*="fai-scorta"] .cbp-legend::before { border-top-color: #123323 !important; }
/* v46.5 Menu mobile: etichetta "Fai scorta" gialla */
a[href*="fai-scorta"] .mobile-menu__legend { background: #123323 !important; color: #F2C230 !important; font-weight: 700; }