/* poppins-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Poppins";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/poppins-v24-latin-300.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Poppins";
  font-style: italic;
  font-weight: 300;
  src: url("../fonts/poppins-v24-latin-300italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/poppins-v24-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Poppins";
  font-style: italic;
  font-weight: 400;
  src: url("../fonts/poppins-v24-latin-italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/poppins-v24-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Poppins";
  font-style: italic;
  font-weight: 500;
  src: url("../fonts/poppins-v24-latin-500italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/poppins-v24-latin-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Poppins";
  font-style: italic;
  font-weight: 600;
  src: url("../fonts/poppins-v24-latin-600italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/poppins-v24-latin-700.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* poppins-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Poppins";
  font-style: italic;
  font-weight: 700;
  src: url("../fonts/poppins-v24-latin-700italic.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* questrial-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Questrial";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/questrial-v19-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
  --verde-chiaro: #004d45;
  --verde-scuro: #00312c;
  --giallo: #f4bb3b;
  --giallo-chiaro: #fdf4e3;
  --grigio: #dde6e0;
  --nero: #111111;
  --bianco: #fff;
  --bs-primary: var(--verde-scuro);
  --lightgrey: #f6f6f6;
  --salvia: rgb(223, 230, 224);
  --bs-border-radius: 0;
  /* Link Bootstrap: dal blu di default al verde della palette */
  --bs-link-color: var(--verde-scuro);
  --bs-link-hover-color: var(--verde-chiaro);
  --bs-link-color-rgb: 0, 49, 44; /* verde-scuro */
  --bs-link-hover-color-rgb: 0, 77, 69; /* verde-chiaro */
}
body {
  font-family: "Poppins";
}
@layer bs-components {
  .btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--verde-scuro);
    --bs-btn-border-color: var(--verde-scuro);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--verde-chiaro);
    --bs-btn-hover-border-color: var(--verde-chiaro);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--verde-chiaro);
    --bs-btn-active-border-color: var(--verde-chiaro);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--verde-scuro);
    --bs-btn-disabled-border-color: var(--verde-scuro);
  }
}
@layer bs-components {
  .btn-outline-primary {
    --bs-btn-color: var(--verde-scuro);
    --bs-btn-border-color: var(--verde-scuro);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--verde-scuro);
    --bs-btn-hover-border-color: var(--verde-scuro);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--verde-scuro);
    --bs-btn-active-border-color: var(--verde-scuro);
    --bs-btn-focus-shadow-rgb: 0, 49, 44;
  }
}
@layer ps-components {
  @media (min-width: 768px) {
    .header-block--active .header-block,
    .header-block--active .header-block__icon {
      color: var(--bianco);
    }
  }
}
@layer ps-components {
  @media (min-width: 768px) {
    .header-block__badge {
      color: var(--verde-scuro);
    }
  }
}
@layer bs-components {
  .accordion-button:not(.collapsed) {
    color: var(--verde-chiaro);
  }
}
.header-top {
  background: var(--verde-chiaro);
  color: var(--bianco);
}
.header-top a {
  color: var(--bianco);
}
@layer ps-base {
  @media (min-width: 768px) {
    .header-bottom .navbar-brand .logo {
      max-width: 260px;
    }
  }
}
.header-bottom .navbar-brand .logo {
  width: 260px;
  height: auto;
}
@layer bs-base {
  a {
    color: var(--verde-scuro);
  }
}
@layer utilities {
  .page-product #product-comments-list.has-comments:empty::before,
  .text-primary-emphasis {
    color: var(--verde-chiaro) !important;
  }
}
/*.Menu fix */
@layer ps-base {
  .header-bottom .navbar-brand {
    max-height: none;
    max-width: none;
  }
}
@layer ps-base {
  .header-bottom .navbar-brand .logo {
    max-height: none;
  }
}
@layer ps-base {
  .header-bottom {
    padding: 0.5rem 0;
  }
}

/* ===== Modulo odpcategoryhome (categorie in home) ===== */
.odp-cat {
  display: block;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: box-shadow 0.25s ease;
}
/* Hover del blocco: ombra su tutta la card + hover del bottone interno */
.odp-cat:hover {
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.25);
}
.odp-cat:hover .btn-primary {
  --bs-btn-bg: var(--verde-chiaro);
  --bs-btn-border-color: var(--verde-chiaro);
}
.odp-cat--square {
  aspect-ratio: 1 / 1;
}
.odp-cat--16x9 {
  aspect-ratio: 16 / 9;
}
.odp-cat--4x3 {
  aspect-ratio: 4 / 3;
}
.odp-cat__overlay {
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.55) 0%,
    rgba(0, 0, 0, 0.15) 40%,
    rgba(0, 0, 0, 0) 70%
  );
}
.odp-cat__title {
  color: var(--giallo);
  line-height: 1.05;
}
/* Gerarchia dimensioni titolo per tipo di riga */
.odp-cat-row--hero .odp-cat__title {
  font-size: 3.75rem; /* 60px */
}
.odp-cat-row--medium .odp-cat__title {
  font-size: 3rem; /* 48px */
}
.odp-cat-row--small .odp-cat__title {
  font-size: 2.25rem; /* 36px */
}
.odp-cat__subtitle {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.875rem; /* 30px */
}
.odp-cat .btn {
  font-size: 1.5rem; /* 24px */
  font-weight: 600; /* Poppins semibold */
  padding: 0.6em 1.4em; /* proporzionale al font, come da bozza */
}
.odp-cat .btn .material-icons {
  transform: rotate(-45deg); /* freccia orizzontale -> ↗ */
}

/* Riduzione dimensioni sui box categoria in mobile */
@media (max-width: 767.98px) {
  .odp-cat-row--hero .odp-cat__title {
    font-size: 2.5rem; /* 40px */
  }
  .odp-cat-row--medium .odp-cat__title {
    font-size: 2rem; /* 32px */
  }
  .odp-cat-row--small .odp-cat__title {
    font-size: 1.75rem; /* 28px */
  }
  .odp-cat__subtitle {
    font-size: 1.25rem; /* 20px */
  }
  .odp-cat .btn {
    font-size: 1.125rem; /* 18px */
  }
}

/* ===== Sezione testo istituzionale (.ps-customtext) ===== */
.ps-customtext {
  text-align: center;
  padding: 3rem 0;
}
.ps-customtext .pretitle {
  font-family: "Questrial", sans-serif;
  font-size: 1.5rem; /* 24px */
  color: var(--verde-chiaro);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-bottom: 0.5rem;
}
.ps-customtext h2 {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 2.25rem; /* 36px */
  color: var(--nero);
  margin-bottom: 1.5rem;
}
.ps-customtext p {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem; /* 16px */
  color: var(--nero);
  line-height: 1.9;
  max-width: 60rem;
  margin: 0 auto;
}

/* ===== Blocco prodotti in vetrina (.ps-featuredproducts) ===== */
.ps-featuredproducts {
  background: var(--lightgrey);
  padding: 3rem 0;
}
/* Intestazione */
.ps-featuredproducts__heading {
  text-align: center;
  margin-bottom: 2.5rem;
}
.ps-featuredproducts__pretitle {
  font-family: "Poppins", sans-serif;
  font-size: 1rem; /* 16px */
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--nero);
  margin-bottom: 0.25rem;
}
.ps-featuredproducts .section-title {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 2.25rem; /* 36px */
  color: var(--nero);
  margin: 0;
}
/* Griglia vetrina home: 3 colonne desktop, 2 tablet, 1 mobile */
.ps-featuredproducts .products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
@media (max-width: 991.98px) {
  .ps-featuredproducts .products {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 575.98px) {
  .ps-featuredproducts .products {
    grid-template-columns: 1fr;
  }
}

/* ===== Card prodotto (miniature): vetrina home + liste categoria/ricerca ===== */
.product-miniature__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--bianco);
  border: 1px solid var(--grigio);
  border-radius: 0;
  /* shadow-sm di base su tutta la card (immagine + testo) */
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  transition: box-shadow 0.25s ease;
}
/* Hover: ombra più marcata (home + categoria) */
.product-miniature:hover .product-miniature__inner {
  box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.18);
}
.product-miniature__top {
  position: relative;
  border-radius: 0;
}
.product-miniature__image-container {
  background: var(--bianco);
  padding: 0; /* niente cornice bianca (no effetto polaroid) */
  border: 1px solid var(--grigio); /* bordino verdino 1px attorno all'immagine */
  border-radius: 0;
}
.product-miniature__image-link,
.product-miniature__image-link.outline--rounded {
  display: block;
  border-radius: 0;
  overflow: hidden;
}
.product-miniature__image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  object-fit: contain;
}
/* Disattiva l'effetto zoom in hover */
.product-miniature__image,
.product-miniature__image-link,
.product-miniature:hover .product-miniature__image,
.product-miniature:hover .product-miniature__image-link {
  transform: none !important;
  transition: none !important;
}

/* Footer info: fondo grigio attaccato all'immagine, testo centrato */
.product-miniature__bottom {
  background: var(--grigio);
  margin: 0;
  padding: 0.85rem 1rem 1rem;
  text-align: center;
}
.product-miniature__title {
  display: block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1rem; /* 16px */
  font-weight: 400;
  color: var(--nero);
  text-decoration: none;
  margin: 0;
}
.product-miniature__prices {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.1rem;
  margin: 0;
}
.product-miniature__price {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.125rem; /* 18px */
  font-weight: 700;
  color: var(--nero);
}
.product-miniature__regular-price {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
  font-weight: 400;
  text-decoration: line-through;
  color: #8a8f8c;
}

/* Cuore wishlist in alto a destra (verde scuro, icona bianca) */
.product-miniature__wishlist {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}
.product-miniature__wishlist .wishlist-button,
.product-miniature__wishlist button {
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: var(--verde-scuro);
  color: var(--bianco);
  cursor: pointer;
}
.product-miniature__wishlist svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

/* Link "Tutti i prodotti" in basso a destra */
.ps-featuredproducts .module-products__buttons {
  margin-top: 1.5rem;
  display: flex;
  justify-content: flex-end;
}
.ps-featuredproducts__all {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 1rem; /* 16px */
  color: var(--nero);
  text-decoration: none;
}
.ps-featuredproducts__all .material-icons {
  transform: rotate(-45deg); /* freccia orizzontale -> ↗ */
}
.ps-featuredproducts__all:hover {
  color: var(--verde-scuro);
}

/* ===== Blocco media + testo (.odp-media) ===== */
/* Annulla il gap (2.5rem) della griglia home tra questo blocco e il precedente */
.page-content--home .odp-media {
  margin-top: -2.5rem;
}
/* Sfondo verde scuro a tutta larghezza; il contenuto resta nel .container */
.odp-media {
  background: var(--verde-chiaro);
}
.odp-media__grid {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .odp-media__grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* Colonna media */
.odp-media__media {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
@media (min-width: 768px) {
  .odp-media__media {
    aspect-ratio: auto; /* su desktop si allunga all'altezza del pannello */
  }
}
.odp-media__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.odp-media__play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 5rem;
  height: 5rem;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
  color: var(--bianco);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s ease;
}
.odp-media__play:hover {
  background: rgba(255, 255, 255, 0.55);
}
.odp-media__play .material-icons {
  font-size: 2.75rem;
}

/* Colonna testo (pannello verde) */
.odp-media__panel {
  background: var(--verde-chiaro);
  color: var(--bianco);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3.5rem 3rem;
}
.odp-media__frame {
  position: relative;
  width: 100%;
  max-width: 34rem;
  border: 1px solid rgba(255, 255, 255, 0.6);
  padding: 2.5rem 2.5rem 2.25rem;
  text-align: center;
  margin-bottom: 3rem;
}
.odp-media__lead {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 1.5rem; /* 24px */
  line-height: 1.4;
  margin: 0;
}
.odp-media__frame-title {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
  background: var(--verde-chiaro); /* maschera il bordo dietro il titolo */
  padding: 0 1rem;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 2.25rem; /* 36px */
  text-transform: uppercase;
  white-space: nowrap;
}
.odp-media__btn {
  font-family: "Poppins", sans-serif;
  font-weight: 600; /* semibold */
  font-size: 1rem; /* 16px */
}
.odp-media__btn .material-icons {
  transform: rotate(-45deg); /* freccia -> ↗ */
}

/* ===== Blocco rassicurazioni (blockreassurance, widget in home) ===== */
#block-reassurance .odp-reassurance__list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
#block-reassurance .odp-reassurance__item {
  flex: 1 1 0;
  min-width: 15rem;
}
#block-reassurance .odp-reassurance__inner {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  text-decoration: none;
  color: inherit;
}
/* Icona oro dentro quadrato giallo chiaro */
#block-reassurance .odp-reassurance__icon {
  flex: 0 0 auto;
  width: 3.5rem;
  height: 3.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--giallo-chiaro);
  border-radius: 0.5rem;
}
#block-reassurance .odp-reassurance__icon::before {
  content: "";
  width: 2.25rem;
  height: 2.25rem;
  background-color: var(--giallo); /* colore icona (oro) */
  -webkit-mask: var(--icon) center / contain no-repeat;
  mask: var(--icon) center / contain no-repeat;
}
/* Testo */
#block-reassurance .odp-reassurance__content {
  text-align: left;
}
#block-reassurance .odp-reassurance__title {
  display: block;
  font-family: "Poppins", sans-serif;
  font-weight: 600; /* semibold */
  font-size: 1rem; /* 16px */
  text-transform: uppercase;
  color: var(--nero);
  margin-bottom: 0.35rem;
}
#block-reassurance .odp-reassurance__desc {
  display: block;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: 1rem; /* 16px */
  line-height: 1.4;
  color: var(--nero);
}

/* ===== Blocco newsletter (.odp-newsletter) ===== */
.odp-newsletter__grid {
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .odp-newsletter__grid {
    grid-template-columns: 2fr 3fr; /* immagine più stretta del testo */
  }
}
.odp-newsletter__media {
  position: relative;
  aspect-ratio: 16 / 9; /* mobile: dà un'altezza al media impilato */
  overflow: hidden;
}
@media (min-width: 768px) {
  .odp-newsletter__media {
    aspect-ratio: auto; /* desktop: altezza dettata dalla riga (colonna testo) */
  }
}
/* Immagine fuori dal flusso: non detta l'altezza, la subisce (cover) */
.odp-newsletter__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.odp-newsletter__panel {
  background: var(--salvia);
  color: var(--nero);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 3rem;
}
.odp-newsletter__icon {
  color: var(--verde-scuro);
  font-size: 2.5rem;
  margin-bottom: 1rem;
}
.odp-newsletter__title {
  font-family: "Questrial", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 2.25rem; /* 36px */
  color: var(--nero);
  margin: 0 0 0.5rem;
}
.odp-newsletter__subtitle {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 400;
  font-size: 1.5rem; /* 24px */
  color: var(--nero);
  margin: 0 0 1.75rem;
}
.odp-newsletter__btn {
  font-family: "Poppins", sans-serif;
  font-weight: 600; /* semibold */
  font-size: 1rem; /* 16px */
}
.odp-newsletter__btn .material-icons {
  transform: rotate(-45deg); /* freccia -> ↗ */
}

/* ===== Blocco embed / iframe (.odp-embed) ===== */
.odp-embed iframe,
.odp-embed img,
.odp-embed video {
  max-width: 100%;
}

/* ===== Footer (verde) ===== */
.footer__main {
  background: var(--verde-chiaro);
  color: var(--bianco);
  padding: 3.5rem 0 2rem;
}
.footer__main a {
  color: var(--bianco);
}
.footer__main a:hover {
  color: var(--giallo);
}
/* Titoli dei blocchi footer */
.footer__main h1,
.footer__main h2,
.footer__main h3,
.footer__main h4,
.footer__main .h1,
.footer__main .h2,
.footer__main .h3,
.footer__main [class*="title"] {
  color: var(--bianco);
  font-weight: 700;
}
/* Newsletter: input chiaro, testo scuro */
.footer__main .block_newsletter .form-control {
  background: var(--bianco);
  color: var(--nero);
  border: 0;
  border-radius: 0;
}
.footer__main .block_newsletter .form-control::placeholder {
  color: #6b6b6b;
}
.footer__main .block_newsletter .btn {
  border-radius: 0;
}
/* Icone social: quadrati bianchi con icona verde */
.footer__main .social-networks a,
.footer__main .ps-social-follow a {
  color: var(--verde-chiaro);
  background: var(--bianco);
}

/* ===== Header / menu ===== */
/* Barra superiore: testo bianco, font Questrial */
.header-top {
  font-family: "Questrial", sans-serif;
  font-size: 1rem; /* 16px */
}
.header-top,
.header-top a,
.header-top .header-block__title,
.header-top .header-block__icon {
  color: var(--bianco);
}
.header-top a:hover,
.header-top .header-block:hover .header-block__title,
.header-top .header-block:hover .header-block__icon {
  color: var(--giallo);
}
/* Allineamento contenuti a destra del pre-header (lente + accedi + carrello) */
.header-top__right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1.25rem;
}
/* Carrello evidenziato in verde scuro, a tutta altezza della barra.
   Il margine negativo compensa il padding .25rem di .header-top. */
.header-top .ps-shoppingcart .header-block {
  background: var(--verde-scuro);
  display: flex;
  align-items: center;
  align-self: stretch;
  padding: 0.5rem 1.25rem;
}
.header-top .ps-shoppingcart .header-block__action-btn {
  padding: 0;
}
@layer ps-base {
  .header-top {
    padding: 0;
  }
}
/* Messaggio promo centrale nel pre-header */
.header-top .container-md {
  position: relative;
}
.header-top__promo {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
  font-family: "Poppins", sans-serif;
  font-weight: 600; /* semibold */
  font-size: 1rem; /* 16px */
  color: var(--bianco);
  white-space: nowrap;
  pointer-events: none; /* non blocca i click su lente/accedi/carrello */
}
/* Pulsante lente nel pre-header */
.odp-search-toggle {
  background: transparent;
  border: 0;
  padding: 0;
  color: var(--bianco);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}
.odp-search-toggle:hover {
  color: var(--giallo);
}
@layer ps-modules {
  .ps-searchbar__dropdown {
    max-width: 100%;
  }
}
/* Menu principale: UPPERCASE, Poppins semibold, verde scuro */
#top-menu .ps-mainmenu__tree-link {
  text-transform: uppercase;
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  font-size: 1rem; /* 16px */
  color: var(--verde-scuro);
}
#top-menu .ps-mainmenu__tree-link:hover {
  color: var(--verde-chiaro);
}
/* Link nei dropdown/sottomenu: verde (non blu di default) */
.ps-mainmenu .submenu a,
.ps-mainmenu .submenu__left-item,
.ps-mainmenu .submenu__right a {
  color: var(--verde-scuro);
}
.ps-mainmenu .submenu a:hover,
.ps-mainmenu .submenu__left-item:hover,
.ps-mainmenu .submenu__left-item:focus,
.ps-mainmenu .submenu__left-item[aria-selected="true"] {
  color: var(--verde-chiaro);
}

/* Tendine compatte (stile dropdown) invece del mega-menu a tutta pagina */
/* La voce non deve stirarsi a tutta l'altezza della fascia, altrimenti
   top:100% del submenu cade troppo in basso (staccato) e l'hover si perde. */
.ps-mainmenu__desktop .ps-mainmenu__tree {
  align-items: center;
}
.ps-mainmenu__desktop .ps-mainmenu__tree-item {
  position: relative;
  align-self: center;
}
.ps-mainmenu__desktop .submenu {
  right: auto; /* niente più stiramento a tutta pagina */
  width: max-content;
  min-width: 12rem;
  max-width: 90vw;
}
.ps-mainmenu__desktop .submenu .container {
  width: auto;
  max-width: none;
  padding: 0;
  margin: 0;
}
.ps-mainmenu__desktop .submenu__row {
  display: block;
  margin: 0;
}
.ps-mainmenu__desktop .submenu__left {
  width: auto;
  border-right: 0;
  padding: 0.5rem;
}
.ps-mainmenu__desktop .submenu__right {
  display: none; /* colonna "mega" (vuota) nascosta */
}

/* Selettore lingua (se mostrato in header) stile "grigio btn" */
#_desktop_ps_languageselector .dropdown-toggle,
.header-bottom .ps-languageselector .dropdown-toggle {
  background: var(--grigio);
  color: var(--verde-scuro);
  border: 0;
  border-radius: 0;
  padding: 0.35rem 0.75rem;
  text-transform: uppercase;
}

/* Pannello a tendina della ricerca nel pre-header */
.odp-search-panel {
  background: var(--bianco);
  border-top: 1px solid var(--grigio);
  box-shadow: 0 0.5rem 0.75rem rgba(0, 0, 0, 0.06);
  padding: 1rem 0;
}
/* Dentro il pannello la barra occupa tutta la larghezza */
.odp-search-panel #_desktop_ps_searchbar {
  width: 100%;
  display: flex !important;
}
.odp-search-panel .ps-searchbar,
.odp-search-panel .ps-searchbar__form,
.odp-search-panel .ps-searchbar__input {
  width: 100%;
}

/* ===== Filtri/sidebar in offcanvas (pagine listing) ===== */
/* Mostra il pulsante "Filtra" anche in desktop (il tema lo nasconde da 768px) */
.products__filter-button {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  flex: 0 0 auto;
}
/* Stile pulsante filtri: outline con il grigio del tema (testo verde scuro) */
.odp-filter-btn {
  --bs-btn-color: var(--verde-scuro);
  --bs-btn-bg: var(--bianco);
  --bs-btn-border-color: var(--grigio);
  --bs-btn-hover-color: var(--verde-scuro);
  --bs-btn-hover-bg: var(--grigio);
  --bs-btn-hover-border-color: var(--grigio);
  --bs-btn-active-color: var(--verde-scuro);
  --bs-btn-active-bg: var(--grigio);
  --bs-btn-active-border-color: var(--grigio);
}
/* Larghezza dell'offcanvas dei filtri */
.odp-filters-offcanvas {
  --bs-offcanvas-width: 22rem;
}
.odp-filters-offcanvas .offcanvas-title {
  color: var(--verde-scuro);
}

/* ===== Vista categoria ===== */
/* Sfondo light-grey della pagina categoria */
body#category #wrapper {
  background: var(--lightgrey);
}
/* Il banner parte in alto senza spazio sopra */
body#category .columns-container,
body#category #center-column {
  padding-top: 0;
}
body#category .breadcrumb__wrapper {
  margin-bottom: 0;
}
body#category #js-product-list-header {
  margin-top: 0;
}

/* ===== Testata categoria (banner) ===== */
.category__banner {
  position: relative;
  display: flex;
  align-items: center; /* titolo centrato verticalmente */
  min-height: 300px;
  margin-bottom: 1.5rem;
  overflow: hidden;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
  /* Reso fuori dal container nel layout: pieno naturale, senza 100vw */
  width: 100%;
}
.category__banner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    to right,
    rgba(0, 0, 0, 0.6) 0%,
    rgba(0, 0, 0, 0.2) 45%,
    rgba(0, 0, 0, 0) 75%
  );
}
/* .container (nel template) ricentra il titolo nella larghezza del contenuto */
.category__banner-inner {
  position: relative;
  z-index: 2;
  width: 100%;
}
.category__banner-title {
  margin: 0;
  color: var(--giallo);
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1.05;
  font-size: clamp(2rem, 5vw, 3.5rem);
}

/* Descrizione categoria: spaziatura sotto (mb-5) */
.page-category .category__description {
  margin-top: 2rem;
  margin-bottom: 3rem;
}
/* Titoli dentro le descrizioni: peso normale */
.category__description :is(h1, h2, h3, h4, h5, h6),
.rich-text :is(h1, h2, h3, h4, h5, h6) {
  font-weight: 300;
}

/* ===== Focus/stati coerenti col verde della palette ===== */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
  border-color: var(--verde-chiaro);
  box-shadow: 0 0 0 0.2rem rgba(0, 77, 69, 0.25);
}
.form-check-input:checked {
  background-color: var(--verde-scuro);
  border-color: var(--verde-scuro);
}

/* Icone rassicurazioni (scheda prodotto/header/footer): oro del brand, non blu */
.reassurance__image svg {
  fill: var(--giallo);
}
.reassurance__image svg [fill]:not([fill="none"]) {
  fill: var(--giallo);
}
.reassurance__image svg [stroke]:not([stroke="none"]) {
  stroke: var(--giallo);
}

/* Paginazione: verde della palette (focus/hover/attivo) */
.pagination {
  --bs-pagination-color: var(--verde-scuro);
  --bs-pagination-hover-color: var(--verde-scuro);
  --bs-pagination-hover-bg: var(--grigio);
  --bs-pagination-hover-border-color: var(--grigio);
  --bs-pagination-focus-color: var(--verde-scuro);
  --bs-pagination-focus-bg: var(--grigio);
  --bs-pagination-focus-box-shadow: 0 0 0 0.2rem rgba(0, 77, 69, 0.25);
  --bs-pagination-active-bg: var(--verde-scuro);
  --bs-pagination-active-border-color: var(--verde-scuro);
  --bs-pagination-active-color: var(--bianco);
}

/* ===== Bottone WhatsApp fisso (modulo odpwhatsapp) ===== */
/* L'SVG include già cerchio verde, logo e ombra: qui solo posizione e misura */
.odp-whatsapp {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 1030;
  display: block;
  width: 4.75rem;
  transition: transform 0.2s ease;
}
.odp-whatsapp:hover,
.odp-whatsapp:focus {
  transform: scale(1.06);
}
.odp-whatsapp svg {
  width: 100%;
  height: 100%;
  display: block;
}
.subcategory {
  margin-bottom: 2.5rem;
}
.subcategory__link--with-image {
  background-color: var(--bianco);
}
