/*
 Theme Name:   Understrap Child Derbe
 Theme URI:    https://https://naturaldermapet.it/
 Description:  Tema child per Derbe
 Author:       Stefano Pagliai
 Template:     understrap
 Version:      1.0
*/

@import url("../understrap/style.css");

body {
  font-family: "agenda", serif;
    
}


.logo_desktop { width:180px; height:auto; color:#fff; padding:10px;}
body,html { background-color:#0b4d4a}
header { border-bottom:1px solid #fff;}
.woocommerce-checkout { background-color:#faf8f1}
form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style) { background-color:#0b4d4a!important}

/* Stile quando è zero: niente background sul numero, solo il pallino */

.header-cart .cart-count {
 
    position: relative; z-index: 1;
    
}

.woocommerce-MyAccount-navigation-link--downloads { display:none}

.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { color:#fff;}




/* Stato "loading" del bottone AJAX */
.add_to_cart_button.loading {
  position: relative;
  pointer-events: none;
  opacity: .8;
}
.add_to_cart_button.loading::after {
  content: "";
  position: absolute; inset: 0;
  margin: auto;
  width: 1em; height: 1em;
  border: 1px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spin .7s linear infinite;
}

/* Stato "added" → mostra ✓ */
.add_to_cart_button.added {
  position: relative;
}
.add_to_cart_button.added::after {
  content: "✓";
  position: absolute; inset: 0;
  margin: auto;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center; justify-content: center;
}

/* Se vuoi mantenere il testo, sposta il check a destra */
.add_to_cart_button.added::after {
  right: .6em; left: auto; top: 50%; transform: translateY(-50%);
}

@keyframes spin { to { transform: rotate(360deg); } }




.header-cart .badge {font-weight: 400!important;}

p { letter-spacing:1px; font-weight:400; font-size:115%; color:#666}

.piccolo p { font-size:110%}

h1, h2, h3 {font-family: "scotch-display", sans-serif;
font-weight: 300;
font-style: normal;}

.riga { width:100%; margin-bottom:20px; margin-top:20px; height: 1px; background-color:#999}

::selection {
  background: #333;   /* Sfondo nero */
  color: #fff;        /* Testo bianco */
}

a { color:#333}
a:hover { color:#333}

.btn-link { color:#333}
.rimuovi-prod { color:#333; font-size:180%; text-decoration: none}
/* BOOTSTRAP */


.container { max-width:1650px}
.grande { font-size:140%}
.trasparente { background-color: transparent!important}

/* HEADER */


.logo_derbe { width: 120px; height: auto}

.offcanvas-cart-content .cart_progress { margin-top:0px; background-color:#faf8f1; padding:12px 20px; border-radius:6px;}
.form-control { background-color:#faf8f1!important;}
.nav-link {  text-transform: uppercase; letter-spacing:1px; font-size:1rem; padding-right:1rem!important; color:#fff; font-weight: 400;}

.mega-menu li { padding-top:10px}
.mega-menu li a { font-size:110%}

.img-4-3 {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; /* oppure height: auto + padding-top */
  overflow: hidden;
}

.img-4-3 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}



/* SLIDER A TUTTA PAGINA */
/* =========================
   SWIPER PAGINATION – Apple micro-UX
   NO nuove classi
   ========================= */

/* base bullet */
.swiper-pagination-bullet{
  width: 8px;
  height: 8px;
  margin: 0 5px !important;          /* controllo spacing */
  background-color: #faf8f1 !important;
  opacity: .35;
  border-radius: 999px;

  transform: translateZ(0);
  transition:
    width 360ms cubic-bezier(.22,1,.36,1),
    opacity 240ms ease,
    transform 420ms cubic-bezier(.2,.9,.2,1),
    filter 420ms cubic-bezier(.2,.9,.2,1);
}

/* hover (desktop) */
@media (hover:hover){
  .swiper-pagination-bullet:hover{
    opacity: .6;
    transform: scale(1.05);
  }
}

/* active → pill oblungo */
.swiper-pagination-bullet-active{
  width: 28px;
  opacity: 1;
  transform: translateY(-0.5px);
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.18));
}

/* varianti già presenti nel tuo CSS (override pulito) */
.paginazione_slider_2 .swiper-pagination-bullet-active,
.paginazione_emo .swiper-pagination-bullet-active{
  width: 28px;
}

.paginazione_emo .swiper-pagination-bullet{

  background-color: #0b4d4a !important;
 
}


/* accessibilità */
@media (prefers-reduced-motion: reduce){
  .swiper-pagination-bullet{
    transition: none;
  }
}



/* SLIDER EMOZIONALE */
.slider_emo .swiper-slide { max-width:400px}

/* Nasconde inizialmente il contenuto "extra" */
.extra-content {
  max-height: 0;
  overflow: hidden;
  transform: translateY(0px);
  transition: all 1s ease-in-out;
}

/* Al passaggio del mouse sulla slide, espande il contenuto */
.emo-slide:hover .extra-content {
  max-height: 400px; /* o quanto ti serve */
  transform: translateY(0);
}

.emo-slide img {
  transition: all 1s ease-in-out;
  transform: scale(1);
}

.emo-slide:hover img {
  transition: all 1s ease-in-out;
  transform: scale(1.1);
}


/* MENU */



.has-mega {
  position: relative;
  z-index: 20;
}

.has-mega > .nav-link {
  position: relative;
  z-index: 30;
}

#acfMegaMenu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100vw;
  background: #fff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 10;
}


.mega-menu {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease;
  z-index: 999;
}
.mega-menu.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.mega-menu a.active { font-weight: bold;}


.sticky-animate {
  transition: all 0.3s ease;
  transform: translateY(-100%);
}
.sticky-animate.stuck {
  transform: translateY(0);
}


/* CARRELLO */

/* HEADER CART */
.header-cart {
  position: relative;
}

.cart-icon {
  font-size: 1.2rem;
}

.cart-toggle {
  position: relative;
  display: inline-block;
}

.cart-toggle .cart-count {
  position: absolute;
  top: 10px;
  font-size: 0.7rem;
  padding: 0.25em 0.5em;
  line-height: 1;
  text-align: center !important;
  width: 100%;
}

.cart-count {
  font-size: 0.75rem;
  padding: 0.3em 0.6em;
  position: absolute;
  top: -0.4rem;
  right: 0rem;
}

.mini-cart-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  width: 300px;
  z-index: 999;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.header-cart:hover .mini-cart-dropdown {
  display: block;
  opacity: 1;
}


/* OFFCANVAS CART */
.offcanvas-cart {
  position: fixed;
  top: 0;
  right: 0;
  width: 600px;
  max-width: 100%;
  height: 100%;
  z-index: 99999;
    background-color:#faf8f1!important;
  transform: translateX(100%);
  transition: transform 0.3s ease-in-out;
  pointer-events: none;
}

.offcanvas-cart.open {
  transform: translateX(0);
  pointer-events: auto;
}

.offcanvas-cart-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.offcanvas-cart-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: visible;
}


/* MINI CART SCROLL + TOTALE */
.widget_shopping_cart_content {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.woocommerce-mini-cart {
  flex-grow: 1;
  flex-shrink: 1;
  overflow-y: auto;
  min-height: 0;
}

.cart-totals-wrapper {
  position: sticky;
  bottom: 0;
  background: #faf8f1;
  padding-top: 1rem;
  border-top: 0px solid #eee;
  z-index: 10;
}


/* AZIONI / CHECKOUT */
.offcanvas-cart-actions {
  background: #fff;
  position: sticky;
  bottom: 0;
  padding-bottom: 1rem;
  z-index: 10;
}


/* VARI STILI DI DETTAGLIO */
.close-cart {
  position: absolute;
  top: auto;
  right: 1rem;
  font-size: 2rem;
  background: transparent;
  border: none;
  line-height: 1;
  cursor: pointer;
  z-index: 1100;
}

.mini-cart-item {
  border-bottom: 1px solid #eee;
  padding-bottom: 1rem;
}

.mini-cart-thumbnail img {
  width: 100px;
  height: auto;
  object-fit: contain;
}

.widget_shopping_cart_content.updating {
  opacity: 0.5;
  pointer-events: none;
  transition: opacity 0.3s ease;
}


.mini-cart-qty-wrapper {
  align-self: flex-end;
}
.mini-cart-item {
  align-items: stretch; /* importante per far allineare tutto in altezza */
}

.mini-cart-thumbnail img {
  width: 100%!important; /* opzionale: fa crescere l'immagine insieme al testo */
    height: auto!important;
  object-fit: contain;
}

.woocommerce ul.cart_list li a, .woocommerce ul.product_list_widget li a 

{ font-weight:400!important}


.mini-cart-details {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
    padding:4px 10px;
}


.remove-item {
  font-size: 1.25rem;
  text-decoration: none;
  line-height: 1;
}

/* QUANTITÀ */
.qty-input::-webkit-inner-spin-button,
.qty-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.qty-input {
  -moz-appearance: textfield;
}
.qty-btn { font-size:140%}


.totale_minicart { font-size:140%}


.mini-cart-thumbnail img { background-color:#f9f9f9; mix-blend-mode: multiply}

a.add_to_cart_button { text-decoration:none}
a.add_to_cart_button:hover { text-decoration:none}

/* CAMPO DI RICERCA PRODOTTI */


.fibosearch-wrapper {
  position: relative;
  max-width: 400px;
  transition: max-width 0.4s ease;
}

.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input { line-height:10px!important; padding: 13px 24px 13px 48px!important}


/* HERO BANNER */

.hero-banner {
  position: relative;
  height: 60vh; /* oppure 100vh se vuoi */
  width: 100%;
  overflow: hidden;
}

.hero-banner img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}


.bannerone { border-radius:6px; min-height: 60vh; position: relative}
.object-cover {
  object-fit: cover;
}




/* PRODOTTO SINGOLO PREVIEW */

.product-card-hover {
  position: relative;
  padding: 0;
  overflow: hidden;
  transition: all 0.3s ease;
  text-align: center;
    border-bottom:1px solid #faf8f1;
}

.product-card-hover img {
  width: 100%;
  height: auto;
  transition: transform 0.3s ease;
  display: block;
}

.product-card-hover .tp-widget-readmore { display:none!important}

.product-title {
  font-size: 1.3rem;
  font-weight: 300;
  margin-bottom: 10px;
    color:#fff;
}

.product-hover-info .availability {
  margin: 5px 0;
}

.product-hover-info .price {
  font-weight: bold!important;
  font-size: 1.1rem!important;
  margin: 10px 0!important;
}

.product-hover-info .button {
  background-color: #faf8f1!important;
  color: #333!important;
  border: none!important;
  padding: 10px!important;
  margin-top: 10px!important;
  width: 100%!important;
  cursor: pointer!important;
  transition: background-color 0.3s!important;
    font-weight: 400!important
}

.product-hover-info .button.disabled {
  background-color: #ccc;
  cursor: not-allowed;
}

.random-inserted-image {
  overflow: hidden;
}
.img-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
    overflow: hidden;
}



/* SLIDERS */

.prod_prev svg,
.prod_next svg {
  pointer-events: none;
}



/* ARCHIVIO WOOCOMMERCE */

.wpc-custom-selected-terms { display:none}

ul.wpc-filters-ul-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-left: 0;
  list-style: none;
}

/* Ogni termine a blocco pieno */
.wpc-label-item {
  display: block;
}

/* Allineamento checkbox + label */
.wpc-term-item-content-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Etichette */
.wpc-filter-label-wrapper a {
  text-decoration: none;
  color: #000;
  font-size: 14px;
  line-height: 1.4;
}

/* Evidenziazione del selezionato */
.wpc-term-selected .wpc-filter-label-wrapper a {
  font-weight: bold;
  color: #000;
}

.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp { background-color:transparent!important}

 span.wpc-filter-label-wrapper , .wpc-filter-label-wrapper{ padding:0px!important; border-radius:0px!important; border:0px solid #fff!important; }
.wpc-term-item-content-wrapper label { border:0px solid #fff!important; border-radius:0px!important}

.wpc-filters-ul-list li.wpc-label-item { margin-bottom:0px!important}

.wpc-term-selected .wpc-filter-label-wrapper { background-color:#fff!important; border-bottom:1px solid #333!important; color:#333!important}
.wpc-term-selected .wpc-filter-label-wrapper a{  color:#333!important}

.wpc-filters-widget-top-container, .wpc-posts-found { display:none}

.wpc-filters-section { margin-bottom:0px!important}

.wpc-filter-title { padding-top:12px!important}

.woocommerce-breadcrumb { display:none}

.breadcrumb, .breadcrumb span , .breadcrumb span a { background-color:#fff; color:#666; font-size:14px}

.woocommerce-breadcrumb-custom .woocommerce-breadcrumb { display:block}

.descrizione_archivio p { text-align:justify; padding-right:10%; color:#fff;}
.product-hover-info {  color:#fff!important;}

.wpc-open-icon { right:20px!important}
.woocommerce-ordering select.orderby {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: #ffffff;
  border: 1px solid #ccc;
  padding: 0.5em 2.5em 0.5em 1em;
  border-radius: 30px;
  font-size: 0.9rem;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg fill='gray' height='14' viewBox='0 0 24 24' width='14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.8em center;
  background-size: 12px;
  transition: border-color 0.3s ease;
}

.woocommerce-ordering select.orderby:hover {
  border-color: #999;
}

.woocommerce-ordering {
  margin-bottom: 2rem;
}





.sku_wrapper  { font-size:0.8rem!important; display:none}


.woocommerce-product-gallery__image img {  }

.acc-title { color:#333}

.woocommerce-product-gallery , .woocommerce-product-gallery__wrapper { background-color:#0b4d4a;}

.single-product .entry-summary .woocommerce-Price-amount { color:#fff; font-size:2.4rem; font-weight: 400;}
.single-product .posted_in { display: none}

.mini-cart-qty-wrapper input[type="number"] {
  max-width: 60px;
  min-width: 40px;
  text-align: center;
}
.close-cart { color:#333}

.sample-label .small { font-size:75%}

.woocommerce div.product form.cart .button { padding:16px 30px; letter-spacing: 1px; margin:0px 10px 0px 10px; font-weight: 400; background-color:#333!important; text-transform: uppercase}

.in-corso { background-color:rgba(33,33,33,0.5); border-radius:.25rem}

a.added_to_cart.wc-forward { display: none!important}
/* SINGOLO PRODOTTO */

@media (min-width: 992px) {
  .product .summary.entry-summary {
    flex: 1 1 auto;
    max-width: 100%;
    min-width: 300px;
  }
.product-hover-info {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
    color:#fff;
  padding: 0px;
    
  transform: translateY(45px);
  opacity: 1;
  transition: transform 0.4s ease, opacity 0.4s ease;
  text-align: center;
}
    .close-cart { color:#333}
    
   

a.added_to_cart.wc-forward { display: none!important}

.product-card-hover:hover .product-hover-info {
  transform: translateY(0px);
  opacity: 1;
}
    
   
    
    .img_prod_preview {padding:40px;}

    .titolo_mini_cart {padding-top:10px; border-bottom:1px solid #eee; padding-bottom:10px}

    
     .slider_cont {height: 80vh; min-height: 500px; max-height: 900px}
    
    .desc_slide {z-index: 2; border-radius: 0.2em; margin-bottom:0px!important}
    .riga_slider { width:100%}
    .cont_prod_pre {aspect-ratio: 14 / 16;}
    
    .prod_prev_2 , .prod_next_2 {display:inline-block;}
}
 .campioncino { width:60px;}
 .thumb_normale { width:90px;}
.cont_puls_carrello { padding:0px;}
.padda_5rem { padding:5rem;}
.prodotti-correlati-slider_2 {padding:2rem 0px 5rem 0px}
.mini-cart-remove { margin-top:-10px}

.woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1 , .woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 { max-width:48%!important}

.carrello_add {padding:8px 30px 5px 0px; border-radius:0px;   display: inline-block;
  width: auto !important; border-top:1px solid #faf9f1; border-bottom:1px solid #faf9f1;  margin-top:20px;}
.immagine_slide {z-index:0; object-fit:cover; object-position:30%;}

.list-group-item.active { background-color:#333!important; color:#fff!important}
.list-group-item.active a { color:#fff!important}

.lead p { color:#fff}

/* Solo mobile */
@media (max-width: 480px) {
  #offcanvasCart .woocommerce-mini-cart-coupon .input-group {
    font-size: 16px !important; /* anche il wrapper Bootstrap */
  }
}

@media (max-width: 991px) {
    .navbar { padding-left:20px!important; padding-right:20px!important}
    .logo_desktop { width:140px!important}
    
    /* iOS no-zoom: alza il “contesto” */
#offcanvasCart,
#offcanvasCart .woocommerce-mini-cart-coupon,
#offcanvasCart .woocommerce-mini-cart-coupon * {
  -webkit-text-size-adjust: 100%;
  font-size: 16px !important;   /* eredita e impedisce ricadute <16 */
  line-height: 1.2 !important;
}
    
   .woocommerce .col2-set .col-1, .woocommerce-page .col2-set .col-1, .woocommerce .col2-set .col-2, .woocommerce-page .col2-set .col-2 { max-width:100%!important}

/* Controlli specifici con alta specificità (batte Bootstrap) */
#offcanvasCart .woocommerce-mini-cart-coupon input[type="text"],
#offcanvasCart .woocommerce-mini-cart-coupon input[type="search"],
#offcanvasCart .woocommerce-mini-cart-coupon input[type="email"],
#offcanvasCart .woocommerce-mini-cart-coupon input[type="tel"],
#offcanvasCart .woocommerce-mini-cart-coupon input[type="number"],
#offcanvasCart .woocommerce-mini-cart-coupon textarea,
#offcanvasCart .woocommerce-mini-cart-coupon select,
#offcanvasCart .woocommerce-mini-cart-coupon button[type="submit"] {
  font-size: 16px !important;
  line-height: 1.2 !important;
  min-height: 40px;         /* aiuta iOS a non zoomare */
  padding: 8px 10px;        /* evita campo troppo “piccolo” */
  -webkit-appearance: none; /* pulisce stile nativo che a volte altera il size */
}

    
    .woocommerce-mini-cart-coupon input.form-control { font-size:16px!important}
    .immagine_slide {z-index:0; object-fit:cover; object-position:30%;}
    
    .navbar-brand { margin-right:auto; margin-left: auto}
    
    .dgwt-wcas-search-wrapp.dgwt-wcas-layout-icon  { margin-top:6px; }
    .page-id-1349 .immagine_slide , .page-id-1377  .immagine_slide, .page-id-1349  .immagine_slide, .page-id-1359  .immagine_slide, .page-id-1367 .immagine_slide {z-index:0; object-fit:cover; object-position:50%;}
    .accordion-custom button { color:#333!important}
     button , button.acc-trigger{ border-width: 0px!important}
     form.woocommerce-ordering select{ color:#333!important;}
    .woocommerce-mini-cart-coupon button ,  .woocommerce-mini-cart-coupon input { padding:3px 6px; font-size:16px!important}
    .descrizione_archivio p { padding-right:0px!important}
    .container { overflow-x: hidden}
    .site-header {-webkit-box-shadow: 0px 5px 21px 1px rgba(0,0,0,0); 
box-shadow: 0px 5px 21px 1px rgba(0,0,0,0); transition: all 0.4s ease }
   .site-header.stuck {-webkit-box-shadow: 0px 5px 21px 1px rgba(0,0,0,0.67); 
box-shadow: 0px 5px 21px 1px rgba(0,0,0,0.67);transition: all 0.4s ease }
    .container h2 { text-align:center; font-size:1.5rem}
    h2.display-4 { font-size:2rem}
    .prodotti-correlati-slider_2 {padding:2rem 0px 3rem 0px}
    .logo_derbe { width: 120px;transition: all 0.4s ease }
    .stuck .logo_derbe { width:120px;transition: all 0.4s ease }
    .container { padding-left:2px; padding-right:2px}
    .slider_cont {height: 80vh; min-height: 500px; max-height: 1000px}
     .desc_slide {z-index: 2; border-radius: 0.2em; margin-bottom:0px!important}
    .riga_slider { width:auto}
    .desc_slide h2 { margin-bottom:1px}
   
    .cont_prod_pre {aspect-ratio: 1 / 1;}
     .img_prod_preview {padding:0.4rem;}
    .cart_progress .small , .disc_spedizione{ font-size:0.65rem; letter-spacing:0px}
    .offcanvas-cart-content h1 { font-size:1.5rem}
    .titolo_mini_cart {padding-top:5px; border-bottom:1px solid #eee; padding-bottom:5px}
    .close-cart {top:10px}
    .close-cart a {font-size:200%}
    .padda_5rem { padding:2rem; text-align:justify}
     .padda_5rem p { text-align:justify}
    p { font-size:100%; }
    .lead p { margin-bottom:0px; color:#fff}
    .prod_prev_2 ,  .prod_next_2 { display:none}
        .product-card-hover:hover .product-hover-info {
  transform: translateY(0px);
  opacity: 1;
} 
    .cont_puls_carrello .wc-forward { display: none;}
    .slider_emo .swiper-slide { overflow-y: hidden}
    .wrapper { padding-top:0px;}
    
   .product-labels .trustpilot-widget { max-width:80px!important; overflow-x: hidden!important}
    
    
    .extra-content {
  max-height: 400px;
  overflow: hidden;
  transform: translateY(0px);
  transition: all 1s ease-in-out;
}

/* Al passaggio del mouse sulla slide, espande il contenuto */
.emo-slide:hover .extra-content {
  max-height: 400px; /* o quanto ti serve */
  transform: translateY(0);
}

.emo-slide img {
  transition: all 1s ease-in-out;
  transform: scale(1);
}

.emo-slide:hover img {
  transition: all 1s ease-in-out;
  transform: scale(1);
}
    
    .content-box { margin-left:10px;}
    
    
    
    .carrello_add {padding:8px 20px 5px 0px; border-radius:0px;   display: inline-block;
  width: 100% !important; border-top:1px solid #faf9f1; border-bottom:1px solid #faf9f1;  margin-top:20px;}
    
    .carrello_add .col-8 p {color:#fff;}
    
    /* MENU MOBILE */
    
   /* ===========================
   MOBILE MENU (toggle + drawer + accordion)
   Dipendenze markup:
   - <button id="mobileMenuToggle" class="mobile-toggle">...</button>
   - <nav id="mobileMenu" class="mobile-nav"> ... <ul class="mobile-accordion"> ... </ul></nav>
   =========================== */

/* --- Toggle (hamburger) --- */
#mobileMenuToggle {
  display: inline-flex;
  flex-direction: column;      /* una sotto l'altra */
  justify-content: center;     /* centrate verticalmente */
  align-items: left;         /* centrate orizzontalmente */
  gap: 5px;                     /* spazio tra le linee */
  width: 44px;
  height: 38px;
  padding: 0;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: #0b4d4a;
  cursor: pointer;
}
#mobileMenuToggle:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.mobile-toggle__bar {
  display: block;
  width: 22px;
  height: 2px;
  background: #fff;
}

/* Posizionamento di base: in alto a destra nell'header (adatta al tuo layout) */
.site-header,
header { position: relative; }
#mobileMenuToggle {  }

/* Mostra toggle solo su mobile (>=992px nascosto) */
@media (min-width: 992px) {
  #mobileMenuToggle { display: none !important; }
}

/* --- Drawer (cassetto) --- */
.mobile-nav {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 88vw; max-width: 420px;
  background: #fff;
  box-shadow: -10px 0 30px rgba(0,0,0,.15);
  z-index: 9999;
  overflow-y: auto;

  /* stato chiuso (animabile) */
  transform: translateX(100%);
  opacity: 0;
  visibility: hidden;
  transition: transform .35s ease, opacity .35s ease, visibility 0s linear .35s;
  will-change: transform, opacity;
}
.mobile-nav.is-open {
  transform: translateX(0);
  opacity: 1;
  visibility: visible;
  transition: transform .35s ease, opacity .35s ease, visibility 0s linear 0s;
}

/* Contenuto interno */
.mobile-nav__inner { padding: 16px; }

/* Backdrop dietro al cassetto */
.mobile-backdrop {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 899;
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, visibility 0s linear .35s;
}
.mobile-backdrop.is-open {
  opacity: 1;
  visibility: visible;
  transition: opacity .35s ease, visibility 0s linear 0s;
}

/* Lock scroll sul body quando aperto */
.mobile-menu-open { overflow: hidden; }

/* --- Accordion --- */
.mobile-accordion { list-style: none; margin: 0; padding: 0; }
.acc-item + .acc-item { border-top: 1px solid #eee; }

.acc-trigger {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between;
  font: inherit;
  background: none;
  border: 0;
  padding: 14px 0;
  text-align: left;
  cursor: pointer;
}
.acc-title { font-weight: 600; }
.acc-icon { transition: transform .2s ease; }
.acc-trigger[aria-expanded="true"] .acc-icon { transform: rotate(45deg); } /* + -> x */

/* Pannello animato in altezza */
.acc-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease;
  will-change: max-height;
}
.acc-panel.is-open {
  /* max-height viene settata inline via JS con scrollHeight */
}
.acc-links { list-style: none; margin: 0; padding: 0 0 10px 0; }
.acc-link a {
  display: block;
  padding: 10px 0;
  text-decoration: none;
  color: inherit;
}
.acc-link a:focus-visible {
  outline: 0px solid #333;
  outline-offset: 2px;
}
    
    
    /* niente focus al click/tap, sì al focus da tastiera */
.acc-trigger:focus { outline: none; }
.acc-trigger:focus-visible {
  outline: 0px solid #333;
  outline-offset: 3px;
  border-radius: 4px;
}

/* rimuove il flash grigio su iOS Safari */
* { -webkit-tap-highlight-color: transparent; }
    
    .mobile-backdrop { 
  pointer-events: none; 
}
.mobile-backdrop.is-open { 
  pointer-events: auto; 
}
    

/* Riduci motion se richiesto dall'utente */
@media (prefers-reduced-motion: reduce) {
  .mobile-nav, .mobile-backdrop, .acc-panel { transition: none !important; }
}

    
    /* FINE MENU MOBILE */
    
    
    
    .product-card-hover { border-bottom:0px solid #faf8f1;}
    
   .campioncino { width:40px;}
 .thumb_normale { width:80px;}
    .cont_puls_carrello { padding:0rem 1rem 1rem 1rem;}
    .dgwt-wcas-sf-wrapp { padding-left:16px!important; padding-right:16px!important}
    
    .product-card-hover .product-hover-info {
  transform: translateY(0px);
  opacity: 1;
}
    .display-4 { font-size:2rem}
    
  .cart .d-flex {
    flex-direction: row;
    align-items: stretch;
  }
    
    .colo_statici .small { font-size:70%;}
    
    .woocommerce div.product form.cart .button { padding:16px 16px; font-size:12px; font-weight: bold;}
    
    
    .woocommerce-mini-cart__total { margin-bottom:1px!important}
    p.woocommerce-mini-cart__buttons { margin-bottom:3px!important}
    .totale_minicart { font-size:100%}
}

.carrello_add .my-3{
    display: grid !important;
    grid-template-columns: auto 1fr;  /* qty | bottone */
    gap: .5rem;
    align-items: stretch;
    flex-wrap: unset !important;      /* annulla l'effetto del flex-wrap */
  }
  .carrello_add .mini-cart-qty-wrapper{ width: 100% !important; }
.single_add_to_cart_button .button-text { font-size:1rem!important}
.product-hover-info .product-title { font-size:20px!important}
.product-hover-info p { font-size:15px!important}
  .carrello_add .single_add_to_cart_button{
    width: 100%;           /* riempi la colonna */
    white-space: nowrap;   /* niente a capo del testo */
    min-width: 0;          /* evita overflow in grid */
    justify-content: center;
  }


.woocommerce div.product form.cart { margin-top:0px; margin-bottom:0px}


.accordion-custom {
  border-top: 0px solid #ddd;
}

.accordion-item {
  border-bottom: 1px solid #ddd;
}

.box_descrizione p { color:#fff;}

.accordion-toggle {
  width: 100%;
  background: none;
  border: none;
  padding: 1rem;
  font-weight: bold;
  font-size: 1.1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.accordion-arrow {
  transition: transform 0.3s ease;
}

.accordion-toggle.active .accordion-arrow {
  transform: rotate(180deg);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  padding: 0 1rem;
}

.accordion-content.open {
  padding-bottom: 1rem;
}

.accordion-toggle span { font-size:1rem; letter-spacing:1px; text-transform:uppercase}

.separatore-obliquo {
  width: 1px;
  height: 90px;
  background-color: #aaa;
  transform: rotate(20deg);
  margin: 0 10px;
}

.icon-bw {
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

img { filter: grayscale(20%);}

.woocommerce-notices-wrapper { display:none}


/* NEWSLETTER */


input.ff-el-form-control { background-color:transparent!important; border:0px solid #fff!important; border-bottom:1px solid #333!important; border-radius:0px!important}
.fluent_form_3 .top_merged.ff_submit_btn_wrapper, form.fluent_form_3 .wpf_has_custom_css.ff-btn-submit { position:relative!important; border-color:#333!important}
.ff-el-input--content input.extra_spaced { padding-left:0px!important}




/* CARRELLO */

.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { float:none; width:100%}


/* CAMPIONCINI */


.sample-label {
  
  cursor: pointer;
  transition: all 0.2s ease;
    border-radius:10px;
    opacity: 0.9;
}

.sample-label.selected {
  opacity: 1;
  border: 1px solid #fff;
    -webkit-box-shadow: 2px 2px 5px 0px #333; 
box-shadow: 2px 2px 5px 0px #333;
}


.popup-footer button.button { width:100%; text-align: center; text-transform:uppercase; background-color:#333; color:#fff; padding:6px 10px;}


.woocommerce-mini-cart { padding-right:10px!important;}

.woocommerce-mini-cart::-webkit-scrollbar {
  width: 4px;
}
.woocommerce-mini-cart::-webkit-scrollbar-track {
  background: #f1f1f1;
}
.woocommerce-mini-cart::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}
.woocommerce-mini-cart::-webkit-scrollbar-thumb:hover {
  background: #888;
}

/* Firefox scrollbar styling */
.woocommerce-mini-cart {
  scrollbar-color: #888 #f1f1f1;
  scrollbar-width: thin;
}



.wc-blocks-components-select__select {appearance: none;
background: none;
border: 1px solid hsla(0,0%,7%,.8);
border-radius: 4px;
color: #2b2d2f;
font-family: inherit;
font-size: inherit;
font-size: 1em;
font-style: inherit;
font-weight: inherit;
height: 100%;
letter-spacing: inherit;
line-height: inherit;
padding: .1em .5em;
text-decoration: inherit;
text-transform: inherit;
width: 100%;}


/* Wrapper con freccetta */
.select-chevron { position: relative; }

/* Nasconde l’arrow nativa e prepara spazio a destra */
.select-chevron .form-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 2rem;          /* spazio per la freccia */
  background-image: none !important; /* sovrascrive eventuale reset */
}

/* IE legacy */
.select-chevron .form-select::-ms-expand { display: none; }

/* Freccia SVG a destra, non cliccabile */
.select-chevron::after {
  content: "";
  position: absolute;
  pointer-events: none;
  top: 50%;
  right: 1.75rem;
  width: .8rem;               /* regola dimensione */
  height: .8rem;
  transform: translateY(-50%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  /* cambia colore variando %236c757d (grigio Bootstrap) */
}

/* (opzionale) allineamento su .form-select-sm */
.select-chevron .form-select.form-select-sm {
  padding-right: 2rem;
  line-height: 1.5;
  min-height: calc(1.5em + .5rem + 2px);
}

.woocommerce-pagination { margin-top:30px; }

.woocommerce-pagination ul.page-numbers li span, .woocommerce-pagination ul.page-numbers li a { padding: 20px!important; font-size:130%!important; }

nav.woocommerce-pagination ul li a:focus, .woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current { background-color:#333!important; color:#fff!important}

.woocommerce nav.woocommerce-pagination ul { border:0px solid #fff;}

ul.page-numbers li:last-child { border-right:0px solid #fff!important}

.woocommerce-pagination { padding:20px; border-top:1px solid #333; border-bottom:1px solid #333;}


.testo-banner p { text-align:justify}



.woocommerce-MyAccount-navigation ul {
  padding: 0;
  margin: 0;
}

.woocommerce-MyAccount-navigation ul li {
  border: 1px solid #ddd;
  margin-bottom: 5px;
  border-radius: .375rem; /* stesso radius dei bottoni Bootstrap */
}

.woocommerce-MyAccount-navigation ul li.is-active a {
  background-color: #161615; /* colore brand */
  color: #fff !important;
}


.woocommerce-MyAccount-navigation {
  flex: 0 0 250px; /* larghezza sidebar */
}

.woocommerce-MyAccount-content {
  flex: 1; /* prende lo spazio restante */
}

/* My Account > Indirizzi: sempre una colonna */

.woocommerce .u-columns.woocommerce-Addresses.col2-set.addresses {
  display: block !important;     /* disattiva grid/flex */
}

.woocommerce .u-columns.woocommerce-Addresses .u-column1,
.woocommerce .u-columns.woocommerce-Addresses .u-column2,
.woocommerce .woocommerce-Addresses .col-1,
.woocommerce .woocommerce-Addresses .col-2 {
  float: left !important;        /* annulla i float legacy */
  width: 48% !important;
  max-width: 48% !important;
  margin: 5px!important; /* spazio tra le due card */
  padding: 20px !important;
  box-sizing: border-box;
}

/* Card pulite */
.woocommerce .woocommerce-Address {
  border: 1px solid #e5e5e5;
  border-radius: .375rem;
  background: #fff;
  padding: 1.25rem;
}

/* Titolo + link sulla stessa riga */
.woocommerce .woocommerce-Address-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  margin-bottom: 1rem;
}
.woocommerce .woocommerce-Address-title h2 { margin: 0; font-size: 1.125rem; }
.woocommerce .woocommerce-Address-title .edit { white-space: nowrap; font-size: .95rem; }


/* === WooCommerce Login - restyle === */
.woocommerce form.login {
  border: 1px solid #e7e7e7;
  border-radius: .5rem;
  padding: 1.5rem;
  background: #fff;
}

/* layout a colonna con spazi regolari */
.woocommerce form.login .form-row {
  margin-bottom: 1rem;
}
.woocommerce form.login .form-row label {
  display: block;
  margin-bottom: .4rem;
  font-weight: 500;
  letter-spacing: .01em;
}

/* input */
.woocommerce form.login input.input-text {
  width: 100%;
  border: 1px solid #cfcfcf;
  border-radius: .4rem;
  padding: .65rem .9rem;
  line-height: 1.4;
  background-color: #fff;
}
.woocommerce form.login input.input-text:focus {
  border-color: #6b5cff;           /* accento brand (cambia se vuoi) */
  outline: 0;
  box-shadow: 0 0 0 .2rem rgba(107,92,255,.15);
}

/* wrapper password con occhietto */
.woocommerce form.login .woocommerce-password-strength + .show-password-input,
.woocommerce form.login .password-input {
  position: relative;
}
.woocommerce form.login .password-input .show-password-input,
.woocommerce form.login .show-password {
  position: absolute;
  right: .6rem; top: 50%;
  transform: translateY(-50%);
  opacity: .6;
}
.woocommerce form.login .show-password:hover { opacity: .9; }

/* checkbox Ricordami allineata */
.woocommerce form.login .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin: .5rem 0 1rem;
}
.woocommerce form.login .woocommerce-form__label-for-checkbox input[type=checkbox] {
  width: 1rem; height: 1rem; margin: 0;
}

/* bottone Accedi */
.woocommerce form.login button.button {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  border: 1px solid #161615;
  background: #161615;
  color: #fff;
  border-radius: .45rem;
  padding: .55rem 1rem;
  font-weight: 600;
  transition: transform .05s ease, background .2s ease;
}
.woocommerce form.login button.button:hover { background: #2a2a29; }
.woocommerce form.login button.button:active { transform: translateY(1px); }

/* link "Password dimenticata?" */
.woocommerce form.login .lost_password a {
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.woocommerce form.login .lost_password a:hover {
  border-color: currentColor;
}

/* messaggi */
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info {
  border-radius: .45rem;
}

.woocommerce form.login .form-row.rememberme {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

/* Login form: struttura più chiara */
.woocommerce form.login {
  border: 1px solid #e7e7e7;
  border-radius: .5rem;
  padding: 1.5rem;
  background: #fff;
   /* opzionale: centra il box */
}

/* label sopra l'input */
.woocommerce form.login .form-row label {
  display: block;
  margin-bottom: .35rem;
  font-weight: 500;
  font-size: .95rem;
}

/* input */
.woocommerce form.login input.input-text {
  width: 100%;
  border: 1px solid #cfcfcf;
  border-radius: .4rem;
  padding: .65rem .9rem;
  line-height: 1.4;
  background-color: #fff;
  margin-bottom: 1rem;
}
.woocommerce form.login input.input-text:focus {
  border-color: #6b5cff;
  outline: 0;
  box-shadow: 0 0 0 .2rem rgba(107,92,255,.15);
}

/* bottone Accedi */
.woocommerce form.login button.button {
  display: block;
  width: 100%;
  border: 1px solid #161615;
  background: #161615;
  color: #fff;
  border-radius: .45rem;
  padding: .65rem 1rem;
  font-weight: 600;
  margin: .5rem 0 1rem;
  transition: background .2s ease;
}
.woocommerce form.login button.button:hover {
  background: #2a2a29;
}

/* checkbox + link sotto al bottone */
.woocommerce form.login .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .9rem;
  margin-bottom: .75rem;
}
.woocommerce form.login .woocommerce-form__label-for-checkbox input[type=checkbox] {
  width: 1rem; height: 1rem;
}

.u-column2 p { font-size:13px!important}

/* link password dimenticata */
.woocommerce form.login .lost_password {
  font-size: .9rem;
}
.woocommerce form.login .lost_password a {
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.woocommerce form.login .lost_password a:hover {
  border-color: currentColor;
}
.woocommerce form.login .form-row label { width:100%!important}

.account_custom .woocommerce {width:100%}

.wp-block-woocommerce-checkout { padding:1.5rem!important}

.trp-language-item { padding: 7px;}
.trp-shortcode-switcher { padding:10px 0px 4px 0px}

.order-again { display:none!important}



.acc-icon { color:#333!important}

.wc-block-components-checkout-place-order-button { background-color:#333!important; border:0px solid #fff!important; width: 100%!important}
.wc-block-components-checkout-place-order-button__text { color:#fff!important; text-transform:uppercase!important}
.wc-block-components-checkout-return-to-cart-button { display:none!important}
.tagged_as { display:none!important}

.tp-widget-wrapper { max-width:1600px}

.product-title del , .price del {font-size:80%}
.product-title ins bdi, .price ins bdi, .text-danger bdi{ font-size:110%; font-weight:bold; padding-left:5px; color:#8daea3; text-decoration:none }

.product-title ins , .price ins {  text-decoration:none }



.woocommerce span.onsale {font-size: 0.9rem!important;  padding: 0.1em 0.4em!important;   text-align:center!important; background-color:#8daea3!important; padding:5px 10px; border-radius:5px; color:#fff; font-weight:800}


.woocommerce-product-details__short-description p { color:#fff;}

@media (min-width: 992px) {

  /* flex SOLO per la prima riga prodotto */
  .single-product div.product {
    display: flex;
    flex-wrap: wrap; /* FONDAMENTALE */
    align-items: center;
  }

  /* le due colonne principali */
  .single-product .woocommerce-product-gallery,
  .single-product .summary.entry-summary {
    flex: 0 0 50%;
    max-width: 50%;
  }

  /* tutto quello che viene DOPO torna sotto */
  .single-product div.product > *:not(.woocommerce-product-gallery):not(.summary) {
    flex: 0 0 100%;
    max-width: 100%;
  }
}


.woocommerce-product-gallery__wrapper,
.product-card-hover{
  position: relative;
  overflow: hidden;
}

/* layer gradiente */
.woocommerce-product-gallery__wrapper::before,
.product-card-hover::before{
  content: "";
  position: absolute;
  inset: 0;

  background: radial-gradient(
    circle at center,
    #faf8f1 0%,
    #faf8f1 40%,
    transparent 40%
  );
  background-repeat: no-repeat;

  opacity: 0.1;
  transform: scale(0.8);
  transition: opacity .35s ease, transform .35s ease;
  pointer-events: none;
  z-index: 0;
}

/* stato hover */
.product-card-hover:hover::before{
  opacity: 0.1;
  transform: scale(1);
}


/* assicura che il contenuto stia sopra */
.product-card-hover > *{
  position: relative;
  z-index: 1;
}



/* container immagine */
.product-card-hover .cont_prod_pre{
  position: relative;
}

/* layer immagini */
.product-card-hover .cont_prod_pre .img-layer{
  position:absolute;
  inset:0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  transition: opacity .35s ease;
  will-change: opacity;
}

/* stato iniziale */
.product-card-hover .cont_prod_pre .img-layer--main{ opacity:1; }
.product-card-hover .cont_prod_pre .img-layer--alt { opacity:0; }

/* hover: main out, alt in */
.product-card-hover:hover .cont_prod_pre .img-layer--main{ opacity:1; }
.product-card-hover:hover .cont_prod_pre .img-layer--alt { opacity:1; }

.product-card-hover .cont_prod_pre.no-alt .img-layer--main{
  opacity:1 !important;
}

.product-card-hover:focus-within .cont_prod_pre .img-layer--main{ opacity:0; }
.product-card-hover:focus-within .cont_prod_pre .img-layer--alt { opacity:1; }

.wc-info-col{
  border: 0px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.04);
}

.wc-info-title{
  margin: 0;
  font-size: 1.5rem;
  text-transform: uppercase;
    color:#fff!important;
}

.wc-info-content, .wc-info-content p{
  line-height: 1.55;
    color:#fff!important;
}

.ingredient-name{
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 6px;
  margin-bottom: 10px;
}

.ingredient-hr{
  width: 50px;
  margin: 0 0 10px 0;
  opacity: .6;
}

.testo-banner p { color:#fff}
.mega-menu * , .mega-menu a, .mega-menu .text-muted { color:#fff!important; text-decoration:none!important}

.archive #woocommerce-wrapper { padding-top:0px!important}
.pulsante_chiaro {color:#fff; font-size:1.1rem; text-decoration:none; margin-top:40px;  padding:5px 0px; border-top:1px solid #fff; border-bottom:1px solid #fff; display:inline-block;transition: all .35s ease; }
.pulsante_chiaro:hover {color:#0b4d4a; font-size:1.1rem; text-decoration:none; background-color:#faf8f1;  margin-top:40px;  padding:5px 15px; border-top:1px solid #fff; border-bottom:1px solid #fff; display:inline-block}