/*
Theme Name: Druco Child
Theme URI: https://demo.theme-sky.com/druco/
Author: Theme Sky Team
Author URI: http://theme-sky.com/
Description: A Premium and Responsive WordPress theme, designed for E-Commerce websites
Template: druco
Version: 1.0.0
License: GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Tags: two-columns, left-sidebar, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
Text Domain: druco-child
*/

.berocket_admin_notice_1{display:none;}

.tapes-video-gallery { margin-top: 20px; }
.tapes-video-thumbs { list-style: none; padding: 0; margin: 0; display: flex; gap: 8px; list-style-type: none!important;}
.tapes-video-thumb img { 
    width: 150px;
    height: auto;
    cursor: pointer;
    /* border: 1px; */
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #848484;
    border-radius: 5px 5px 5px 5px;
}
.tapes-video-thumb { list-style-type: none!important;}

/* Modal overlay */
.tapes-video-modal {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.8);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
/* Modal content box */
.tapes-video-modal-content {
  position: relative;
  width: 80%;
  max-width: 800px;
}
/* Close button */
.tapes-video-modal-close {
  position: absolute;
  top: -20px; right: -20px;
  color: #fff;
  font-size: 32px;
  cursor: pointer;
}
/* Body (dove inseriamo l’iframe) */
.tapes-video-modal-body {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.tapes-video-modal-body iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: none;
}
h2.tapes-video-modal-title {
    font-size: 24px;
}
.secondary-product-label span.onsale.percent {
    border-radius: 0;
    min-height: 30px;
    font-size: 16px;
    line-height: 27px !important;
}
.product_list_widget .product-label .onsale, .woocommerce .product .product-label .onsale {
    display: none;
}
.custom-availability {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.custom-availability input {
  margin: 0;
}
.wdr_bulk_table_thead th {
    padding: 0px !important;
}
.wdr_bulk_table_tr  td {
    padding: 0px !important;
}
.sar-table-custom {
    width: 50%;
}
.number-button input.plus{
    background-color: #cccccc;
}
.number-button input.minus{
    background-color: #cccccc;
}
.number-button input.qty{
    width: 100px;
}
.product-specs-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
}
.product-specs-table th,
.product-specs-table td {
  border: 1px solid #ccc;
  padding: 8px;
  vertical-align: top;
}
.product-specs-table th {
  width: 15%;
  background-color: #f5f5f5;
  text-align: left;
}
.product-specs-table td {
  width: 70%;
}
.product-attachments {
  margin: 20px 0;
}
.product-attachments h3 {
  margin-bottom: 8px;
  font-size: 1.2em;
}
.product-attachments ul {
  list-style: none;
  list-style-type: none;
  padding-left: 0;
}
.product-attachments li {
  list-style: none;
  list-style-type: none;
  margin-bottom: 6px;
}
.product-attachments a {
  color: #0073aa;
  text-decoration: underline;
}
.product-attachments a:hover {
  color: #005177;
}

.bapf_head h3 {
    font-size: 18px;
}
.quantity, .woocommerce div.product form.cart table.group_table .quantity {
    width: 190px;
}
.add_to_cart_button.add_to_cart_button_list{
    border-radius: 4px!important;
    background-color: #f0f0f0!important;
    color: #767676!important;
}
.add_to_cart_button.add_to_cart_button_list:hover{
    background-color: #b80202!important;
    color: #ffffff!important;
}
.single_add_to_cart_button {
    width: 243px!important;
    height: 53x!important;
}
.single_add_to_cart_button:hover{
    background-color: #b80202!important;
    color: #ffffff!important;
}
.single_add_to_cart_button:before {
  font-family: "Font Awesome 5 Free"; /* o “Font Awesome 6 Free” a seconda della tua versione */
  font-weight: 900;                   /* necessario se vuoi icone “solid” */
  content: "\f07a";                   /* codice Unicode per la shopping-cart in FA5/FA6 */
  display: inline-block;
  vertical-align: middle;
  margin-right: 6px;
}
.woocommerce.archive .page-container #primary > *:not(.filter-widget-area-button):not(.before-loop-wrapper) {
    min-height: 10px;
}
body .wc-block-components-notice-banner.is-error, body #ts-ajax-add-to-cart-message.error, .woocommerce-error, .woocommerce .woocommerce-error
{
    color: #ffffff;
    background-color: #f0f0f0;
}
.product-price .awdr_cart_strikeout_line del,
.product-price .awdr_cart_strikeout_line ins {
  display: block;
}

.product-price .awdr_cart_strikeout_line ins {
  margin-top: 0.2em;
}
.woocommerce table.shop_table.cart td.actions .button.empty-cart-button {
    background: transparent;
    border: 1px solid #cfc8d8;
}
.woocommerce table.shop_table.cart td.actions .button.empty-cart-button:hover
{
    border-color: #cfc8d8!important;
    background-color: #b80006;
    color: rgba(254, 254, 254, 1);
}
/* ————————————————————————————
   HOME: mostro sempre il primo livello e apro i sub-menu on hover
   ———————————————————————————— */
/* 1) Nav sempre visibile sulla Home */
body.home .vertical-menu-wrapper .ts-mega-menu-wrapper {
  display: block !important;
}

/* 2) Nascondi TUTTI i sub-menu di default */
body.home .ts-mega-menu-wrapper ul.sub-menu {
  display: none !important;
}

/* 3) Al passaggio del mouse su ciascuna voce di primo livello, mostro il suo sub-menu */
body.home .ts-mega-menu-wrapper li.menu-item.parent:hover > ul.sub-menu {
  display: block !important;
}
/* ————————————————————————————
   PAGINE INTERNE: hover sulla heading apre nav e hover sulla voce apre il sub-menu
   ———————————————————————————— */
/* nav nascosto finché non passo sul wrapper “Categorie” */
body:not(.home) .vertical-menu-wrapper .ts-mega-menu-wrapper {
  display: none;
}
/* nav mostrato al passaggio del mouse su “Categorie” */
body:not(.home) .vertical-menu-wrapper:hover .ts-mega-menu-wrapper {
  display: block !important;
}
/* nasconde tutti i sub-menu di default */
body:not(.home) .ts-mega-menu-wrapper ul.sub-menu {
  display: none !important;
}
/* mostra solo il sub-menu del singolo item al hover */
body:not(.home) .ts-mega-menu-wrapper li.menu-item.parent:hover > ul.sub-menu {
  display: block !important;
}
/* 1) Fai da contenitore posizionato */
.vertical-menu-wrapper {
  position: relative;
  z-index: 1000; /* sufficiente a stare sopra la maggior parte degli elementi */
}

/* 2) Trasforma il nav in assoluto, perché non occupi spazio e sovrasti tutto */
.vertical-menu-wrapper .ts-mega-menu-wrapper {
  position: absolute;
  top: 100%;    /* subito sotto la heading “Categorie” */
  left: 0;
  width: 100%;  /* o auto, se preferisci che sia largo quanto serve */
  z-index: 1100;
  background: #fff; /* evita trasparenze sullo slider */
}

/* 3) Stessa logica per i sub-menu interni (anche se ormai eravamo già in absolute) */
.vertical-menu-wrapper .ts-mega-menu-wrapper ul.sub-menu {
  position: absolute;
  top: 0;
  left: 100%;  /* o 0 se vuoi che cada sotto la voce stessa */
  z-index: 1200;
  background: #fff;
  width: 970px !important;      /* prova 450px (o quanto ti serve) */
  min-width: 300px!important;              /* larghezza minima, opzionale */
  max-width: 1000px!important;   
}

/* 4) (Opzionale) Se vuoi che il mega-submenu occupi tutta la larghezza del wrapper */
.vertical-menu-wrapper .ts-mega-menu-wrapper {
  width: auto; /* o max-width: 100vw; */
}

/* Se ti serve un bordo o ombra per staccarlo meglio */
.vertical-menu-wrapper .ts-mega-menu-wrapper,
.vertical-menu-wrapper .ts-mega-menu-wrapper ul.sub-menu {
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

li.menu-item-object-product_cat {
    width: 345px;
    height: 60px;
}
ul.menu li .menu-icon {
    vertical-align: 8px;
    margin: 0 20px;
    position: relative;
}

ul.menu li .menu-label {
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0.45px;
}

/* 1) Ogni menu‐item parent diventa contenitore posizionato */
.vertical-menu-wrapper .ts-mega-menu-wrapper li.menu-item.parent {
  position: relative;
}

/* 2) Il sub‐menu si allinea a sinistra del suo li padre, senza gap extra */
.vertical-menu-wrapper .ts-mega-menu-wrapper ul.sub-menu {
  position: absolute !important;
  top: -70px;
  left: 100%;
  margin-left: 0;     /* elimina eventuali margini precedenti */
  /* mantieni il background e l’ombra */
  background: #fbfbfb;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* 1) rimuovo il background/ombra dal nav wrapper */
.vertical-menu-wrapper .ts-mega-menu-wrapper {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0;  /* elimina eventuali spaziature interne */
}

/* 2) il bianco lo tengo solo sulla lista principale */
.vertical-menu-wrapper .ts-mega-menu-wrapper > ul.menu {
  background: #fbfbfb !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1) !important;
  padding: 0;  /* se ce n’è, altrimenti ometti */
  border-radius: 0 0 8px 8px;
}

/* 3) sub-menu (contenuto grigio) senza ulteriore sfondo o ombra */
.vertical-menu-wrapper .ts-mega-menu-wrapper ul.sub-menu {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0;  /* elimina gap bianchi intorno */
}

.ts-menu-drop-icon {
    top: 22px;
    font-size: 12px;
}
a.has-icon {
    color: #000000;
}
a.has-icon:hover {
    color: #b80006;
}
.vertical-menu-wrapper .ts-mega-menu-wrapper ul.sub-menu .elementor-container {
  display: flex;
  gap: 2rem;                     /* spazio tra colonne */
}

/* Allinea i contenuti in colonna singola su mobile */
@media (max-width: 768px) {
  .vertical-menu-wrapper .ts-mega-menu-wrapper ul.sub-menu {
    width: auto !important;
  }
  .vertical-menu-wrapper .ts-mega-menu-wrapper ul.sub-menu .elementor-container {
    flex-direction: column;
  }
}
#ajaxsearchlite1 .probox, div.asl_w .probox {
    height: 40px;
    padding: 0px;
}
div.asl_w .probox .promagnifier{
    width: 40px!important;
    height: 40px!important;
}
div.asl_m .probox .proinput {
    padding: 5px;
}
.my-account-wrapper,
.my-wishlist-wrapper,
.shopping-cart-wrapper {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0px; /* spazio tra le icone */
}
div.asl_r .results .item .asl_content h3, div.asl_r .results .item .asl_content h3 a {
    font-size: 16px;
}
div.asl_r .results .item .asl_content h3, div.asl_r .results .item .asl_content h3 a:hover {
    font-size: 16px;
}
div.asl_r .results .item .asl_content .asl_desc {
    font-size: 16px;
    font-weight: 600;
    color: var(--e-global-color-primary);
}
div[id*='ajaxsearchliteres'].wpdreams_asl_results .results img.asl_image {
    width: 90px!important;
    height: 90px!important;
}
#ajaxsearchlite1 .probox .proinput input, div.asl_w .probox .proinput input {
    font-size: 16px;
}

.shopping-cart-wrapper .cart-dropdown-form {
  position: absolute;
  top: calc(100%); /* distanza verticale dall'icona */
  right: 0;                /* agganciato al bordo destro */
  left: auto !important;   /* assicura che non venga usato left */
  transform-origin: top right;
  /* opzionale: transizione */
  transition: transform .2s ease;
}
a.button.view-cart, a.button.checkout-button {
    color: #000000!important;
}
a.button.view-cart:hover, a.button.checkout-button:hover {
    background-color: #b80202!important;
    color: #ffffff!important;
}
li.woocommerce-MyAccount-navigation-link {
    font-size: 16px!important;
}
.griglia-prezzo-scontato:has(> .prezzo-netto-label[style*="display: none"]) {
  display: none !important;
}
/* Zebra striping: righe dispari grigio chiaro, pari bianche */
.sar-table-custom tbody tr:nth-child(odd) {
  background-color: #fbfbfb;
}

.sar-table-custom tbody tr:nth-child(even) {
  background-color: #ffffff;
}

.number-button {
    max-width: 243px;
    height: 50px;
}
button.single_add_to_cart_button.button.alt{
    height:60px;
}
span.hsfc-FieldLabel__RequiredIndicator {
    display:none!important;
}
.wdr_bulk_table_td {
    text-align: left;
}
/* Contenitore del form: fissa la larghezza a 600px e posizione relativa */
.hs-inline-form {
  position: relative;
  width: 600px;
  margin: 0 auto; /* centra orizzontalmente, se vuoi */
}

/* Campo email a tutta larghezza del wrapper,
 *    con padding extra a destra per far spazio al button interno */
.hs-inline-form input[type="email"] {
  width: 100%;
  padding: 0.75em 5.5em 0.75em 1em;
  border: 1px solid #ccc;
  border-radius: 45px;
  box-sizing: border-box;
}

/* Pulsante assoluto dentro al container,
 *    allineato a destra e centrato verticalmente */
.hs-inline-form button {
    position: absolute;
    top: 41%;
    right: 0;
    transform: translateY(-50%);
    background: #dcd7e2;
    color: #6c6c6c;
    border: none;
    border-radius: 45px;
    cursor: pointer;
    height: 48px;
}
.hs-inline-form button:hover {
    border-radius: 45px;
}

/* (Opzionale) Stili sul focus del campo */
.hs-inline-form input[type="email"]:focus {
  outline: none;
  border-color: #0073aa;
  box-shadow: 0 0 0 2px rgba(0,115,170,0.2);
}
body.single-product .meta-wrapper .product-sku,
body.single-product .meta-wrapper .product-categories,
body.single-product .meta-wrapper .star-rating
{
    display: none !important;
}
body.single-product .product-wrapper .product-group-button
{
    display: none !important;
}
.woocommerce-cart-form .quantity input.qty {
    border-radius: 0;
}
@media only screen and (min-width: 768px) {
    .woocommerce table.shop_table.woocommerce-cart-form__contents .product-price, .woocommerce table.shop_table.woocommerce-cart-form__contents .product-quantity, .woocommerce table.shop_table.woocommerce-cart-form__contents .product-subtotal {
        width: 150px;
        min-width: 150px;
    }

    .woocommerce .product .thumbnail-wrapper {
        height: 283px;
    }
}
.quantity .plus, .woocommerce div.product form.cart table.group_table .quantity .plus {
    right: 0;
    left: 80px;
}
.woocommerce ul.product_list_widget li .quantity .minus, ul.product_list_widget li .quantity .minus, .woocommerce ul.cart_list li .quantity .minus, ul.cart_list li .quantity .minus, .woocommerce ul.product_list_widget li .quantity .plus, ul.product_list_widget li .quantity .plus, .woocommerce ul.cart_list li .quantity .plus, ul.cart_list li .quantity .plus, table.shop_table .product-quantity .quantity .minus, table.shop_table .product-quantity .quantity .plus {
    height: 50px;
}
body.woocommerce-cart .quantity input.qty,
body.woocommerce-checkout .quantity input.qty {
  width: 100px !important;
  min-width: 100px !important;
  text-align: center;
}
.cart-item-wrapper .quantity input.qty,
body.woocommerce-checkout .quantity input.qty {
  width: 100px !important;
  min-width: 100px !important;
  text-align: center;
}
.ts-tiny-cart-wrapper .cart_list li .cart-item-wrapper > .subtotal, .woocommerce .ts-tiny-cart-wrapper .cart_list li .cart-item-wrapper > .subtotal {
    margin-left: 45px;
    margin-top: 2px;
}
body.single-product .quantity .plus, .woocommerce div.product form.cart table.group_table .quantity .plus {
    right: auto;
    //left: 170px;
}
body.single-product .quantity .plus {
    left: 170px;
}
.woocommerce-mini-cart-item .quantity .plus{
    left: 80px!important;
}
.quickshop-container .quantity .minus{
    height: 50px;
}
.quickshop-container .quantity .plus{
    height: 50px;
    left: 170px;
}
/*
a.ajax_add_to_cart.loading {
  background-color: #b80006 !important;
  color: #fff !important;
  //border-radius: 0 !important;
  box-shadow: none !important;
  padding: 10px 16px !important;
}

a.ajax_add_to_cart.loading::before {
  display: none !important;
}

a.ajax_add_to_cart.loading::after {
  display: inline-block !important;
  content: "" !important;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  margin-left: -8px;
  border: 2px solid #fff;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}
*/
/* Stato loading */
a.ajax_add_to_cart.loading {
  background-color: #b80006 !important;
  color: transparent !important; /* nasconde il testo */
  box-shadow: none !important;
  padding: 10px 16px !important;
  position: relative;
  border-radius: 4px !important;
  text-indent: -9999px; /* spinge fuori visivamente il testo */
  overflow: hidden;
}

/* Nasconde eventuali ::before non voluti */
a.ajax_add_to_cart.loading::before {
  display: none !important;
  border-radius: 4px !important;
}

/* Spinner personalizzato */
a.ajax_add_to_cart.loading::after {
  display: inline-block !important;
  content: "" !important;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  margin-left: -8px;
  border: 2px solid white; /* SPINNER BIANCO */
  border-top-color: transparent;
  border-radius: 4px !important;
  animation: spin 0.6s linear infinite;
}

/* Animazione rotatoria */
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.hs-inline-message-class {
    margin-left: 82px;
}
/* Attiva Flexbox solo su schermi larghi */
@media (min-width: 992px) {
  .woocommerce-cart .woocommerce {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
  }

  .woocommerce-cart .woocommerce-cart-form {
    width: 70%;
  }

  .woocommerce-cart .cart-collaterals {
    width: 30%;
  }
}
.nopadding-td {
    padding: 0px!important;
}
.woocommerce-notices-wrapper {
  position: absolute;
  top: 0px;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 10;
}

body.woocommerce-cart .woocommerce {
  position: relative;
  padding-top: 40px; /* spazio per il messaggio */
}

body .wc-block-components-notice-banner.is-success, body #ts-ajax-add-to-cart-message, .woocommerce-message, .woocommerce .woocommerce-message {
    color: rgba(184, 0, 6, 1);
    background-color: rgb(246 245 248);
}
body .wc-block-components-notice-banner.is-warning, .woocommerce-warning, .woocommerce .woocommerce-warning, body .wc-block-components-notice-banner, .woocommerce-message, .woocommerce .woocommerce-message, .woocommerce-error, .woocommerce .woocommerce-error, .woocommerce-info, .woocommerce .woocommerce-info {
    padding: 5px!important;
    border-radius: 4px;
    line-height: 20px;
    text-align:left;
}
.form_cart-item_principal {
    border-top: 1px solid rgba(184, 0, 6, 1)!important;
}
@media only screen and (min-width: 768px) {
    .woocommerce table.shop_table.wishlist_table th, .woocommerce table.shop_table.wishlist_table td, .woocommerce table.shop_table.woocommerce-cart-form__contents th, .woocommerce table.shop_table.woocommerce-cart-form__contents td {
        padding: 0 5px !important;
        margin: 0 5px !important;
    }
}
.cart-th-product-name {
    text-align: left!important;
}
.cart-th-product-price {
    text-align: left!important;
}
.cart-td-product-price {
    text-align: right!important;
}
.cart-th-product-quantity {
    text-align: center!important;
}
.cart-th-product-subtotal {
    text-align: right!important;
}
.cart-tr-actions {
    padding: 5px 0!important;
}
a.checkout-button.button.alt.wc-forward {
    border-radius: 4px!important;
}
button#place_order {
    border-radius: 4px!important;
}
body.woocommerce-order-received th.woocommerce-table__product-table.product-total {
    text-align: left!important;
}
body.tax-product_cat .term-description {
    padding-top: 20px;
}
.breadcrumb-title-wrapper {
    margin: 0 0 20px 0;
}
body.woocommerce-cart .breadcrumb-title-wrapper.breadcrumb-v1 .page-title {
    margin: 0;
    text-align: left;
}
body.woocommerce-cart h1.heading-title.page-title.entry-title {
    margin-top: 30px !important;
}
.cross-sells {
    display: none!important;
    /* width: 100% !important; */
}
span#select2-billing_state-container {
    border-radius: 4px;
}
span.select2-selection.select2-selection--single {
    border-radius: 4px;
}
span#select2-billing_country-container {
    border-radius: 4px;
}
span.select2-selection.select2-selection--single {
    border-radius: 4px;
}
span#select2-shipping_country-container {
    border-radius: 4px;
}
span.select2-selection.select2-selection--single{
    border-radius: 4px;
}
span#select2-shipping_state-container {
    border-radius: 4px;
}
span.select2-selection.select2-selection--single{
    border-radius: 4px;
}
ul.woocommerce-error li {
    color: red;
}

.search-table .search-field.loading ~ .search-button:before, .search-table .search-field.loading .search-button:before, ul.product_list_widget li a.button.loading:before, .woocommerce ul.product_list_widget li a.button.loading:before, .wishlist_table .product-add-to-cart a.add_to_cart.loading:before, .product-group-button-meta > div:not(.button-in) a.loading:before, .woocommerce .product-group-button-meta > div:not(.button-in) a.button.loading:before, .woocommerce div.product form.cart .button.loading:before, body .woocommerce table.compare-list .add-to-cart td a.loading:before {
    border-radius: 4px!important;
    background-color: #B80006!important;
    color: #ffffff;
}

shipping_method_0_local_pickup2 + label::after {
  content: "      Via Monzoro 58, 20007 Cornaredo (MI) Italia";
  white-space: pre;     /* permette l’andata a capo */
  display: block;
  font-size: 0.9em;
  color: #555;
  margin-top: 4px;
}

@media (max-width: 768px){
  .nav-cat-mobile .elementor-nav-menu--dropdown li.menu-item-object-product_cat{
    height: auto;    
    max-height: none;
    overflow: visible;
  }
  .nav-cat-mobile .elementor-nav-menu--dropdown .sub-menu{
    position: static;
  }
	body.tax-product_cat .page-container.show_breadcrumb_v1 {
		margin: 0 10px 0 10px;
	}
}

span.cart-number {
	color: #ffffff!important;
	font-weight: 700!important;
}
span.count-number {
	color: #ffffff!important;
	font-weight: 700!important;
}
.product-group-button > div:hover .button-tooltip, .thumbnail-wrapper .product-group-button > div:hover, .woocommerce div.product div.images .woocommerce-product-gallery__trigger:hover {
     color: #ffffff!important;
}
svg#yith-wcwl-icon-heart-outline {
    display: none;
}

.products .product .meta-wrapper .heading-title.product-name a{
  /* multi-line clamp + ellissi */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;     /* per Chrome/Safari/Edge */
  line-clamp: 3;              /* standard, dove supportato */
  overflow: hidden;

  /* altezza fissa in base alla line-height */
  --lh: 1.25;                 
  line-height: var(--lh);
  min-height: calc(3 * var(--lh) * 1em);
  max-height: calc(3 * var(--lh) * 1em);
}

.products .product .product-wrapper,
.products .product .meta-wrapper{
  display: flex;
  flex-direction: column;
}

.products .product .meta-wrapper .heading-title.product-name{
  margin-bottom: .5rem; /* regola a gusto */
}

@media (max-width: 480px){
  .products .product .meta-wrapper .heading-title.product-name a{
    -webkit-line-clamp: 2;
    line-clamp: 2;
    min-height: calc(2 * var(--lh) * 1em);
    max-height: calc(2 * var(--lh) * 1em);
  }
}

.woocommerce-MyAccount-content .woocommerce-info {
    margin-top: 50px;
}

.woocommerce form .form-row label { color: inherit; }


.woocommerce form .form-row .required { color: #d63638; } /* o il tuo rosso */
#order_review .shop_table.woocommerce-checkout-review-order-table th:last-child, #order_review .shop_table.woocommerce-checkout-review-order-table td:last-child {
    text-align: left!important;
}

.shop_table tfoot tr.woocommerce-shipping-totals.shipping td.nopadding-td {
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
}

/* 2) reset totale della UL */
.shop_table tfoot tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  text-align: left !important;
}

/* 3) il tema spesso indenta i LI per fare posto al radio assoluto: annulliamo */
.shop_table tfoot tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods li {
  margin: 4px 0 4px 0 !important;
  padding-left: 0 !important;
  position: static !important;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}

/* 4) riportiamo il radio nel flow normale (niente absolute/left) */
.shop_table tfoot tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods li input.shipping_method {
  position: static !important;
  left: auto !important;
  margin: 0 6px 0 0 !important;
}

/* 5) niente text-indent/margini strani sulla label */
.shop_table tfoot tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods li label {
  margin: 0 !important;
  text-indent: 0 !important;
  display: inline-block;
  text-align: left;
}

table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td.nopadding-td,
table.shop_table.woocommerce-cart-form__contents tr.woocommerce-shipping-totals.shipping td.nopadding-td,
.cart_totals tr.woocommerce-shipping-totals.shipping td.nopadding-td {
  text-align: left !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important; /* annulla eventuali float */
}

/* Reset float e layout interni: UL, LI, label, input */
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods,
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods li,
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods label,
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods input.shipping_method,
table.shop_table.woocommerce-cart-form__contents tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods,
table.shop_table.woocommerce-cart-form__contents tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods li,
table.shop_table.woocommerce-cart-form__contents tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods label,
table.shop_table.woocommerce-cart-form__contents tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods input.shipping_method,
.cart_totals tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods,
.cart_totals tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods li,
.cart_totals tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods label,
.cart_totals tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods input.shipping_method {
  float: none !important;
}

/* UL principale: reset totale */
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods,
table.shop_table.woocommerce-cart-form__contents tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods,
.cart_totals tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods {
  clear: both !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  text-align: left !important;
}

/* LI: layout pulito e allineato */
table.shop_table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods > li,
table.shop_table.woocommerce-cart-form__contents tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods > li,
.cart_totals tr.woocommerce-shipping-totals.shipping td.nopadding-td .woocommerce-shipping-methods > li {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  margin: 4px 0 !important;
  padding: 0 !important;
}
