/* ============================================
   iVision Rent — Allineato al sito vetrina
   Theme: Dark / Black
   Font: Montserrat
   ============================================ */

:root {
    --black: #000000;
    --dark: #0a0a0a;
    --dark-2: #111111;
    --dark-3: #1a1a1a;
    --dark-4: #222222;
    --gray: #888888;
    --light-gray: #aaaaaa;
    --white: #ffffff;
    --accent: #00d4ff;
    --accent-dark: #009fcc;
    --accent-glow: rgba(0, 212, 255, 0.15);
    --accent-glow-strong: rgba(0, 212, 255, 0.3);
    --gradient-accent: linear-gradient(135deg, #04a7b9, #00e5ff);
    --font: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    --radius: 12px;
    --radius-sm: 8px;
    --shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
    --shadow-glow: 0 0 30px rgba(0, 212, 255, 0.1);

    /* Alias retro-compatibili */
    --iv-primary: var(--accent);
    --iv-bg: var(--black);
    --iv-card: var(--dark-2);
    --iv-border: rgba(255, 255, 255, 0.06);
    --iv-text: var(--light-gray);
    --iv-muted: var(--gray);
}


/* ============================================
   BASE — background coerente con i-vision.it
   ============================================ */
html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-y: scroll;
    background-color: var(--black) !important;
    background-image: url('../images/fondo-light.svg') !important;
    background-repeat: no-repeat !important;
    background-position: 0 -176px !important;
    background-size: calc(100% + 142px) auto !important;
    background-attachment: fixed !important;
}

body {
    font-family: var(--font) !important;
    background-color: rgba(0, 0, 0, 0.3) !important;
    color: var(--light-gray) !important;
    font-weight: 400;
    line-height: 1.7;
    overflow-x: hidden;
}

#page,
.site-content,
.site-main,
.content-area {
    font-family: var(--font) !important;
    background: transparent !important;
    color: var(--light-gray) !important;
}

.site-header,
.site-footer {
    font-family: var(--font) !important;
    color: var(--light-gray) !important;
}

#page > .col-full,
.col-full {
    background: transparent !important;
}

a {
    color: var(--accent);
    text-decoration: none;
    transition: color var(--transition);
}

a:hover {
    color: var(--white);
}


/* ============================================
   TIPOGRAFIA
   ============================================ */
h1, h2, h3, h4, h5, h6 {
    color: var(--white) !important;
    font-family: var(--font) !important;
    font-weight: 700;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

h1 { font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; letter-spacing: -1px; }
h2 { font-size: clamp(1.6rem, 3.5vw, 2.2rem); }
h3 { font-size: 1.3rem; }
h4 { font-size: 1.05rem; font-weight: 600; }

p {
    color: var(--light-gray);
    font-weight: 400;
}


/* ============================================
   HEADER
   ============================================ */
.site-header {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.85) 50%, rgba(0, 0, 0, 0) 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    box-shadow: none !important;
    padding: 0.25rem 0 !important;
    margin-bottom: 0 !important;
    min-height: 0 !important;
}

.site-header .col-full {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.site-branding,
.site-header .site-branding {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    min-height: 0 !important;
}

.site-branding .custom-logo-link img,
.site-branding img.custom-logo {
    height: 32px !important;
    width: auto !important;
    margin: 0 !important;
    display: block;
}

.site-header .main-navigation {
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
}

.site-header .main-navigation ul li,
.site-header .main-navigation ul li a {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    line-height: 1.2 !important;
}

.site-header .secondary-navigation {
    margin: 0 !important;
    padding: 0 !important;
}

/* Riduci spazio per cart-contents nel header */
.site-header-cart {
    margin: 0 !important;
    padding: 0 !important;
}

.site-header-cart .cart-contents {
    padding: 6px 12px !important;
    line-height: 1.2 !important;
}

.site-header .site-search,
.site-header .secondary-navigation {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Nasconde la ricerca prodotti dal header */
.site-header .site-search,
.site-header .widget_product_search,
.site-header .woocommerce-product-search,
.site-header form.woocommerce-product-search,
.site-search {
    display: none !important;
}

/* ============================================
   EXPRESS CHECKOUT — disattivazione totale UI
   (Stripe / WooPayments / PayPal / Klarna)
   ============================================ */
[class*="express-checkout"],
[class*="expressCheckout"],
[id*="express-checkout"],
[class*="payment-request"],
[class*="paymentRequest"],
[class*="ppcp-messages"],
[class*="ppcp-message"],
[class*="ppcp_messages"],
[id*="ppcp-messages"],
[id*="ppcp-button"],
[class*="ppcp-button"],
[class*="ppcp-pay-later"],
[class*="ppcp-credit-messaging"],
[class*="wcpay-express"],
[class*="wcpay-payment-request"],
[class*="wcpay-link-button"],
[class*="wc-stripe-express"],
[class*="wc-stripe-payment-request"],
[class*="wc-stripe-link"],
[class*="klarna-placement"],
[class*="klarna-onsite-messaging"],
.wc-stripe-pay-now-button,
.wc-block-components-express-payment,
.wc-block-components-express-payment-continue-rule,
.wp-block-woocommerce-checkout-express-payment-block,
#wc-stripe-payment-request-wrapper,
#wcpay-express-checkout-wrapper,
#wcpay-express-checkout-button-separator,
#ppc-button-ppcp-messages,
.wcpay-express-checkout-wrapper,
.ppcp-messages,
klarna-placement {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.site-branding h1 a,
.site-title a,
.site-header a {
    color: var(--white) !important;
}

.site-description { color: var(--gray) !important; }

.main-navigation a {
    color: var(--light-gray) !important;
    font-weight: 500;
    transition: color var(--transition);
    letter-spacing: 0.3px;
}

.main-navigation a:hover {
    color: var(--accent) !important;
}

.site-title { font-size: 0 !important; line-height: 0 !important; }


/* ============================================
   ARCHIVIO PRODOTTI
   ============================================ */
.storefront-product-section,
.related.products,
.upsells.products {
    background: transparent !important;
}

/* Griglia uniforme — 3 colonne, ultima riga centrata */
ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 1.25rem !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

ul.products::before,
ul.products::after {
    display: none !important;
}

ul.products li.product {
    width: calc((100% - 2 * 1.25rem) / 3) !important;
    max-width: calc((100% - 2 * 1.25rem) / 3) !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    background: var(--dark-2) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: var(--radius) !important;
    padding: 1rem !important;
    overflow: hidden;
    display: flex !important;
    flex-direction: column;
    transition: all var(--transition);
}

ul.products li.product:hover {
    border-color: rgba(0, 212, 255, 0.2) !important;
    transform: translateY(-4px);
    box-shadow: var(--shadow-glow);
}

/* Immagine prodotto: rapporto fisso 1:1 + cover */
ul.products li.product a img,
ul.products li.product .wp-post-image,
ul.products li.product .attachment-woocommerce_thumbnail {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    background: var(--dark-3) !important;
    border-radius: var(--radius-sm) !important;
    margin: 0 0 0.75rem 0 !important;
    display: block !important;
}

/* Titolo a 2 righe fisse */
ul.products li.product .woocommerce-loop-product__title {
    color: var(--white) !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    letter-spacing: -0.3px;
    line-height: 1.35 !important;
    margin: 0 0 0.5rem 0 !important;
    padding: 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.7em;
}

/* Star rating spaziatura uniforme */
ul.products li.product .star-rating {
    margin: 0 0 0.5rem 0 !important;
    font-size: 0.85rem;
}

/* Prezzo allineato in basso */
ul.products li.product .price {
    color: var(--accent) !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
    margin: auto 0 0.75rem 0 !important;
    padding: 0 !important;
    display: block;
}

/* Bottone "Aggiungi al carrello" full width sotto */
ul.products li.product .button,
ul.products li.product .added_to_cart {
    margin: 0 !important;
    width: 100% !important;
    text-align: center;
    padding: 10px 16px !important;
    font-size: 0.85rem !important;
}

/* Responsive griglia (flex con larghezze % calcolate sul gap) */
@media (max-width: 1024px) {
    ul.products li.product {
        width: calc((100% - 1.25rem) / 2) !important;
        max-width: calc((100% - 1.25rem) / 2) !important;
    }
}

@media (max-width: 768px) {
    ul.products {
        gap: 1rem !important;
    }
    ul.products li.product {
        width: calc((100% - 1rem) / 2) !important;
        max-width: calc((100% - 1rem) / 2) !important;
    }
}

@media (max-width: 480px) {
    ul.products li.product {
        width: 100% !important;
        max-width: 100% !important;
    }
}

.star-rating span::before {
    color: var(--accent) !important;
}

.onsale {
    background: var(--gradient-accent) !important;
    color: var(--black) !important;
    border-radius: var(--radius-sm) !important;
    font-weight: 700 !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(0, 212, 255, 0.25);
}


/* ============================================
   PAGINA SINGOLO PRODOTTO
   ============================================ */
.single-product div.product {
    display: grid !important;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) !important;
    grid-template-areas: "gallery summary" "tabs tabs" "related related" !important;
    gap: 2.5rem !important;
    align-items: start;
}

.single-product div.product .images,
.single-product div.product .woocommerce-product-gallery {
    grid-area: gallery !important;
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: left !important;
    margin: 0 !important;
    opacity: 1 !important;
}

.single-product div.product .summary,
.single-product div.product .summary.entry-summary {
    grid-area: summary !important;
    grid-column: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: right !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product div.product .woocommerce-tabs {
    grid-area: tabs !important;
    grid-column: 1 / -1 !important;
}

.single-product div.product .related,
.single-product div.product .upsells {
    grid-area: related !important;
    grid-column: 1 / -1 !important;
}

/* Immagine principale: grande, quadrata, copertura */
.woocommerce-product-gallery__wrapper {
    margin: 0 !important;
}

.woocommerce-product-gallery__image,
.woocommerce-product-gallery__image--placeholder {
    background: var(--dark-2) !important;
    border-radius: var(--radius) !important;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.woocommerce-product-gallery__image a,
.woocommerce-product-gallery__image--placeholder a {
    display: block;
    aspect-ratio: 1 / 1 !important;
    background: var(--dark-3) !important;
}

.wp-post-image,
.woocommerce-product-gallery img,
.woocommerce-product-gallery__image img,
.attachment-woocommerce_single {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    object-position: center !important;
    padding: 1.5rem;
    background: var(--dark-2) !important;
    border-radius: var(--radius) !important;
    margin: 0 !important;
    display: block;
}

/* Trigger zoom (lente) angolo */
.woocommerce-product-gallery__trigger {
    background: var(--dark-3) !important;
    color: var(--accent) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 50% !important;
    width: 36px;
    height: 36px;
    line-height: 36px !important;
    text-align: center;
    top: 12px !important;
    right: 12px !important;
    text-decoration: none !important;
    transition: all var(--transition);
}

.woocommerce-product-gallery__trigger:hover {
    background: var(--accent) !important;
    color: var(--black) !important;
}

/* Thumbnails sotto */
.flex-control-thumbs,
.flex-control-nav.flex-control-thumbs {
    display: flex !important;
    gap: 8px !important;
    margin: 12px 0 0 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.flex-control-thumbs li {
    width: 70px !important;
    margin: 0 !important;
    list-style: none !important;
}

.flex-control-thumbs li img {
    width: 100% !important;
    height: 70px !important;
    object-fit: cover !important;
    border-radius: var(--radius-sm) !important;
    border: 2px solid transparent !important;
    background: var(--dark-3) !important;
    padding: 4px !important;
    cursor: pointer;
    opacity: 0.6 !important;
    transition: all var(--transition);
}

.flex-control-thumbs li img:hover,
.flex-control-thumbs li img.flex-active {
    border-color: var(--accent) !important;
    opacity: 1 !important;
}

/* Summary (info prodotto) */
.single-product div.product .summary .product_title {
    font-size: 1.8rem !important;
    margin: 0 0 0.75rem 0 !important;
    line-height: 1.2;
}

.single-product div.product .summary .price {
    color: var(--accent) !important;
    font-size: 1.8rem !important;
    font-weight: 700;
    margin: 0 0 1rem 0 !important;
}

.single-product div.product .summary .woocommerce-product-details__short-description {
    color: var(--light-gray);
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .single-product div.product {
        display: block !important;
        grid-template-columns: 1fr !important;
        gap: 1.5rem !important;
    }

    /* Gallery e summary: full-width, in colonna */
    .single-product div.product .images,
    .single-product div.product .woocommerce-product-gallery,
    .single-product div.product .summary,
    .single-product div.product .summary.entry-summary {
        width: 100% !important;
        max-width: 100% !important;
        float: none !important;
        clear: both !important;
        display: block !important;
        margin: 0 0 1.25rem 0 !important;
    }

    /* Immagine principale: padding ridotto per sfruttare lo schermo */
    .wp-post-image,
    .woocommerce-product-gallery img,
    .woocommerce-product-gallery__image img,
    .attachment-woocommerce_single {
        padding: 0.5rem !important;
    }
}

.woocommerce-tabs .tabs {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.woocommerce-tabs .tabs li {
    background: transparent !important;
    border: none !important;
}

.woocommerce-tabs .tabs li a {
    color: var(--gray) !important;
    font-weight: 500;
    transition: color var(--transition);
}

.woocommerce-tabs .tabs li.active a,
.woocommerce-tabs .tabs li:hover a {
    color: var(--accent) !important;
    border-color: var(--accent) !important;
}

.woocommerce-tabs .panel {
    background: var(--dark-2) !important;
    border-radius: var(--radius);
    padding: 2rem !important;
    border: 1px solid rgba(255, 255, 255, 0.06);
}


/* ============================================
   BOTTONI (premium gradient)
   ============================================ */
.button,
button,
input[type=submit],
.wp-element-button,
a.button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce #respond input#submit,
.added_to_cart,
.storefront-button,
.checkout-button,
.woocommerce-cart .actions .button,
.single_add_to_cart_button {
    background: var(--gradient-accent) !important;
    color: var(--black) !important;
    border: none !important;
    border-radius: var(--radius-sm) !important;
    padding: 14px 32px !important;
    font-weight: 600 !important;
    font-family: var(--font) !important;
    font-size: 0.9rem !important;
    text-transform: none !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 4px 20px rgba(0, 212, 255, 0.25) !important;
    transition: all var(--transition) !important;
    cursor: pointer;
    text-decoration: none !important;
}

.button:hover,
button:hover,
input[type=submit]:hover,
.wp-element-button:hover,
a.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.added_to_cart:hover,
.storefront-button:hover,
.checkout-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(0, 212, 255, 0.4) !important;
    color: var(--black) !important;
    opacity: 1 !important;
}

/* Bottoni secondari */
.button.alt,
button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
    background: var(--white) !important;
    color: var(--black) !important;
    box-shadow: 0 4px 20px rgba(255, 255, 255, 0.1) !important;
}


/* ============================================
   FORM (input/select/textarea)
   ============================================ */
input,
select,
textarea,
.input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
    background: var(--dark-2) !important;
    color: var(--white) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--radius-sm) !important;
    padding: 12px 16px !important;
    font-family: var(--font) !important;
    font-size: 0.95rem !important;
    transition: all var(--transition) !important;
    outline: none !important;
}

input:focus,
select:focus,
textarea:focus,
.input-text:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px var(--accent-glow) !important;
}

select option {
    background: var(--dark-2);
    color: var(--white);
}

label,
.woocommerce form .form-row label {
    color: var(--light-gray) !important;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 0.3px;
}

.quantity .qty {
    background: var(--dark-2) !important;
    color: var(--white) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--radius-sm) !important;
}


/* ============================================
   TABELLE WOOCOMMERCE — fix sfondi bianchi
   ============================================ */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table,
.woocommerce table,
.woocommerce-cart table.cart,
.woocommerce-cart-form table,
.woocommerce-checkout-review-order-table,
.cart_totals table,
.my_account_orders,
table.shop_table_responsive,
.woocommerce-MyAccount-content table {
    background: var(--dark-2) !important;
    color: var(--light-gray) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: var(--radius) !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden;
}

.woocommerce table thead,
.woocommerce table thead th,
.woocommerce-checkout-review-order-table thead th,
.cart_totals table thead th {
    background: var(--dark-3) !important;
    color: var(--white) !important;
    font-weight: 700 !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

.woocommerce table tbody,
.woocommerce table tbody tr,
.woocommerce table tbody td,
.woocommerce table tbody th,
.woocommerce table tr,
.woocommerce table td,
.woocommerce table th,
.woocommerce-cart table.cart tr,
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th,
.woocommerce-checkout-review-order-table tbody tr,
.woocommerce-checkout-review-order-table tbody td,
.woocommerce-checkout-review-order-table tbody th,
.cart_totals table tr,
.cart_totals table td,
.cart_totals table th,
.my_account_orders tr,
.my_account_orders td,
.my_account_orders th,
table.shop_table_responsive tr,
table.shop_table_responsive td,
table.shop_table_responsive th {
    background: var(--dark-2) !important;
    color: var(--light-gray) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

/* Reset zebra striping di Storefront */
.woocommerce table tr:nth-child(odd),
.woocommerce table tr:nth-child(even),
.woocommerce-cart table.cart tr:nth-child(odd),
.woocommerce-cart table.cart tr:nth-child(even),
.shop_table tbody tr:nth-child(2n),
.shop_table tbody tr:nth-child(2n+1) {
    background: var(--dark-2) !important;
}

.woocommerce table tfoot,
.woocommerce table tfoot tr,
.woocommerce table tfoot td,
.woocommerce table tfoot th,
.woocommerce-checkout-review-order-table tfoot,
.woocommerce-checkout-review-order-table tfoot tr,
.woocommerce-checkout-review-order-table tfoot td,
.woocommerce-checkout-review-order-table tfoot th,
.cart_totals tfoot th,
.cart_totals tfoot td {
    background: var(--dark-3) !important;
    color: var(--white) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    font-weight: 600;
}

.woocommerce table .product-name a {
    color: var(--white) !important;
    font-weight: 600;
}

.woocommerce table .product-name a:hover {
    color: var(--accent) !important;
}

.woocommerce table .amount,
.cart_totals .amount,
.woocommerce-Price-amount {
    color: var(--accent) !important;
    font-weight: 700;
}

.woocommerce table.shop_table .product-remove a.remove {
    color: var(--gray) !important;
    background: transparent !important;
    transition: color var(--transition);
}

.woocommerce table.shop_table .product-remove a.remove:hover {
    color: #ff5252 !important;
    background: transparent !important;
}

/* Cart/Checkout box riepilogo */
.cart_totals,
.woocommerce-checkout #payment,
.woocommerce-checkout #order_review,
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
    background: var(--dark-2) !important;
    color: var(--light-gray) !important;
    border-radius: var(--radius) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    padding: 1.5rem !important;
}

.woocommerce-info::before,
.woocommerce-message::before {
    color: var(--accent) !important;
}

.woocommerce-info {
    border-left: 3px solid var(--accent) !important;
}

.woocommerce-message {
    border-left: 3px solid #00e676 !important;
}

.woocommerce-error {
    border-left: 3px solid #ff5252 !important;
}

/* ============================================
   CHECKOUT PAYMENT METHODS — fix sfondo bianco
   ============================================ */
#payment,
.woocommerce-checkout #payment {
    background: var(--dark-2) !important;
    color: var(--light-gray) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: var(--radius) !important;
    padding: 1rem 1.25rem !important;
}

#payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    background: transparent !important;
    border: none !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Singolo metodo di pagamento */
#payment .payment_methods > li,
#payment .payment_methods > .wc_payment_method,
#payment .payment_methods > .woocommerce-PaymentMethod,
.woocommerce-checkout #payment .payment_methods > li {
    background: var(--dark-3) !important;
    color: var(--light-gray) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: var(--radius-sm) !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
    list-style: none !important;
    transition: all var(--transition);
}

/* HOVER su metodo pagamento */
#payment .payment_methods > li:not(.woocommerce-notice):hover,
#payment .payment_methods > .wc_payment_method:not(.woocommerce-notice):hover,
.woocommerce-checkout #payment .payment_methods > li:not(.woocommerce-notice):hover {
    background: var(--dark-2) !important;
    color: var(--white) !important;
    border-color: rgba(0, 212, 255, 0.3) !important;
}

/* Metodo selezionato (radio checked) */
#payment .payment_methods > li.wc_payment_method input[type="radio"]:checked + label,
#payment .payment_methods > li.wc_payment_method.checked,
#payment .payment_methods > li:has(input[type="radio"]:checked) {
    border-color: var(--accent) !important;
    background: var(--dark-2) !important;
}

/* Label del metodo (testo + icone) */
#payment .payment_methods > li label,
#payment .payment_methods > .wc_payment_method > label,
#payment .payment_methods > .woocommerce-PaymentMethod > label {
    color: var(--white) !important;
    font-weight: 600 !important;
    background: transparent !important;
    cursor: pointer;
    margin: 0 !important;
    padding: 0.85rem 1rem !important;
}

#payment .payment_methods > li label img,
#payment .payment_methods img {
    background: transparent !important;
    margin-left: 8px;
    max-height: 28px !important;
}

/* Radio button stile */
#payment .payment_methods input[type="radio"] {
    accent-color: var(--accent);
    margin-right: 8px;
    background: var(--dark-2) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* Box descrittivo che si apre sotto il metodo (specificità alta) */
#payment .payment_methods > li .payment_box,
#payment .payment_methods > .wc_payment_method .payment_box,
#payment .payment_methods > li div.payment_box,
#payment div.payment_box,
.woocommerce-checkout #payment .payment_methods > li .payment_box,
.woocommerce-checkout #payment div.payment_box,
body.woocommerce-checkout #payment .payment_methods li .payment_box {
    background: var(--dark-2) !important;
    background-color: var(--dark-2) !important;
    color: var(--light-gray) !important;
    border: 1px solid rgba(0, 212, 255, 0.15) !important;
    border-radius: var(--radius-sm) !important;
    margin: 0 1rem 1rem 1rem !important;
    padding: 1rem !important;
    box-shadow: none !important;
}

#payment .payment_methods > li .payment_box::before,
#payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
    border-bottom-color: var(--dark-2) !important;
    border-color: transparent transparent var(--dark-2) transparent !important;
}

#payment .payment_methods > li .payment_box *,
#payment div.payment_box p,
#payment div.payment_box span,
#payment div.payment_box label,
#payment div.payment_box li {
    color: var(--light-gray) !important;
    background-color: transparent !important;
}

#payment div.payment_box p,
#payment div.payment_box * {
    color: var(--light-gray) !important;
}

/* Form interni al payment_box (carta di credito Stripe etc.) */
#payment div.payment_box fieldset {
    background: transparent !important;
    border: none !important;
}

#payment div.payment_box input[type="text"],
#payment div.payment_box input[type="number"],
#payment div.payment_box input[type="tel"],
#payment div.payment_box input[type="password"],
#payment div.payment_box select,
#payment div.payment_box .wc-credit-card-form-card-number,
#payment div.payment_box .StripeElement {
    background: var(--dark-3) !important;
    color: var(--white) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--radius-sm) !important;
}

#payment div.payment_box input:focus,
#payment div.payment_box select:focus,
#payment div.payment_box .StripeElement--focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px var(--accent-glow) !important;
}

/* Termini e condizioni */
#payment .woocommerce-terms-and-conditions {
    background: var(--dark-3) !important;
    color: var(--light-gray) !important;
    box-shadow: none !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: var(--radius-sm) !important;
}

#payment .woocommerce-terms-and-conditions-wrapper p {
    color: var(--light-gray) !important;
}

#payment .woocommerce-terms-and-conditions-wrapper a,
#payment .woocommerce-privacy-policy-text a {
    color: var(--accent) !important;
}

/* Wrapper "Effettua ordine" — Storefront ha bg bianco */
#payment .place-order,
.woocommerce-checkout #payment .place-order,
.woocommerce-page #payment .place-order,
form.checkout #payment .place-order {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--light-gray) !important;
    padding: 1rem 0 0 0 !important;
    margin: 0 !important;
    border: none !important;
    width: 100%;
    float: none;
}

#payment .place-order *,
#payment .place-order p,
#payment .place-order label,
#payment .place-order span {
    color: var(--light-gray) !important;
    background-color: transparent !important;
}

#payment .place-order a,
#payment .place-order .woocommerce-terms-and-conditions-link {
    color: var(--accent) !important;
}

/* Bottone "Effettua ordine" */
#payment #place_order,
#payment .place-order #place_order,
#payment .place-order .button,
.woocommerce-checkout #payment #place_order {
    background: var(--gradient-accent) !important;
    background-color: transparent !important;
    color: var(--black) !important;
    border: none !important;
    border-radius: var(--radius-sm) !important;
    padding: 14px 36px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 20px rgba(0, 212, 255, 0.3) !important;
    width: 100% !important;
    margin-top: 1rem !important;
    text-shadow: none !important;
}

#payment #place_order:hover,
#payment .place-order #place_order:hover,
#payment .place-order .button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 30px rgba(0, 212, 255, 0.45) !important;
    color: var(--black) !important;
}


/* ============================================
   BREADCRUMB / PAGINATION / SORTING
   ============================================ */
.woocommerce-breadcrumb {
    color: var(--gray) !important;
    font-size: 0.85rem;
    padding: 1rem 0;
}

.woocommerce-breadcrumb a {
    color: var(--accent) !important;
}

.woocommerce-breadcrumb a:hover {
    color: var(--white) !important;
}

.woocommerce nav.woocommerce-pagination ul {
    border: none !important;
    gap: 6px;
    display: inline-flex;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    background: var(--dark-2) !important;
    color: var(--light-gray) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: var(--radius-sm) !important;
    padding: 8px 14px !important;
    transition: all var(--transition);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    background: var(--gradient-accent) !important;
    color: var(--black) !important;
    border-color: transparent !important;
}

.storefront-sorting {
    color: var(--gray) !important;
}

.storefront-sorting select {
    background: var(--dark-2) !important;
    color: var(--white) !important;
}


/* ============================================
   MY ACCOUNT
   ============================================ */
.woocommerce-MyAccount-navigation ul li {
    background: var(--dark-2) !important;
    border-radius: var(--radius-sm) !important;
    margin-bottom: 6px;
    transition: all var(--transition);
    border: 1px solid rgba(255, 255, 255, 0.04);
}

.woocommerce-MyAccount-navigation ul li.is-active {
    background: var(--dark-3) !important;
    border-color: var(--accent) !important;
}

.woocommerce-MyAccount-navigation ul li a {
    color: var(--light-gray) !important;
    padding: 12px 18px !important;
    display: block;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
    color: var(--accent) !important;
}


/* ============================================
   FLATPICKR — il plugin ta-rent carica già il
   tema dark ufficiale di flatpickr (dark.css).
   Nessun override qui per non rompere la grafica nativa.
   ============================================ */


/* ============================================
   TA-RENT MODULE
   ============================================ */
.ta-rent-container {
    background: linear-gradient(135deg, #0a0a0a, #111111) !important;
    border: 1px solid rgba(0, 212, 255, 0.2) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow-glow);
    padding: 2rem !important;
}

.ta-rent-header {
    border-color: rgba(0, 212, 255, 0.15) !important;
}

.ta-rent-title {
    color: var(--accent) !important;
    font-weight: 700;
}

.ta-rent-field label {
    color: var(--gray) !important;
}

.ta-rent-field input[type="date"] {
    background: var(--dark-2) !important;
    color: var(--white) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--radius-sm) !important;
}

.ta-rent-pricing {
    background: var(--dark-3) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: var(--radius-sm) !important;
}

.ta-rent-totale {
    color: var(--accent) !important;
    font-weight: 700;
}


/* ============================================
   TA-RENT-FATTURAZIONE — campi fiscali checkout
   ============================================ */

/* Banner info "Fatturazione Elettronica" (style inline viola → dark) */
.woocommerce-checkout div[style*="rgba(139,92,246"],
.woocommerce-checkout div[style*="rgba(139, 92, 246"],
.woocommerce-checkout div[style*="#8b5cf6"] {
    background: rgba(0, 212, 255, 0.06) !important;
    border-left: 3px solid var(--accent) !important;
    color: var(--light-gray) !important;
    padding: 0.85rem 1rem !important;
    margin: 1rem 0 1.25rem 0 !important;
    border-radius: var(--radius-sm) !important;
    font-size: 0.85rem !important;
    line-height: 1.5;
}

.woocommerce-checkout div[style*="rgba(139,92,246"] strong,
.woocommerce-checkout div[style*="#8b5cf6"] strong {
    color: var(--accent) !important;
    font-weight: 700 !important;
}

.woocommerce-checkout div[style*="rgba(139,92,246"] em,
.woocommerce-checkout div[style*="#8b5cf6"] em {
    color: var(--white) !important;
    font-style: normal !important;
    font-weight: 600 !important;
}

/* Campi SDI / PEC (form-row-first / form-row-last) — distanziati */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 1rem !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
    width: auto !important;
    float: none !important;
    margin-bottom: 0.85rem !important;
    clear: none !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row.form-row-wide,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row.notes {
    grid-column: 1 / -1 !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row.form-row-first {
    grid-column: 1 !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row.form-row-last {
    grid-column: 2 !important;
}

/* Spacing label/input nei campi billing */
.woocommerce-checkout .form-row label {
    display: block !important;
    margin-bottom: 0.35rem !important;
    color: var(--light-gray) !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
}

.woocommerce-checkout .form-row .required,
.woocommerce-checkout .form-row label .required {
    color: #ff5252 !important;
    text-decoration: none !important;
}

.woocommerce-checkout .form-row .optional {
    color: var(--gray) !important;
    font-style: italic;
}

/* Heading "Dettagli di fatturazione" */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
    color: var(--white) !important;
    font-size: 1.2rem !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
}

/* Mobile fallback — colonne in pila */
@media (max-width: 768px) {
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
        grid-template-columns: 1fr !important;
    }

    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row.form-row-first,
    .woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row.form-row-last {
        grid-column: 1 !important;
    }
}


/* ============================================
   TATECH RENT SIGNATURE (mu-plugin)
   Override stili inline rosso/bianco → dark theme
   ============================================ */
#tatech-rent-sig {
    border: 1px solid rgba(0, 212, 255, 0.25) !important;
    background: var(--dark-2) !important;
    color: var(--light-gray) !important;
    padding: 1.25rem 1.5rem !important;
    border-radius: var(--radius) !important;
    margin-bottom: 1.2rem !important;
    font-size: 0.95rem !important;
    box-shadow: var(--shadow-glow) !important;
}

#tatech-rent-sig h3 {
    color: var(--accent) !important;
    margin: 0 0 0.6rem 0 !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
}

#tatech-rent-sig p {
    color: var(--light-gray) !important;
    margin: 0 0 0.8rem 0 !important;
}

#tatech-rent-sig a {
    color: var(--accent) !important;
    text-decoration: none !important;
    transition: color var(--transition);
}

#tatech-rent-sig a:hover {
    color: var(--white) !important;
    text-decoration: underline !important;
}

#tatech-rent-sig label {
    color: var(--gray) !important;
    background: transparent !important;
}

#tatech-rent-sig label span {
    color: var(--light-gray) !important;
}

/* Input telefono e codice OTP */
#tatech-rent-sig input[type="tel"],
#tatech-rent-sig input[type="text"],
#tatech-rent-sig #tatech-sig-phone,
#tatech-rent-sig #tatech-sig-code {
    background: var(--dark-3) !important;
    color: var(--white) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--radius-sm) !important;
    padding: 0.65rem 0.85rem !important;
    font-family: var(--font) !important;
    transition: all var(--transition) !important;
}

#tatech-rent-sig input[type="tel"]:focus,
#tatech-rent-sig input[type="text"]:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px var(--accent-glow) !important;
    outline: none !important;
}

#tatech-rent-sig #tatech-sig-code {
    background: var(--dark-3) !important;
    color: var(--accent) !important;
    font-size: 1.4rem !important;
    text-align: center !important;
    letter-spacing: 8px !important;
    font-family: monospace !important;
    font-weight: 700 !important;
}

#tatech-rent-sig input[type="checkbox"] {
    accent-color: var(--accent);
    width: 18px;
    height: 18px;
}

/* Bottone "Invia codice OTP" */
#tatech-rent-sig #tatech-sig-send {
    background: var(--gradient-accent) !important;
    color: var(--black) !important;
    border: none !important;
    border-radius: var(--radius-sm) !important;
    padding: 0.75rem 1rem !important;
    font-weight: 700 !important;
    font-family: var(--font) !important;
    cursor: pointer !important;
    box-shadow: 0 4px 16px rgba(0, 212, 255, 0.25) !important;
    transition: all var(--transition) !important;
    width: 100% !important;
}

#tatech-rent-sig #tatech-sig-send:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(0, 212, 255, 0.4) !important;
}

#tatech-rent-sig #tatech-sig-send:disabled {
    background: var(--dark-3) !important;
    color: var(--gray) !important;
    box-shadow: none !important;
    opacity: 0.6 !important;
    cursor: not-allowed !important;
}

/* Bottone "Conferma firma" (verde positivo) */
#tatech-rent-sig #tatech-sig-verify {
    background: linear-gradient(135deg, #16a34a, #22c55e) !important;
    color: var(--white) !important;
    border: none !important;
    border-radius: var(--radius-sm) !important;
    padding: 0.75rem 1rem !important;
    font-weight: 700 !important;
    font-family: var(--font) !important;
    cursor: pointer !important;
    box-shadow: 0 4px 16px rgba(22, 163, 74, 0.3) !important;
    transition: all var(--transition) !important;
    width: 100% !important;
    margin-top: 0.5rem !important;
}

#tatech-rent-sig #tatech-sig-verify:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(22, 163, 74, 0.45) !important;
}

/* Bottone "Cambia numero" (secondario) */
#tatech-rent-sig #tatech-sig-back {
    background: transparent !important;
    color: var(--gray) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--radius-sm) !important;
    padding: 0.5rem !important;
    font-family: var(--font) !important;
    cursor: pointer !important;
    transition: all var(--transition) !important;
    width: 100% !important;
    margin-top: 0.4rem !important;
}

#tatech-rent-sig #tatech-sig-back:hover {
    border-color: var(--accent) !important;
    color: var(--white) !important;
}

/* Messaggi di stato (success / error) */
#tatech-rent-sig #tatech-sig-msg {
    margin-top: 0.8rem !important;
    font-size: 0.88rem !important;
    color: var(--light-gray) !important;
}

#tatech-rent-sig .tatech-sig-ok {
    color: #22c55e !important;
}

#tatech-rent-sig .tatech-sig-err {
    color: #ff5252 !important;
}

/* Stato "firma confermata" */
#tatech-rent-sig p[style*="color:#16a34a"],
#tatech-rent-sig p[style*="color: #16a34a"] {
    color: #22c55e !important;
}


/* ============================================
   STICKY ADD TO CART — Storefront (dark)
   ============================================ */
.storefront-sticky-add-to-cart,
.storefront-sticky-add-to-cart--slideInDown {
    background: var(--dark-2) !important;
    color: var(--light-gray) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.4) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.storefront-sticky-add-to-cart > .col-full {
    background: transparent !important;
}

.storefront-sticky-add-to-cart .storefront-sticky-add-to-cart__content,
.storefront-sticky-add-to-cart__content {
    color: var(--light-gray) !important;
}

.storefront-sticky-add-to-cart__content-title,
.storefront-sticky-add-to-cart .storefront-sticky-add-to-cart__content-title {
    color: var(--white) !important;
    font-weight: 700 !important;
}

.storefront-sticky-add-to-cart__content-price,
.storefront-sticky-add-to-cart .storefront-sticky-add-to-cart__content-price,
.storefront-sticky-add-to-cart__content-price .amount,
.storefront-sticky-add-to-cart .woocommerce-Price-amount {
    color: var(--accent) !important;
    font-weight: 700 !important;
}

.storefront-sticky-add-to-cart__content-rating .star-rating::before,
.storefront-sticky-add-to-cart .star-rating::before,
.storefront-sticky-add-to-cart .star-rating span::before {
    color: var(--accent) !important;
}

.storefront-sticky-add-to-cart__content-button,
.storefront-sticky-add-to-cart .button {
    background: var(--gradient-accent) !important;
    color: var(--black) !important;
    border: none !important;
    border-radius: var(--radius-sm) !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 16px rgba(0, 212, 255, 0.25) !important;
    text-decoration: none !important;
}

.storefront-sticky-add-to-cart__content-button:hover,
.storefront-sticky-add-to-cart .button:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0, 212, 255, 0.4) !important;
    color: var(--black) !important;
}

.storefront-sticky-add-to-cart img,
.storefront-sticky-add-to-cart .storefront-sticky-add-to-cart__content-image {
    border-radius: var(--radius-sm);
    background: var(--dark-3);
}


/* ============================================
   FOOTER — coerente con i-vision.it
   ============================================ */
.site-footer {
    background: rgb(31, 36, 40) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
    color: var(--gray) !important;
    padding: 0 !important;
    margin-top: 4rem !important;
}

.site-footer .col-full {
    padding: 60px 1.5rem 0 !important;
    max-width: 1300px !important;
}

.iv-footer {
    width: 100%;
}

.iv-footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1fr;
    gap: 40px;
    padding-bottom: 48px;
}

.iv-footer-col h4 {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: var(--white) !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin: 0 0 16px 0 !important;
}

.iv-footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.iv-footer-col ul li {
    margin-bottom: 8px;
    list-style: none;
}

.iv-footer-col ul li a,
.iv-footer-col a {
    color: var(--gray) !important;
    font-size: 0.9rem;
    text-decoration: none;
    transition: color var(--transition);
}

.iv-footer-col ul li a:hover,
.iv-footer-col a:hover {
    color: var(--accent) !important;
}

.iv-footer-logo {
    display: inline-block;
    margin-bottom: 12px;
}

.iv-footer-logo-img {
    height: 36px;
    width: auto;
}

.iv-footer-desc {
    color: var(--gray) !important;
    font-size: 0.9rem;
    max-width: 280px;
    margin: 0;
    line-height: 1.6;
}

.iv-footer-whatsapp {
    color: #25d366 !important;
    display: inline-flex;
    align-items: center;
}

.iv-footer-whatsapp:hover {
    color: #128c7e !important;
}

.iv-footer-social {
    display: flex;
    gap: 12px;
}

.iv-social-link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--dark-3) !important;
    color: var(--gray) !important;
    transition: all var(--transition);
}

.iv-social-link:hover {
    color: var(--accent) !important;
    background: var(--dark-4) !important;
    transform: translateY(-2px);
}

.iv-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding: 24px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 0;
}

.iv-footer-bottom p {
    font-size: 0.8rem;
    color: var(--gray) !important;
    margin: 0;
}

.iv-footer-legal {
    display: flex;
    gap: 24px;
}

.iv-footer-legal a {
    font-size: 0.8rem;
    color: var(--gray) !important;
    text-decoration: none;
}

.iv-footer-legal a:hover {
    color: var(--accent) !important;
}

/* WhatsApp Floating Button */
.iv-whatsapp-float {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 56px;
    height: 56px;
    background: #25d366 !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 999;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    color: #fff !important;
    text-decoration: none !important;
}

.iv-whatsapp-float:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
    background: #25d366 !important;
}

@media (max-width: 1024px) {
    .iv-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .iv-footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .iv-footer-bottom {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }

    .iv-footer-legal {
        flex-wrap: wrap;
        justify-content: center;
    }
}


/* ============================================
   SCROLLBAR
   ============================================ */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--black); }
::-webkit-scrollbar-thumb {
    background: var(--dark-3);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--accent-dark);
}


/* ============================================
   STOREFRONT — kill spaziature eccessive
   ============================================ */
.site-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.site-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.content-area {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.hentry,
.hentry.type-page,
.hentry.type-post {
    margin: 0 0 1rem !important;
}

.hentry .wp-post-image {
    margin-bottom: 1rem !important;
}

.col-full {
    padding: 0 1.5rem !important;
    max-width: 1300px !important;
    margin: 0 auto !important;
}

.site-content {
    padding-top: 0 !important;
    padding-bottom: 1rem !important;
}

/* Breadcrumb — kill totale del padding/margin Storefront (default: padding 1em + margin-bottom 3.7em) */
.storefront-breadcrumb {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

.storefront-breadcrumb .col-full {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 auto !important;
}

.storefront-breadcrumb .woocommerce-breadcrumb,
.woocommerce-breadcrumb {
    padding: 0.25rem 0 !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    font-size: 0.8rem !important;
    color: var(--gray) !important;
}

/* Nasconde breadcrumb se vuoto / solo "Home" */
.storefront-breadcrumb:empty,
.woocommerce-breadcrumb:empty {
    display: none !important;
}

/* Sulla home / shop come homepage non serve breadcrumb */
.home .storefront-breadcrumb,
.page-id-6, .page-id-48 .storefront-breadcrumb {
    display: none !important;
}

/* Header WooCommerce shop */
.woocommerce-products-header {
    margin: 0 0 1rem !important;
    padding: 0 !important;
}

.woocommerce-products-header__title,
.page-title {
    margin: 0 0 0.5rem !important;
    padding: 0 !important;
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
}

/* Result count + ordering */
.woocommerce-result-count,
.woocommerce-ordering {
    margin: 0 0 0.75rem !important;
    line-height: 1.4 !important;
    font-size: 0.85rem;
}

/* Page header WooCommerce */
.woocommerce-notices-wrapper:empty {
    display: none !important;
}

.woocommerce-notices-wrapper {
    margin: 0 !important;
    padding: 0 !important;
}

/* Single product header spacing */
.single-product .product .images,
.single-product .product .summary {
    margin-bottom: 1rem !important;
}

/* Navigation pagination compatta */
.site-main nav.navigation {
    padding: 1rem 0 !important;
    margin: 0 !important;
}

/* Sidebar / widget area compatti */
.widget {
    margin-bottom: 1.25rem !important;
    padding: 0 !important;
}

.widget-title {
    margin-bottom: 0.5rem !important;
    font-size: 0.95rem !important;
}

/* Storefront homepage section spacing */
.storefront-product-section {
    padding: 1rem 0 !important;
    margin: 0 !important;
}

.storefront-product-section .section-title {
    margin: 0 0 1rem !important;
    padding: 0 !important;
    font-size: 1.4rem !important;
}


/* ============================================
   ENTRY HEADER — minimo / nascosto
   ============================================ */
.entry-header {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    min-height: 0 !important;
}

.entry-header .entry-title,
.page .entry-header .entry-title,
.single-product .entry-header .entry-title {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

/* Nasconde l'entry-header sulle pagine WooCommerce e home */
.home .entry-header,
.page-template-default.home .entry-header,
.woocommerce-page .entry-header,
.woocommerce-account .entry-header,
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header,
.post-type-archive-product .entry-header,
.tax-product_cat .entry-header,
.tax-product_tag .entry-header {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ============================================
   COMPATTAZIONE GLOBALE
   ============================================ */
.site-content,
.content-area {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.site-main {
    margin-bottom: 0 !important;
}

#page .col-full {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

/* WooCommerce wrapper compatto */
.woocommerce,
.woocommerce-page {
    padding: 0 !important;
}

.woocommerce > h2,
.woocommerce-products-header {
    margin-bottom: 1rem !important;
    padding: 0 !important;
}

/* Prodotti più stretti tra loro */
ul.products {
    margin-top: 0 !important;
}

ul.products li.product {
    margin-bottom: 1.25rem !important;
}

/* Single product compatto */
.single-product div.product {
    margin-bottom: 1.5rem !important;
}

.single-product div.product .summary {
    margin-bottom: 1rem !important;
}

.woocommerce-tabs {
    margin-top: 1.5rem !important;
}


/* ============================================
   MY ACCOUNT — compatto
   ============================================ */
/* Grid solo quando esiste la sidebar nav (utente loggato) */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 1.5rem;
    padding: 0 !important;
}

/* Fallback per browser senza :has() — disattiva grid quando non loggato */
body:not(.logged-in).woocommerce-account .woocommerce {
    display: block !important;
    grid-template-columns: none !important;
    padding: 0 !important;
}

/* Form login / lost-password / register — centrati e con larghezza max */
.woocommerce-account:not(.logged-in) .woocommerce,
body:not(.logged-in).woocommerce-account .woocommerce {
    max-width: 480px;
    margin: 0 auto !important;
}

.woocommerce-account:not(.logged-in) .u-columns,
.woocommerce-account:not(.logged-in) .u-column1,
.woocommerce-account:not(.logged-in) .u-column2 {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce-account:not(.logged-in) .woocommerce-form,
.woocommerce-account:not(.logged-in) form.lost_reset_password,
.woocommerce-account:not(.logged-in) form.woocommerce-form-login,
.woocommerce-account:not(.logged-in) form.register {
    background: var(--dark-2) !important;
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius);
    padding: 1.5rem !important;
    margin: 1rem 0 !important;
}

.woocommerce-account:not(.logged-in) .woocommerce > h2,
.woocommerce-account:not(.logged-in) form > h2 {
    color: var(--white) !important;
    font-size: 1.3rem !important;
    margin: 0 0 1rem 0 !important;
    text-align: center;
}

.woocommerce-account:not(.logged-in) .woocommerce > p,
.woocommerce-account:not(.logged-in) form.lost_reset_password > p:first-child {
    text-align: center;
    color: var(--gray);
    margin-bottom: 1rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    background: var(--dark-2);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: var(--radius);
    padding: 1.25rem 1.5rem !important;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
    margin-top: 0 !important;
}

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

.woocommerce-MyAccount-navigation ul li {
    margin-bottom: 4px !important;
}

.woocommerce-MyAccount-navigation ul li a {
    padding: 9px 14px !important;
    font-size: 0.9rem !important;
}

/* Form indirizzi/account compatti */
.woocommerce-account form .form-row,
.woocommerce form .form-row {
    margin: 0 0 0.75rem 0 !important;
    padding: 0 !important;
}

.woocommerce-account fieldset {
    margin: 1rem 0 0 0 !important;
    padding: 1rem !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important;
    border-radius: var(--radius-sm);
}

.woocommerce-account fieldset legend {
    color: var(--white) !important;
    font-weight: 600;
    padding: 0 0.5rem;
}

/* Tabelle ordini compatte */
.my_account_orders th,
.my_account_orders td,
.woocommerce-MyAccount-content table th,
.woocommerce-MyAccount-content table td {
    padding: 8px 12px !important;
    font-size: 0.9rem;
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    margin: 0 0 0.75rem 0 !important;
    font-size: 1.1rem !important;
}

.woocommerce-Address {
    margin-top: 1rem;
}

.woocommerce-Address-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem !important;
}

.woocommerce-Address address {
    background: var(--dark-3);
    padding: 0.75rem 1rem;
    border-radius: var(--radius-sm);
    font-size: 0.9rem;
    line-height: 1.5;
    color: var(--light-gray);
}

@media (max-width: 768px) {
    .woocommerce-account .woocommerce {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}


/* ============================================
   CART / CHECKOUT — compatto
   ============================================ */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    padding: 0 !important;
}

.woocommerce-cart-form {
    margin-bottom: 1.5rem !important;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    padding: 10px 14px !important;
}

.cart_totals {
    padding: 1.25rem !important;
}

.cart_totals h2,
.woocommerce-checkout #order_review_heading {
    margin: 0 0 0.75rem 0 !important;
    font-size: 1.15rem !important;
}

.woocommerce-checkout #payment {
    padding: 1rem 1.25rem !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    padding: 0 !important;
    margin: 0 0 0.75rem 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    padding: 0.5rem 0 !important;
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
    padding: 0.85rem 1.1rem !important;
    margin: 0 0 1rem 0 !important;
    font-size: 0.92rem;
}


/* ============================================
   HOME / SHOP — prodotti diretti
   ============================================ */
.home .site-main,
.home .content-area,
.page-id-6 .site-main,
.page-id-6 .content-area,
.post-type-archive-product .site-main,
.post-type-archive-product .content-area {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Nasconde il titolo "Shop" e tutto il woocommerce-products-header su home */
.home .woocommerce-products-header,
.home .woocommerce-products-header__title,
.home .page-title,
.page-id-6 .woocommerce-products-header,
.page-id-6 .woocommerce-products-header__title,
.page-id-6 .page-title,
body.woocommerce.home .woocommerce-products-header,
.post-type-archive-product .woocommerce-products-header__title,
.post-type-archive-product .page-title {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Toolbar: result-count a sinistra, ordering a destra */
.home .woocommerce-result-count,
.page-id-6 .woocommerce-result-count,
.post-type-archive-product .woocommerce-result-count {
    float: left !important;
    margin: 0 !important;
    padding: 0.5rem 0 !important;
    color: var(--gray) !important;
    font-size: 0.85rem !important;
}

.woocommerce-ordering,
form.woocommerce-ordering {
    float: right !important;
    margin: 0 0 1rem 0 !important;
    padding: 0 !important;
    position: relative;
}

.woocommerce-ordering::before {
    content: "Ordina:";
    position: absolute;
    left: -75px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--gray);
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.3px;
    pointer-events: none;
}

.woocommerce-ordering select.orderby {
    background: var(--dark-2) !important;
    color: var(--white) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: var(--radius-sm) !important;
    padding: 8px 36px 8px 14px !important;
    font-family: var(--font) !important;
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2300d4ff' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    transition: all var(--transition);
    min-width: 200px;
}

.woocommerce-ordering select.orderby:hover,
.woocommerce-ordering select.orderby:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 3px var(--accent-glow) !important;
}

/* Wrapper toolbar (result-count + ordering) */
.woocommerce-notices-wrapper + .woocommerce-result-count,
.before-shop-loop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 1rem !important;
}

/* Clearfix dopo toolbar */
.woocommerce-result-count + .woocommerce-ordering::after,
ul.products::before {
    content: "";
    display: block;
    clear: both;
}

/* Zero spazio menu→prodotti su home */
.home #content,
.home #page,
.page-id-6 #content,
.post-type-archive-product #content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.home .col-full,
.page-id-6 .col-full,
.post-type-archive-product .col-full {
    padding-top: 0 !important;
}

/* Compensare l'header fisso solo con un padding minimo sul body */
body.home,
body.page-id-6,
body.post-type-archive-product {
    padding-top: 0 !important;
}

.home .site-content,
.page-id-6 .site-content,
.post-type-archive-product .site-content {
    padding-top: 56px !important; /* compensazione navbar compatta */
}


/* ============================================
   MICRO-INTERAZIONI
   ============================================ */
@keyframes fadeUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

ul.products li.product,
.woocommerce-tabs .panel,
.cart_totals,
.woocommerce-checkout #order_review {
    animation: fadeUp 0.5s cubic-bezier(0.4, 0, 0.2, 1) both;
}


/* ============================================
   MINI-CART DROPDOWN — adattamento al tema scuro
   ============================================ */
.site-header-cart .widget_shopping_cart,
.site-header-cart .widget_shopping_cart_content {
    background-color: var(--dark-2) !important;
    color: var(--light-gray) !important;
    border: 1px solid var(--iv-border) !important;
    border-radius: var(--radius-sm) !important;
    box-shadow: var(--shadow) !important;
}

.site-header-cart .widget_shopping_cart .cart_list,
.site-header-cart .widget_shopping_cart .product_list_widget {
    background-color: transparent !important;
}

.site-header-cart .widget_shopping_cart .cart_list li,
.site-header-cart .widget_shopping_cart .product_list_widget li {
    background-color: transparent !important;
    color: var(--light-gray) !important;
    border-bottom: 1px solid var(--iv-border) !important;
}

.site-header-cart .widget_shopping_cart .cart_list li:last-child,
.site-header-cart .widget_shopping_cart .product_list_widget li:last-child {
    border-bottom: 0 !important;
}

.site-header-cart .widget_shopping_cart a,
.site-header-cart .widget_shopping_cart .cart_list li a:not(.remove),
.site-header-cart .widget_shopping_cart .product_list_widget li a:not(.remove) {
    color: var(--white) !important;
}

.site-header-cart .widget_shopping_cart a:hover,
.site-header-cart .widget_shopping_cart .cart_list li a:not(.remove):hover,
.site-header-cart .widget_shopping_cart .product_list_widget li a:not(.remove):hover {
    color: var(--accent) !important;
}

.site-header-cart .widget_shopping_cart .quantity,
.site-header-cart .widget_shopping_cart .woocommerce-Price-amount,
.site-header-cart .widget_shopping_cart .amount {
    color: var(--light-gray) !important;
}

.site-header-cart .widget_shopping_cart .total,
.site-header-cart .widget_shopping_cart p.total {
    background-color: transparent !important;
    color: var(--white) !important;
    border-top: 1px solid var(--iv-border) !important;
}

.site-header-cart .widget_shopping_cart .total strong,
.site-header-cart .widget_shopping_cart .total .woocommerce-Price-amount {
    color: var(--white) !important;
}

.site-header-cart .widget_shopping_cart .woocommerce-mini-cart__empty-message {
    color: var(--gray) !important;
}

.site-header-cart .widget_shopping_cart .cart_list li a.remove,
.site-header-cart .widget_shopping_cart .product_list_widget li a.remove {
    color: var(--gray) !important;
    background-color: transparent !important;
}

.site-header-cart .widget_shopping_cart .cart_list li a.remove:hover,
.site-header-cart .widget_shopping_cart .product_list_widget li a.remove:hover {
    color: var(--accent) !important;
    background-color: transparent !important;
}

.site-header-cart .widget_shopping_cart .buttons {
    background-color: transparent !important;
}

.site-header-cart .widget_shopping_cart .buttons .button,
.site-header-cart .widget_shopping_cart .buttons a.button {
    background-color: var(--dark-3) !important;
    color: var(--white) !important;
    border: 1px solid var(--iv-border) !important;
}

.site-header-cart .widget_shopping_cart .buttons .button.checkout,
.site-header-cart .widget_shopping_cart .buttons a.button.checkout,
.site-header-cart .widget_shopping_cart .buttons .button.wc-forward:last-child {
    background: var(--gradient-accent) !important;
    color: var(--black) !important;
    border-color: transparent !important;
}

.site-header-cart .widget_shopping_cart .buttons .button:hover,
.site-header-cart .widget_shopping_cart .buttons a.button:hover {
    background-color: var(--dark-4) !important;
    color: var(--accent) !important;
}

.site-header-cart .widget_shopping_cart .buttons .button.checkout:hover,
.site-header-cart .widget_shopping_cart .buttons a.button.checkout:hover {
    filter: brightness(1.1);
    color: var(--black) !important;
}


/* ============================================
   TA-RENT ONHOLD NOTICE — tema scuro
   ============================================ */
.ta-rent-onhold-notice {
    background: linear-gradient(135deg, rgba(255, 184, 0, 0.08), rgba(255, 140, 0, 0.04)) !important;
    border: 1px solid rgba(255, 184, 0, 0.35) !important;
    border-left: 3px solid #ffb800 !important;
    border-radius: var(--radius-sm) !important;
    padding: 1rem 1.25rem !important;
    margin: 12px 0 18px !important;
    color: var(--light-gray) !important;
}

.ta-rent-onhold-notice .ta-rent-onhold-title {
    margin: 0 0 0.5rem !important;
    font-weight: 700 !important;
    color: #ffb800 !important;
    font-size: 1.05rem;
}

.ta-rent-onhold-notice .ta-rent-onhold-text {
    margin: 0 0 0.85rem !important;
    color: var(--light-gray) !important;
}

.ta-rent-onhold-notice .ta-rent-onhold-cta {
    display: inline-block;
    background: var(--gradient-accent) !important;
    color: var(--black) !important;
    padding: 10px 20px !important;
    border-radius: var(--radius-sm) !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    letter-spacing: 0.3px;
    transition: filter var(--transition);
}

.ta-rent-onhold-notice .ta-rent-onhold-cta:hover {
    filter: brightness(1.1);
    color: var(--black) !important;
}


/* ============================================
   ORDERS TABLE — azioni ordine (View / Pay / Cancel)
   ============================================ */
.woocommerce-orders-table__cell-order-actions {
    text-align: right;
    white-space: nowrap;
}

.woocommerce-orders-table__cell-order-actions .button,
.woocommerce-orders-table__cell-order-actions a.button,
.woocommerce-MyAccount-content .button.view,
.woocommerce-MyAccount-content .button.pay,
.woocommerce-MyAccount-content .button.cancel {
    display: inline-block !important;
    background: var(--dark-3) !important;
    color: var(--white) !important;
    border: 1px solid var(--iv-border) !important;
    border-radius: var(--radius-sm) !important;
    padding: 6px 14px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    margin: 2px 4px 2px 0 !important;
    text-decoration: none !important;
    transition: all var(--transition);
}

.woocommerce-orders-table__cell-order-actions .button:hover,
.woocommerce-orders-table__cell-order-actions a.button:hover {
    background: var(--dark-4) !important;
    color: var(--accent) !important;
    border-color: rgba(0, 212, 255, 0.3) !important;
}

/* CTA principale: Paga (gradient accent) */
.woocommerce-orders-table__cell-order-actions .button.pay,
.woocommerce-orders-table__cell-order-actions a.button.pay,
.woocommerce-MyAccount-content .button.pay {
    background: var(--gradient-accent) !important;
    color: var(--black) !important;
    border-color: transparent !important;
}

.woocommerce-orders-table__cell-order-actions .button.pay:hover,
.woocommerce-orders-table__cell-order-actions a.button.pay:hover,
.woocommerce-MyAccount-content .button.pay:hover {
    filter: brightness(1.1);
    color: var(--black) !important;
}

/* Cancel: tono attenuato/rosso */
.woocommerce-orders-table__cell-order-actions .button.cancel,
.woocommerce-orders-table__cell-order-actions a.button.cancel,
.woocommerce-MyAccount-content .button.cancel {
    background: transparent !important;
    color: #ff7a7a !important;
    border: 1px solid rgba(255, 122, 122, 0.35) !important;
}

.woocommerce-orders-table__cell-order-actions .button.cancel:hover,
.woocommerce-orders-table__cell-order-actions a.button.cancel:hover,
.woocommerce-MyAccount-content .button.cancel:hover {
    background: rgba(255, 122, 122, 0.1) !important;
    color: #ff5252 !important;
    border-color: rgba(255, 122, 122, 0.5) !important;
}


/* ============================================
   MOBILE — MAIN MENU (hamburger drawer)
   ============================================ */
/* Menu-toggle: nascosto di default (desktop), mostrato su mobile */
.site-header .menu-toggle {
    display: none;
    background: var(--dark-3) !important;
    color: var(--white) !important;
    border: 1px solid var(--iv-border) !important;
    border-radius: var(--radius-sm) !important;
    padding: 0 !important;
    width: 40px !important;
    height: 40px !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    line-height: 1 !important;
    box-shadow: none !important;
    font-size: 0 !important;
    position: relative;
    cursor: pointer;
    transition: all var(--transition);
}

.site-header .menu-toggle span {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.site-header .menu-toggle:hover {
    background: var(--dark-4) !important;
    color: var(--accent) !important;
    border-color: rgba(0, 212, 255, 0.3) !important;
}

/* Icona hamburger: tre linee centrate nel quadrato */
.site-header .menu-toggle::before,
.site-header .menu-toggle::after,
.site-header .menu-toggle span::before {
    content: "" !important;
    position: absolute !important;
    display: block !important;
    background: currentColor !important;
    width: 18px !important;
    height: 2px !important;
    border-radius: 2px;
    left: 50% !important;
    top: 50% !important;
    margin-left: -9px !important;
    transition: transform 0.25s ease, opacity 0.2s ease;
}

.site-header .menu-toggle::before {
    transform: translateY(-6px);
}

.site-header .menu-toggle::after {
    transform: translateY(6px);
}

.site-header .menu-toggle span::before {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.site-header .main-navigation.toggled .menu-toggle::before {
    transform: translateY(0) rotate(45deg) !important;
}

.site-header .main-navigation.toggled .menu-toggle::after {
    transform: translateY(0) rotate(-45deg) !important;
}

.site-header .main-navigation.toggled .menu-toggle span::before {
    opacity: 0 !important;
}

@media (max-width: 768px) {
    /* Header bar: logo a sx, toggle spinto a dx (lasciando spazio al cart absolute) */
    .site-header > .col-full {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 0.75rem !important;
        padding: 0.5rem 1rem !important;
        padding-right: 5rem !important; /* spazio per il carrello posizionato absolute */
        position: relative;
    }

    .site-header .site-branding {
        flex: 0 0 auto !important;
        margin: 0 !important;
        order: 1;
    }

    /* Toggle spinto a destra (subito prima del carrello) */
    .site-header > .col-full > #site-navigation-menu-toggle {
        order: 2;
        margin: 0 0 0 auto !important;
        flex: 0 0 auto !important;
    }

    /* Restringi il logo */
    .site-branding .custom-logo-link img,
    .site-branding img.custom-logo {
        height: 28px !important;
    }

    /* Wrapper della nav (sotto il branding): diventa drawer full-width */
    .site-header .storefront-primary-navigation {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 9999;
        background: transparent !important;
    }

    .site-header .storefront-primary-navigation > .col-full {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        display: block !important;
    }

    /* Carrello: posizionato in alto a destra nell'header */
    .site-header #site-header-cart,
    .site-header ul.site-header-cart {
        position: absolute !important;
        top: 0.5rem !important;
        right: 1rem !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 10;
        list-style: none !important;
    }

    /* Nav: container del drawer (collapsable) */
    .site-header #site-navigation,
    .site-header .main-navigation {
        position: static !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: var(--dark-2) !important;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease;
        border-top: 1px solid var(--iv-border);
        box-shadow: var(--shadow);
    }

    .site-header #site-navigation.toggled,
    .site-header .main-navigation.toggled {
        max-height: calc(100vh - 60px) !important;
        overflow-y: auto !important;
        border-bottom: 1px solid var(--iv-border);
    }

    /* Mostra il toggle */
    .site-header .menu-toggle {
        display: inline-block !important;
    }

    /* Reset dei figli del nav: liste verticali a tutta larghezza */
    .site-header #site-navigation > div,
    .site-header .main-navigation > div {
        display: block !important;
        position: static !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        float: none !important;
    }

    .site-header .main-navigation ul,
    .site-header .main-navigation ul.menu,
    .site-header .main-navigation ul.nav-menu {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        list-style: none !important;
        background: transparent !important;
    }

    .site-header .main-navigation ul li,
    .site-header .main-navigation ul.menu li,
    .site-header .main-navigation ul.nav-menu > li {
        display: block !important;
        width: 100% !important;
        float: none !important;
        border-bottom: 1px solid var(--iv-border) !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
    }

    .site-header .main-navigation ul li:last-child {
        border-bottom: 0 !important;
    }

    .site-header .main-navigation ul li a,
    .site-header .main-navigation ul.nav-menu > li > a {
        display: block !important;
        padding: 14px 1.25rem !important;
        font-size: 1rem !important;
        color: var(--white) !important;
        line-height: 1.3 !important;
        background: transparent !important;
        text-align: left;
    }

    .site-header .main-navigation ul li a:hover,
    .site-header .main-navigation ul li.current-menu-item > a,
    .site-header .main-navigation ul li.current_page_item > a {
        background: var(--dark-3) !important;
        color: var(--accent) !important;
    }

    /* Sub-menu inline (indentati, sempre visibili nel drawer) */
    .site-header .main-navigation ul ul,
    .site-header .main-navigation ul .sub-menu {
        margin: 0 !important;
        background: var(--dark-3) !important;
        position: static !important;
        box-shadow: none !important;
        border: 0 !important;
        max-height: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        display: block !important;
    }

    .site-header .main-navigation ul ul li a,
    .site-header .main-navigation ul .sub-menu li a {
        padding-left: 2.5rem !important;
        font-size: 0.95rem !important;
        color: var(--light-gray) !important;
    }

    /* Disattiva dropdown-toggle interno di handheld-navigation */
    .site-header .main-navigation .handheld-navigation .dropdown-toggle {
        display: none !important;
    }
}


/* ============================================
   MOBILE — MY ACCOUNT (nav a chip orizzontale)
   ============================================ */
@media (max-width: 768px) {
    .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
        display: block !important;
        grid-template-columns: none !important;
        gap: 0 !important;
    }

    .woocommerce-account .woocommerce-MyAccount-navigation {
        margin: 0 0 1rem !important;
        background: transparent !important;
        border: 0 !important;
    }

    .woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        gap: 0.5rem !important;
        padding: 0.25rem 0 0.75rem !important;
        margin: 0 -1rem !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        scrollbar-color: var(--dark-4) transparent;
    }

    .woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
        height: 4px;
    }

    .woocommerce-MyAccount-navigation ul::-webkit-scrollbar-thumb {
        background: var(--dark-4);
        border-radius: 2px;
    }

    .woocommerce-MyAccount-navigation ul li {
        flex: 0 0 auto !important;
        margin: 0 !important;
        scroll-snap-align: start;
        border-radius: 999px !important;
        border: 1px solid var(--iv-border) !important;
        background: var(--dark-2) !important;
    }

    .woocommerce-MyAccount-navigation ul li.is-active {
        background: var(--gradient-accent) !important;
        border-color: transparent !important;
    }

    .woocommerce-MyAccount-navigation ul li a {
        padding: 8px 16px !important;
        font-size: 0.85rem !important;
        font-weight: 600;
        white-space: nowrap;
        color: var(--light-gray) !important;
    }

    .woocommerce-MyAccount-navigation ul li.is-active a {
        color: var(--black) !important;
    }

    .woocommerce-account .woocommerce-MyAccount-content {
        padding: 1rem !important;
    }

    /* Tabelle ordini: shop_table_responsive su mobile (già responsive) */
    .woocommerce-orders-table__cell-order-actions {
        text-align: left !important;
        white-space: normal !important;
    }

    .woocommerce-orders-table__cell-order-actions .button,
    .woocommerce-orders-table__cell-order-actions a.button {
        padding: 8px 14px !important;
        font-size: 0.9rem !important;
        margin: 4px 6px 4px 0 !important;
    }
}
