X/*
Theme Name: Capelli Perfetti
Theme URI: https://capelliperfetti.shop
Author: Capelli Perfetti
Description: Tema WooCommerce custom per CapelliPerfetti.shop.
Version: 0.1.0
Text Domain: capelli-perfetti
*/
:root{
  --cp-white:#ffffff;
  --cp-ivory:#fbfaf7;
  --cp-sand:#f3eee5;
  --cp-gold:#c7933b;
  --cp-gold-dark:#a97828;
  --cp-sage:#a9b79a;
  --cp-sage-light:#edf1e8;
  --cp-ink:#1c1c1b;
  --cp-muted:#6f706c;
  --cp-line:#e8e3da;
  --cp-radius:16px;
  --cp-shadow:0 12px 34px rgba(36,31,22,.08);
  --cp-serif: Georgia, "Times New Roman", serif;
  --cp-sans: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cp-white);color:var(--cp-ink);font-family:var(--cp-sans);line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.cp-wrap{width:min(1220px,calc(100% - 40px));margin:auto}
.cp-topbar{background:var(--cp-ivory);border-bottom:1px solid var(--cp-line);font-size:12px}
.cp-topbar-inner{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.cp-top-benefits{display:flex;gap:28px;flex-wrap:wrap}
.cp-top-benefits span{display:flex;align-items:center;gap:7px}
.cp-top-benefits i{color:var(--cp-gold);font-style:normal}
.cp-free{font-weight:700;color:var(--cp-gold-dark)}
.cp-header{background:#fff;border-bottom:1px solid var(--cp-line)}
.cp-header-main{min-height:118px;display:grid;grid-template-columns:300px 1fr auto;gap:34px;align-items:center}
.cp-logo{display:inline-flex;align-items:center;gap:14px}
.cp-logo-mark{width:64px;height:64px;border:1.5px solid var(--cp-gold);border-radius:50%;display:grid;place-items:center;font-family:var(--cp-serif);font-size:29px;color:var(--cp-gold)}
.cp-logo-copy strong{display:block;font-family:var(--cp-serif);font-weight:500;letter-spacing:.08em;font-size:29px;line-height:1}
.cp-logo-copy b{display:block;color:var(--cp-gold);font-weight:500;letter-spacing:.29em;font-size:15px;margin-top:7px}
.cp-logo-copy small{display:block;font-size:8px;letter-spacing:.28em;margin-top:6px}
.custom-logo{max-height:82px;width:auto}
.cp-search{display:flex;border:1px solid #dedbd4;border-radius:4px;overflow:hidden;max-width:540px;margin:auto;width:100%;background:#fff}
.cp-search input{border:0;outline:0;padding:13px 16px;flex:1;font-size:14px}
.cp-search button{border:0;background:#fff;padding:0 18px;font-size:18px;cursor:pointer}
.cp-actions{display:flex;gap:18px;align-items:center;font-size:12px}
.cp-actions a{text-align:center;min-width:54px}
.cp-actions b{display:block;font-size:22px;font-weight:400}
.cp-nav{
    border-top:1px solid #f1eee8;
    display:flex;
    justify-content:center;
}

.cp-nav-inner{
    display:flex;
    justify-content:center;
    gap:34px;
}
.cp-nav a{
    padding:14px;
    font-size:15px;
    font-weight:700;
    text-transform:uppercase;
    color:#0e4f46;
    letter-spacing:.04em;
}
.cp-nav a:hover{color:var(--cp-gold-dark)}
.cp-hero{background:linear-gradient(100deg,var(--cp-ivory) 0 48%,#eee7de 48% 100%);min-height:525px;position:relative;overflow:hidden}
.cp-hero-grid{display:grid;grid-template-columns:47% 53%;min-height:525px;align-items:center}
.cp-hero-copy{padding:55px 0}
.cp-kicker{color:var(--cp-gold);text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:700}
.cp-hero h1{font-family:var(--cp-serif);font-weight:500;font-size:64px;line-height:1.04;margin:14px 0 20px;letter-spacing:.015em}
.cp-hero h1 em{font-style:normal;color:var(--cp-gold)}
.cp-hero p{max-width:460px;font-size:18px}
.cp-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--cp-gold);color:#fff;border-radius:4px;padding:15px 25px;font-weight:700;text-transform:uppercase;font-size:13px;margin-top:16px}
.cp-btn:hover{background:var(--cp-gold-dark)}
.cp-hero-art{height:100%;min-height:525px;display:grid;place-items:center;background:
 radial-gradient(circle at 65% 44%,rgba(255,255,255,.95),rgba(255,255,255,.15) 44%,transparent 45%),
 linear-gradient(145deg,#ece5dc,#f7f3ed)}
.cp-hero-art-inner{width:78%;height:70%;border:1px solid rgba(199,147,59,.35);display:grid;place-items:center;color:#9a948a;text-align:center;border-radius:50% 50% 46% 54% / 55% 44% 56% 45%;background:rgba(255,255,255,.45)}
.cp-hero-art-inner strong{font-family:var(--cp-serif);font-size:28px;font-weight:500;color:#6e675d}
.cp-hero-art-inner small{display:block;margin-top:8px}
.cp-trust-wrap{position:relative;margin-top:-36px;z-index:4}
.cp-trust{background:#fff;border:1px solid var(--cp-line);box-shadow:var(--cp-shadow);border-radius:8px;display:grid;grid-template-columns:repeat(4,1fr)}
.cp-trust-item{padding:22px 24px;display:flex;align-items:center;gap:15px;border-right:1px solid var(--cp-line)}
.cp-trust-item:last-child{border:0}
.cp-trust-icon{
    font-size:28px;
    color:#c8922d;
    line-height:1;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:26px;
}
.cp-trust b{font-size:13px;text-transform:uppercase}
.cp-trust small{display:block;color:var(--cp-muted);margin-top:2px}
.cp-section{padding:72px 0}
.cp-section.soft{background:var(--cp-ivory)}
.cp-section.sage{background:linear-gradient(90deg,#f8f9f5,var(--cp-sage-light))}
.cp-section-title{text-align:center;font-family:var(--cp-serif);font-weight:500;font-size:34px;margin:0 0 34px;position:relative}
.cp-section-title:before,.cp-section-title:after{content:"";display:inline-block;width:120px;height:1px;background:var(--cp-gold);vertical-align:middle;margin:0 18px}
.cp-needs{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.cp-need{aspect-ratio:.78;background:linear-gradient(160deg,#d9d0c5,#8f7b69);border-radius:7px;position:relative;overflow:hidden;display:flex;align-items:flex-end;color:#fff;padding:22px}
.cp-need:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(0,0,0,.62))}
.cp-need-content{position:relative;z-index:2;width:100%;text-align:center}
.cp-need-content b{display:block;text-transform:uppercase;font-size:13px}
.cp-need:nth-child(2){background:linear-gradient(160deg,#dfd2bd,#ac9576)}
.cp-need:nth-child(3){background:linear-gradient(160deg,#d5c5b2,#786252)}
.cp-need:nth-child(4){background:linear-gradient(160deg,#c3b8ab,#4f4640)}
.cp-need:nth-child(5){background:linear-gradient(160deg,#9f8a75,#3d3128)}
.cp-need:nth-child(6){background:linear-gradient(160deg,#bd7657,#673a2c)}
.cp-brands{display:grid;grid-template-columns:repeat(6,1fr);align-items:center;border-top:1px solid var(--cp-line);border-bottom:1px solid var(--cp-line)}
.cp-brand{padding:22px 12px;text-align:center;border-right:1px solid var(--cp-line);font-family:var(--cp-serif);font-size:22px;letter-spacing:.08em}
.cp-brand:last-child{border-right:0}
.cp-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cp-feature{
    min-height:245px;
    background:linear-gradient(145deg,#fffaf0,#f4efe4);
    border:1px solid #e8d8b5;
    border-radius:14px;
    padding:28px 24px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    box-shadow:0 8px 24px rgba(36,31,22,.06);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}.cp-feature-label{
    color:#b98a2f !important;
    font-size:12px;
    font-weight:700;
    letter-spacing:.12em;
}.cp-feature-cta{
    color:#0b6a53 !important;
    font-weight:700;
    letter-spacing:.04em;
    display:inline-block;
    margin-top:12px;
}.cp-feature-link:hover{
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(36,31,22,.10);
    border-color: #d7b86a;
}
.cp-feature h3{font-family:var(--cp-serif);font-weight:500;margin:0;font-size:23px}
.cp-feature p{font-size:14px;color:var(--cp-muted)}
.cp-feature .cp-mini-placeholder{height:92px;border:1px dashed #cfc7bb;border-radius:6px;display:grid;place-items:center;color:#a9a196;font-size:12px;background:#fff}
.cp-newsletter{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;background:linear-gradient(90deg,#f5f3ec,var(--cp-sage-light));padding:28px 36px;border-radius:8px}
.cp-newsletter h3{font-family:var(--cp-serif);font-size:25px;margin:0 0 4px}
.cp-newsletter p{margin:0;color:var(--cp-muted)}
.cp-newsletter form{display:flex}
.cp-newsletter input{flex:1;border:1px solid #ddd8ce;border-right:0;padding:14px}
.cp-newsletter button{border:0;background:var(--cp-gold);color:#fff;padding:0 30px;font-weight:700}
.cp-footer{background:#22211f;color:#f4f1eb;padding:58px 0 28px;margin-top:70px}
.cp-footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:40px}
.cp-footer h4{font-family:var(--cp-serif);font-size:20px;margin:0 0 18px;color:#fff}
.cp-footer a{display:block;color:#c9c5bd;margin:8px 0;font-size:14px}
.cp-footer-note{margin-top:40px;border-top:1px solid #3b3935;padding-top:22px;color:#96928b;font-size:12px}
.woocommerce div.product .product_title{font-family:var(--cp-serif);font-weight:500;font-size:42px}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--cp-gold-dark);font-size:25px;font-weight:700}
.single-product .site-main{width:min(1180px,calc(100% - 40px));margin:50px auto}
.woocommerce div.product div.images img{background:#faf9f6;border:1px solid var(--cp-line);border-radius:8px}
.woocommerce div.product form.cart .button{background:var(--cp-gold);border-radius:4px;padding:15px 26px;text-transform:uppercase}
.cp-product-free-shipping{margin:15px 0;padding:13px 15px;background:var(--cp-sage-light);border-left:3px solid var(--cp-sage);font-weight:700}
.cp-multibuy{margin:20px 0;border:1px solid var(--cp-line);border-radius:8px;overflow:hidden}
.cp-multibuy-title{padding:13px 16px;background:var(--cp-ivory);font-family:var(--cp-serif);font-size:20px}
.cp-multibuy-row{display:grid;grid-template-columns:1fr 1fr;padding:11px 16px;border-top:1px solid var(--cp-line);font-size:14px}
.cp-multibuy-row strong{text-align:right;color:var(--cp-gold-dark)}
@media(max-width:980px){
 .cp-header-main{grid-template-columns:1fr auto;min-height:96px}.cp-search{grid-column:1/-1;grid-row:2;margin-bottom:18px}
 .cp-nav-inner{overflow:auto;justify-content:flex-start;gap:26px}.cp-hero-grid{grid-template-columns:1fr}.cp-hero-art{display:none}
 .cp-needs{grid-template-columns:repeat(3,1fr)}.cp-feature-grid{grid-template-columns:1fr 1fr}.cp-trust{grid-template-columns:1fr 1fr}
 .cp-brands{grid-template-columns:repeat(3,1fr)}.cp-section-title:before,.cp-section-title:after{width:50px}
}
@media(max-width:640px){
 .cp-wrap{width:min(100% - 24px,1220px)}.cp-topbar-inner{justify-content:center}.cp-top-benefits span:nth-child(n+3){display:none}.cp-free{display:none}
 .cp-header-main{grid-template-columns:1fr auto;gap:10px}.cp-logo-mark{width:48px;height:48px;font-size:23px}.cp-logo-copy strong{font-size:22px}.cp-logo-copy b{font-size:11px}.cp-logo-copy small{display:none}
 .cp-actions a:not(:last-child){display:none}.cp-actions b{font-size:25px}.cp-nav-inner{height:48px;font-size:11px}
 .cp-hero{min-height:465px}.cp-hero-grid{min-height:465px}.cp-hero h1{font-size:44px}.cp-hero p{font-size:16px}
 .cp-trust-wrap{margin-top:-22px}.cp-trust{grid-template-columns:1fr 1fr}.cp-trust-item{padding:16px 12px;gap:9px}.cp-trust small{font-size:11px}.cp-trust-icon{font-size:22px}
 .cp-section{padding:50px 0}.cp-section-title{font-size:28px}.cp-section-title:before,.cp-section-title:after{display:none}
 .cp-needs{grid-template-columns:repeat(2,1fr)}.cp-brands{grid-template-columns:1fr 1fr}.cp-feature-grid{grid-template-columns:1fr}
 .cp-newsletter{grid-template-columns:1fr;padding:24px}.cp-footer-grid{grid-template-columns:1fr 1fr}
}
/* ===== HERO HOME - IMMAGINE ===== */

.cp-hero{
    background: #f7f3ea;
    border-radius: 24px;
    overflow: hidden !important;
    padding: 0 !important;
    margin-top: 18px;
}

.cp-hero-grid{
    display: grid !important;
    grid-template-columns: 45% 55% !important;
    min-height: 640px !important;
    align-items: stretch !important;
    gap: 0 !important;
}

.cp-hero-copy{
    background: #f7f3ea;
    padding: 58px 48px 82px 36px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    position: relative;
    z-index: 2;
}

.cp-hero-copy::after{
    content: "";
    position: absolute;
    top: -4%;
    right: -88px;
    width: 176px;
    height: 108%;
    background: #f7f3ea;
    border-right: 2px solid #c8922d;
    border-radius: 0 90px 90px 0 / 0 50% 50% 0;
}

.cp-kicker{
    color: #b98a2f !important;
    font-size: 13px !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
    font-weight: 700 !important;
    margin-bottom: 18px !important;
}

.cp-hero h1{
    font-family: var(--cp-serif) !important;
    font-size: 68px !important;
    line-height: 0.98 !important;
    font-weight: 500 !important;
    letter-spacing: -0.02em !important;
    color: #0e2a26 !important;
    max-width: 420px;
    margin: 0 0 22px !important;
}

.cp-hero h1 em{
    font-style: normal !important;
    color: #c8922d !important;
}

.cp-hero p{
    max-width: 430px !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
    color: #36433f !important;
    margin: 0 0 28px !important;
}

.cp-hero .cp-btn{
    display: inline-flex !important;
    width: max-content !important;
    align-items: center;
    justify-content: center;
    margin-top: 0 !important;
    background: #c8922d !important;
    color: #ffffff !important;
    padding: 15px 24px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    box-shadow: 0 10px 24px rgba(201,146,45,.18);
}

.cp-hero .cp-btn:hover{
    background: #0b6a53 !important;
    color: #ffffff !important;
}

.cp-hero-art{
    padding: 0 !important;
    overflow: hidden !important;
    position: relative;
    z-index: 1;
}

.cp-hero-art-inner{
    width: 100% !important;
    height: 100% !important;
    min-height: 640px !important;
    background-image: url('https://www.capelliperfetti.shop/wp-content/uploads/2026/08/hero-image.png') !important;
    background-size: cover !important;
    background-position: center right !important;
    background-repeat: no-repeat !important;
    border-radius: 0 24px 24px 0 !important;
}

.cp-hero-art-inner > div{
    display: none !important;
}

@media (max-width: 980px){
    .cp-hero-grid{
        grid-template-columns: 1fr !important;
    }

    .cp-hero-copy{
        padding: 46px 26px 32px !important;
    }

    .cp-hero-copy::after{
        display: none !important;
    }

    .cp-hero h1{
        font-size: 52px !important;
        max-width: none;
    }

    .cp-hero-art-inner{
        min-height: 480px !important;
        border-radius: 0 0 24px 24px !important;
        background-position: center center !important;
    }
}

@media (max-width: 640px){
    .cp-hero{
        border-radius: 18px !important;
    }

    .cp-hero-copy{
        padding: 34px 20px 24px !important;
    }

    .cp-kicker{
        font-size: 12px !important;
    }

    .cp-hero h1{
        font-size: 40px !important;
        line-height: 1.02 !important;
    }

    .cp-hero p{
        font-size: 16px !important;
    }

    .cp-hero .cp-btn{
        width: 100% !important;
    }

    .cp-hero-art-inner{
        min-height: 380px !important;
    }
}
}/* ===== BESTSELLER HOME ===== */
.cp-home-products-grid ul.products{
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    margin: 0 !important;
}
.cp-home-products-grid ul.products::before,
.cp-home-products-grid ul.products::after{
    display: none !important;
    content: none !important;
}
.cp-home-products-grid ul.products li.product{
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    clear: none !important;
    box-sizing: border-box !important;
}

.cp-home-products-grid ul.products li.product.first,
.cp-home-products-grid ul.products li.product.last{
    clear: none !important;
    margin: 0 !important;
}
.cp-home-products-grid ul.products li.product.first,
.cp-home-products-grid ul.products li.product.last{
    clear: none !important;
    margin: 0 !important;
}
@media (max-width: 980px){
    .cp-home-products-grid ul.products{
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px){
    .cp-home-products-grid ul.products{
        grid-template-columns: 1fr !important;
    }
}

/* ===== FINE BESTSELLER HOME ===== */
/* ===== PROMO HOME ===== */

.cp-promo-home{
    padding: 50px 0;
}

.cp-promo-box{
    background: linear-gradient(135deg,#f7f3e8,#edf1e8);
    border: 1px solid #e8d8b5;
    border-radius: 18px;
    padding: 45px 40px;
    text-align: center;
    max-width: 1180px;
    margin: 0 auto;
}

.cp-promo-text{
    max-width: 760px;
    margin: 0 auto;
}

.cp-promo-kicker{
    display: inline-block;
    color: #a97828;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .18em;
    margin-bottom: 10px;
}

.cp-promo-box h2{
    color: #063f32;
    font-family: var(--cp-serif);
    font-size: 36px;
    margin: 0 0 12px;
}

.cp-promo-box p{
    color: #676767;
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 24px;
}

.cp-promo-btn{
    background: #066b53;
    color: #ffffff !important;
    padding: 13px 24px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 700;
}

.cp-promo-btn:hover{
    background: #a97828;
}

/* ===== FINE PROMO HOME ===== */
.cp-home-products {
    padding: 70px 0 80px;
    background: #ffffff;
}

.cp-home-products-head {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 42px;
}

.cp-home-products-head span {
    display: block;
    color: #c99332;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
    margin-bottom: 12px;
}

.cp-home-products-head h2 {
    margin: 0 0 12px;
    font-size: 38px;
    color: #173f32;
    font-family: var(--cp-serif);
}

.cp-home-products-head p {
    margin: 0;
    font-size: 16px;
    color: #666;
}

.cp-home-products-grid ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 28px !important;
    margin: 0 !important;
}

.cp-home-products-grid ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
    padding: 18px !important;
    border: 1px solid #eadfce;
    border-radius: 12px;
    background: #fff;
    text-align: center;
}

.cp-home-products-grid ul.products li.product img {
    width: 100% !important;
    height: 270px !important;
    object-fit: contain;
    margin-bottom: 18px !important;
}

.cp-home-products-grid .woocommerce-loop-product__title {
    font-size: 17px !important;
    line-height: 1.35;
    color: #173f32;
    min-height: 46px;
}

.cp-home-products-grid .price {
    display: block;
    margin: 10px 0 14px !important;
    color: #c99332 !important;
    font-weight: 700;
    font-size: 18px !important;
}

.cp-home-products-grid .button {
    background: #0b5b45 !important;
    color: #fff !important;
    border-radius: 5px !important;
    padding: 12px 18px !important;
    text-transform: uppercase;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.cp-home-products-more {
    text-align: center;
    margin-top: 38px;
}

.cp-home-products-more a {
    display: inline-block;
    color: #0b5b45;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid #c99332;
    padding-bottom: 4px;
}

@media (max-width: 980px) {
    .cp-home-products-grid ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 640px) {
    .cp-home-products {
        padding: 45px 0 55px;
    }

    .cp-home-products-head h2 {
        font-size: 30px;
    }

    .cp-home-products-grid ul.products {
        grid-template-columns: 1fr !important;
    }
}.cp-quantity-discount-note{
    order:-1;
width:100%;
flex-basis:100%;
box-sizing:border-box;    
  margin: 14px 0 18px;
  padding: 14px 16px;
  background: #f8f1df;
  border: 1px solid #d7b067;
  border-left: 5px solid #c9962a;
  border-radius: 8px;
  color: #3c3124;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
}

.cp-quantity-discount-note strong{
  color: #a87412;
  font-weight: 700;
}

/* Nasconde il vecchio messaggio automatico dello sconto quantità */
.wdr_product_strikeout,
.wdr_you_saved_con,
.wdr_discount_message,
.awdr_discount_bar {
    display: none !important;
}

.awdr-bulk-customizable-table::after {
    content: none !important;
    display: none !important;
}

.woocommerce div.product form.cart .button{
    width:220px !important;
    min-height:48px !important;
    padding:12px 20px !important;
    white-space:nowrap !important;
}/* ===== BESTSELLER HOME - CARD PIU' COMPATTE ===== */

.cp-home-products-grid ul.products{
    display:grid !important;
    grid-template-columns:repeat(4, 1fr) !important;
    gap:18px !important;
}

.cp-home-products-grid ul.products li.product{
    width:100% !important;
    margin:0 !important;
    padding:16px 14px !important;
    min-height:auto !important;
}

.cp-home-products-grid ul.products li.product img{
    max-width:180px !important;
    width:100% !important;
    height:auto !important;
    margin:0 auto 14px !important;
    display:block !important;
}

.cp-home-products-grid ul.products li.product .woocommerce-loop-product__title{
    font-size:15px !important;
    line-height:1.3 !important;
    min-height:58px !important;
}

.cp-home-products-grid ul.products li.product .price{
    font-size:16px !important;
    margin:8px 0 10px !important;
}

.cp-home-products-grid ul.products li.product .button{
    padding:10px 16px !important;
    font-size:12px !important;
}

/* Tablet */
@media (max-width:980px){
    .cp-home-products-grid ul.products{
        grid-template-columns:repeat(2, 1fr) !important;
    }
}

/* Smartphone */
@media (max-width:640px){
    .cp-home-products-grid ul.products{
        grid-template-columns:repeat(2, 1fr) !important;
        gap:12px !important;
    }

    .cp-home-products-grid ul.products li.product img{
        max-width:140px !important;
    }

    .cp-home-products-grid ul.products li.product .woocommerce-loop-product__title{
        font-size:13px !important;
        min-height:auto !important;
    }
}/* ===== RIMUOVE PALLINI LISTA BESTSELLER ===== */

.cp-home-products-grid ul.products,
.cp-home-products-grid ul.products li.product{
    list-style:none !important;
}

.cp-home-products-grid ul.products li.product::before,
.cp-home-products-grid ul.products li.product::after{
    content:none !important;
    display:none !important;
}/* ===== BESTSELLER HOME - ALLINEAMENTO CARD ===== */

.cp-home-products-grid ul.products li.product{
    display:flex !important;
    flex-direction:column !important;
}

.cp-home-products-grid ul.products li.product > a{
    display:flex !important;
    flex-direction:column !important;
    flex:1 !important;
}

.cp-home-products-grid ul.products li.product .woocommerce-loop-product__title{
    min-height:58px !important;
}

.cp-home-products-grid ul.products li.product .price{
    min-height:44px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-wrap:wrap !important;
}

.cp-home-products-grid ul.products li.product .button{
    margin-top:auto !important;
    align-self:center !important;
}/* ===== BESTSELLER HOME - PREZZI SCONTATI SU DUE RIGHE ===== */

.cp-home-products-grid ul.products li.product .price del,
.cp-home-products-grid ul.products li.product .price ins{
    display:block !important;
    width:100% !important;
    text-align:center !important;
}

.cp-home-products-grid ul.products li.product .price del{
    margin-bottom:4px !important;
}

.cp-home-products-grid ul.products li.product .price ins{
    text-decoration:none !important;
    font-weight:700 !important;
}/* FIX PULSANTE AGGIUNGI AL CARRELLO */
.single-product .woocommerce-variation-add-to-cart,
.single-product form.cart {
    overflow: visible !important;
}

.single-product button.single_add_to_cart_button,
.single-product .single_add_to_cart_button {
    width: 230px !important;
    min-width: 230px !important;
    max-width: none !important;
    flex: 0 0 230px !important;

    padding: 0 18px !important;
    height: 44px !important;

    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;

    font-size: 14px !important;
    line-height: 44px !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* MOBILE */
@media (max-width: 767px) {
    .single-product button.single_add_to_cart_button,
    .single-product .single_add_to_cart_button {
        width: auto !important;
        min-width: 210px !important;
        flex: 1 1 auto !important;
    }
}/* ===== HEADER MOBILE DEFINITIVO ===== */
@media (max-width: 640px) {

    /* Struttura header */
    .cp-header-main {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        min-height: auto !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    /* Logo */
    .cp-header-main .custom-logo-link {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
    }

    .cp-header-main .custom-logo-link img {
        display: block !important;
        width: auto !important;
        max-width: 270px !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    /* Barra ricerca */
    .cp-search {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    /* Account - Preferiti - Carrello */
    .cp-actions {
        display: flex !important;
        width: 100% !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 28px !important;
        margin: 0 !important;
    }

    .cp-actions > a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
    }

    /* Menu */
    .cp-nav {
        width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
    }

    .cp-nav-inner {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        width: max-content !important;
        min-width: 100% !important;
        gap: 24px !important;
        padding: 0 16px !important;
        margin: 0 !important;
    }

    .cp-nav-inner > li {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }
}.cp-nav-inner > li,
.cp-nav-inner > li > a {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

}/* ===== ICONE HEADER MOBILE ===== */
}

/* ===== ICONE HEADER MOBILE COME DESKTOP ===== */
@media (max-width: 640px) {

    .cp-actions {
        display: flex !important;
        width: 100% !important;
        justify-content: center !important;
        align-items: flex-start !important;
        gap: 22px !important;
        margin: 4px 0 2px !important;
    }

    .cp-actions > a {
        width: 68px !important;
        min-width: 68px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        text-align: center !important;
        font-size: 12px !important;
        line-height: 1.2 !important;
    }

    .cp-actions > a > :first-child {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 50% !important;
        box-sizing: border-box !important;
    }

    .cp-actions > a:nth-child(1) > :first-child {
        background: #eef6ed !important;
    }

    .cp-actions > a:nth-child(2) > :first-child,
    .cp-actions > a:nth-child(3) > :first-child {
        background: #fff8eb !important;
    }

    .cp-actions svg {
        width: 21px !important;
        height: 21px !important;
    }
}/* ===== FIX DEFINITIVO ICONE MOBILE ===== */
@media (max-width: 640px) {

    .cp-actions a:not(:last-child) {
        display: flex !important;
    }

    .cp-actions a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        width: 72px !important;
        min-width: 72px !important;
        gap: 6px !important;
        text-align: center !important;
    }

    .cp-actions a b {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 46px !important;
        height: 46px !important;
        border-radius: 50% !important;
        font-size: 22px !important;
        line-height: 1 !important;
    }

    .cp-actions a:nth-child(1) b {
        background: #eef6ed !important;
    }

    .cp-actions a:nth-child(2) b,
    .cp-actions a:nth-child(3) b {
        background: #fff8eb !important;
    }

}/* ===== MENU HAMBURGER MOBILE ===== */

.cp-mobile-menu-toggle {
    display: none;
}

@media (max-width: 640px) {

    .cp-mobile-menu-toggle {
        display: flex !important;
        width: 100% !important;
        min-height: 48px !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        padding: 10px 16px !important;

        background: #ffffff !important;
        color: #0c443c !important;

        border: 0 !important;
        border-top: 1px solid #eeeeee !important;
        border-bottom: 1px solid #eeeeee !important;

        font-size: 14px !important;
        font-weight: 700 !important;
        cursor: pointer !important;
    }

    .cp-hamburger-icon {
        font-size: 22px !important;
        line-height: 1 !important;
    }

    /* chiuso */
    .cp-nav {
        display: none !important;
        width: 100% !important;
        overflow: visible !important;
    }

    /* aperto */
    .cp-nav.cp-mobile-menu-open {
        display: block !important;
    }

    .cp-nav-inner {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;

        width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
        gap: 0 !important;

        position: static !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }

    .cp-nav-inner > li {
        display: block !important;
        width: 100% !important;
        flex: none !important;
        margin: 0 !important;
        border-bottom: 1px solid #eeeeee !important;
    }

    .cp-nav-inner > li > a {
        display: block !important;
        width: 100% !important;
        padding: 14px 20px !important;
        text-align: left !important;
        white-space: normal !important;
    }
}/* ===== FIX VOCI MENU HAMBURGER ===== */
@media (max-width: 640px) {

    .cp-nav.cp-mobile-menu-open,
    .cp-nav.cp-mobile-menu-open .cp-nav-inner {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* forza TUTTE le voci principali */
    .cp-nav.cp-mobile-menu-open .cp-nav-inner > li {
        display: block !important;
        position: static !important;
        float: none !important;

        width: 100% !important;
        max-width: none !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        opacity: 1 !important;
        visibility: visible !important;

        left: auto !important;
        right: auto !important;
        top: auto !important;

        transform: none !important;

        border-bottom: 1px solid #eeeeee !important;
    }

    .cp-nav.cp-mobile-menu-open .cp-nav-inner > li > a {
        display: block !important;
        position: static !important;

        width: 100% !important;
        height: auto !important;

        padding: 14px 20px !important;

        color: #0c443c !important;
        background: #ffffff !important;

        text-align: left !important;
        font-size: 14px !important;
        line-height: 1.3 !important;

        opacity: 1 !important;
        visibility: visible !important;

        transform: none !important;
    }

    /* per adesso teniamo chiusi i vecchi sottomenu */
    .cp-nav.cp-mobile-menu-open .sub-menu {
        display: none !important;
    }
}/* ===== SOTTOMENU MOBILE ESIGENZE / MARCHI ===== */
@media (max-width: 640px) {

    .cp-nav.cp-mobile-menu-open .menu-item-has-children > .sub-menu {
        display: none !important;
        position: static !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #f8f8f8 !important;
        box-shadow: none !important;
        border: 0 !important;
    }

    .cp-nav.cp-mobile-menu-open .menu-item-has-children.cp-submenu-open > .sub-menu {
        display: block !important;
    }

    .cp-nav.cp-mobile-menu-open .sub-menu li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid #eeeeee !important;
    }

    .cp-nav.cp-mobile-menu-open .sub-menu li a {
        display: block !important;
        width: 100% !important;
        padding: 12px 20px 12px 34px !important;
        font-size: 13px !important;
        color: #0c443c !important;
        background: #f8f8f8 !important;
        text-align: left !important;
    }
}/* ===== ICONE HEADER MOBILE - FIX DEFINITIVO ===== */
@media (max-width: 640px) {

    /* Nasconde i simboli vecchi presenti nell'HTML */
    .cp-header-main .cp-actions > a > b {
        display: none !important;
    }

    /* Struttura comune dei 3 cerchi */
    .cp-header-main .cp-actions > a::before {
        display: block !important;
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        flex: 0 0 46px !important;
        border-radius: 50% !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        background-size: 24px 24px !important;
        box-sizing: border-box !important;
    }

    /* ACCOUNT */
    .cp-header-main .cp-actions > a:nth-child(1)::before {
        content: "" !important;
        background-color: #edf4e9 !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23174f3b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 21c.7-4.2 3.3-6.5 7.5-6.5s6.8 2.3 7.5 6.5'/%3E%3C/svg%3E") !important;
    }

    /* PREFERITI */
    .cp-header-main .cp-actions > a:nth-child(2)::before {
        content: "♡" !important;
        background-image: none !important;
        background-color: #fff7ea !important;
        color: #c99332 !important;
        border: 1px solid #f1dfbd !important;
        font-size: 31px !important;
        font-family: Arial, sans-serif !important;
        font-weight: 400 !important;
        line-height: 42px !important;
        text-align: center !important;
    }

    /* CARRELLO */
    .cp-header-main .cp-actions > a:nth-child(3)::before {
        content: "" !important;
        background-color: #fff3df !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c99332' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1'/%3E%3Ccircle cx='19' cy='20' r='1'/%3E%3Cpath d='M3 4h2l2.4 10.5a2 2 0 0 0 2 1.5h8.8a2 2 0 0 0 2-1.6L22 7H6'/%3E%3C/svg%3E") !important;
    }
}/* ===== NASCONDE HAMBURGER SU DESKTOP ===== */
@media (min-width: 641px) {
    .cp-mobile-menu-toggle {
        display: none !important;
    }
}/* ===== NASCONDE IMPRONTA VERDE SU MOBILE ===== */
@media (max-width: 640px) {
    #hu-revoke,
    .hu-revoke,
    .hu-revoke-button,
    .hu-revoke-cookie {
        display: none !important;
    }
/* =========================================================
   CARRELLO + CHECKOUT CAPELLIPERFETTI
   SOLO STILE - NON MODIFICA IL LAYOUT
   ========================================================= */

/* TITOLI */
.wc-block-checkout h1,
.wc-block-checkout h2,
.wc-block-checkout h3,
.wc-block-cart h1,
.wc-block-cart h2,
.wc-block-cart h3 {
    color: #064f40 !important;
}

/* CAMPI CHECKOUT */
.wc-block-checkout input,
.wc-block-checkout select,
.wc-block-checkout textarea {
    border-color: #dec99d !important;
    border-radius: 7px !important;
    background: #ffffff !important;
}

/* CAMPI ATTIVI */
.wc-block-checkout input:focus,
.wc-block-checkout select:focus,
.wc-block-checkout textarea:focus {
    border-color: #c89225 !important;
    box-shadow: 0 0 0 1px #c89225 !important;
    outline: none !important;
}

/* RIEPILOGO ORDINE CHECKOUT */
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar {
    background-color: #fbf8f1;
}

/* RIEPILOGO CARRELLO */
.wc-block-cart__sidebar {
    background: #fbf8f1 !important;
    border-radius: 10px !important;
}

/* TESTI TOTALI */
.wc-block-components-totals-footer-item,
.wc-block-components-totals-footer-item strong,
.wc-block-cart__sidebar .wc-block-components-totals-item__label,
.wc-block-cart__sidebar .wc-block-components-totals-item__value {
    color: #064f40 !important;
}

/* LINK */
.wc-block-checkout a,
.wc-block-cart a {
    color: #07634f;
}

.wc-block-checkout a:hover,
.wc-block-cart a:hover {
    color: #b67c16;
}

/* OPZIONE SPEDIZIONE / PAGAMENTO SELEZIONATA */
.wc-block-checkout .wc-block-components-radio-control__option {
    border-color: #0f6a52 !important;
}

.wc-block-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    background: #fbf8f1 !important;
    border-color: #0f6a52 !important;
}

/* =========================================================
   PULSANTE CONFERMA E PAGA
   ========================================================= */

.wc-block-components-checkout-place-order-button,
button.wc-block-components-checkout-place-order-button {
    background: #08705a !important;
    color: #ffffff !important;
    border: 2px solid #08705a !important;
    border-radius: 7px !important;
    min-height: 56px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
}

.wc-block-components-checkout-place-order-button:hover,
button.wc-block-components-checkout-place-order-button:hover {
    background: #055442 !important;
    border-color: #055442 !important;
    color: #ffffff !important;
}

}/* =========================================================
   PULSANTE PROCEDI AL PAGAMENTO NEL CARRELLO
   ========================================================= */

.wc-block-cart__submit-container .wc-block-cart__submit-button,
.wc-block-cart__submit-button {
    background: #08705a !important;
    color: #ffffff !important;
    border: 2px solid #08705a !important;
    border-radius: 7px !important;
    min-height: 52px !important;
    font-weight: 700 !important;
}

.wc-block-cart__submit-container .wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:hover {
    background: #055442 !important;
    border-color: #055442 !important;
    color: #ffffff !important;
}

/* TESTO DEL PULSANTE SEMPRE BIANCO */
.wc-block-cart__submit-button span,
.wc-block-components-checkout-place-order-button span {
    color: #ffffff !important;
}

/* MOBILE */
@media (max-width: 767px) {

    .wc-block-components-checkout-place-order-button,
    .wc-block-cart__submit-button {
        width: 100% !important;
        min-height: 56px !important;
    }
}/* =========================================================
   FIX STILE CHECKOUT CAPELLIPERFETTI
   NON MODIFICA IL LAYOUT
   ========================================================= */

/* Titolo pagina checkout */
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout h1 {
    color: #064f40 !important;
}

/* Titoli sezioni */
.wp-block-woocommerce-checkout .wc-block-components-title,
.wp-block-woocommerce-checkout h2,
.wp-block-woocommerce-checkout h3 {
    color: #064f40 !important;
}

/* Campi checkout */
.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout .wc-block-components-combobox-control input,
.wp-block-woocommerce-checkout input,
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout textarea {
    border: 1px solid #dec99d !important;
    border-radius: 7px !important;
    background: #ffffff !important;
}

/* Campo selezionato */
.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-block-components-combobox-control input:focus,
.wp-block-woocommerce-checkout input:focus,
.wp-block-woocommerce-checkout select:focus,
.wp-block-woocommerce-checkout textarea:focus {
    border-color: #c89225 !important;
    box-shadow: 0 0 0 1px #c89225 !important;
    outline: none !important;
}

/* Box riepilogo ordine */
.wp-block-woocommerce-checkout .wc-block-components-sidebar {
    background: #fbf8f1 !important;
    border-radius: 10px !important;
}

/* Spedizione e pagamenti */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-option {
    border-color: #0f6a52 !important;
}

/* Metodo selezionato */
.wp-block-woocommerce-checkout
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
    background: #fbf8f1 !important;
    border-color: #0f6a52 !important;
}

/* Totale */
.wp-block-woocommerce-checkout
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__label,
.wp-block-woocommerce-checkout
.wc-block-components-totals-footer-item
.wc-block-components-totals-item__value {
    color: #064f40 !important;
    font-weight: 700 !important;
}

/* CONFERMA E PAGA */
.wp-block-woocommerce-checkout
.wc-block-components-checkout-place-order-button {
    background: #08705a !important;
    color: #ffffff !important;
    border: 2px solid #08705a !important;
    border-radius: 7px !important;
    min-height: 56px !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
}

.wp-block-woocommerce-checkout
.wc-block-components-checkout-place-order-button:hover {
    background: #055442 !important;
    border-color: #055442 !important;
    color: #ffffff !important;
}

/* Testo pulsante */
.wp-block-woocommerce-checkout
.wc-block-components-checkout-place-order-button span {
    color: #ffffff !important;
}/* =========================================================
   CHECKOUT MOBILE - NASCONDE RIEPILOGO DUPLICATO IN BASSO
   ========================================================= */
@media (max-width: 767px) {

    .wc-block-checkout__actions
    .wp-block-woocommerce-checkout-order-summary-block.checkout-order-summary-block-fill-wrapper {
        display: none !important;
    }

}/* =========================================================
   CHECKOUT MOBILE - NASCONDE ASSISTENZA FLOTTANTE
   ========================================================= */
@media (max-width: 767px) {

    /* Consulente Capelli */
    body.woocommerce-checkout #cp-consulente-root,
    body.woocommerce-checkout #cp-consulente-launcher {
        display: none !important;
    }

    /* WhatsApp / Joinchat */
    body.woocommerce-checkout #joinchat,
    body.woocommerce-checkout .joinchat {
        display: none !important;
    }

}