/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/* ===== PULIZIA TOTALE HEADER CHECKOUT ===== */


body.woocommerce-checkout .whb-main-header,
body.woocommerce-checkout .whb-general-header,
body.woocommerce-checkout .wd-header,
body.woocommerce-checkout header {
    display: none !important;
}



/* Separatore oro 5 stelle */
.xmashop-stars{
    display:flex;
    justify-content:center;
    align-items:flex-end;
    gap:17px;
    margin:0px 0px 0px 0px;
}

.xmashop-stars span{
    color:#D8B36B;
    line-height:1;
}

.xmashop-stars .s1{
    font-size:17px;
}

.xmashop-stars .s2{
    font-size:26px;
}

.xmashop-stars .s3{
    font-size:38px;
}
/* --------------------------------- */
/* Separatore oro ROMBO */
.xmashop-gold-divider{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:18px !important;
    width:100% !important;
    max-width:760px !important;
    margin:28px auto 24px auto !important;
}

.xmashop-gold-divider .gold-line{
    display:block !important;
    flex:1 1 auto !important;
    height:1px !important;
    min-width:120px !important;
    background:#D8B36B !important;
    opacity:0.75 !important;
    font-size:0 !important;
    line-height:0 !important;
}

.xmashop-gold-divider .gold-star{
    display:block !important;
    flex:0 0 auto !important;
    color:#D8B36B !important;
    line-height:1 !important;
}

/* --------------------------------- */

/* XMASHOP - Separatore con titolo marrone e dettagli oro */

.xmashop-gold-divider .xmashop-divider-center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex: 0 0 auto;
}

.xmashop-gold-divider .xmashop-divider-title {
    color: #4A1D18 !important;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.xmashop-gold-divider .gold-star {
    color: #D8B36B !important;
    font-size: 20px !important;
    line-height: 1 !important;
    transform: none !important;
}



/* Benvenuti in XMASHOP */
.xmashop-welcome-image img{
    width:100%;
    height:390px;
    object-fit:cover;
    border-radius:16px;
    box-shadow:0 8px 24px rgba(0,0,0,0.08);
}

@media (max-width:768px){
    .xmashop-welcome-image img{
        height:280px;
    }
}
/* --------------------------------- */

/* Testi sezione testo, destra Benvenuti */
.xmashop-welcome-text{
    width:100%;
    max-width:none;
    text-align:left;
}

.xmashop-welcome-text h2{

    margin:0 0 16px 0;
    color:#8B1E1E;
    font-size:34px;
    line-height:1.12;
    font-weight:700;
    letter-spacing:0.5px;
    text-transform:uppercase;
}

.xmashop-welcome-subtitle{
    margin:0 0 20px 0;
    color:#B8893E;
    font-size:20px;
    line-height:1.45;
    font-weight:400;
}

.xmashop-welcome-body{
    margin:0 0 18px 0;
    color:#3A2A22;
    font-size:16px;
    line-height:1.75;
}

.xmashop-welcome-body strong{
    font-weight:700;
    color:#2F211B;
}

.xmashop-welcome-signature{
    margin:10px 0 22px 0;
    color:#9B2A24;
    font-family:"Brush Script MT", "Segoe Script", cursive;
    font-size:27px;
    line-height:1.2;
}

.xmashop-welcome-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:210px;
    padding:13px 24px;
    border-radius:7px;
    background:linear-gradient(180deg, #E7C57B 0%, #C9953A 100%);
    color:#5A1A13;
    font-size:16px;
    font-weight:600;
    text-decoration:none;
    box-shadow:0 4px 12px rgba(120,75,20,0.18);
    transition:all 0.25s ease;
}

.xmashop-welcome-button:hover{
    transform:translateY(-1px);
    box-shadow:0 7px 18px rgba(120,75,20,0.24);
    color:#5A1A13;
}
/* --------------------------------- */
/* Titolo sezioni riutilizzabili home XMASHOP */
.xmashop-section-title{
    text-align:center;
    margin:10px 0 30px 0;
}

.xmashop-section-title h2{
    font-size:30px;
    font-weight:700;
    text-transform:uppercase;
    color:#33261D;
    margin:0;
    letter-spacing:1px;
}

.xmashop-section-title p{
    font-size:16px;
    color:#9A7A55;
    margin-top:8px;
    margin-bottom:0;
    line-height:1.5;
}

/* Variante sezione categorie */
.xmashop-section-title.is-compact{
    margin:0 0 28px 0;
    color:#4A1D18;
}

/* Variante sezione letterine */
.xmashop-section-title.is-magic h2{
    color:#4A1D18;
}

.xmashop-section-title.is-magic p{
    max-width:620px;
    margin-left:auto;
    margin-right:auto;
    color:#7A5A45;
}

@media (max-width:768px){

    .xmashop-section-title h2{
        font-size:22px;
        text-transform:uppercase;
    }

    .xmashop-section-title p{
        font-size:14px;
    }

}
/* --------------------------------- */



/* BARRA IN SCORRIMENTO */
.xmashop-announce-bar {
    text-align: center;
    background: #c8102e;          /* rosso Natale */
    color: #ffffff;               /* bianco */
    padding: 10px 0;
    font-weight: bold;
    font-size: 16px;
    overflow: hidden;
    white-space: nowrap;
    border-bottom: 1px solid #ffffff33; /* bordo leggero opzionale */
}

/* Per rallentare o velocizzare la barra */
marquee {
    width: 100%;
}
/* --------------------------------- */
/* DISTANZIARE I PULSANTI DI PAYPAL */
.single-product .cart {
  margin-bottom: 20px;
}

.single-product .woocommerce-payment-methods,
.single-product .wc_payment_methods,
.single-product .paypal-buttons {
  margin-top: 16px;
}

.single-product .compare-btn-wrapper,
.single-product .wishlist-btn-wrapper {
  margin-top: 18px;
}
/* --------------------------------- */

/* ==========================
   XMASHOP - Gift Form (CF7)
   ========================== */

/* Spaziatura generale */
.wpcf7:where(:has(.gift-destinatario, .gift-dono)) form label {
  display: block;
  margin: 18px 0 8px;
  font-weight: 600;
}

/* Asterisco */
.wpcf7:where(:has(.gift-destinatario, .gift-dono)) .required {
  color: #b00020;
  font-weight: 700;
}

/* Nota campi obbligatori */
.wpcf7:where(:has(.gift-destinatario, .gift-dono)) .required-note {
  font-size: 13px;
  font-weight: 400;
  color: #666;
  margin: 18px 0 0;
}

/* Input, select, textarea: aspetto uniforme */
.wpcf7:where(:has(.gift-destinatario, .gift-dono)) input[type="email"],
.wpcf7:where(:has(.gift-destinatario, .gift-dono)) input[type="text"],
.wpcf7:where(:has(.gift-destinatario, .gift-dono)) select,
.wpcf7:where(:has(.gift-destinatario, .gift-dono)) textarea {
  width: 100%;
  max-width: 860px;
  border: 1px solid rgba(0,0,0,.15);
  border-radius: 14px;
  padding: 12px 14px;
  background: #fff;
  box-sizing: border-box;
}

/* Textarea più “morbida” */
.wpcf7:where(:has(.gift-destinatario, .gift-dono)) textarea {
  min-height: 160px;
  resize: vertical;
}

/* Focus */
.wpcf7:where(:has(.gift-destinatario, .gift-dono)) input:focus,
.wpcf7:where(:has(.gift-destinatario, .gift-dono)) select:focus,
.wpcf7:where(:has(.gift-destinatario, .gift-dono)) textarea:focus {
  outline: none;
  border-color: rgba(0,0,0,.35);
  box-shadow: 0 0 0 4px rgba(0,0,0,.06);
}

/* ==========================
   RADIO: layout verticale
   ========================== */
.gift-destinatario .wpcf7-list-item,
.gift-dono .wpcf7-list-item,
.gift-gender .wpcf7-list-item {
  display: block;
  margin: 10px 0;
}

/* ==========================
   RADIO: Card cliccabili (WOW)
   - applicate solo a destinatario + tipo dono
   ========================== */
.gift-destinatario .wpcf7-list-item label,
.gift-dono .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 16px;
  background: rgba(255,255,255,.75);
  cursor: pointer;
  transition: transform .08s ease, box-shadow .15s ease, border-color .15s ease;
}

/* Nascondo radio nativo (resta cliccabile via label) */
.gift-destinatario input[type="radio"],
.gift-dono input[type="radio"]{
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Pallino custom */
.gift-destinatario .wpcf7-list-item label::before,
.gift-dono .wpcf7-list-item label::before {
  content: "";
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid rgba(0,0,0,.25);
  display: inline-block;
  flex: 0 0 18px;
  box-sizing: border-box;
}

/* Hover */
/* Effetto hover raccolto nella media query per mouse, più sotto. */

/* Selezionato: evidenzia tutta la card */
.gift-destinatario .wpcf7-list-item label:has(input[type="radio"]:checked),
.gift-dono .wpcf7-list-item label:has(input[type="radio"]:checked) {
  border-color: rgba(0,0,0,.35);
  box-shadow: 0 12px 28px rgba(0,0,0,.10);
  transform: translateY(-1px);
}

/* Pallino pieno quando selezionato */
.gift-destinatario .wpcf7-list-item label:has(input[type="radio"]:checked)::before,
.gift-dono .wpcf7-list-item label:has(input[type="radio"]:checked)::before {
  border-color: rgba(0,0,0,.55);
  background: radial-gradient(circle at center, rgba(0,0,0,.65) 0 45%, transparent 46%);
}

/* Testo radio */
.gift-destinatario .wpcf7-list-item-label,
.gift-dono .wpcf7-list-item-label {
  line-height: 1.2;
}

/* ==========================
   GENERE: radio semplici (non-card)
   ========================== */
.gift-gender .wpcf7-list-item {
  display: inline-block;
  margin-right: 14px;
}

/* ==========================
   CHECKBOX GDPR: pulizia
   ========================== */
.gift-gdpr .wpcf7-list-item {
  display: block;
  margin-top: 8px;
}

.gift-gdpr .wpcf7-list-item label {
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* ==========================
   SUBMIT: bottone coerente
   ========================== */
.wpcf7:where(:has(.gift-destinatario, .gift-dono)) input[type="submit"] {
  border: none;
  border-radius: 999px;
  padding: 11px 18px;
  font-weight: 700;
  cursor: pointer;
}

.wpcf7:where(:has(.gift-destinatario, .gift-dono)) input[type="submit"]:hover {
  filter: brightness(0.95);
}

/* Messaggi CF7 */
:where(.wpcf7:has(.gift-destinatario, .gift-dono)) .wpcf7-not-valid-tip {
  font-size: 12px;
  margin-top: 6px;
}

:where(.wpcf7:has(.gift-destinatario, .gift-dono)) .wpcf7-response-output {
  border-radius: 14px;
}





/* ==========================
   OVERRIDE WoodMart – CF7 Gift Form
   ========================== */

/* Rimuove lo stile "listone" del tema */
.gift-destinatario .wpcf7-list-item,
.gift-dono .wpcf7-list-item {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
}

/* Card vere */
.gift-destinatario .wpcf7-list-item label,
.gift-dono .wpcf7-list-item label {
  background: #fff !important;
  border-radius: 18px;
  border: 1px solid rgba(0,0,0,.12);
  padding: 18px 20px;
}

/* Rimuove cerchio radio nativo WoodMart */
.gift-destinatario input[type="radio"],
.gift-dono input[type="radio"] {
  display: none !important;
}

/* Allineamento testo */
.gift-destinatario .wpcf7-list-item-label,
.gift-dono .wpcf7-list-item-label {
  font-size: 16px;
  font-weight: 500;
}

/* Stato selezionato più evidente */
.gift-destinatario label:has(input:checked),
.gift-dono label:has(input:checked) {
  border-color: rgba(0,0,0,.35);
  background: #fffaf0;
}


/* Nasconde solo il br che segue subito un label nel CF7 */
.wpcf7:where(:has(.gift-destinatario, .gift-dono)) form label + br {
  display: none !important;
}

/* --------------------------------- */

/* Spazio tra sezioni del form CF7 – 1 rigo circa */
.wpcf7-form:where(:has(.gift-destinatario, .gift-dono)) p, 
.wpcf7-form:where(:has(.gift-destinatario, .gift-dono)) .wpcf7-form-control-wrap {
    margin-bottom: 35px !important; /* 1.5–2 righe tra campi */
}

/* Spazio tra label e campo */
.wpcf7-form:where(:has(.gift-destinatario, .gift-dono)) label {
    margin-bottom: 12px !important;
    display: block;
}

/* Spazio extra per radio e checkbox (gruppi) */
.wpcf7-form:where(:has(.gift-destinatario, .gift-dono)) .wpcf7-radio,
.wpcf7-form:where(:has(.gift-destinatario, .gift-dono)) .wpcf7-checkbox {
    margin-bottom: 30px !important;
}

/* Spazio sopra textarea e email */
.wpcf7-form:where(:has(.gift-destinatario, .gift-dono)) textarea,
.wpcf7-form:where(:has(.gift-destinatario, .gift-dono)) input[type="email"] {
    margin-bottom: 30px !important;
}

/* Spazio prima del bottone Invia */
.wpcf7-form:where(:has(.gift-destinatario, .gift-dono)) input[type="submit"] {
    margin-top: 40px !important;
}

/* Su mobile ancora più respiro */
@media (max-width: 768px) {
    .wpcf7-form:where(:has(.gift-destinatario, .gift-dono)) p, 
    .wpcf7-form:where(:has(.gift-destinatario, .gift-dono)) .wpcf7-form-control-wrap {
        margin-bottom: 45px !important;
    }
}

/* --------------------------------- */

/* HOVER EFFETTO OMBRA + SOLLEVAMENTO SU CARD PRODOTTO WOODMART */
.wd-hover-standard .product-grid-item,
.wd-hover-standard .wd-product,
.product-grid-item,
.wd-product,
.wd-product-grid-item {
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); /* ombra di base leggera */
  border-radius: 8px; /* arrotondamento leggero, opzionale */
}

/* Effetto hover raccolto nella media query per mouse, più sotto. */



/* Opzionale: leggero zoom invece del sollevamento (scegline uno) 
.wd-hover-standard .product-grid-item:hover,
.wd-product:hover {*/
  /* transform: scale(1.03); */ /* alternativa al translateY - commenta se usi il sollevamento 
}*/

/* --------------------------------------- */
/* XMASHOP - Card bianche SOLO nella pagina Store */

/* Idee regalo scelte per te */
:where(.elementor-30600) .elementor-element-e56c431 .wd-product,
:where(.elementor-30600) .elementor-element-e56c431 .product-grid-item,
:where(.elementor-30600) .elementor-element-e56c431 .wd-product-wrapper{
    background:#ffffff !important;
    border-radius:18px !important;
    overflow:hidden !important;
    box-shadow:0 3px 14px rgba(0,0,0,0.06) !important;
}

/* Parte inferiore card - Idee regalo */
:where(.elementor-30600) .elementor-element-e56c431 .product-element-bottom{
    background:#ffffff !important;
    padding:12px 12px 14px 12px !important;
    border-radius:0 0 18px 18px !important;
}

/* Immagine prodotto - Idee regalo */
:where(.elementor-30600) .elementor-element-e56c431 .wd-product-thumb{
    background:#ffffff !important;
    border-radius:18px 18px 0 0 !important;
    overflow:hidden !important;
}


/* Ultimi arrivi */
:where(.elementor-30600) .elementor-element-6c3d35b .wd-product,
:where(.elementor-30600) .elementor-element-6c3d35b .product-grid-item,
:where(.elementor-30600) .elementor-element-6c3d35b .wd-product-wrapper{
    background:#ffffff !important;
    border-radius:14px !important;
    overflow:hidden !important;
    box-shadow:0 3px 12px rgba(0,0,0,0.05) !important;
}

/* Parte inferiore card - Ultimi arrivi */
:where(.elementor-30600) .elementor-element-6c3d35b .product-element-bottom{
    background:#ffffff !important;
    padding:10px 12px !important;
    border-radius:0 0 14px 14px !important;
}

/* Immagine prodotto - Ultimi arrivi */
:where(.elementor-30600) .elementor-element-6c3d35b .wd-product-thumb{
    background:#ffffff !important;
    border-radius:14px 14px 0 0 !important;
    overflow:hidden !important;
}

/* XMASHOP - Allineamento card Ultimi arrivi */
:where(.elementor-30600) .elementor-element-6c3d35b .wd-product{
    height:100% !important;
}

:where(.elementor-30600) .elementor-element-6c3d35b .wd-product-wrapper{
    height:100% !important;
    min-height:150px !important;
    display:flex !important;
    align-items:stretch !important;
    background:#ffffff !important;
    border-radius:14px !important;
    overflow:hidden !important;
}

/* Immagine ultimi arrivi */
:where(.elementor-30600) .elementor-element-6c3d35b .wd-product-thumb{
    flex:0 0 42% !important;
    max-width:42% !important;
    height:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:#ffffff !important;
}

/* Immagine interna */
:where(.elementor-30600) .elementor-element-6c3d35b .wd-product-thumb img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
}

/* Testo ultimi arrivi */
:where(.elementor-30600) .elementor-element-6c3d35b .product-element-bottom{
    flex:1 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    background:#ffffff !important;
    padding:12px 14px !important;
}

/* Titolo ultimi arrivi */
:where(.elementor-30600) .elementor-element-6c3d35b .wd-entities-title{
    margin-bottom:8px !important;
}

/* Prezzo ultimi arrivi */
:where(.elementor-30600) .elementor-element-6c3d35b .price{
    margin-top:auto !important;
}
/* --------------------------------------- */
/* XMASHOP - Link laterali sezioni Store */
:where(.elementor-30600) .xms-section-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#8A5A1F;
    font-size:15px;
    font-weight:600;
    text-decoration:none;
    transition:all 0.25s ease;
}

:where(.elementor-30600) .xms-section-link span{
    font-size:18px;
    line-height:1;
    transform:translateY(-1px);
}

:where(.elementor-30600) .xms-section-link:hover{
    color:#AE0101;
    text-decoration:none;
}

:where(.elementor-30600) .xms-section-link:hover span{
    transform:translate(3px, -1px);
}

@media(max-width:768px){
    :where(.elementor-30600) .xms-section-link{
        font-size:14px;
    }
}

/* --------------------------------------- */

/* XMASHOP - Riga titolo Idee regalo, forzata a tutta larghezza */
:where(.elementor-30600) .elementor-element-8e3b6e4 .elementor-element-2b7b9d2,
:where(.elementor-30600) .elementor-element-8e3b6e4 .elementor-element-3961414,
:where(.elementor-30600) .elementor-element-8e3b6e4 .elementor-element-3961414 .elementor-widget-container{
    width:100% !important;
    max-width:100% !important;
    flex:0 0 100% !important;
    align-self:stretch !important;
}

/* Riga titolo + link */
:where(.elementor-30600) .elementor-element-8e3b6e4 .xms-section-heading-row{
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 22px 0 !important;
    gap:20px !important;
}

/* Titolo a sinistra */
:where(.elementor-30600) .elementor-element-8e3b6e4 .xms-section-heading-row h2{
    margin:0 !important;
    color:#2F241E !important;
    font-size:30px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
}

/* Link a destra */
:where(.elementor-30600) .elementor-element-8e3b6e4 .xms-section-heading-row .xms-section-link{
    margin-left:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    color:#8A5A1F !important;
    font-size:15px !important;
    font-weight:600 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    transition:all 0.25s ease !important;
}

:where(.elementor-30600) .elementor-element-8e3b6e4 .xms-section-heading-row .xms-section-link span{
    font-size:18px !important;
    line-height:1 !important;
    transform:translateY(-1px);
    transition:all 0.25s ease;
}

:where(.elementor-30600) .elementor-element-8e3b6e4 .xms-section-heading-row .xms-section-link:hover{
    color:#AE0101 !important;
    text-decoration:none !important;
}

:where(.elementor-30600) .elementor-element-8e3b6e4 .xms-section-heading-row .xms-section-link:hover span{
    transform:translate(3px, -1px);
}

@media(max-width:768px){
    :where(.elementor-30600) .elementor-element-8e3b6e4 .xms-section-heading-row{
        align-items:flex-start !important;
        gap:10px !important;
    }

    :where(.elementor-30600) .elementor-element-8e3b6e4 .xms-section-heading-row h2{
        font-size:24px !important;
    }

    :where(.elementor-30600) .elementor-element-8e3b6e4 .xms-section-heading-row .xms-section-link{
        font-size:14px !important;
    }
}

/* --------------------------------------- */

/* XMASHOP - Riga titolo Ultimi arrivi */
:where(.elementor-30600) .elementor-element-81df4a1,
:where(.elementor-30600) .elementor-element-81df4a1 .e-con-inner,
:where(.elementor-30600) .elementor-element-81df4a1 .elementor-element-59c89cf,
:where(.elementor-30600) .elementor-element-81df4a1 .elementor-element-59c89cf .elementor-widget-container{
    width:100% !important;
    max-width:100% !important;
}

/* Riga titolo + link Ultimi arrivi */
:where(.elementor-30600) .elementor-element-81df4a1 .xms-section-heading-row{
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 18px 0 !important;
    gap:20px !important;
}

/* Titolo Ultimi arrivi */
:where(.elementor-30600) .elementor-element-81df4a1 .xms-section-heading-row h2{
    margin:0 !important;
    color:#2F241E !important;
    font-size:30px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
}

/* Link Vedi tutti */
:where(.elementor-30600) .elementor-element-81df4a1 .xms-section-heading-row .xms-section-link{
    margin-left:auto !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    color:#8A5A1F !important;
    font-size:15px !important;
    font-weight:600 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    transition:all 0.25s ease !important;
}

:where(.elementor-30600) .elementor-element-81df4a1 .xms-section-heading-row .xms-section-link span{
    font-size:18px !important;
    line-height:1 !important;
    transform:translateY(-1px);
    transition:all 0.25s ease;
}

:where(.elementor-30600) .elementor-element-81df4a1 .xms-section-heading-row .xms-section-link:hover{
    color:#AE0101 !important;
    text-decoration:none !important;
}

:where(.elementor-30600) .elementor-element-81df4a1 .xms-section-heading-row .xms-section-link:hover span{
    transform:translate(3px, -1px);
}
/* MOBILE */
/* XMASHOP - Mobile Store */
@media(max-width:768px){

    /* Titoli sezione + link a destra */
    :where(.elementor-30600) .xms-section-heading-row{
        display:flex !important;
        justify-content:space-between !important;
        align-items:center !important;
        gap:14px !important;
        width:100% !important;
        margin:0 0 18px 0 !important;
    }

    :where(.elementor-30600) .xms-section-heading-row h2{
        font-size:28px !important;
        line-height:1.05 !important;
        margin:0 !important;
        color:#7A1711 !important;
    }

    :where(.elementor-30600) .xms-section-heading-row .xms-section-link{
        font-size:15px !important;
        color:#8A5A1F !important;
        font-weight:700 !important;
        white-space:nowrap !important;
    }


    /* IDEE REGALO - card più leggibili su mobile */
    :where(.elementor-30600) .elementor-element-e56c431 .products.wd-products{
        --wd-col-sm:2 !important;
        --wd-gap-sm:14px !important;
    }

    :where(.elementor-30600) .elementor-element-e56c431 .wd-product-wrapper{
        border-radius:18px !important;
        background:#ffffff !important;
        overflow:hidden !important;
    }

    :where(.elementor-30600) .elementor-element-e56c431 .wd-product-thumb{
        min-height:190px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        background:#ffffff !important;
    }

    :where(.elementor-30600) .elementor-element-e56c431 .wd-product-thumb img{
        max-height:190px !important;
        width:auto !important;
        max-width:100% !important;
        object-fit:contain !important;
    }

    :where(.elementor-30600) .elementor-element-e56c431 .product-element-bottom{
        padding:12px 10px 14px 10px !important;
        background:#ffffff !important;
    }

    :where(.elementor-30600) .elementor-element-e56c431 .wd-entities-title{
        font-size:15px !important;
        line-height:1.25 !important;
        margin-bottom:8px !important;
    }

    :where(.elementor-30600) .elementor-element-e56c431 .wd-product-cats,
    :where(.elementor-30600) .elementor-element-e56c431 .wd-product-brands-links{
        font-size:14px !important;
        line-height:1.3 !important;
    }

    :where(.elementor-30600) .elementor-element-e56c431 .price{
        font-size:17px !important;
        line-height:1.2 !important;
        margin-top:8px !important;
    }


    /* ULTIMI ARRIVI - una card per riga su mobile */
    :where(.elementor-30600) .elementor-element-6c3d35b .products.wd-products{
        --wd-col-sm:1 !important;
        --wd-gap-sm:14px !important;
    }

    :where(.elementor-30600) .elementor-element-6c3d35b .wd-product{
        width:100% !important;
        max-width:100% !important;
        flex:0 0 100% !important;
    }

    :where(.elementor-30600) .elementor-element-6c3d35b .wd-product-wrapper{
        display:grid !important;
        grid-template-columns:38% 62% !important;
        min-height:155px !important;
        background:#ffffff !important;
        border-radius:18px !important;
        overflow:hidden !important;
        box-shadow:0 3px 12px rgba(0,0,0,0.05) !important;
    }

    :where(.elementor-30600) .elementor-element-6c3d35b .wd-product-thumb{
        max-width:none !important;
        width:100% !important;
        height:100% !important;
        padding:10px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        background:#ffffff !important;
    }

    :where(.elementor-30600) .elementor-element-6c3d35b .wd-product-thumb img{
        max-height:130px !important;
        width:auto !important;
        max-width:100% !important;
        object-fit:contain !important;
    }

    :where(.elementor-30600) .elementor-element-6c3d35b .product-element-bottom{
        padding:14px 14px !important;
        background:#ffffff !important;
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
    }

    :where(.elementor-30600) .elementor-element-6c3d35b .wd-entities-title{
        font-size:16px !important;
        line-height:1.25 !important;
        margin-bottom:8px !important;
    }

    :where(.elementor-30600) .elementor-element-6c3d35b .price{
        font-size:17px !important;
        line-height:1.2 !important;
        margin-top:6px !important;
    }
}

/* --------------------------------------- */

/* XMASHOP - Titoli pagina rossi nella testata */
body .page-title .entry-title,
body .page-title h1,
body .page-title .title,
body .page-title-default .entry-title,
body .title-size-default .entry-title,
body .woocommerce-products-header__title,
body .wd-page-title .entry-title,
body .wd-page-title h1{
    color:#7A1711 !important;
    text-shadow:none !important;
}

/* --------------------------------------- */
/* 1. Nasconde la scritta "Svuota" sotto la tendina */
.reset_variations {
    display: none !important;
}

/* 2. Nasconde il prezzo duplicato in basso sopra il pulsante Aggiungi al Carrello */
.single_variation_wrap .woocommerce-variation-price {
    display: none !important;
}
/* --------------------------------------- */

/* Nasconde subito il modulo dati al caricamento iniziale della pagina */
table.thwepo-extra-options {
    display: none;
}

/* --------------------------------------- */

/* ==========================================================================
   XMASHOP - PULSANTI CATALOGO DEFINITIVI V2
   ========================================================================== */

/*
 * Prodotto semplice:
 * "Aggiungi al carrello" con aggiunta immediata e hover nativo WoodMart.
 *
 * Prodotto variabile normale:
 * "Scegli le opzioni", apertura della pagina prodotto, senza penna.
 *
 * Prodotto magico:
 * "Personalizza", apertura della pagina prodotto,
 * penna d'oca centrata soltanto su desktop.
 */


/* --------------------------------------------------------------------------
   1. GEOMETRIA COMUNE DEI TRE PULSANTI
   -------------------------------------------------------------------------- */

html body .wd-add-btn-replace a.add-to-cart-loop,
html body a.button.xmashop-personalizza,
html body a.button.xmashop-scegli-opzioni {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 145px !important;
    max-width: 100% !important;
    min-height: 34px !important;
    height: 34px !important;

    padding: 0 !important;
    overflow: hidden !important;

    background-color: rgb(174, 1, 1) !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 999px !important;
    box-shadow: none !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}


/* Testo interno del pulsante nativo "Aggiungi al carrello". */
html body .wd-add-btn-replace a.add-to-cart-loop span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 34px !important;

    padding: 0 16px !important;

    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
}


/*
 * Mantiene l'area dell'icona nativa WoodMart grande quanto il pulsante.
 * Non modifica il contenuto dell'icona e non interrompe l'animazione nativa.
 */
html body .wd-add-btn-replace a.add-to-cart-loop::before {
    position: absolute !important;
    inset: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

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


/* Hover comune. */
html body .wd-add-btn-replace a.add-to-cart-loop:hover,
html body a.button.xmashop-personalizza:hover,
html body a.button.xmashop-scegli-opzioni:hover {
    background-color: rgb(155, 0, 0) !important;
}


/* --------------------------------------------------------------------------
   2. RESET DEI SOLI PULSANTI CREATI DA XMASHOP
   -------------------------------------------------------------------------- */

html body .wd-add-btn-replace:has(> a.xmashop-personalizza),
html body .wd-add-btn-replace:has(> a.xmashop-scegli-opzioni) {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}

html body .wd-add-btn-replace:has(> a.xmashop-personalizza)::before,
html body .wd-add-btn-replace:has(> a.xmashop-personalizza)::after,
html body .wd-add-btn-replace:has(> a.xmashop-scegli-opzioni)::before,
html body .wd-add-btn-replace:has(> a.xmashop-scegli-opzioni)::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}


/* Elimina l'icona nativa WoodMart soltanto dai pulsanti XMASHOP. */
html body a.button.xmashop-personalizza::before,
html body a.button.xmashop-scegli-opzioni::before {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    background-image: none !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
}


/* Blocca gli spostamenti verticali ereditati dalle card. */
html body .product-grid-item:hover a.button.xmashop-personalizza,
html body .product-grid-item:hover a.button.xmashop-scegli-opzioni,
html body .wd-product:hover a.button.xmashop-personalizza,
html body .wd-product:hover a.button.xmashop-scegli-opzioni,
html body .wd-add-btn-replace:hover a.button.xmashop-personalizza,
html body .wd-add-btn-replace:hover a.button.xmashop-scegli-opzioni {
    transform: none !important;
    animation: none !important;
    top: auto !important;
    bottom: auto !important;
}


/* --------------------------------------------------------------------------
   3. SCEGLI LE OPZIONI
   -------------------------------------------------------------------------- */

html body a.button.xmashop-scegli-opzioni {
    padding: 0 16px !important;
}

html body a.button.xmashop-scegli-opzioni::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    background-image: none !important;
}

html body a.button.xmashop-scegli-opzioni:hover,
html body a.button.xmashop-scegli-opzioni:focus-visible {
    color: #ffffff !important;
}

html body a.button.xmashop-scegli-opzioni:hover span,
html body a.button.xmashop-scegli-opzioni:focus-visible span {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}


/* --------------------------------------------------------------------------
   4. PERSONALIZZA
   -------------------------------------------------------------------------- */

html body a.button.xmashop-personalizza {
    padding: 0 16px !important;
}

html body a.button.xmashop-personalizza::after {
    content: "" !important;

    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    display: block !important;
    width: 100% !important;
    height: 100% !important;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z'%3E%3C/path%3E%3Cline x1='16' y1='8' x2='2' y2='22'%3E%3C/line%3E%3Cline x1='17.5' y1='15' x2='9' y2='15'%3E%3C/line%3E%3C/svg%3E") !important;

    background-repeat: no-repeat !important;
    background-position: 50% 50% !important;
    background-size: 20px 20px !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;
    z-index: 2 !important;

    transform: none !important;

    transition:
        opacity 0.25s ease-out,
        visibility 0.25s ease-out !important;
}


/* Penna soltanto sui dispositivi dotati di vero hover. */
@media (hover: hover) and (pointer: fine) {

    .wd-hover-standard .product-grid-item:hover,
    .wd-hover-standard .wd-product:hover,
    .product-grid-item:hover,
    .wd-product:hover,
    .wd-product-grid-item:hover {
      transform: translateY(-6px);           /* sollevamento verso l'alto */
      box-shadow: 0 16px 32px rgba(0, 0, 0, 0.15); /* ombra più intensa */
      border: 1px solid rgba(0, 0, 0, 0.08); /* bordo leggero opzionale */
      cursor: pointer;
    }

    .gift-destinatario .wpcf7-list-item label:hover,
    .gift-dono .wpcf7-list-item label:hover {
      border-color: rgba(0,0,0,.22);
      box-shadow: 0 8px 22px rgba(0,0,0,.08);
    }

    html body a.button.xmashop-personalizza:hover {
        color: transparent !important;
    }

    html body a.button.xmashop-personalizza:hover span {
        color: transparent !important;
    }

    html body a.button.xmashop-personalizza:hover::after {
        opacity: 1 !important;
        visibility: visible !important;
    }
}


/* Accessibilità da tastiera: mantiene il testo visibile. */
html body a.button.xmashop-personalizza:focus-visible {
    color: #ffffff !important;
    outline: 2px solid #ffffff !important;
    outline-offset: -4px !important;
}


/* --------------------------------------------------------------------------
   5. MOBILE
   -------------------------------------------------------------------------- */



/*____________________________*/

/* ==========================================================================
   XMASHOP - FIX PULSANTE NATIVO AGGIUNGI AL CARRELLO
   ========================================================================== */

/*
 * Intercetta il pulsante semplice nelle diverse strutture
 * utilizzate dalle card WoodMart.
 */
html body .wd-product a.add_to_cart_button,
html body .wd-product a.add-to-cart-loop,
html body .wd-product a.product_type_simple,
html body .product-grid-item a.add_to_cart_button,
html body .product-grid-item a.add-to-cart-loop,
html body .product-grid-item a.product_type_simple {

    position: relative !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 145px !important;
    min-width: 145px !important;
    max-width: 100% !important;

    height: 34px !important;
    min-height: 34px !important;

    padding: 0 16px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;

    background-color: rgb(174, 1, 1) !important;
    color: #ffffff !important;

    border: none !important;
    border-radius: 999px !important;
    box-shadow: none !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}


/*
 * Centra correttamente il testo interno.
 * Non blocca il transform, così WoodMart può ancora
 * mostrare l'icona del carrello durante l'hover.
 */
html body .wd-product a.add_to_cart_button span,
html body .wd-product a.add-to-cart-loop span,
html body .wd-product a.product_type_simple span,
html body .product-grid-item a.add_to_cart_button span,
html body .product-grid-item a.add-to-cart-loop span,
html body .product-grid-item a.product_type_simple span {

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 34px !important;

    padding: 0 !important;

    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-align: center !important;
    white-space: nowrap !important;
}


/*
 * Mantiene l'eventuale icona nativa WoodMart
 * centrata nell'intera superficie del pulsante.
 */
html body .wd-product a.add_to_cart_button::before,
html body .wd-product a.add-to-cart-loop::before,
html body .wd-product a.product_type_simple::before,
html body .product-grid-item a.add_to_cart_button::before,
html body .product-grid-item a.add-to-cart-loop::before,
html body .product-grid-item a.product_type_simple::before {

    position: absolute !important;
    inset: 0 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

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


/* Colore al passaggio del mouse. */
html body .wd-product a.add_to_cart_button:hover,
html body .wd-product a.add-to-cart-loop:hover,
html body .wd-product a.product_type_simple:hover,
html body .product-grid-item a.add_to_cart_button:hover,
html body .product-grid-item a.add-to-cart-loop:hover,
html body .product-grid-item a.product_type_simple:hover {

    background-color: rgb(155, 0, 0) !important;
}


/* XMASHOP - Separatore sezioni definitivo */

.xmashop-gold-divider::before,
.xmashop-gold-divider::after {
    content: "";
    display: block;
    flex: 1 1 auto;
    height: 1px;
    min-width: 120px;
    background: #D8B36B;
    opacity: 0.75;
}

.xmashop-divider-center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex: 0 0 auto;
}

.xmashop-divider-title {
    margin: 0 !important;
    color: #4A1D18 !important;
    font-size: 26px;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.xmashop-divider-center .gold-star {
    color: #D8B36B !important;
    font-size: 20px !important;
    line-height: 1;
}


/* Responsive condiviso dopo le definizioni base: conserva la precedenza mobile. */
@media (max-width: 768px) {

    html body .wd-add-btn-replace a.add-to-cart-loop,
    html body a.button.xmashop-personalizza,
    html body a.button.xmashop-scegli-opzioni,
    html body .wd-product a.add_to_cart_button,
    html body .wd-product a.add-to-cart-loop,
    html body .wd-product a.product_type_simple,
    html body .product-grid-item a.add_to_cart_button,
    html body .product-grid-item a.add-to-cart-loop,
    html body .product-grid-item a.product_type_simple {
        min-width: 0 !important;
        width: auto !important;
        max-width: 100% !important;
    }

    html body a.button.xmashop-personalizza::after {
        opacity: 0 !important;
        visibility: hidden !important;
    }
}

@media (max-width:768px){
    .xmashop-gold-divider{
        max-width:280px !important;
        gap:14px !important;
        margin:24px auto 22px auto !important;
    }

    .xmashop-gold-divider .gold-line{
        min-width:0 !important;
        flex:1 1 0 !important;
    }

    .xmashop-gold-divider::before,
    .xmashop-gold-divider::after{
        min-width:0;
        flex:1 1 0;
    }

    /* Su mobile usa le linee esplicite, se presenti, senza duplicarle. */
    .xmashop-gold-divider:has(> .gold-line)::before,
    .xmashop-gold-divider:has(> .gold-line)::after{
        content:none;
    }

    .xmashop-gold-divider .xmashop-divider-center{
        min-width:0;
        flex:0 1 auto;
    }

    .xmashop-gold-divider .xmashop-divider-title{
        min-width:0;
        white-space:normal;
        overflow-wrap:anywhere;
    }
}

/* FASE 2 - La ricerca header conserva la larghezza preferita, ma può restringersi.
 * WoodMart impone all'input un minimo derivato da --wd-search-form-width;
 * senza questi limiti flessibili il campo può allargare la colonna dell'header.
 * La ricerca mobile usa una classe distinta e mantiene le regole native.
 */
.whb-column:has(> .wd-header-search-form) {
    min-width: 0;
}

.whb-column > .wd-header-search-form {
    min-width: 0;
    flex-basis: var(--wd-search-form-width, 310px);
}

.whb-column > .wd-header-search-form input[type="text"] {
    min-width: 0;
}
