/* =============================================
   DIGIWALLS THEME STYLE — versione pulita
============================================= */

/* =============================================
   VARIANTI PRODOTTO
============================================= */

.woocommerce div.product form.cart table.variations{
    background:#ffffff !important;
    border:1px solid #e0e0e0 !important;
    border-radius:4px;
    padding:12px 16px;
    margin-bottom:10px !important;
}
.woocommerce div.product form.cart table.variations tr{ border-bottom:1px solid #f2f2f2; }
.woocommerce div.product form.cart table.variations tr:last-child{ border-bottom:none; }
.woocommerce div.product form.cart table.variations th.label{
    width:120px !important; white-space:nowrap; font-weight:600; color:#333; padding:6px 0;
}
.woocommerce div.product form.cart table.variations td.value{ padding-left:10px; }
.woocommerce div.product form.cart table.variations td{ padding:6px 0 !important; }
.reset_variations{ display:none !important; }
.woocommerce div.product form.cart table.variations tbody tr td,
.woocommerce div.product form.cart table.variations tbody tr th{ background:#ffffff !important; }
table.variations td.value a.selected,
table.variations td.value a.active,
table.variations td.value button.selected,
table.variations td.value button.active{ border:1px solid transparent !important; }
table.variations tr:has(select[name="attribute_configurazione"]){ display:none !important; }
.woocommerce-variation-add-to-cart .variations tr:has(td.label label[for="pa_configurazione"]),
.woocommerce div.product form.cart table.variations tr:has(label[for="pa_configurazione"]){ display:none !important; }

/* =============================================
   SWATCHES COLORE
============================================= */

table.variations td.value a,
table.variations td.value .swatch,
table.variations td.value button{
    display:inline-block; padding:6px 14px; margin-right:6px;
    border:1px solid #dcdcdc; background:#ffffff; font-size:14px;
    cursor:pointer; transition:all .2s ease; border-radius:3px;
}
table.variations td.value a:hover,
table.variations td.value button:hover{ transform:translateY(-1px); border-color:#999; }
table.variations td.value .active,
table.variations td.value .selected{ border:none !important; }
.selected,.active{ transform:scale(.97); }

[data-value="rosso"]:hover{ color:#d10000; border-color:#d10000; }
[data-value="verde"]:hover{ color:#2c9a42; border-color:#2c9a42; }
[data-value="nero"]:hover{ color:#000; border-color:#000; }
[data-value="bianco"]:hover{ color:#666; border-color:#aaa; }
[data-value="blu"]:hover{ color:#0057ff; border-color:#0057ff; }
[data-value="rosso"].selected,[data-value="rosso"].active{ background:#d10000; color:#fff; }
[data-value="verde"].selected,[data-value="verde"].active{ background:#2c9a42; color:#fff; }
[data-value="nero"].selected,[data-value="nero"].active{ background:#000; color:#fff; }
[data-value="blu"].selected,[data-value="blu"].active{ background:#0057ff; color:#fff; }
[data-value="bianco"].selected,[data-value="bianco"].active{ background:#bbb; color:#fff; }

/* =============================================
   PULSANTE AGGIUNGI AL CARRELLO
============================================= */

.single_add_to_cart_button{
    background:#fff !important; color:#000 !important; font-size:16px; font-weight:300;
    padding:14px 28px; border-radius:4px; border:1px solid #000 !important; transition:all .25s ease;
}
.single_add_to_cart_button:hover{
    background:#333 !important; color:#fff !important; transform:translateY(-1px);
}

/* =============================================
   CARRELLO ELEMENTOR
============================================= */

.top-bar{ position:relative; z-index:5; }
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons{
    display:flex !important; gap:12px !important; margin-top:20px !important;
}
.elementor-menu-cart__main .elementor-menu-cart__footer-buttons .elementor-button{
    flex:1 !important; padding:14px 18px !important; font-size:14px !important;
    font-weight:600 !important; border-radius:4px !important; text-align:center !important;
}
.elementor-menu-cart__main .elementor-button--view-cart{
    background:#fff !important; color:#333 !important; border:1px solid #ddd !important;
}
.elementor-menu-cart__main .elementor-button--view-cart:hover{ background:#f5f5f5 !important; }
.elementor-menu-cart__main .elementor-button--checkout{
    background:#111 !important; color:#fff !important; border:1px solid #111 !important;
}
.elementor-menu-cart__main .elementor-button--checkout:hover{ background:#333 !important; }

/* =============================================
   LOGIN / REGISTRAZIONE
============================================= */

.woocommerce #customer_login .u-column1,
.woocommerce #customer_login .u-column2{
    background:#fff; padding:40px; border-radius:15px;
    box-shadow:0 10px 40px rgba(0,0,0,0.05); border:1px solid #f0f0f0; margin-bottom:40px;
}
.woocommerce #customer_login h2{
    font-size:24px; font-weight:600; margin-bottom:25px; color:#111;
    text-transform:uppercase; letter-spacing:0.5px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea{
    border:1px solid #e0e0e0; border-radius:8px; padding:12px 16px; width:100%;
    background-color:#fafafa; transition:all 0.3s ease; font-size:15px; color:#333;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus{
    border-color:#000; background-color:#fff; outline:none; box-shadow:0 0 0 3px rgba(0,0,0,0.05);
}
.woocommerce form button.button,
.woocommerce a.button{
    border-radius:30px !important; padding:12px 35px !important; background-color:#000 !important;
    color:#fff !important; font-weight:600 !important; text-transform:uppercase; letter-spacing:0.5px;
    border:none !important; transition:all 0.3s ease !important; display:inline-block;
}
.woocommerce form button.button:hover,
.woocommerce a.button:hover{
    background-color:#444 !important; transform:translateY(-2px); box-shadow:0 8px 20px rgba(0,0,0,0.15);
}

/* =============================================
   DASHBOARD UTENTE
============================================= */

.woocommerce-account .woocommerce-MyAccount-navigation{ float:left; width:25%; padding-right:30px; }
.woocommerce-account .woocommerce-MyAccount-content{
    float:left; width:75%; background:#fff; padding:40px; border-radius:15px;
    box-shadow:0 10px 40px rgba(0,0,0,0.05); border:1px solid #f0f0f0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; padding:0; margin:0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li{ margin-bottom:8px; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a{
    display:block; padding:14px 20px; background:#f9f9f9; color:#555; border-radius:10px;
    text-decoration:none; font-weight:500; transition:all 0.3s ease; border:1px solid transparent;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover{ background:#f0f0f0; color:#000; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a{
    background:#000; color:#fff; border-color:#000; box-shadow:0 5px 15px rgba(0,0,0,0.1);
}
.woocommerce-message,.woocommerce-info{
    border-top-color:#000; background-color:#f9f9f9; color:#333; border-radius:8px;
}
.woocommerce-message::before,.woocommerce-info::before{ color:#000; }
@media(max-width:768px){
    .woocommerce-account .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-content{ float:none; width:100%; padding-right:0; }
    .woocommerce-account .woocommerce-MyAccount-navigation{ margin-bottom:30px; }
    .woocommerce-account .woocommerce-MyAccount-navigation ul li a{ text-align:center; }
}

/* =============================================
   RECUPERO PASSWORD
============================================= */

.woocommerce-lost-password .woocommerce,
.woocommerce-ResetPassword{ max-width:550px; margin:0 auto 40px auto !important; }
.woocommerce-ResetPassword form{
    background:#fff; padding:40px; border-radius:15px;
    box-shadow:0 10px 40px rgba(0,0,0,0.05); border:1px solid #f0f0f0;
}
.woocommerce-ResetPassword form p{ margin-bottom:20px; color:#555; font-size:15px; line-height:1.6; }
.woocommerce-ResetPassword form .form-row input.input-text{
    border:1px solid #e0e0e0 !important; border-radius:8px !important; padding:12px 16px !important;
    width:100% !important; background-color:#fafafa !important; font-size:15px !important; color:#333 !important;
}
.woocommerce-ResetPassword form .form-row input.input-text:focus{
    border-color:#000 !important; background-color:#fff !important; outline:none !important;
    box-shadow:0 0 0 3px rgba(0,0,0,0.05) !important;
}
.woocommerce-ResetPassword form button.button{
    border-radius:30px !important; padding:14px 35px !important; background-color:#000 !important;
    color:#fff !important; font-weight:600 !important; text-transform:uppercase !important;
    letter-spacing:0.5px !important; border:none !important; width:100% !important; margin-top:15px !important;
}
.woocommerce-ResetPassword form button.button:hover{
    background-color:#444 !important; transform:translateY(-2px);
}
body.woocommerce-lost-password h1.entry-title,
body.woocommerce-lost-password h1.page-title,
body.woocommerce-lost-password h1{
    text-align:center !important; margin-top:120px !important;
    margin-bottom:15px !important; font-size:32px !important;
}

/* =============================================
   CHECKOUT
============================================= */

@media(min-width:992px){
    form.woocommerce-checkout{
        display:flex !important; justify-content:space-between !important;
        align-items:flex-start !important; flex-wrap:wrap !important;
    }
    form.woocommerce-checkout #customer_details{ width:58% !important; float:none !important; }
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout .col2-set .col-2{ width:100% !important; float:none !important; margin-bottom:30px !important; }
    form.woocommerce-checkout #order_review_heading{ width:38% !important; margin-top:0 !important; padding-top:0 !important; }
    form.woocommerce-checkout #order_review{
        width:38% !important; background-color:#fcfcfc !important; padding:30px !important;
        border-radius:8px !important; box-shadow:0 4px 15px rgba(0,0,0,0.03) !important; float:none !important;
    }
}
.woocommerce-checkout-review-order-table,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table tr{ border:none !important; }
.woocommerce-checkout-review-order-table th{ padding-bottom:15px !important; border-bottom:1px solid #eee !important; }
.woocommerce-checkout-review-order-table td.product-name{
    padding-top:15px !important; padding-bottom:15px !important; border-bottom:1px dashed #eee !important;
}
.woocommerce-checkout .optional{ display:none !important; }
.elementor-540 .elementor-element.elementor-element-8b47434{
    top:0px !important; background:transparent; z-index:1000;
    transition:background 0.3s ease, top 0.3s ease, box-shadow 0.3s ease;
}

/* =============================================
   CARD PRODOTTO CATALOGO
============================================= */

.woocommerce ul.products li.product{
    position:relative;
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 2px 12px rgba(0,0,0,0.07);
    transition:box-shadow 0.2s ease, transform 0.2s ease;
    padding:0 0 16px 0 !important;
}
.woocommerce ul.products li.product:hover{
    box-shadow:0 6px 24px rgba(0,0,0,0.12);
    transform:translateY(-2px);
}
.woocommerce ul.products li.product a img{
    border-radius:12px 12px 0 0; width:100%; display:block; margin-bottom:0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
    font-size:15px !important; font-weight:600 !important; color:#1a1a1a !important;
    padding:14px 14px 6px 14px !important; line-height:1.35 !important; margin:0 !important;
}
.woocommerce ul.products li.product .dw-price-materials{
    display:flex; flex-direction:row; align-items:center; padding:6px 14px 10px 14px; gap:0;
}
.woocommerce ul.products li.product .dw-material{
    display:flex; flex-direction:column; align-items:flex-start;
    padding-right:12px; margin-right:12px; border-right:1px solid #e8e8e8;
}
.woocommerce ul.products li.product .dw-material:last-child{ border-right:none; padding-right:0; margin-right:0; }
.woocommerce ul.products li.product .dw-material-name{
    font-size:10px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
    color:#999; line-height:1.2; margin-bottom:2px;
}
.woocommerce ul.products li.product .dw-material-price{
    font-size:14px; font-weight:600; color:#1a1a1a; white-space:nowrap;
}
.woocommerce ul.products li.product .dw-material.premium .dw-material-name{ color:#b8860b; }
.woocommerce ul.products li.product .dw-material.premium .dw-material-price{ color:#b8860b; }
.woocommerce ul.products li.product .button{
    display:inline-block !important; margin:6px 14px 0 14px !important; width:auto !important;
    text-align:center !important; background:#fff !important; color:#1a1a1a !important;
    border-radius:30px !important; padding:10px 24px !important; font-size:13px !important;
    font-weight:600 !important; letter-spacing:0.08em !important; text-transform:uppercase !important;
    border:1.5px solid #1a1a1a !important; transition:background 0.2s, color 0.2s !important;
}
.woocommerce ul.products li.product .button:hover{
    background:#1a1a1a !important; color:#fff !important;
}
.dw-badge-esaurito{
    position:absolute; top:12px; left:12px; background:#1a1a1a !important; color:#fff;
    font-size:11px; font-weight:600; padding:4px 10px; border-radius:20px;
    letter-spacing:0.05em; text-transform:uppercase; z-index:9; box-shadow:none !important;
}

@media(max-width:480px){
    /* Prodotti */
    .woocommerce ul.products li.product .woocommerce-loop-product__title{
        font-size:19px !important; padding:14px 14px 6px 14px !important;
    }
    .woocommerce ul.products li.product .dw-price-materials{
        padding:8px 14px 12px 14px; flex-wrap:nowrap; gap:0; overflow:hidden;
    }
    .woocommerce ul.products li.product .dw-material{
        padding-right:10px; margin-right:10px; min-width:0;
    }
    .woocommerce ul.products li.product .dw-material-name{ font-size:11px !important; }
    .woocommerce ul.products li.product .dw-material-price{ font-size:14px !important; }
    .woocommerce ul.products li.product .button{
        font-size:13px !important; padding:11px 24px !important; margin:8px 14px 0 14px !important;
    }

    /* Categorie */
    .woocommerce ul.products li.product-category .woocommerce-loop-category__title{
        font-size:19px !important; padding:14px 14px 4px 14px !important;
    }
    .dw-cat-count{
        font-size:13px !important; padding:0 14px 10px 14px !important;
    }
    .dw-cat-materials .dw-material-name{ font-size:11px !important; }
    .dw-cat-materials .dw-material-price{ font-size:14px !important; }
    .dw-cat-btn{
        font-size:13px !important; padding:11px 20px !important; margin:6px 14px 0 14px !important;
    }

    /* Una colonna su mobile */
    .woocommerce ul.products{
        grid-template-columns: 1fr !important;
    }
}
/* =============================================
   CARD CATEGORIE PRODOTTO
============================================= */

.woocommerce ul.products li.product-category{
    position:relative;
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 2px 12px rgba(0,0,0,0.07);
    transition:box-shadow 0.2s ease, transform 0.2s ease;
    padding:0 0 16px 0 !important;
}
.woocommerce ul.products li.product-category:hover{
    box-shadow:0 6px 24px rgba(0,0,0,0.12);
    transform:translateY(-2px);
}
.woocommerce ul.products li.product-category a{
    display:block; text-decoration:none; color:inherit;
}
.woocommerce ul.products li.product-category img{
    border-radius:12px 12px 0 0; width:100%; display:block;
    margin-bottom:0 !important; aspect-ratio:1/1; object-fit:cover;
}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title{
    font-size:15px !important; font-weight:600 !important; color:#1a1a1a !important;
    padding:14px 14px 2px 14px !important; line-height:1.35 !important;
    margin:0 !important; text-transform:capitalize !important;
}
.woocommerce ul.products li.product-category .woocommerce-loop-category__title mark{
    display:none !important;
}
.dw-cat-count{
    font-size:12px; color:#999; font-weight:400; padding:0 14px 8px 14px; display:block;
}
.dw-cat-materials{
    display:flex; flex-direction:row; align-items:center; padding:6px 14px 10px 14px; gap:0;
}
.dw-cat-materials .dw-material{
    display:flex; flex-direction:column; align-items:flex-start;
    padding-right:12px; margin-right:12px; border-right:1px solid #e8e8e8;
}
.dw-cat-materials .dw-material:last-child{ border-right:none; padding-right:0; margin-right:0; }
.dw-cat-materials .dw-material-name{
    font-size:10px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
    color:#999; line-height:1.2; margin-bottom:2px;
}
.dw-cat-materials .dw-material-price{
    font-size:13px; font-weight:600; color:#1a1a1a; white-space:nowrap;
}
.dw-cat-materials .dw-material.premium .dw-material-name{ color:#b8860b; }
.dw-cat-materials .dw-material.premium .dw-material-price{ color:#b8860b; }
.dw-cat-btn{
    display:inline-block; margin:4px 14px 0 14px;
    background:#fff; color:#1a1a1a; border-radius:30px;
    padding:10px 24px; font-size:13px; font-weight:600;
    letter-spacing:0.08em; text-transform:uppercase;
    border:1.5px solid #1a1a1a;
    transition:background 0.2s, color 0.2s;
}
.woocommerce ul.products li.product-category:hover .dw-cat-btn{
    background:#1a1a1a; color:#fff;
}

.dw-read-more-content {
    max-height: 120px;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.dw-read-more-content.open {
    max-height: 2000px;
}

.dw-read-more-btn {
    display: inline-block;
    margin-top: 10px;
    font-size: 13px;
    font-weight: 600;
    color: #1a1a1a;
    cursor: pointer;
    border-bottom: 1px solid #1a1a1a;
    background: none;
    border: none;
    padding: 0;
}