/*
Theme Name: Cericola
Author: AlfaPi - Serena
Description: tema per Oleificio Cericola
Version:1.0
*/

/* 
01 - MAIN MENU 
02 - BREADCRUMB 
03 - HOME 
03-A - Box hero
03-B - Box valori 
03-C - Box categorie hp 
03-D - Prodotti in evidenza hp 
03-E - Box intro (azienda + denocciolatura) 
03-F - Box citazione
04 - SERVIZI HP 
05 - BLOG HP (usato anche per i correlati nel dettaglio prodotto) 
06 - PAGINAZIONE BLOG 
07 - DETTAGLIO BLOG 
08 - PAGE 
09 - BLOCCHI THEME OPTION  
10 - WOOCOMMERCE 
10-A - Menu laterale base 
10-B - Sottomenu 
10-C - Guida olio 
10-D -Intestazione categorie prodotto + seo categorie 
10-E - Aggiungi al carrello 
10F - Variazioni 
10G - Spedizione 
10H - Checkout 
10I - Cassa 
11 - PRODOTTI 
12 - POP UP avvisami esaurito 
13 - PAGINAZIONE WOO 
14 - PRODOTTO SINGOLO 
15 - TAB PRODOTTO 
16 - CARRELLO 
17 - VIDEO HP 
18 - PRE FOOTER 
19 - FOOTER 
20 - RICERCA (form) 
21 - RICERCA (pagina risultati) 
22 - PAGINA WISHLIST 
23 - MODULI
*/

/* VARIABILI */
:root {
  --font-1: 'Outfit';
  --bg-body: #F3F3F3;
  --bg-menu: #fff;
  --text-color: #525252;
  --color-btn: #3D3B36;
  --colore-1: #8B5745;
  --colore-1-hover: #723E2C;
  --colore-2: #71A133;
  --colore-3: #BB6C5D;
  --colore-4: #5D5A55;
  --colore-5: #ABA397;
  --colore-6: #706D66;
  --colore-7: #60747D;
  --colore-8: #BEB8AF;
  --colore-9: #f4f4f4;
  --rosso-text: #B62731;
  --rosso-bg: #F2ECED;
  --aroma: #928879;
  --data-post: #9A938A;
  --menu-color: #414141;
  --bg-card-prodotto: #E5E4E1;
  --bordo-card: #D8D6D2;
}

.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: #000;
  color: #fff;
  padding: 8px 16px;
  z-index: 100;
  text-decoration: none;
  transition: top 0.3s;
}

body {
  padding: 0;
  margin: 0;
  color: var(--text-color);
  overflow-x: hidden;
  font-family: var(--font-1);
  font-weight: 400;
  font-size: 1.125rem;
  background-color: var(--bg-body);
}

body,
html {
  height: 100%;
  width: 100%;
  position: relative;
  touch-action: pan-y;
}


#main-content {
  width: 100%;
}

.material-symbols-outlined {
  vertical-align: middle;
}

@media (min-width: 1921px) {
  .container-4k {
    max-width: 1800px;
    padding-left: var(--bs-gutter-x, 1.5rem);
    padding-right: var(--bs-gutter-x, 1.5rem);
    width: 100%;
  }

  .row-cols-4k>* {
    flex: 0 0 auto;
    width: 25%;
  }
}

a,
a:hover {
  color: var(--text-color);
  text-decoration: none;
}

iframe {
  width: 100%;
  height: 500px;
}

.container-fluid {
  max-width: 1920px;
  margin: 0 auto;
}

.container-fluid-full {
  max-width: initial;
}

.force-hide {
  display: none !important;
}

/* 01 - MAIN MENU */
/* sfumatura a dx per schermi > 1920px (tolto background a woo-menu) */
#nav-main::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc((100vw - 1920px) / 2 + 268px);
  height: 100%;
  background: linear-gradient(261deg, #817F77 0%, #3D3B36 100%);
  z-index: -1;
}

#nav-mobile {
  z-index: 9999999;
}

.bg-light {
  background-color: var(--bg-menu) !important;
}

.navbar {
  z-index: 1000;
}

.navbar-nav {
  position: static;
}

.fixed {
  top: 0 !important;
  left: 0;
  right: 0;
  position: fixed !important;
}

.nav-item {
  margin-inline: 15px;
}

.nav-link {
  font-size: 1.25rem;
  position: relative;
  color: var(--menu-color);
}

.nav-link:hover {
  color: var(--colore-1);
}

.navbar-nav .nav-link.active {
  position: relative;
  color: var(--menu-color);
  font-weight: 700;
}

.navbar-nav .show>.nav-link,
.current-menu-item>.nav-link {
  position: relative;
  color: var(--colore-1);
}

/* Linea sopra il testo */
.navbar-nav .nav-link.active::before,
.navbar-nav .show>.nav-link::before,
.current-menu-item>.nav-link::before,
.navbar-nav .nav-link:hover::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--colore-8);
}

.navbar-nav .nav-link.active::before {
  background-color: var(--colore-2);
}

.navbar-nav .show>.nav-link::before,
.menu-item>.nav-link::before {
  position: relative;
  color: var(--colore-8);
}

.dropdown-menu {
  border: none;
  transition: 0.3s;
  padding: 15px;
}

.dropdown-toggle:after {
  border: none;
  content: "";
  position: relative;
  top: 1px;
  content: "\f078";
  font-family: "Font Awesome 7 Free";
  position: relative;
  font-weight: 900;
  font-size: .7rem;
}

.dropdown-menu .nav-item {
  margin: 0;
  padding: 5px 0;
}

.dropdown-menu .nav-item a img {
  width: 25px;
}

.dropdown-item {
  color: var(--menu-color);
  font-size: 1.1rem;
  font-weight: 500;
}

.dropdown-item:hover {
  background: transparent;
  color: var(--colore-2);
  /*text-decoration: none;*/
}

.dropdown:hover>.dropdown-menu {
  display: block;
  border-radius: initial;
  background: #fff 0%;
  box-shadow: 0px 36px 40px #0000001A;
  padding: 15px 10px;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}

.woo-menu .dropdown:hover>.dropdown-menu {
  left: auto;
  right: 0;
  transform: translateX(0);
  padding: 15px 25px;
  box-shadow: 0px 15px 17px #00000029;
}

/*
.dropdown .nav-item:hover:before {
  content: initial;
}*/

.dropdown-item.active {
  color: var(--colore-2);
  background-color: transparent;
}

.navbar-nav .nav-link.highlight::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 6px;
  background-color: var(--colore-3);
}

.navbar-nav li a:has(img):hover {
  scale: 1.1;
  transition: .2s all;
}

.navbar-nav li a:has(img) {
transform: scale(1.1);
  transition: .2s all;
}

 

.navbar-nav .nav-link:has(img):hover::before {
  content: initial;
}


 
li.guida {
  display: flex;
  align-items: center;
}

li.guida::before {
  font-family: 'Material Symbols Outlined';
  content: 'signpost';
  font-size: 24px;
  vertical-align: middle;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  position: relative;

} 

@media (max-width:1199px) {
  #mobile-menu.menu-open {
    position: fixed;
    top: 55.77px;
    left: 0;
    width: 100vw;
    height: 100dvh;
    background: var(--bg-card-prodotto);
    z-index: 9999;
    overflow-y: auto;
    padding: 1rem;
    display: block !important;
    padding-bottom: 7vh;
  }

  body.mobile-menu-open {
    overflow: hidden;
    height: 100vh;
  }

  #navbar-close {
    position: fixed !important;
    right: 0;
    cursor: pointer;
    z-index: 10000;
    position: relative;
  }

  .navbar-toggler {
    border: none !important;
    border-radius: initial !important;
    padding: 0;
    font-size: 1.5rem;
    color: var(--colore-1);
    background: transparent !important;
  }



  .navbar-toggler:focus {

    box-shadow: none
  }

  .main-menu {
    margin-block: 0;
  }

  .main-menu .nav-item {
    margin: 5px 10px;
    width: 100%;
    border-radius: initial;
  }

  .dropdown-menu {
    display: block;
    padding: 0;
    background: var(--bg-card-prodotto);
    width: calc(100% - 40px);
  }

  .dropdown-menu .nav-item {
    margin: 0;
  }

  .dropdown-item {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
    white-space: normal;
    font-weight: 400;
    line-height: 1.2em;
  }

  .dropdown-item img {
    display: none;
  }

  .dropdown-toggle:after {
    content: initial;
  }

  .nav-link {
    display: initial;
    font-weight: 500;
  }

  .dropdown:hover>.dropdown-menu {
    display: block;
    background: transparent;
    box-shadow: initial;
    padding: 0;
    border-bottom-left-radius: initial;
    border-bottom-right-radius: initial;
  }


  .shop-mobile,
  .shop-mobile .dropdown-menu {
    background-color: var(--color-btn);
    box-shadow: 20px -10px 0 10px var(--color-btn), -20px -10px 0 10px var(--color-btn);
  }

  .shop-mobile {
    padding-bottom: 20px;
    margin-bottom: 20px !important;
  }

  .shop-mobile * {
    color: #fff;

  }

  .shop-mobile ul li ul li {
    padding-left: 24px !important;
  }


  .shop-mobile .nav-link.active {
    color: #fff;
  }

  .dropdown-item:active,
  .dropdown-item:focus,
  .dropdown-item:visited {
    background-color: transparent;
  }
}

/* menu   dx */
.woo-menu-wrapper {
  padding-left: 50px;
  width: 300px;
}

.woo-menu {
  position: relative;
  padding-left: 30px;
}

.woo-menu::before {
  content: "";
  position: absolute;
  top: 0;
  width: 64px;
  height: 100%;
  background-image: url('images/Before_Shop.svg');
  background-repeat: no-repeat;
  background-size: auto;
  z-index: 1;
  left: -25px;
  box-shadow: -16px 0 0 0 #fff;
}

.woo-menu li {
  position: relative;
}

.woo-menu li a:not(.dropdown-item) {
  display: flex;
  align-items: center;
  gap: 0.4em;
  color: #fff;
}

.woo-menu li.nav-item {
  margin: 5px;
}

.woo-menu li.nav-item .nav-link.active {
  color: #fff;
}

.nav-item-shop {
  position: relative;
}

.nav-item-shop .nav-link.active {
  color: #fff;
}

.nav-item-shop .nav-link.active::before {
  background-color: #fff;
  content: initial;
}

.account-item .username {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.8rem;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.account-item:hover .username {
  display: block;
}

.dropdown.account-item .dropdown-toggle::after {
  left: -15px;
}

@media (max-width:480px) {
  .woo-menu-wrapper {
    display: none;
  }
}

@media (min-width:1200px) and (max-width:1919px) {
  .woo-menu {
    background: unset;
  }

  .woo-menu::before {
    left: -55px;
  }

  .woo-menu-wrapper {
    background: linear-gradient(261deg, #817F77 0%, #3D3B36 100%);
  }
}

/* 03 - BREADCRUMB */
.container.briciole {
  padding: 0 0 20px 0;
}

.breadcrumb {
  margin: 0 auto;
}

.breadcrumb ol {
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: center;
  display: block;
}

.breadcrumb li {
  display: inline;
  left: 0;
}

.breadcrumb li::before {
  content: initial !important;
}

.breadcrumb li a {
  color: var(--text-color);
  font-size: 1.05rem;
  font-weight: 500;
}

.breadcrumb li:first-of-type a::before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 17px;
  margin-right: 0.3em;
  background-image: url(images/Logo_breadcrumbs.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  top: 3px;
}

.breadcrumb li a:hover {
  color: var(--text-color);
}

.breadcrumb li a::after {
  content: initial;
}

.breadcrumb li::after {
  content: "\f054";
  margin: 0 0.25em;
  font-family: 'Font Awesome 7 Free';
  font-size: .75rem;
  opacity: 0.5;
  padding-inline: 5px;
}

.breadcrumb li:last-child {
  font-weight: 700;
  font-size: 1.05rem;
}

.breadcrumb li:last-child::after {
  content: initial;
}

@media (max-width:991px) {
  .breadcrumb {
    margin: 0 20px;
  }
}

/* 03 - HOME */
/*** 03-A -Box hero  */
.bg-hero-deco {
  z-index: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  min-height: 100%;
  object-fit: cover;
}

.hero-hp {
  position: relative;
  overflow: hidden;
  padding-block: 90px;
}

.hero-hp .container-fluid {
  padding-inline: 160px;
  position: relative;
  z-index: 2;
}

.hero-hp span {
  display: block;
  font-size: clamp(2.2rem, 2.9vw, 3.4rem);
  color: var(--text-color);
  position: relative;
  line-height: 1.2em;
}

.hero-hp span:nth-of-type(2)::before,
.hero-hp span:nth-of-type(3)::before {
  content: "+";
  font-weight: 300;
  color: var(--colore-1);
  font-size: 6rem;
  line-height: 3rem;
  top: 12px;
  position: absolute;
  left: -60px;
}

.hero-hp span:nth-of-type(3)::before {
  content: "=";
}

.hero-hp hr {
  background-color: var(--colore-1);
  height: 2px;
  opacity: 1;
  border-top: none;
}

.hero-hp p {
  font-size: 1.4rem;
  font-weight: 300;
}

.hero-hp .valore {
  font-size: 2.2rem;
  font-weight: 500;
  color: var(--colore-1);
  line-height: 1em;
}

.hero-hp .etichetta {
  font-size: 1.3rem;
  font-weight: 300;
}

.hero-hp a {
  background-color: var(--colore-1);
  text-align: center;
  color: #fff;
  font-size: 1.875rem;
  font-weight: 300;
  border-radius: 10px;
  display: block;
  padding-block: 8px;
}

.hero-hp a i {
  font-size: 1.875rem;
  position: relative;
  top: 4px;
}

.hero-hp a:hover {
  background-color: var(--colore-1-hover);
}

.logo-bg-hero {
  background-image: url(images/Logo_BG_Hero.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.img-fluid.hero {
  max-width: 515px;
  width: 100%;
}

@media (max-width:575px) {
  .hero-hp {
    padding-block: 0 75px;
  }

  .hero-hp .container-fluid {
    padding: 30px;
  }

  .img-fluid.hero {
    max-width: 255px;
  }

  .hero-hp span:nth-of-type(2)::before,
  .hero-hp span:nth-of-type(3)::before {
    top: 0;
  }

  .hero-hp .info {
    padding-inline: 15px 0;
  }

  .hero-hp span {
    padding-left: 15px;
  }

  .hero-hp span:nth-of-type(2)::before,
  .hero-hp span:nth-of-type(3)::before {
    font-size: 3rem;
    left: -25px;
  }

  .hero-hp p {
    font-size: 1.25rem;
  }

  .hero-hp .etichetta {
    margin-bottom: 20px;
  }

  .hero-hp .valore {
    font-size: 3rem;
    line-height: 100%;
  }
}

@media (min-width:576px) and (max-width:767px) {
  .hero-hp {
    padding-block: 20px 90px;
  }

  .hero-hp .container-fluid {
    padding-inline: 50px;
  }

  .img-fluid.hero {
    max-width: 280px;
  }

  .hero-hp .info {
    padding-right: 0;
  }

  .hero-hp span:nth-of-type(2)::before,
  .hero-hp span:nth-of-type(3)::before {
    font-size: 4rem;
    left: -40px;
    top: 0;
  }

  .hero-hp .valore {
    font-size: 2rem;
  }
}

@media (min-width:768px) and (max-width:991px) {
  .hero-hp {
    padding-block: 20px 90px;
  }

  .hero-hp .container-fluid {
    padding-inline: 145px;
  }

  .img-fluid.hero {
    max-width: 280px;
  }

  .hero-hp .info {
    padding-right: 0;
  }

  .hero-hp span:nth-of-type(2)::before,
  .hero-hp span:nth-of-type(3)::before {
    font-size: 4.5rem;
    left: -50px;
    top: 0;
  }

  .hero-hp .valore {
    font-size: 2rem;
  }
}

@media (min-width:992px) and (max-width:1199px) {
  .hero-hp .container-fluid {
    padding-inline: 80px;
  }

  .hero-hp .info {
    padding-right: 0;
  }

  .hero-hp span:nth-of-type(2)::before,
  .hero-hp span:nth-of-type(3)::before {
    top: 0;
  }
}

/*** 03-B - Box valori */
.container-fluid.box-valori {
  padding-inline: 160px;
  padding-block: 0 50px;
}

.box-valori .box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.box-valori .box .titolo {
  font-weight: 500;
  font-size: 1.3rem;
  margin-bottom: 10px;
  position: relative;
  padding-left: 2rem;
  line-height: 1.2em;
}

.box-valori .box .titolo::before {
  content: "";
  background-image: url(images/Spunta_bullet_Hp.svg);
  position: absolute;
  left: -10px;
  top: 10px;
  width: 32px;
  height: 22px;
}

.box-valori .box .testo {
  font-weight: 300;
  font-size: 1.125rem;
  margin-bottom: 0;
  padding-left: 2rem;
}

@media (max-width:575px) {
  .container-fluid.box-valori {
    padding-inline: 30px;
    padding-block: 0 90px;
  }
}

@media (min-width:576px) and (max-width:767px) {
  .container-fluid.box-valori {
    padding-inline: 15px;
    padding-block: 0 50px;
  }
}

@media (min-width:768px) and (max-width:991px) {
  .container-fluid.box-valori {
    padding-inline: 60px;
    padding-block: 0 60px;
  }
}

@media (min-width:992px) {
  .box-valori .box.box-alto {
    transform: translateY(-1.5rem);
  }
}

/*** 03-C - Box categorie hp */
.in-evidenza-hp {
  background-image: url(images/BG_categorie.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.categorie-prodotti-hp h2 {
  font-size: 3rem;
  font-weight: 300;
  text-align: center;
}

.categorie-prodotti-hp span {
  font-size: 1.3rem;
  display: flex;
  justify-content: center;
}

.categorie-prodotti-hp span:first-of-type {
  font-size: 4rem;
  color: var(--colore-8);
}

.categorie-prodotti-hp span:last-of-type {
  margin-bottom: 30px;
}

.categorie-prodotti-hp .box {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 17px;
}

.categorie-prodotti-hp .box .immagine {
  width: 100%;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-radius: 17px;
}

.categorie-prodotti-hp .box .immagine::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(0, 0, 0, .6) 0%, rgba(0, 0, 0, 0)70%);
}

.categorie-prodotti-hp .box .immagine img:first-of-type {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  object-position: center center;
}

.categorie-prodotti-hp .box .immagine img:last-of-type {
  position: absolute;
  bottom: 90px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;width: 110px;
}

.categorie-prodotti-hp .box span {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 0;
  text-align: center;
  color: #fff;
  z-index: 3;
  font-size: 1.3rem;
  font-weight: 500;
}

.categorie-prodotti-hp .box .immagine img:first-of-type {
  transition: transform 0.4s ease;
}

.categorie-prodotti-hp .box:hover .immagine img:first-of-type {
  transform: scale(1.1);
}

@media (max-width:575px) {
  .categorie-prodotti-hp .box .immagine {
    height: 180px;
  }

  .categorie-prodotti-hp .box .immagine img:last-of-type {
    display: none;
  }
}

@media (min-width:576px) and (max-width:767px) {
  .categorie-prodotti-hp .box .immagine {
    height: 260px;
  }

  .categorie-prodotti-hp .box .immagine img:last-of-type {
    display: none;
  }
}

@media (min-width:768px) and (max-width:991px) {
  .categorie-prodotti-hp .box .immagine {
    height: 370px;
  }
}

@media (min-width:992px) and (max-width:1199px) {
  .categorie-prodotti-hp .box .immagine {
    height: 300px;
  }
}

@media (min-width:1200px) and (max-width:1399px) {
  .categorie-prodotti-hp .box .immagine {
    height: 380px;
  }
}

/*** 03-D - Prodotti in evidenza hp */
.prodotti-evidenza-hp {
  position: relative;
}

.prodotti-evidenza-hp .row {
  --bs-gutter-x: 2rem;
}

.prodotti-evidenza-hp h2:not(.woocommerce-loop-product__title) {
  position: relative;
  display: table;
  margin: 60px auto;
  font-size: 3.25rem;
  font-weight: 300;
  color: var(--colore-1);
  letter-spacing: 36px;
  text-align: center;
  text-transform: uppercase;
}

.prodotti-evidenza-hp h2:not(.woocommerce-loop-product__title)::after {
  content: "";
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  height: 2px;
  width: 100%;
  background-color: var(--colore-1);
  opacity: 0.5;
}

.prodotti-evidenza-hp .more-shop {
  margin-block: 90px;
}

.prodotti-evidenza-hp .more-shop a {
  background-color: var(--colore-1);
  color: #fff;
  padding: 10px 40px;
  font-size: 1.4rem;
  font-weight: 500;
  border-radius: 4px;
}

.prodotti-evidenza-hp .more-shop a i {
  font-size: 1.6rem;
  position: relative;
  top: 5px;
  right: 5px;
}

.prodotti-evidenza-hp .more-shop a:hover {
  background-color: var(--colore-1-hover);
}

@media (max-width:575px) {
  .prodotti-evidenza-hp h2:not(.woocommerce-loop-product__title) {
    font-size: 1.5rem;
    letter-spacing: 16px;
  }
}

@media (min-width:576px) and (max-width:991px) {
  .prodotti-evidenza-hp h2:not(.woocommerce-loop-product__title) {
    font-size: 2.25rem;
    letter-spacing: 21px;
  }
}

/*** 03-E - Box intro (azienda + denocciolatura) */
.intro-hp {
  position: relative;
  overflow: hidden;
  z-index: 0;
}

.intro-hp::before {
  content: "";
  position: absolute;
  top: 33%;
  left: 0;
  width: 100%;
  height: 34%;
  height: 480px;
  background-image: url(images/BG_Azienda_Raccolta-superinternsivo.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
  pointer-events: none;
}

.intro-hp .container {
  position: relative;
  z-index: 2;
  background: transparent linear-gradient(264deg, #BEB8AF 30%, #BEB8AF00 100%) 0% 0% no-repeat padding-box;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(30px) saturate(180%);
  background-color: rgba(255, 255, 255, 0.05);
  border: 1.5px solid var(--bg-body);
  border-radius: 16px;
}

.intro-hp .container .cta {
  display: flex;
  gap: 3rem;
}

.intro-hp .container:last-of-type {
  background: transparent linear-gradient(0deg, #3D3B36 40%, #3D3B3600 100%) 0% 0% no-repeat padding-box;
  color: #fff;
}

.intro-hp .container .cta a {
  border: 1.5px solid var(--colore-1);
  border-radius: 6px;
  color: #fff;
  font-size: 1.125rem;
  padding: 5px 30px;
  background-color: var(--colore-1);
}

.intro-hp .container .cta a:hover {
  background-color: var(--colore-1-hover);
}

.intro-hp .container:last-of-type .cta a {
  border-color: #fff;
  background-color: transparent;
}

.intro-hp .container h2 {
  font-size: 3rem;
}

.intro-hp .container p {
  font-size: 1.2rem;
  color: var(--color-btn);
}

.intro-hp .container:last-of-type p {
  font-size: 1.1rem;
  font-weight: 300;
  color: #fff;
}

.intro-hp .container:first-of-type img {
  border: 1.5px solid var(--bg-body);
  border-radius: 7px;
  padding: 0;
  max-width: 100%;
}

.intro-hp .container:last-of-type img {
  border: 1.5px solid var(--bg-body);
  border-radius: 7px;
  padding: 0;
  max-width: 350px;
}

.intro-hp .container:first-of-type {
  margin-bottom: 180px;
}

.intro-hp .container:first-of-type h2 {
  font-weight: 300;
  color: var(--color-btn);
}

.intro-hp .container:last-of-type span {
  font-size: 1.5rem;
  font-weight: 300;
}

.intro-hp .container:last-of-type h2 {
  font-weight: 700;
  text-wrap: balance;
  font-size: clamp(1.5rem, 2vw + 1rem, 2.5rem);
}

@media (max-width:575px) {
  .intro-hp::before {
    height: 360px;
  }

  .intro-hp .container .cta {
    display: initial;
  }

  .intro-hp .container .cta a {
    display: inline-block;
    margin-block: 10px;
  }

  .intro-hp .container img {
    max-width: 320px;
  }
}

@media (max-width:1199px) {
  .intro-hp .container:last-of-type {
    background: transparent linear-gradient(180deg, #3d3b36b5 40%, #3d3b362b 100%) 0% 0% no-repeat padding-box;
  }
}

/*** 03-F - Box citazione */
.quote-box {
  position: relative;
  width: 100%;
  height: 680px;
  overflow: hidden;
}

.quote-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.quote-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 5%;
  color: #fff;
  max-width: 33%;
  margin-left: auto;
  align-items: flex-end;
}

.quote-text {
  font-size: 2.4rem;
  font-weight: 200;
  border: 1.5px solid #fff;
  border-radius: 13px;
  padding: 50px 30px;
  position: relative;
}

.quote-text strong {
  font-weight: 700;
}

.quote-text::before,
.quote-text::after {
  content: '“';
  font-size: 10rem;
  line-height: 10rem;
  position: absolute;
}

.quote-text::before,
.quote-text::after {
  content: '';
  position: absolute;
  width: 37px;
  height: 41px;
  background-image: url('images/Virgolette_cit.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.quote-text::before {
  top: -20px;
  left: 20px;
  transform: rotate(180deg);
}

.quote-text::after {
  bottom: -20px;
  right: 20px;
}

.quote-overlay {
  position: absolute;
  bottom: 20px;
  right: 20px;
  width: 300px;
  height: auto;
  z-index: 3;
}

@media (max-width: 768px) {
  .quote-box {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .quote-bg {
    object-position: center;
  }

  .quote-content {
    max-width: 100%;
    width: 100%;
    padding: 40px 20px;
    justify-content: flex-start;
  }

  .quote-text {
    font-size: 1.4rem;
    padding: 30px 20px;
    border-radius: 10px;
    margin-top: 20px;
  }

  .quote-text::before {
    font-size: 5rem;
    top: -20px;
    left: 10px;
  }

  .quote-text::after {
    font-size: 5rem;
    bottom: -60px;
    right: 10px;
  }

  .quote-overlay {
    width: 80px;
    bottom: 10px;
    right: 10px;
  }
}

/**** 04 - SERVIZI HP */
.servizi-hp {
  position: relative;
  background: linear-gradient(72deg, #8B5745 0%, #3D3B36 100%);
  color: #fff;
  font-weight: 300;
  margin-block: 60px;
  padding-block: 50px;
  overflow: hidden;
  z-index: 0;
}

/* ::before – immagine decorativa in alto */
.servizi-hp::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 38px;
  background-image: url('images/Before_After_Servizi.svg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  z-index: 1;
  pointer-events: none;
}

/* ::after – immagine riflessa in basso */
.servizi-hp::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 38px;
  background-image: url('images/Before_After_Servizi.svg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom center;
  transform: rotate(180deg);
  z-index: 1;
  pointer-events: none;
}

.servizi-hp .container-fluid {
  padding: 60px;
  position: relative;
}

.servizi-hp h2 {
  font-size: 1.5rem;
  font-weight: 300;
}

.servizi-hp h3 a {
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
}

.servizi-hp h3 a::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  background-image: url('images/Freccia_Servizi.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.servizi-hp h3 a:hover {
  text-decoration: underline;
}

.servizi-hp h3 a:hover::before {
  color: #fff;
}

.servizi-hp span {
  font-size: 3rem;
  font-weight: 300;
  line-height: 3rem;
  margin-bottom: 20px;
  display: block;
}

.servizi-hp span strong {
  font-weight: 700;
}

.servizi-hp p {
  font-size: 1.05rem;
}

.servizi-hp img {
  border-radius: 11px;
  margin-top: 20px;
  aspect-ratio: 551 / 347;
  border: 1.5px solid var(--bg-body);
}

.servizi-hp .box-servizio {
  margin-bottom: 3rem;
  padding-inline: 90px 60px;
}

@media (min-width: 992px) {

  .servizi-hp .box-servizio:nth-last-child(1),
  .servizi-hp .box-servizio:nth-last-child(2) {
    margin-bottom: 0 !important;
  }
}

@media (max-width:767px) {
  .servizi-hp .container-fluid {
    padding: 15px;
  }

  .servizi-hp span {
    font-size: 2.5rem;
  }

  .servizi-hp img {
    margin-block: 20px;
  }

  .servizi-hp .box-servizio {
    padding-inline: 15px;
  }
}

@media (min-width:768px) and (max-width:991px) {
  .servizi-hp .container-fluid {
    padding: 15px 60px;
  }

  .servizi-hp span {
    font-size: 2.5rem;
  }

  .servizi-hp img {
    margin-block: 20px;
  }

  .servizi-hp .box-servizio {
    padding-inline: 15px;
  }
}

@media (min-width:992px) and (max-width:1199px) {
  .servizi-hp .container-fluid {
    padding: 15px;
  }
}

@media (min-width:992px) and (max-width:1399px) {
  .servizi-hp .box-servizio {
    padding-inline: 15px 15px;
  }
}

@media (min-width:1400px) and (max-width:1919px) {
  .servizi-hp .box-servizio {
    padding-inline: 20px 0px;
  }
}

/* 05 - BLOG HP (usato anche per i correlati nel dettaglio prodotto) */
.blog-hp.container-fluid {
  padding-inline: 60px;
}

.blog-hp span {
  font-size: 1.1rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 13px;
  display: block;
  text-align: center;
  color: var(--colore-1);
}

.blog-hp h2 {
  margin-bottom: 30px;
  text-align: center;
}

.blog-hp h2 a {
  font-size: 3rem;
  font-weight: 300;
  color: var(--colore-4);
}

@media (max-width:575px) {
  .blog-hp h2 a {
    font-size: 2.5rem;
  }

  .blog-hp.container-fluid {
    padding-inline: 15px;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .blog-hp .row>.col:nth-child(3) {
    display: none;
  }
}

/* box blog */
.box-blog {
  border-radius: 18px;
  background-color: #fff;
  padding: 10px;
  position: relative;
  overflow: hidden;
  border: 1.5px solid var(--bordo-card);
}

.box-blog img {
  border-radius: 8px;
  object-fit: cover;
  height: 225px;
  width: 100%;
}

.box-blog .etichetta {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 500;
  padding: 5px 30px 5px 10px;
  z-index: 3;
  pointer-events: none;
  background: var(--colore-4);
  border: 2px solid #fff;
  border-radius: 11px 0 10px 0px;
  text-transform: capitalize;
  border: 2px solid #fff;
}

.box-blog h2,
.box-blog h3 {
  padding-inline: 15px;
}

.box-blog a {
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--colore-1);
}

.box-blog p {
  font-size: 1rem;
  padding-inline: 15px;
}

.box-blog p.more {
  margin-block: 25px 15px;
}

.box-blog p.data {
  font-size: 0.875rem;
  margin-block: 15px;
  color: var(--data-post);
}

.box-blog p.more a {
  background-color: var(--color-btn);
  color: #fff;
  font-size: 1rem;
  padding: 5px 40px;
  font-weight: 400;
  border-radius: 5px;
}

/* 06 - PAGINAZIONE BLOG */
.pagination-list {
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: transparent;
  white-space: nowrap;
  padding: 0;
  clear: both;
  margin: 1px;
}

.pagination-list li {
  display: inline-block;
  border-right: none;
  overflow: visible;
  padding: 0;
  margin: 0;
  font-size: 1.2em;
  font-weight: 400;
  line-height: 1;
  border-radius: 4px;
  min-width: 2em;
}

.pagination-list li span {
  background: #fff;
  color: var(--text-color);
  transition: .2s all;
  opacity: .6;
  border: 1px solid var(--bordo-card);
  padding: .5em;
  display: block;
}

.pagination-list li a {
  border-radius: 4px;
  background-color: #f9f9f9;
  color: var(--text-color);
  transition: all 0.3s ease;
  margin: 0;
  padding: .5em;
  display: block;
  border: 1px solid var(--bordo-card);
}

/* 07 - DETTAGLIO BLOG */
.box-intro-blog {
  background: #fff;
  border: 1.5px solid var(--bg-card-prodotto);
  border-radius: 19px;
  padding: 15px;
  font-size: 1.1rem;
  margin: 0 auto 30px auto;
  max-width: 1800px;
  width: calc(100% - 30px);
}

.box-intro-blog .data-etichetta span:first-of-type {
  border: 1.5px solid var(--text-color);
  border-radius: 21px;
  font-size: 1rem;
  font-weight: 500;
  padding: 5px 13px;
  text-transform: capitalize;
  margin-right: 20px;
}

.box-intro-blog .data-etichetta span:last-of-type {
  font-size: 1.1rem;
  font-weight: 300;
}

.box-intro-blog h1 {
  font-weight: 400;
  font-size: clamp(1.8rem, 2vw + 1.2rem, 2.8rem);
  line-height: 1em;
  padding-bottom: 30px;
}

.box-intro-blog h2 {
  color: var(--colore-2);
  font-weight: 500;
  font-size: 3rem;
}

.box-intro-blog img {
  border-radius: 13px;
  aspect-ratio: 16 / 9;
}

/*** correlati (prodotti e blog) */
.prodotti-correlati {
  margin-block: 40px 30px;
}

.blog-correlati {
  margin: 100px auto 30px auto;
  max-width: 1800px;
}

.prodotti-correlati h2,
.blog-correlati h2 {
  font-size: 3rem;
  color: var(--text-color);
  font-weight: 300;
  margin-bottom: 30px;
}

.prodotti-correlati h2 {
  font-size: 2.875rem;
}

/* 08 - PAGE */
.hero-background {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height: 300px;
  position: relative;
  z-index: 1;
  margin-bottom: -150px;
}

@media (max-width: 1100px) {
  .hero-background {
    background-position: left;
  }
}

/* Sovrapposizione del blocco intro */
.box-intro-page {
  background: #fff;
  border: 1.5px solid var(--bordo-card);
  border-radius: 19px;
  padding: 30px 12px;
  font-size: 1.1rem;
  margin-bottom: 50px;
  position: relative;
  z-index: 2;
  width: calc(100% - 30px);
}

.box-intro-page .intro-title {
  font-size: 2rem;
  gap: 0.5rem;
}

.box-intro-page .intro-title .material-symbols-outlined {
  font-size: clamp(2.2rem, 5vw + 1rem, 4.5rem);
  color: var(--colore-8);
}

.box-intro-page h1 {
  font-weight: 300;
  font-size: clamp(2.2rem, 5vw + 1rem, 4.5rem);
}

.box-intro-page h1.piccolo {
  font-weight: 400;
  font-size: clamp(1.8rem, 2vw + 1.2rem, 2.8rem);
  line-height: 1em;
  padding-bottom: 30px;
}

.box-intro-page img {
  border: 1.5px solid var(--bg-body);
  border-radius: 11px;
}

.box-intro-page p {
  font-size: 1.2rem;
}

.box-content-page {
  background: #fff;
  border: 1.5px solid var(--bg-card-prodotto);
  border-radius: 19px;
  padding: 40px;
  font-size: 1.05rem;
  width: calc(100% - 30px);
}

.box-content-page a {
  padding-bottom: 2px;
  color: var(--text-color);
  text-decoration: underline;
  text-decoration-color: var(--colore-2);
  text-decoration-thickness: 3px;
  text-decoration-skip-ink: none;
  font-weight: 600;
}

.box-content-page h2 {
  font-weight: 400;
  font-size: 2rem;
  color: var(--colore-2);
  margin-top: .7em;
}

.box-content-page h3 {
  font-weight: 400;
  font-size: 1.8rem;
  margin-top: .7em;
}

.box-content-page h4 {
  font-weight: 400;
  font-size: 1.4rem;
  margin-top: .7em;
}

.box-content-page p {
  margin-top: .7em;
}

/* elenco puntato/numerato */
ul {
  list-style: none;
}

.box-content-page ul,
.box-content-page ol {
  display: grid;
  list-style: none;
  margin: 40px 0;
}

.box-content-page ol {
  counter-reset: list;
}

.box-content-page ol li,
.box-content-page ul li {
  left: 10px;
  width: calc(100% - 10px);
  position: relative;
  margin-bottom: 14px;
  line-height: 1.2em;
}

.box-content-page ol li {
  counter-increment: list;
}

.box-content-page ul li::before {
  content: "";
  position: absolute;
  left: -25px;
  top: 5px;
  width: 10px;
  height: 10px;
  background-color: var(--colore-2);
  border-radius: 50%;
}

.box-content-page ol li::before {
  content: counter(list) ". ";
  position: absolute;
  left: -25px;
  font-weight: 900;
  color: var(--colore-2);
  top: 0;
  font-size: 1.2rem;
}

@media (max-width: 767px) {
  .box-content-page {
    padding: 40px 15px;
  }
}

/* 09 - BLOCCHI GUTENBERG CUSTOM  */
/* box team */
.box-team {
  background-color: var(--colore-1);
  color: #fff;
  font-size: 1.05rem;
  padding-block: 50px;
}

.box-team img {
  border: 1.5px solid var(--bg-card-prodotto);
  border-radius: 8px;
}

.box-team h2 {
  font-size: 2rem;
  font-weight: 500;
}

.box-team h3 {
  font-size: 2rem;
  font-weight: 500;
  margin-block: 10px 0;
}

/* box immagine-testo */
.box-img-testo {
  margin-block: 50px;
}

.box-img-testo:first-of-type {
  margin-top: 0;
}

.box-img-testo h2 {
  font-weight: 500;
  font-size: 3rem;
}

.box-img-testo p {
  font-size: 1.05rem;
}

.box-img-testo a {
  padding-bottom: 2px;
  color: var(--text-color);
  text-decoration: underline;
  text-decoration-color: var(--colore-2);
  text-decoration-thickness: 3px;
  text-decoration-skip-ink: none;
  font-weight: 600;
}

.box-img-testo img {
  border: 1.5px solid var(--bg-card-prodotto);
  border-radius: 11px;
}

.box-img-testo .didascalia {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  text-align: center;
  margin: 10px auto;
  position: relative;
  line-height: 1.2em;
}

.box-img-testo .didascalia::before,
.box-img-testo .didascalia::after {
  content: "";
  width: 40px;
  height: 2px;
  background-color: var(--colore-2);
  flex-shrink: 0;
}

/* box gallery */
.box-gallery h2 {
  font-size: 2.3rem;
  text-align: center;
  font-weight: 500;
  margin-bottom: 20px;
}

.box-gallery img {
  border: 1.5px solid var(--bg-card-prodotto);
  border-radius: 11px;
}

/* box citazione colorata  */
.box-citazione-colorata {
  position: relative;
  background: linear-gradient(78deg, #8B5745 0%, #3D3B36 100%);
  border: 1.5px solid var(--bg-body);
  border-radius: 11px;
  color: #fff;
  font-size: 2.4rem;
  font-weight: 200;
  max-width: 991px;
  padding: 80px 180px;
  margin-block: 60px;
  overflow: hidden;
}

.citazione-testo {
  position: relative;
  z-index: 2;
}

.quote-icon {
  position: absolute;
  z-index: 1;
  opacity: 0.3;
}

.quote-top {
  top: 20px;
  left: 20px;
  width: 150px;
  rotate: 180deg;
}

.quote-bottom {
  bottom: 20px;
  right: 20px;
  width: 53px;
}

@media (max-width: 767px) {
  .box-citazione-colorata {
    padding: 40px 30px;
    font-size: 1.6rem;
  }

  .quote-top {
    width: 80px;
    top: 10px;
    left: 10px;
  }

  .quote-bottom {
    width: 40px;
    bottom: 10px;
    right: 10px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .box-citazione-colorata {
    padding: 80px 60px 80px 120px;
    font-size: 2rem;
  }

  .quote-top {
    width: 100px;
  }
}

/* box citazione */
.box-citazione {
  font-size: 2.4rem;
  font-weight: 200;
  padding: 0 40px;
  margin-block: 60px;
  border-left: 8px solid var(--colore-2);
}

@media (max-width: 767px) {
  .box-citazione {
    font-size: 1.5rem;
    padding: 0 20px;
    margin-inline: 20px;
    width: calc(100% - 40px);
  }
}

/* box faq */
.box-faq {
  margin: 0 auto;
}

.accordion {
  margin-bottom: 30px;
}

.accordion-item {
  margin-bottom: 15px;
  border: none;
}

.accordion-header {
  padding: 0;
  cursor: pointer;
  font-weight: 200;
  border: 1.5px solid var(--bg-body);
  background: transparent linear-gradient(88deg, #8B5745 0%, #3D3B36 100%) 0% 0% no-repeat padding-box;
  border-radius: 11px 11px 0 0;
}

.accordion-button {
  background: transparent !important;
  box-shadow: none !important;
  font-size: 1.4rem;
  font-weight: 200;
  padding: 25px 40px 12px 40px;
  color: #fff !important;
}

.accordion-button.collapsed {
  padding: 25px 40px 25px 40px !important;
}

.accordion-button::after {
  background-image: none;
  content: "\f078";
  font-family: "Font Awesome 7 Free";
  position: absolute;
  right: 25px;
  font-weight: 900;
}

.accordion-header:has(.accordion-button.collapsed) {
  border-radius: 11px;
}

.accordion-button:not(.collapsed)::after {
  background-image: none;
}

.accordion-body {
  border-radius: 0 0 11px 11px;
  background-color: var(--bg-body);
  font-size: 1.05rem;
  padding: 20px 35px;
  font-weight: 300;
}

@media (min-width: 1200px) {
  .box-faq {
    width: 80%;
  }
}

/* box card multiuso */
.box-card-multiuso {
  border-radius: 18px;
  background-color: #fff;
  position: relative;
  overflow: hidden;
  border: 1.5px solid var(--bordo-card);
  color: var(--color-btn);
  font-size: 1rem;
}

.box-card-multiuso img {
  border-radius: 4px;
  background-color: var(--bordo-card);
  object-fit: cover;
  height: 270px;
}

.box-card-multiuso .titolo {
  margin-block: 10px 0;
  color: var(--color-btn);
  font-size: 1.4rem;
  font-weight: 500;
}

.box-card-multiuso .more {
  background-color: var(--color-btn);
  text-align: center;
  margin-top: auto;
  padding-block: 3px;
}

.box-card-multiuso .more a {
  font-weight: 300;
  font-size: 1rem;
  color: #fff;
  text-decoration: none;
}

/* box note */
.box-note {
  color: var(--color-btn);
  font-size: 1rem;
  border: 1px solid var(--bg-prodotto);
  background-color: var(--colore-9);
  border-radius: 11px;
  padding: 20px;
  margin: 2em 0 2em 15em;
  width: calc(100% - 15em);
}

@media (max-width:991px) {
  .box-note {
    margin: 2em 0 2em 5em;
    width: calc(100% - 5em);
  }
}

/* box icone */
.box-icone .icona span {
  color: var(--colore-2);
  font-size: 3rem;
}

.box-icone .titolo {
  font-weight: 500;
  font-size: 1.3rem;
}

.box-icone .testo {
  font-size: 1.1rem;
}

/* box img + testo + cta */
.box-img-testo-cta.pos-sx .content-img-testo-cta {
  flex-direction: row;
}

/* Variante: immagine a destra */
.box-img-testo-cta.pos-dx .content-img-testo-cta {
  flex-direction: row-reverse;
}

.box-img-testo-cta {
  padding-block: 60px 80px;
  position: relative;
}

.box-img-testo-cta::before {
  content: '';
  background: var(--bg-url);
  width: 96%;
  height: 380px;
  display: block;
  position: absolute;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 0;
  filter: blur(15px);
  border-radius: 11px;
}

.box-img-testo-cta.no-sfumatura::before {
  content: initial;
}

.content-img-testo-cta {
  margin-top: 7.5%;
  display: flex;
  gap: 20px;
}

.box-img-testo-cta-content {
  position: relative !important;
  top: 70px;
  padding-inline: 50px;
}

.box-img-testo-cta .cta-image {
  flex: 0 0 60%
}

.box-img-testo-cta .cta-image img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  display: block;
  border: 1px solid var(--bordo-card);
  border-radius: 11px;
}

.box-img-testo-cta .cta-text-box {
  flex: 0 0 40%;
  position: relative;
  width: 100%;
  height: 260px;
  padding: 0 30px;
  font-size: 1.1rem;
  color: var(--color-btn);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #fff;
  box-shadow: 4px 5px 18px #3D3B3624;
  border: 1px solid var(--bordo-card);
  border-radius: 11px;
  margin-top: -5%;
  margin-left: -5%;
}

/* Variante: immagine a destra, testo a sinistra */
.box-img-testo-cta.pos-dx .cta-text-box {
  margin-left: 0;
  margin-right: -5%;
}

.box-img-testo-cta .cta-text-box .titolo {
  font-size: 1.9rem;
  color: var(--colore-2);
  margin-bottom: 5px;
}

.box-img-testo-cta .cta-text-box .more a {
  color: var(--colore-2);
  text-decoration: none;
}

.box-img-testo-cta .cta-text-box .more a::before {
  font-family: 'Material Symbols Outlined';
  content: 'arrow_outward';
  font-size: 24px;
  vertical-align: middle;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  position: relative;
}

@media (max-width:991px) {
  .box-img-testo-cta {
    padding-block: 20px;
  }

  .box-img-testo-cta.pos-dx .content-img-testo-cta,
  .box-img-testo-cta.pos-sx .content-img-testo-cta {
    flex-direction: column-reverse;
  }

  .box-img-testo-cta .cta-image {
    flex: 0 0 90%;
    margin-top: -5em;
    text-align: center;
    width: 90%;
    margin-inline: auto;
  }

  .box-img-testo-cta .cta-text-box {
    flex: 0 0 100%;
    height: auto;
    margin-top: initial;
    margin-left: initial;
    padding-block: 30px;
  }
}

/* box cta (marrone esteso con icona oppure verde */
.cta-btn {
  margin: 3em 0;
  display: block;
  text-align: center;
}

.cta-btn a.primaria {
  font-size: 1.25rem;
  background-color: var(--colore-1);
  border-radius: 6px;
  padding: 10px;
  margin: auto;
  width: 100%;
  display: block;
  text-align: center;
  max-width: 780px;
  color: #fff;
  text-decoration: none;
}

.cta-btn a.primaria span {
  line-height: initial;
  bottom: 3px;
  position: relative;
  right: 5px;
}

.cta-btn a.primaria:hover {
  background-color: var(--colore-1-hover);
  color: #fff;
}

.cta-btn a.secondaria {
  color: #fff;
  font-size: 1.25rem;
  background-color: var(--colore-2);
  border-radius: 6px;
  padding: 5px 25px;
  border: 1px solid var(--colore-2);
  text-decoration: none;
}

.cta-btn a.secondaria:hover {
  color: var(--colore-2);
  background-color: #fff;
}

/* 10 - WOOCOMMERCE */
.content-area {
  flex-wrap: wrap;
  gap: 1rem;
  margin-block: 20px;
}

@media (max-width:991px) {
  .content-area {
    margin-block: 0;
  }
}

.sidebar {
  order: -1;
  flex: 1;
  min-width: 250px;
}

.site-main {
  flex: 3;
  min-width: 0;
}

/*** 10-A - Menu laterale base ***/
.menu-shop-menu-container {
  background: #fff;
  border: 1px solid var(--bordo-card);
  border-radius: 10px;
}

.sidebar .menu {
  list-style: none;
  padding: 15px 20px;
  margin: 0;
}

.sidebar .menu-item {
  list-style: none;
  border-bottom: 1px solid #60747d26;
  padding-block: 20px;
}

.sidebar .menu-item a {
  display: block;
  padding: 0;
  font-size: 1.25rem;
  color: var(--text-color);
  border-left: 4px solid transparent;
  font-weight: 500;
  text-decoration: none;
}

.sidebar .menu-item a:hover {
  color: var(--colore-2);
}

.sidebar>.menu-item:first-of-type {
  border-bottom: none;
  padding-block: 0;
  position: relative;
  z-index: 1;
  margin-left: 25px;
}

.sidebar ul.main-menu>li.menu-item:first-of-type.current-menu-item {
  left: 0;
}

.sidebar ul:not(.sub-menu)>li:first-of-type {
  position: relative;
}

.sidebar ul:not(.sub-menu)>li:first-of-type>a {
  font-size: 4.5rem;
  font-weight: 200;
  color: var(--text-color);
  text-decoration: none;
}

#menu-shop-menu>li:first-child>a::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 86px;
  height: 86px;
  background-image: url('images/Carrello_menu_shop_dx.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  mix-blend-mode: multiply;
}

.menu-shop-menu-container p.titolo {
  font-size: 1.3rem;
}

.menu-shop-menu-container p {
  padding-inline: 20px 15px;
  font-size: 0.875rem;
}

/*** 10-B - Sottomenu ***/
.sidebar .sub-menu {
  margin-left: 60px;
  padding-left: 0;
}

.sidebar .sub-menu .menu-item {
  padding-block: 0;
  border-bottom: none;
}

.sidebar .sub-menu .menu-item a {
  font-size: 1.1rem;
  padding: 0.25rem 0;
  text-decoration: none;
}

/*** 10-B - Sottomenu ***/
/* Voci genitore (es. Olio extravergine) */
.sidebar .menu-item.current-menu-parent>a,
.sidebar .menu-item.current-product-parent>a {
  color: var(--colore-2);
  font-weight: 500;
}

/* Voce attiva profonda (es. Bottiglia) */
.sidebar .menu-item.current-menu-item>a,
.sidebar .menu-item.current-product-parent.current-menu-parent.current-product-ancestor>a {
  color: var(--colore-2);
  font-weight: 600;
  text-decoration: none;
}

.sidebar ul.sub-menu .menu-item.current-menu-item>a::before {
  font-family: 'Material Symbols Outlined';
  content: 'bookmark_check';
  font-size: 24px;
  vertical-align: middle;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  position: relative;
  top: -3px;
}

/* immagine categoria */
.menu-cat-thumb {
  width: 30px;
  height: 50px !important;
  object-fit: contain;
  margin-right: 0.5em;
}

.sub-menu .menu-cat-thumb {
  display: none;
}

@media (max-width:1024px) {
  .menu-cat-thumb {
    width: 20px;
  }
}

/* Barra di riceca in sidebar */
.search-form label {
  position: absolute;
  left: -9999px;
}

/* Campo di ricerca */
.wp-block-search__label {
  position: absolute;
  left: -9999px;
}

/* Wrapper layout */
.wp-block-search {
  display: flex;
  margin-bottom: 1.5rem;
}

.wp-block-search__inside-wrapper {
  margin: 30px 5%;
  border: 1px solid rgb(96 116 125 / 25%);
  border-radius: 8px;
  width: 90%;
  border: 1px solid var(--bg-card-prodotto);
  border-radius: 8px;
}

.wp-block-search__button:hover {
  background-color: transparent !important;
}

/* Campo di input */
.wp-block-search__input {
  flex: 1;
  padding: 0 10px;
  font-size: 1.375rem;
  font-family: var(--font-1);
  font-weight: 300;
  background-color: transparent;
  border: none;
}

/* Bottone con icona lente */
.wp-block-search__button {
  background-color: transparent;
  border: none;
  padding: 0 15px;
  border-left: 1px solid rgb(96 116 125 / 25%);
  margin-block: 10px;
}

.wp-block-search__button::before {
  content: "\f002";
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  font-size: 1.5rem;
  color: var(--text-color);
}

@media (max-width:991px) {
  .sidebar {
    display: none;
  }
}

/*** 10-C - Guida olio ***/
.col-guida {
  order: -1;
  flex: 1;
  min-width: 250px;
}

.box-guida {
  background: #fff;
  border: 1px solid var(--bordo-card);
  border-radius: 10px;
  padding: 20px;
  transition: opacity 0.3s ease;
  width: 100%;
}

.box-guida.hide {
  opacity: 0;
  pointer-events: none;
}

.box-guida span:first-of-type {
  font-size: 1.3rem;
  font-weight: 500;
  margin-block: 10px;
}

.box-guida span:last-of-type {
  font-size: 1rem;
}

.box-guida a {
  font-size: 1rem;
  background-color: var(--colore-1);
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  margin-top: 10px;
  text-decoration: none;
}

@media (max-width:575px) {
  .box-guida {
    width: 90%;
    margin: 0 auto;
  }
}

.box-guida .btn-close-box {
  position: absolute;
  top: -10px;
  right: -10px;
  z-index: 10;
  background: #fff;
  border: 2px solid var(--colore-1);
  border-radius: 50%;
  width: 30px;
  height: 30px;
}

.box-guida .btn-close-box i {
  text-align: center;
  vertical-align: middle;
  right: 5px;
  position: relative;
  color: var(--colore-1);
}

.box-guida .btn-close-box:hover {
  color: #000;
  cursor: pointer;
}

/*** 10-D -Intestazione categorie prodotto + seo categorie ***/
.col-category {
  flex: 3;
  min-width: 0;
}

.category-intro,
.shop-intro {
  display: flex;
  align-items: center;
  gap: 2rem;
  flex-wrap: wrap;
  padding: 30px;
  background-size: cover;
  background-position: center 20%;
  border-radius: 10px;
  color: #fff;
  position: relative;
  overflow: hidden;
  height: 234px;
  background-repeat: no-repeat;
  margin-bottom: 10px;
}

.category-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.37);
  z-index: 1;
}

.category-intro-text,
.shop-intro-text {
  flex: 1;
  position: relative;
  z-index: +1;
}

.category-intro img {
  position: relative;
  z-index: +1;width: 111px;
}

.category-intro-title,
.shop-intro-title {
  margin-bottom: 0;
  font-size: 2.25rem;
  font-weight: 500;
}

.category-intro-text p,
.shop-intro-text p {
  font-size: 1.125rem;
  margin: 0;
}

.category-intro-text p,
.shop-intro-text p {
  font-size: 1.125rem;
  margin: 0;
}

.category-intro-text p a {
  color: white;
}

.category-seo-text {
  background: #fff;
  border: 1px solid var(--colore-8);
  border-radius: 17px;
  padding: 70px;
  margin-block: 40px;
  font-weight: 400;
  font-size: 1.1rem;
}

.category-seo-text h2 {
  font-size: 3rem;
  font-weight: 700;
}

@media (max-width:991px) {
  .col-category {
    min-width: initial;
    padding: 0;
    flex: none;
  }

  .category-intro img {
    max-width: 51px;
    margin: 0 auto;
  }

  .category-intro,
  .shop-intro {
    display: inline-grid;
    border-radius: unset;
    height: auto;
    background-repeat: no-repeat;
  }

  .category-intro-title,
  .shop-intro-title {
    font-size: 1.75rem;
  }

  .category-seo-text {
    padding: 30px;
    margin-block: 0px;
  }
}

/*** 10-E -Aggiungi al carrello */
.qty-controls {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  width: fit-content;
  border: 1px solid var(--color-btn);
  border-radius: 8px;
  padding: 3px 4px;
}

.qty-minus,
.qty-plus {
  background-color: var(--color-btn);
  color: #fff;
  border: none;
  padding: 0 5px;
  border-radius: 4px;
  cursor: pointer;
  line-height: 100%;
  font-size: 1.375rem;
  position: relative;
  z-index: +10;
}

.qty-minus:hover,
.qty-plus:hover {
  background-color: var(--text-color);
}

input.qty {
  font-size: 1.1rem;
  border: none !important;
  width: 40px !important;
  font-weight: 600;
  text-align: center;
  line-height: 100%;
  padding: 0 !important;
  box-shadow: unset !important;
}

/* rimuove freccine in browser <> firefox  */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox: rimuove freccine in browser */
input[type="number"] {
  -moz-appearance: textfield;
}

.quantity-price-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1em;
  margin-bottom: 2em;
  padding-inline: 20px;
  width: 100%;
}

.quantity-price-row.end {
  justify-content: end;
}

.quantity {
  flex: 1;
}

.price {
  font-size: 1.625rem !important;
  font-weight: 600;
  white-space: nowrap;
  color: var(--color-btn) !important;
}

.woocommerce-Price-currencySymbol {
  font-size: 1.4rem;
  vertical-align: top;
}

.price del {
  font-size: 1.2rem;
  color: var(--text-color);
  bottom: 15px;
  position: relative;
  font-weight: 400;
}

.price del .woocommerce-Price-currencySymbol {
  font-size: .8rem;
}

.price ins {
  text-decoration: none;
  color: var(--colore-2);
  font-weight: 600 !important;
}

/*** 10F - Variazioni ***/
.variation-box {
  margin-top: auto;
}

.variation-heading {
  font-size: 1rem;
  margin-bottom: 0.5em;
  font-weight: 300;
  padding-inline: 10px;
}

.variation-pill-group {
  display: flex;
  justify-content: space-around;
  margin-bottom: 1em;
  gap: 1rem;
  padding-inline: 10px;
}

.variation-pill {
  position: relative;
  cursor: pointer;
  border: 1px solid rgb(96 116 125 / 25%);
  border-radius: 5px;
  cursor: pointer;
  flex: 1 1 0;
  display: flex;
  align-items: stretch;
  min-width: 0;
  overflow: hidden;
}

.variation-pill.disabled {
  opacity: 0.5;
  pointer-events: none;
  border-color: #ccc;
  position: relative;
  overflow: hidden;
}

.variation-pill.disabled::after {
  content: '';
  position: absolute;
  top: 0;
  right: -150%;
  width: 300%;
  height: 2px;
  background: var(--colore-1);
  transform: rotate(-47deg);
  z-index: 10;
}

.variation-pill .variation-status {
  display: block;
  font-size: 0.75rem;
  color: var(--colore-1);
  margin-top: 2px;
  text-transform: uppercase;
}

.variation-pill .variation-price .woocommerce-Price-currencySymbol {
  font-size: 0.875rem;
  font-weight: 400;
}

.variation-pill input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.variation-pill span {
  padding: 0;
  background-color: transparent;
  font-weight: 600;
}

.variation-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-inline: 10px;
  flex: 1;
  padding: .5rem;
  height: 100%;
  text-align: center;
}

.variation-name {
  font-size: 1.4rem !important;
  text-transform: uppercase;
}

.variation-price {
  font-size: 1rem;
}

.variation-pill input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.variation-pill:has(input[type="radio"]:checked) .variation-label {
  background-color: var(--color-btn);
  color: #fff !important;
  border-color: var(--color-btn);
}

.reset_variations {
  display: none !important;
}

/* action bar variazioni */
.action-bar .variation-link-button {
  color: #fff !important;
  font-weight: 300 !important;
  width: 100%;
  padding: 10px !important;
  display: flex;
  align-items: center;
  text-decoration: none;
}

.action-bar .variation-link-button:hover {
  background-color: var(--colore-2) !important;
  border-bottom-left-radius: 9px !important;
  padding: 7px !important;
}

.action-bar .variation-link-button::before {
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  margin-right: 0.5em;
}

/* action bar prodotti composti */
.action-bar .smart-product {
  color: #fff !important;
  font-weight: 300 !important;
  width: 100%;
  padding: 10px !important;
  display: flex;
  align-items: center;
  text-decoration: none;
}

.action-bar .smart-product:hover {
  background-color: var(--colore-2) !important;
  border-bottom-left-radius: 9px !important;
  padding: 7px !important;
}

.action-bar .smart-product::before {
  font-family: 'Material Icons';
  content: 'shopping_cart_checkout';
  font-size: 1.5rem;
}

/* Icona per "Vai al prodotto" */
.action-bar .variation-link-button.cta-view::before {
  content: "\f06e";
}

/* Icona per "Acquista formato" */
.action-bar .variation-link-button.cta-cart::before {
  font-family: 'Material Icons';
  content: 'shopping_cart_checkout';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  margin-right: 0.5em;
  vertical-align: middle;
}

.woocommerce div.product form.cart .button {
  display: flex;
  align-items: center;
  background-color: var(--text-color) !important;
}

/*** 10G - Spedizione ***/
.spedizione-banner-sticky {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  display: none;
  opacity: 0;
  width: 100%;
  max-width: 960px;
  padding: 1em;
  text-align: center;
  font-size: 1.2rem;
  background: #E3E8DD;
  border: 1px solid var(--colore-2);
  border-radius: 22px;
  color: var(--color-btn);
}

.spedizione-banner-sticky span {
  display: block;
  font-size: 2.4rem;
  margin-bottom: 0.3em;
  background: var(--colore-2);
  color: #fff;
  font-weight: 300;
  border-radius: 7px;
}

.spedizione-banner-sticky strong {
  font-weight: 700;
}

.spedizione-banner-sticky.visible {
  display: block;
  opacity: 1;
}

.spedizione-banner-sticky small {
  font-size: 1rem;
  padding-inline: 15%;
  display: block;
  margin-block: 5px;
}

.spedizione-banner-sticky .chiudi-banner {
  background: #fff;
  border: 2px solid var(--colore-2);
  border-radius: 50%;
  width: 29px;
  height: 29px;
  font-size: 1rem;
  color: var(--colore-2);
  position: absolute;
  top: -10px;
  right: -10px;
}

/*** 10H -  Checkout ***/
.checkout-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.checkout-left {
  flex: 1 1 100%;
  min-width: 300px;
}

.checkout-right {
  flex: 1 1 100%;
  min-width: 250px;
  background: var(--bg-body);
  padding: 25px 15px;
  border-radius: 10px;
}

.checkout-tabs {
  display: flex;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
}

.tab-button,
.tab-button.active {
  padding: 0.5rem 1.5rem;
  border-radius: 6px;
  color: #fff;
  font-size: 1rem;
}

.checkout-tabs span {
  color: var(--colore-5);
  letter-spacing: 5px;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
}

.tab-button {
  border: none;
  background-color: var(--colore-2);
}

.tab-button.active {
  border: 1px solid var(--colore-2);
  background: var(--color-btn);
}

.tab-button i {
  vertical-align: middle;
}

.checkout-tab-content.hidden {
  display: none;
}

/* prodotti checkout */
.checkout-product-list {
  margin-bottom: 2rem;
}

.product-lines {
  list-style: none;
  padding: 0;
  margin: 0;
}

.product-line {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
}

.product-thumbnail img {
  width: 60px;
  height: auto;
  margin-right: 1rem;
  border-radius: 4px;
}

.product-details {
  display: flex;
  flex-direction: column;
}

.product-name {
  font-weight: bold;
}

.product-quantity,
.product-price {
  font-size: 0.9rem;
  color: #555;
}

/* Spunte per nascondere Spedisci a indirizzo differente e aggiungere Usa stesso indirizzo di fatturazione */
#billing_fields_wrapper {
  transition: all 0.3s ease;
}

/* prodotti colonna dx checkout */
.product-line {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.product-thumbnail img {
  width: 60px;
  height: auto;
  border-radius: 4px;
}

.product-info {
  display: flex;
  flex-direction: column;
  font-size: 0.95rem;
}

/*** 10I - Cassa ***/
.wp-block-woocommerce-checkout-contact-information-block,
.wc-block-checkout__payment-method,
.wc-block-checkout__shipping-fields,

wc-block-checkout__billing-fields {
  background-color: var(--colore-9) !important;
  padding: 30px !important;
  border-radius: 12px;
}

.wc-block-components-title.wc-block-components-title {
  color: var(--color-btn);
}

.wc-block-components-form .wc-block-components-text-input input[type=email],
.wc-block-components-form .wc-block-components-text-input input[type=number],
.wc-block-components-form .wc-block-components-text-input input[type=password],
.wc-block-components-form .wc-block-components-text-input input[type=tel],
.wc-block-components-form .wc-block-components-text-input input[type=text],
.wc-block-components-form .wc-block-components-text-input input[type=url],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=number],
.wc-block-components-text-input input[type=password],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=url],
.wc-blocks-components-select .wc-blocks-components-select__select {
  border-color: var(--colore-8) !important;
  font-size: 1rem !important;
  font-weight: 300;
  border-width: 1.5px !important;
}

/* Colora tutte le label dei campi WooCommerce Blocks */
.wc-block-components-form .wc-block-components-text-input label,
.wc-block-components-text-input label,
.wc-blocks-components-select label {
  opacity: .4;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices {
  padding-block: 8px;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices span {
  font-size: .85rem !important;
}

.wc-block-components-order-summary .wc-block-components-order-summary-item__individual-prices span::after {
  content: " / cad.";
}

/* cassa sidebar */
.checkout-right h3 {
  font-size: 1.375rem;
  text-transform: uppercase;
  color: var(--colore-6);
  letter-spacing: 4px;
}

.woocommerce table.shop_table {
  border: unset;
  border-spacing: 0 10px;
}

.cart-subtotal th,
.order-total th,
.woocommerce-shipping-totals th {
  font-weight: 400 !important;
  color: var(--color-btn) !important;
  font-size: 1.375rem !important;
}

.order-total td strong {
  font-weight: 600;
}

/* Totale */
.order-total th {
  font-weight: 700 !important;
}

th.product-name,
th.product-total {
  font-size: 1rem;
  font-weight: 400 !important;
  text-transform: uppercase;
  color: var(--colore-6);
  /*padding: 0 !important;*/
}

td.product-name {
  display: flex;
  align-items: center;
  gap: 12px;
}

tr.cart_item {
  background-color: #fff;
}

.checkout-product-image img.checkout-product-thumb {
  width: 80px;
  height: 80px;
  object-fit: cover;
  background-color: var(--bg-body);
  border-radius: 4px;
  display: block;
  padding: 5px
}

/* elenco prodotto nel riepilogo della cassa */
.variation-Componente li {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.3em;
  display: flex;
  width: 100%;
  font-style: normal;
}

/* Testo accanto all’immagine */
.checkout-product-text {
  flex: 1;
  line-height: 1.4;
}

/* Allinea a destra i valori nel riepilogo */
.woocommerce-checkout-review-order-table tfoot td {
  text-align: right;
  font-size: 1.625rem;
  font-weight: 600 !important;
}

.woocommerce-checkout-review-order-table tfoot td .woocommerce-Price-currencySymbol {
  position: relative;
  bottom: 5px;
  font-size: 1.1rem;
}

.woocommerce table.shop_table td small {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  display: block;
}

.woocommerce table.shop_table td small .woocommerce-Price-currencySymbol {
  font-weight: 400;
  font-size: .75rem;
  position: initial;
}

.woocommerce ul#shipping_method li label {
  display: inline-block !important;
  width: 100% !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
}

.woocommerce ul#shipping_method li label span {
  font-size: 1.625rem !important;
  line-height: inherit !important;
  font-weight: 600 !important;
}

.woocommerce ul#shipping_method li label span.woocommerce-Price-amount.amount {
  display: block !important;
}

.woocommerce ul#shipping_method li label span span {
  font-size: 1.1rem !important;
  position: initial;
}

.woocommerce-remove-coupon {
  font-size: 1rem;
}

/* tab accedi */
.woocommerce-form-login-toggle {
  display: none !important;
}

.woocommerce-form-login {
  display: block !important;
}

.woocommerce-button.button.woocommerce-form-login__submit {
  background-color: var(--colore-1);
  color: #fff;
  font-weight: 300;
  border-radius: 6px;
  border: unset;
}

/* cassa - metodi di pagamento */
.woocommerce-checkout #payment {
  background: #E5E4E1;
  border-radius: 6px;
  padding: 30px;
}

.woocommerce-checkout #payment ul.payment_methods {
  padding: 0;
}

/* Stile base per radio button */
.wc_payment_method input.input-radio {
  appearance: none;
  -webkit-appearance: none;
  background-color: #fff;
  border: 3px solid var(--colore-6);
  border-radius: 10px;
  width: 20px;
  height: 20px;
  cursor: pointer;
  position: relative;
  margin-right: 10px;
  vertical-align: middle;
}

/* Pallino interno quando selezionato */
.wc_payment_method input.input-radio:checked::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 8px;
  height: 8px;
  background-color: var(--colore-2);
  border-radius: 50%;
}

/* Bordo verde quando selezionato */
.wc_payment_method input.input-radio:checked {
  border-color: var(--colore-2);
}

.woocommerce-checkout #payment ul.payment_methods li input {
  margin: 0;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  font-size: 1rem;
  color: var(--color-btn);
}

.woocommerce-checkout #payment ul.payment_methods li {
  margin: 10px 0;
}

.woocommerce-checkout #payment div.form-row {
  padding: 1em 0 0 0;
}

#add_payment_method #payment div.payment_box,
.woocommerce-cart #payment div.payment_box,
.woocommerce-checkout #payment div.payment_box {
  background-color: var(--bordo-card);
  color: var(--color-btn);
}

.woocommerce-checkout #payment div.payment_box::before {
  border-bottom-color: var(--bordo-card);
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
  width: 100%;
  background: var(--colore-2);
  border-radius: 6px;
  font-weight: 400;
  font-size: 1.8rem;
  padding-block: 35px;
  margin-block: 40px 0;
}

/* 11 - PRODOTTI */
.box-prodotto {
  background: #fff;
  border: 1px solid var(--bordo-card);
  border-radius: 9px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.box-prodotto img {
  max-width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}

.woocommerce-loop-product__link {
  position: relative;
  display: block;
  text-align: center;
  background: var(--bg-card-prodotto);
  margin: 10px;
  border-radius: 4px;
}

.product-overlay-label {
  position: absolute;
  color: #fff;
  padding: 5px 15px;
  display: inline-table;
  z-index: 10;
  pointer-events: none;
}

.product-overlay-label.alto-sx,
.product-overlay-label.alto-sx.esaurito,
.product-overlay-label.alto-sx.offerta {
  font-size: 0.875rem;
  font-weight: 500;
  top: 0;
  left: 0;
  border-radius: 4px 0 5px 0;
  background-color: var(--colore-1);
}

.product-overlay-label.alto-sx.esaurito {
  background-color: var(--colore-1);
}

.product-overlay-label.alto-sx.offerta {
  background-color: var(--colore-2);
}

.product-overlay-label.alto-sx.promo {
  background-color: var(--colore-2);
}

.product-overlay-label.alto-sx.ordinabile {
  background-color: var(--colore-7);
}

.product-overlay-label.basso-dx {
  border-radius: 4px 0;
  bottom: 0;
  right: 0;
  font-weight: 500;
  color: var(--text-color);
  font-size: 1.125rem;
  background: rgb(61 59 54 / 14%);
}

.product .woocommerce-loop-product__title {
  margin-block: 5px;
  padding-inline: 15px;
}

.product .woocommerce-loop-product__title a {
  font-size: 1.4rem;
  color: var(--color-btn);
  font-weight: 500;
  text-decoration: none;
}

.product .woocommerce-loop-product__title a:hover {
  color: var(--colore-2);
}

.aroma-loop,
.product-summary {
  padding-inline: 15px;
}

.product-summary p {
  font-size: 1rem;
  font-weight: 400;
  color: var(--color-btn);
  line-height: 1.15em;
}

.woocommerce ul.products li.product .price {
  font-size: 1.1em;
  color: var(--color-btn);
}

.woocommerce-variation-price {
  display: flex;
  justify-content: end;
  margin-bottom: 30px;
}

.woocommerce-variation-price del span {
  color: var(--colore-2);
  font-size: 1.9rem;
  font-weight: 600;
  opacity: .5 !important;
}

.woocommerce-variation-price ins span:first-of-type {
  font-size: 2.375rem;
  top: -6px;
  font-weight: 600;
}

.woocommerce-variation-price ins span:last-of-type {
  font-size: 2.5rem;
  font-weight: 600;
  color: var(--colore-2);
}

.action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
  background-color: var(--color-btn);
  color: #fff;
  border-bottom-left-radius: 9px !important;
  border-bottom-right-radius: 9px !important;
  height: 40px;
  width: 100%;
  overflow: hidden;
}

.summary .action-bar {
  justify-content: end;
  border-bottom-left-radius: unset !important;
  border-bottom-right-radius: unset !important;
  width: fit-content;
  padding: 16px;
}

.action-bar.esaurito {
  background-color: var(--colore-1);
  padding-left: 15px;
}

.action-bar.esaurito span {
  font-size: 1rem;
  flex: 1;
}

.action-bar.esaurito::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 6px;
  background-image: url('images/envelope-solid.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
}

.action-bar.esaurito:hover {
  background-color: var(--colore-3);
}

.backorder-note,
.stock.available-on-backorder {
  text-align: center;
  font-size: 1rem;
  color: var(--colore-7) !important;
  margin: 10px auto;
  padding-block: 6px;
  font-weight: 700;
  background-color: #60747d1a;
  padding-inline: 20px;
  border-radius: 6px;
}

.stock.available-on-backorder {
  padding: 5px 10px;
}

.trasporto-rate {
  display: flex;
  gap: 0;
  margin: 8px 0;
}

.trasporto-rate.dettaglio {
  justify-content: flex-start;
}

.trasporto-rate .badge {
  display: flex;
  align-items: center;
  font-size: 0.8em;
  font-weight: 600;
  padding: 6px;
  border-radius: 4px;
  color: var(--colore-2) !important;
  margin: 10px auto;
  font-weight: 500;
  background-color: #60747d1a;
  border-radius: 6px;
}

.trasporto-rate.dettaglio .badge {
  margin: 0 20px 0 0;
}

.trasporto-rate .badge .material-symbols-outlined {
  font-size: 1.2em;
  margin-right: 6px;
  color: var(--colore-2);
}

/* prodotti smart */
.wooco-alert {
  padding: 10px 10px 10px 14px;
  border-left: 4px solid var(--rosso-text);
  background-color: var(--rosso-bg);
  font-size: 1.1rem;
  line-height: 1.1em;
  color: var(--rosso-text);
  border-radius: 9px;
  font-weight: 500;
}

.wooco-alert.alert-selection {
  color: var(--colore-2);
  border-left: 4px solid var(--colore-2);
  background-color: #f3f3f3;
}

.wooco_component_product_selection_grid .wooco_component_product_selection_grid_item {
  border: 1.5px solid var(--bordo-card) !important;
  border-radius: 10px;
}

.wooco_component_product_selection_list .wooco_component_product_selection_list_item.wooco_item_selected,
.wooco_component_product_selection_grid_item.wooco_item_selected {
  border-color: var(--colore-2) !important;
  border-width: 1.5px;
}

.wooco_component_multiple .wooco_component_product_selection_grid_item:before {
  border-radius: 6px !important;
}

.wooco_component_product_selection_grid_item.wooco_item_selected:before {
  border-radius: 50px !important;
  background-color: var(--colore-2);
}

.wooco_component_product_selection_grid_item_image {
  border-radius: 4px;
  overflow: hidden;
}

/* messaggi woocommerce */
.woocommerce-info,
.woocommerce-message {
  padding: 0 2em .5em 0.5em;
  margin: 0;
  border-top: transparent;
  background-color: transparent;
  color: var(--color-btn);
  font-size: 1rem;
  font-weight: 400;
}

.woocommerce-info::before {
  content: initial;
}

.checkout_coupon {
  display: block !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-form-coupon-toggle {
  display: none !important;
}

.wrapper-coupon {
  border-bottom: 1px solid var(--bg-card-prodotto);
  padding-bottom: 40px;
}

#coupon_code {
  border: 1px solid var(--colore-2) !important;
  font-size: 1.25rem;
}

#coupon_code::placeholder {
  color: var(--colore-2);
}

.coupon-codice {
  width: 75% !important;
}

.coupon-invia {
  width: 25% !important;
}

.coupon-btn {
  background-color: var(--color-btn) !important;
  color: #fff !important;
  font-weight: 400 !important;
  padding: 16px 20px !important;
  border-radius: 4px !important;
  width: 100%;
  max-width: 210px;
}

/*.woosb-price, */
.wooco-minus,
.wooco-plus {
  visibility: hidden;
}

.wooco_component_product_selection_grid_item_desc span:first-of-type {
  display: none;
}

/* 12 - POP UP avvisami esaurito */
@keyframes popupFadeSlide {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.notify-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.notify-popup.hidden {
  display: none;
}

.popup-content {
  background: var(--colore-2);
  color: #fff;
  padding: 2rem;
  border-radius: 8px;
  position: relative;
  max-width: 400px;
  width: 100%;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  animation: popupFadeSlide 0.4s ease-out;
}

.close-popup {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 1.5rem;
  cursor: pointer;
}

.notify-form input[type="email"] {
  width: 100%;
  padding: 0.5rem;
  margin-bottom: 1rem;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.notify-form button {
  background-color: #fff;
  color: var(--colore-2);
  border: none;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 700;
  text-transform: uppercase;
}

.notify-confirmation {
  margin-top: 1rem;
  background-color: #e6f4ea;
  padding: 1rem;
  border-radius: 6px;
  font-size: 1rem;
  color: #2e7d32;
  text-align: center;
  animation: fadeIn 0.5s ease-in;
}

.notify-confirmation.hidden {
  display: none;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* action bar */
.action-bar .add_to_cart_button {
  flex: 1;
  background-color: transparent !important;
  color: #fff !important;
  font-size: 1.125rem !important;
  font-weight: 300 !important;
  width: 100%;
  border: none !important;
  border-radius: unset !important;
  border-bottom-left-radius: 9px !important;
  text-align: left;
  padding: 0 10px !important;
  height: 40px;
}

.action-bar .add_to_cart_button:hover {
  background-color: #6c7b6c;
}

/* wishlist plugin */
/* rimuovo testo Aggiungi alla lista (solo nel loop) e l'svg */
.action-bar .yith-wcwl-add-to-wishlist-button__label,
.yith-wcwl-add-to-wishlist-button-icon {
  display: none;
}

.yith-add-to-wishlist-button-block {
  background: var(--text-color);
  height: 40px;
  border-bottom-right-radius: 9px;
  padding: 0 10px;
}

.yith-add-to-wishlist-button-block:hover {
  background: var(--color-btn);
}

.summary .yith-add-to-wishlist-button-block {
  background: #fff;
  border: 1px solid var(--colore-8);
  border-radius: 6px;
  padding: 0 10px;
}

.yith-add-to-wishlist-button-block a {
  text-decoration: none;
}

.yith-wcwl-add-to-wishlist-button--anchor:not(.yith-wcwl-add-to-wishlist-button--added)::before,
.yith-wcwl-add-to-wishlist-button--added::before {
  color: #fff;
  font-family: 'Material Symbols Outlined';
  content: 'heart_plus';
  font-size: 1.5rem;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.yith-wcwl-add-to-wishlist-button--single::before {
  color: var(--text-color) !important;
}

.action-bar .yith-wcwl-add-to-wishlist-button--added::before {
  content: 'heart_minus';
}

.box-prodotto .add_to_cart_button::before {
  font-family: 'Material Icons';
  content: 'shopping_cart_checkout';
  font-size: 1.5rem;
}

.box-prodotto .add_to_cart_button:hover {
  background-color: var(--colore-2) !important;
  display: block;
  border-bottom-left-radius: 9px !important;
}

.box-prodotto form.cart {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  margin-bottom: 0 !important;
  width: 100%;
}

/* 13 - PAGINAZIONE WOO */
.woocommerce-pagination {
  text-align: center;
  margin: 2em 0;
}

.woocommerce nav.woocommerce-pagination ul {
  border: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: transparent;
}

.woocommerce nav.woocommerce-pagination ul li {
  border-right: none;
  overflow: visible;
}

.woocommerce-pagination .page-numbers {
  display: inline-block;
  margin: 0 0.25em;
  padding: 0.5em 0.9em;
  border: 1px solid rgb(96 116 125 / 25%);
  border-radius: 4px;
  background-color: #f9f9f9;
  color: #333;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 600;
  transition: all 0.3s ease;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border: 1px solid var(--bordo-card);
  font-size: 1.4em;
  padding-inline: 18px;
}

.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: #fff;
  color: var(--text-color);
  scale: 1.1;
  transition: .2s all;
}

.woocommerce-pagination .page-numbers:hover {
  background-color: transparent;
  border-color: var(--bordo-card);
}

.woocommerce-pagination .page-numbers.current {
  cursor: default;
  opacity: .6;
}

.woocommerce-pagination .page-numbers.next,
.woocommerce-pagination .page-numbers.prev {
  font-size: 1.2rem;
  padding: 0.5em 1em;
}

/* 14 -PRODOTTO SINGOLO */
.woocommerce div.product div.summary,
.woocommerce-page div.product div.summary,
.woocommerce div.product div.images,
.woocommerce div.product div.images {
  float: none;
  width: auto;
}

.summary.entry-summary,
.woocommerce-product-gallery {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.summary.entry-summary {
  min-height: auto;
}

.woocommerce div.product div.images.woocommerce-product-gallery {
  background: #fff;
  border: 1px solid var(--bordo-card);
  border-radius: 17px;
}

.woocommerce-product-gallery__image {
  background: var(--bg-card-prodotto);
  border-radius: 10px;
  margin: 10px;
  overflow: hidden;
}

.woocommerce-product-gallery__wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

/* certificazioni e premi */
.certificazioni-premi {
  margin-top: 1rem;
  text-align: center;
  background: #fff;
  border: 1px solid var(--bordo-card);
  border-radius: 17px;
  padding-block: 20px;
}

.certificazioni-premi a {
  font-size: 1.1rem;
  color: var(--text-color);
  font-weight: 500;
}

.certificazioni-premi a:hover {
  border-bottom-color: var(--colore-3);
}

/* singolo prodotto dx */
.woocommerce div.product div.summary {
  background: #fff;
  border: 1px solid var(--bordo-card);
  border-radius: 17px;
  padding: 30px;
}

.woocommerce div.product .product_title {
  font-size: 2.2rem;
  font-weight: 600;
  margin-top: 20px;
}

.summary .sottotitolo {
  font-size: 1.625rem;
  font-weight: 600;
}

.woocommerce .aroma {
  font-size: 1.2rem;
  font-style: italic;
  color: var(--aroma);
  display: inline-flex;
  align-items: center;
}

.box-prodotto .aroma-loop .aroma {
  font-size: 1rem;
  color: var(--aroma);
  font-style: italic;
  display: inline-flex;
  align-items: center;
}

.woocommerce .woocommerce-product-details__short-description {
  font-weight: 400;
  margin-bottom: 35px;
  font-size: 1.4rem;
}

.woocommerce .campagna {
  font-weight: 400;
  font-size: 1.1rem;
}

.woocommerce .certificazioni {
  font-weight: 600;
  font-size: 1.1rem;
}

.woocommerce .campagna i,
.woocommerce .certificazioni i {
  color: var(--colore-5);
}

.icon-color {
  transform: rotate(180deg);
}

.icon-bianco {
  opacity: .25;
  transform: rotate(180deg);
}

.woocommerce .certificazioni {
  font-weight: 600;
}

.woocommerce .prezzi .prezzo-attuale {
  font-size: 2.5rem;
  font-weight: 600;
  color: var(--color-btn);
}

/* Se c'è anche .prezzo-originale, cambia colore */
.woocommerce .prezzi:has(.prezzo-originale) .prezzo-attuale {
  color: var(--colore-2);
}

.woocommerce .prezzo-attuale .woocommerce-Price-currencySymbol {
  font-size: 2.375rem;
  top: -6px;
  font-weight: 600;
}

.woocommerce .prezzo-originale {
  font-size: 1.9rem;
  font-weight: 400;
  opacity: .5;
}

.summary form.cart .qty-controls {
  padding: 6px;
}

.summary form.cart input.qty {
  font-size: 1.5rem;
}

.summary form.cart .qty-minus,
.summary form.cart .qty-plus {
  font-size: 2.3rem;
  padding-inline: 10px;
}

.single_add_to_cart_button {
  background-color: var(--colore-2) !important;
  font-weight: 400 !important;
  border: none !important;
  border-radius: 6px !important;
  margin-left: 20px;
  height: 50px !important;
  margin-left: 40px !important;
}

.woocommerce div.product form.cart .button::before {
  font-family: 'Material Icons';
  content: 'add_shopping_cart';
  font-size: 1.5rem;
}

.woocommerce div.product form.cart .button.smart-product::before {
  content: 'shopping_cart_checkout';
}

.woocommerce div.product form.cart .button:hover {
  background-color: var(--colore-2) !important;
}

.summary .product-overlay-label.alto-sx {
  font-size: 1.125rem;
  padding: 5px 20px;
  border-radius: 9px 0;
}

.summary .product-overlay-label.alto-sx.esaurito {
  background-color: var(--colore-1);
}

.composite-heading {
  font-size: 2rem;
  color: var(--colore-2);
  font-weight: 300;
  margin-top: 40px;
}

.wooco_wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.wooco_components {
  width: 100%;
}

.wooco_summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.wooco_summary .wooco-total {
  font-size: 2.5rem;
  font-weight: 600;
  color: var(--color-btn);
}

form.cart {
  display: flex;
  align-items: center;
  margin-left: auto;
}

form.cart.variations_form {
  display: initial;
}

form.cart .quantity {
  margin-right: 0.5rem;
}

form.cart .single_add_to_cart_button {
  white-space: nowrap;
}

.wooco_components .wooco_component {
  border-bottom: none;
}

.wooco_components .wooco_component .wooco_component_name {
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--colore-2);
  font-weight: 300;
  margin-block: 20px 10px;
}

/* 15 - TAB PRODOTTO */
.woocommerce div.product .woocommerce-tabs,
.woocommerce-page div.product .woocommerce-tabs {
  background: #fff;
  border: 1px solid var(--bordo-card);
  border-radius: 17px;
  padding: 60px;
}

.woocommerce-tabs .wc-tabs {
  display: flex;
  justify-content: space-between;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background-color: #fff;
  padding: 0;
  margin: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  content: initial !important;
}

.woocommerce-tabs .wc-tabs li {
  flex: 1;
  border: none !important;
}

.woocommerce-tabs .wc-tabs li a {
  display: block;
  padding: 1em;
  text-decoration: none;
  border: none;
  background: transparent;
  font-weight: 600 !important;
  transition: color 0.3s ease;
  font-size: 1.25rem !important;
  color: var(--text-color) !important;
}

.woocommerce-tabs .wc-tabs li a:hover,
.woocommerce-tabs .wc-tabs li.active a {
  color: var(--colore-1) !important;
  border-bottom: 2px solid var(--colore-1);
  padding-bottom: 3px !important;
  transition: border-color 0.3s ease;
}

.woocommerce-tabs .wc-tabs li:first-child {
  text-align: left;
}

.woocommerce-tabs .wc-tabs li:nth-child(2) {
  text-align: center;
}

.woocommerce-tabs .wc-tabs li:last-child {
  text-align: right;
}

.woocommerce-tabs .wc-tab h2 {
  display: none;
}

.woocommerce-tabs .wc-tab p {
  font-size: 1.1rem;
  font-weight: 400;
  margin-block: 5px 15px;
}

.woocommerce-tabs .wc-tab p i.material-symbols-outlined {
  font-size: 2rem;
  margin-right: 5px;
}

.related.products h2,
.up-sells.upsells.products h2 {
  font-size: 2.875rem;
  font-weight: 300;
  margin-block: 40px 20px;
  text-align: center;
}

.related.products h2.woocommerce-loop-product__title,
.up-sells.upsells.products h2.woocommerce-loop-product__title {
  font-size: initial;
  margin-block: 10px;
  text-align: initial;
}

.up-sells.upsells.products .box-prodotto form.cart {
  width: 100%;
}

/* 16 - CARRELLO */
table.wc-block-cart-items {
  border-collapse: separate;
  border-spacing: 0 10px !important;
  border-bottom: unset !important;
}

.wc-block-cart-items__row {
  position: relative;
}

.wc-block-cart-items__row td:first-child {
  border-top-left-radius: 9px !important;
  border-bottom-left-radius: 9px !important;
  border-left: 1px solid var(--bg-card-prodotto) !important;
  padding: 24px 16px !important;
  vertical-align: middle !important;
  background: var(--bg-card-prodotto) !important;
  box-shadow: inset 0 0 0 4px #fff;
  border: 2px solid var(--bg-card-prodotto);
  border-radius: 9px;
}

.wc-block-cart__main .wc-block-cart-items td:last-child {
  border-right: 1px solid var(--bg-card-prodotto) !important;
  display: table-cell !important;
  vertical-align: bottom !important;
  border-top-right-radius: 9px !important;
  border-bottom-right-radius: 9px !important;
}

.wc-block-cart-items__row td {
  background: #fff;
  border-top: 1px solid var(--bg-card-prodotto) !important;
  border-bottom: 1px solid var(--bg-card-prodotto) !important;
}

.wc-block-cart-items__header span {
  color: var(--colore-5);
  letter-spacing: 5px;
  font-size: 1rem;
  font-weight: 700;
}

.wc-block-components-product-name {
  font-size: 1em !important;
  color: var(--color-btn) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

.wc-block-cart-item__image img {
  background: var(--bg-card-prodotto);
  border-radius: 4px;
  padding-block: 40px;
}

.wc-block-cart-item__total {
  line-height: 1.2 !important;
}

.wc-block-components-product-badge {
  border-color: var(--colore-2) !important;
  border-radius: 5px !important;
  font-size: .75rem !important;
  font-weight: 400 !important;
  padding: 0 10px !important;
  color: var(--colore-2);
}

.wc-block-components-quantity-selector {
  border: 1px solid var(--color-btn);
  border-radius: 6px;
  padding: 3px;
  width: fit-content !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
  opacity: 1 !important;
  background-color: var(--text-color) !important;
  color: #fff !important;
  min-width: 28px !important;
}

.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
  font-size: 1rem !important;
  font-weight: 600 !important;
  padding: .1em 0 !important;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
  font-size: .95rem !important;
  padding-left: 24px !important;
  position: relative;
  margin-top: 10px;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 17px;
  background-image: url(images/Elimina_Mattone.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

ins.wc-block-components-product-price__value.is-discounted {
  font-size: 1.3rem !important;
}

del.wc-block-components-product-price__regular {
  font-size: .95rem !important;
  color: var(--colore-5) !important;
  bottom: 5px !important;
}

.wc-block-formatted-money-amount.wc-block-components-formatted-money-amount.wc-block-components-product-price__value {
  font-size: 1.3rem;
}

.wc-block-components-totals-footer-item span.wc-block-components-totals-item__label {
  font-weight: 500 !important;
  color: var(--color-btn);
  font-size: 1.4rem;
}

.wc-block-components-totals-footer-item p.wc-block-components-totals-footer-item-tax {
  font-weight: 400 !important;
  color: var(--color-btn);
}

.wc-block-components-totals-item__value>span.wc-block-components-totals-footer-item-tax-value {
  font-size: 2rem !important;
  font-weight: 600;
}

.wc-block-cart .wc-block-cart__totals-title {
  color: var(--colore-5) !important;
  letter-spacing: 5px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  padding-top: 14px !important;
}

.wc-block-components-button:not(.is-link) {
  background: var(--color-btn);
  color: #fff;
  font-size: 1.7rem;
  border-radius: 6px;
  border-left: 10px solid var(--colore-2);
  text-decoration: none;
}

.wc-block-components-button:not(.is-link):focus {
  box-shadow: unset;
  outline: unset;
}

.wc-block-components-button:not(.is-link)::before {
  font-family: 'Material Icons';
  content: 'shopping_cart_checkout';
  font-size: 4rem;
  opacity: .075;
  position: absolute;
  left: 5px;
  bottom: -5px;
  color: #fff;
  top: 0;
}

.wc-block-components-button.wc-block-components-totals-coupon__button:not(.is-link) {
  background: var(--color-btn);
  font-size: 1rem;
  border-radius: 6px;
  border-left: none;
}

.wc-block-components-button.wc-block-components-totals-coupon__button:not(.is-link)::before {
  content: none;
}

#wc-block-components-totals-coupon__input-coupon {
  border: 1px solid var(--colore-2) !important;
  border-radius: 4px !important;
}

.wc-block-components-totals-coupon__input>label {
  color: var(--colore-2) !important;
}

.wc-block-components-express-payment-continue-rule {
  color: var(--colore-5) !important;
  letter-spacing: 5px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}

p.continua-shopping a {
  font-size: 1.4rem;
  border-radius: 7px;
  border: 1px solid var(--bg-card-prodotto);
  color: var(--color-btn);
  display: inline-flex;
  align-items: center;
  gap: 0.25em;
  font-weight: 400;
  padding: 10px 16px;
  line-height: 1;
  text-decoration: none;
  background: #fff;
  width: 100%;
  justify-content: center;
}

p.continua-shopping a::before {
  font-family: 'Material Icons';
  content: 'shopping_cart_checkout';
  font-size: 1.6rem;
  color: var(--color-btn);
  opacity: 1;
}

form.cart {
  align-items: flex-start;
}

.woocommerce div.product div.summary form.cart .quantity {
  margin: 0 40px 0 0 !important;
}

.single_add_to_cart_button {
  margin-left: initial !important;
}

/* 17 - VIDEO HP */
.video-wrapper {
  position: relative;
  width: 100%;
  max-height: 918px;
  aspect-ratio: 16 / 9;
  margin-inline: auto;
  cursor: pointer;
  overflow: hidden;
}

.video-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 25px;
}

.video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 150px;
  height: 150px;
  background: url(images/play-solid-full.svg) no-repeat center center;
  background-size: contain;
  border: none;
  transform: translate(-50%, -50%);
  pointer-events: none;
  color: #fff;
  opacity: .7;
}

@media (max-width:991px) {
  .video-play {
    width: 50px;
    height: 50px;
  }
}

/* 18 -PRE FOOTER */
.pre-footer {
  position: relative;
  background: url(images/Logo_BG_Footer.svg) no-repeat left bottom, linear-gradient(76deg, var(--colore-8) 0%, var(--bg-card-prodotto) 100%);
  background-size: 30% 150%, cover;
  background-position: 2.5% calc(100% + 200px), center center;
  padding-block: 100px;
  overflow: hidden;
}

.pre-footer ul {
  width: 100%;
  max-width: 100%;
}

.pre-footer ul li {
  margin-bottom: 1rem;
}

.pre-footer ul li a {
  display: block;
  padding: 5px 0;
  text-align: center;
  color: var(--color-btn);
  border-radius: 9px;
  font-size: 1.25rem;
  font-weight: 400;
  width: 90%;
  background-color: #fff;
}

.pre-footer ul li a i {
  margin-right: 5px;
  color: var(--colore-1);
  vertical-align: middle;
}

.pre-footer ul li a:hover i {
  color: #fff;
}

.pre-footer ul li a:hover {
  background-color: var(--colore-1);
  color: #fff;
}

.pre-footer ul li:last-of-type {
  margin-top: 50px;
}

.pre-footer ul li:last-of-type a {
  background-color: var(--colore-1);
  color: #fff;
}

.pre-footer ul li:last-of-type a i {
  color: #fff;
  vertical-align: middle;
}

.pre-footer ul li:last-of-type a:hover {
  background-color: var(--colore-1-hover);
}

.box-newsletter {
  background-color: #fff;
  border-radius: 12px;
  gap: 1rem;
}

.content-newsletter {
  flex: 1 1 auto;
  padding: 20px 0 0 20px;
}

.content-newsletter p {
  font-weight: 300;
  font-size: 1.1rem;
  text-align: left;
}

.content-newsletter p:first-of-type {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--color-btn);
  line-height: 100%;
  text-align: left;
}

.content-newsletter p a {
  font-size: 1.1rem;
  font-weight: 400;
  background-color: var(--color-btn);
  color: #fff;
  border: 2px solid #fff;
  border-radius: 9px;
  display: block;
  text-align: center;
  padding-block: 4px;
}

.image-newsletter {
  flex: 0 0 150px;
  display: flex;
  align-items: stretch;
}

.image-newsletter img {
  object-fit: cover;
  border-radius: 7px;
  border: 1.5px solid #fff;
}

@media (max-width:575px) {
  .pre-footer {
    background-size: 140%, cover;
    background-position: center top, center center;
    padding-block: 100px 0;
  }

  .pre-footer ul li a {
    width: 100%;
  }
}

/* 19 - FOOTER */
footer {
  background-color: var(--color-btn);
  color: #fff;
  padding-block: 40px;
}

footer a {
  color: #fff;
}

footer a i,
footer i {
  color: var(--colore-3);
}

footer p.nome {
  font-size: 1.625rem;
  line-height: 1.625rem;
}

footer p span:first-of-type {
  float: left;
  width: 30px;
}

footer p span:first-of-type i {
  margin-top: 5px;
}

footer p span:last-of-type {
  width: calc(100% - 30px);
  float: left;
}

footer p span:last-of-type a {
  font-size: 1.125rem;
}

footer p span:last-of-type a:hover {
  color: var(--colore-3)
}

footer p.follow {
  font-size: 1.4rem;
}

footer ul.social-links li a {
  display: inline-block;
  font-size: 2.25rem;
}

footer ul.social-links li a i {
  color: var(--colore-8);
}

footer ul.social-links li a:hover {
  transform: scale(1.2);
}

footer .row:last-of-type,
footer .row:last-of-type a {
  font-size: 1.25rem;
  font-weight: 300;
}

footer .row:last-of-type a {
  opacity: .25;
  color: #fff;
}

footer .row:last-of-type a:hover {
  opacity: 1;
}

@media (max-width:575px) {
  footer {
    padding: 40px 15px;
  }
}

/*  20 - RICERCA (form) */
.open-search {
  text-align: center;
  display: flex;
  align-items: center;
}

.open-search a i {
  transform: rotate(90deg);
}

.overlay {
  height: 100%;
  width: 100%;
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  background-color: rgb(114 62 44 / 95%);
}

.overlay-content {
  position: relative;
  top: calc(50% - 70px);
  width: 80%;
  margin: auto;
  left: 20%;
}

.overlay .close-search {
  position: absolute;
  top: 100px;
  right: 45px;
  font-size: 60px;
  cursor: pointer;
  color: #fff;
  z-index: +999;
}

.overlay input[type=text] {
  padding: 10px 15px;
  font-size: 5rem;
  border: none;
  float: left;
  width: 50%;
  border-radius: initial;
  background-color: transparent;
  color: #fff !important;
  font-family: var(--font-1);
  text-align: center;
}

.overlay input[type=text]::placeholder {
  color: #fff;
  opacity: 1;
}

.overlay input[type=text]::-ms-input-placeholder {
  color: #fff;
}

/* 21 - SEARCH (pagina risultati) */
.search-result {
  padding: 20px 0;
  margin-block: 30px;
  background: #fff;
  border: 1px solid var(--bordo-card);
  border-radius: 9px;
}

.search-result img {
  background-color: var(--bg-card-prodotto);
  border-radius: 4px;
}

.search-result h2 {
  margin-top: 0;
  margin-bottom: 25px;
}

.search-result h2 a {
  font-weight: 500;
  font-size: 1.4rem;
  color: var(--color-btn);
}

.search-result h2 a:hover {
  color: var(--colore-3);
}

.search-result .highlight {
  background-color: #ffec9e;
  padding: 5px;
}

/* 22 - PAGINA WISHLIST */
.woocommerce table.shop_table {
  border: 1px solid var(--bg-card-prodotto);
}

.woocommerce table.shop_table th {
  font-weight: 700 !important;
  text-transform: uppercase;
  font-size: 1rem;
  color: var(--colore-6) !important;
}

.wishlist_table tr td.product-thumbnail a {
  max-width: 180px;
}

.wishlist_table tr td.product-thumbnail a img {
  min-width: 90px;
}

.wishlist_table td.product-name {
  height: 120px;
}

.wishlist_table td.product-name a {
  font-size: 1.2rem;
  color: var(--text-color);
  font-weight: 500;
}

.product-price {
  font-size: 1.2rem;
}

.wishlist_table .product-stock-status span.wishlist-in-stock,
.wishlist_table .product-stock-status span.wishlist-out-of-stock {
  color: var(--colore-2);
  font-size: 1rem;
  position: relative;
}

.wishlist_table .product-stock-status span.wishlist-out-of-stock {
  color: var(--colore-1);
}

.wishlist_table .product-stock-status span.wishlist-in-stock::before,
.wishlist_table .product-stock-status span.wishlist-out-of-stock::before {
  content: "";
  position: absolute;
  top: 5px;
  width: 22px;
  height: 12px;
  background-image: url(images/Disp_Disponibile_V.svg);
  background-repeat: no-repeat;
  background-size: auto;
  z-index: 1;
  left: -20px;
}

.wishlist_table .product-stock-status span.wishlist-out-of-stock::before {
  background-image: url('images/Disp_Non_Disponibile_X.svg');
}

.wishlist_table .product-add-to-cart span.dateadded {
  display: block;
  font-size: 1rem;
  margin-bottom: 5px;
}

.wishlist_table .add_to_cart_button.add_to_cart.alt,
.wishlist_table .remove_from_wishlist.button {
  border-radius: 6px !important;
  width: 100%;
  font-weight: 300;
  font-size: 1rem;
  justify-content: center;
}

.add_to_cart_button.add_to_cart.alt {
  background-color: var(--text-color) !important;
}

.remove_from_wishlist.button {
  background-color: transparent !important;
  border: 1px solid var(--colore-1) !important;
  color: var(--colore-1) !important;
}

.yith_wcwl_wishlist_footer .yith-wcwl-share {
  justify-content: center;
  display: flex;
  width: 100%;
}

.yith-wcwl-share h4.yith-wcwl-share-title {
  display: none !important;
}

.yith-wcwl-share ul {
  display: flex !important;
}

.yith-wcwl-share ul li::before {
  content: initial !important;
}

/* 18 - TIMELINE */
.timeline-wrapper {
  position: relative;
}

.timeline-wrapper .year {
  position: absolute;
  top: -60px;
  left: -20px;
  font-size: 1.75rem;
  font-weight: 300;
  background-color: var(--colore-4);
  padding: 0 20px 20px 20px;
  border-top-left-radius: 19px;
  border-top-right-radius: 19px;
  z-index: -1;
  color: #fff;
}

.timeline {
  position: relative;
  padding: 60px 0 40px 0;
  max-width: 1024px;
  margin: 60px auto;
}

.timeline-line {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  bottom: 0;
  width: 2px;
  border-left: 2px dashed var(--colore-8);
}

.arrow-icon {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
  font-size: 24px;
  color: var(--colore-8);
}

.timeline-track {
  position: relative;
  min-height: 1000px;
}

.timeline-item {
  position: relative;
  width: 45%;
  background: #fff;
  border-radius: 19px;
  border: 1.5px solid var(--colore-8);
  margin-top: -20%;
  padding: 20px;
}

.timeline-item h3 {
  font-weight: 300;
  font-size: 1.75rem;
  margin-top: 10px;
}

.timeline-item p {
  font-size: 1rem;
}

.timeline-item:first-of-type {
  margin-top: 0;
}

.timeline-item.left {
  left: 0;
}

.timeline-item.right {
  left: 55%;
}

.timeline-item img {
  height: 300px;
  object-fit: contain;
  border-radius: 11px;
}

.connector {
  position: absolute;
  top: 40px;
  width: 50px;
  height: 2px;
  background: var(--colore-8);
}

.timeline-item.left .connector {
  right: -70px;
}

.timeline-item.right .connector {
  left: -70px;
}

.connector-dot {
  position: absolute;
  top: -6px;
  right: -9px;
  width: 12px;
  height: 12px;
  background: #fff;
  border: 2px solid var(--colore-8);
  border-radius: 50%;
}

.timeline-item.right .connector-dot {
  left: -9px;
  right: auto;
}

.timeline-end {
  position: absolute;
  left: 50%;
  transform: translate(-50%, 100%);
  bottom: 0;
  background: #fff;
  border: 2px solid var(--colore-7);
  width: 75px;
  height: 75px;
  border-radius: 50%;
  text-align: center;
  vertical-align: middle;
  padding-top: 20px;
  font-size: 1.25rem;
}

/* WHATSAPP */
.whatsapp-sito {
  position: fixed;
  z-index: 10;
  top: 10%;
  right: 0;
  padding-right: 10px;
  filter: drop-shadow(2px 4px 10px #00000045);
}

.whatsapp-sito:before {
  content: '';
  width: 40px;
  height: 24px;
  background-color: #4d4b45;
  display: block;
  position: absolute;
  right: 0;
  top: 13px;
  z-index: -1;
}

/* 23 - MODULO */
.modulo {
  margin: 40px auto;
  color: var(--text-color);
  background-color: var(--bg-body);
  padding: 30px;
}

.modulo h2 {
  font-weight: 400;
  font-size: 2rem;
  color: var(--text-color);
  margin-block: 0em 1em;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
textarea {
  padding: 6px 12px;
  width: 100%;
  box-shadow: inset 4px 3px 23px #0000000D;
  border: 1px solid #CBCBCB;
  border-radius: 9px;
}

input[type="number"] {
  width: auto;
}

input.disabled {
  background-color: #979797;
  color: #fff;
}

textarea {
  height: 285px;
  resize: none;
}

:focus-visible {
  outline: none !important;
  border-bottom-color: var(--colore-1) !important;
}

input[type="checkbox"] {
  width: 20px;
  height: 20px;
  border: 1px solid #A1A1A1;
  border-radius: 6px;
  position: relative;
  top: 2px;
  left: -20px;
}

.wpcf7-list-item-label {
  position: relative;
  left: -15px;
  font-weight: 400;
}

.wpcf7-list-item-label a {
  font-weight: 700;
  color: var(--text-color);
  border-bottom: 3px solid var(--colore-1);
  display: inline-block;
}

.wpcf7-form-control.wpcf7-submit.has-spinner {
  padding: 2px 40px;
  border-color: transparent;
  background-color: var(--colore-1);
  text-align: center;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 300;
  border-radius: 10px;
}

.wpcf7-form-control.wpcf7-submit.has-spinner:hover,
button:hover {
  background-color: var(--colore-1-hover);
}

.wpcf7 .wpcf7-submit:disabled {
  opacity: .7;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  border: none;
  background: red;
  text-align: center;
  color: #fff;
  max-width: 1320px;
  margin: 0 auto 40px auto;
}

.wpcf7-spinner {
  display: block;
}

.modulo div.prefix-tel input:first-of-type {
  width: 20%;
}

.modulo div.prefix-tel input:last-of-type {
  width: 79%;
}

#arithmathic_refresh {
  border: none;
}

@media (max-width:540px) {
  .modulo div.prefix-tel input:first-of-type {
    width: 30%;
  }

  .modulo div.prefix-tel input:last-of-type {
    width: 68%;
  }
}


/* RIEPILOGO ORDINE */
.woocommerce .wc-bacs-bank-details-account-name {
    font-weight: 500;
    font-size: 1.4rem;
}


ul.woocommerce-thankyou-order-details.order_details li span.woocommerce-Price-currencySymbol,


 .order_details tr td span.woocommerce-Price-amount.amount .woocommerce-Price-currencySymbol {
font-weight: 400;
    font-size: 1rem;
}


/*CSS MALEVOLO DI ALEX (per visualizzatore immagini dettaglio prodotto */
.pswp .pswp__bg {
  background: linear-gradient(90deg, rgba(173, 167, 159, 1) 0%, rgba(229, 228, 225, 1) 20%, rgba(229, 228, 225, 1) 80%, rgba(173, 167, 159, 1) 100%) !important;
}

.pswp_ui--fit .pswpcaption,
.pswpui--fit .pswp_top-bar {
  background-color: rgb(60 60 55 / 80%) !important;
}

.pswp {
  width: 98%;
  height: 98%;
  left: 1%;
  top: 1%;
  border-radius: 18px;
  box-shadow: 0px 0px 60px 44px #3D3B36;
  border: 1.5px solid #D8D6D2;
}

.pswp_caption_center {
  text-align: center !important;
}

/*FINE CSS MALEVOLO DI ALEX */