
body.mg-product-v20{
    --mg-green:#173f34;
    --mg-green2:#2c5b49;
    --mg-pink:#d85371;
    --mg-pink2:#f2d5de;
    --mg-cream:#fffaf6;
    --mg-cream2:#fff5f0;
    --mg-line:#ead8cf;
    --mg-gold:#aa793a;
    --mg-text:#5f6964;
}

/* CONTENT WIDTH */
body.mg-product-v20 div.product{
    width:min(1180px,calc(100vw - 34px))!important;
    max-width:1180px!important;
    margin:24px auto 0!important;
}

/* SAFE TOP WRAPPER */
body.mg-product-v20 .mgv20-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:22px!important;
    align-items:start!important;
    width:100%!important;
    box-sizing:border-box!important;
}
body.mg-product-v20 .mgv20-top > .woocommerce-product-gallery,
body.mg-product-v20 .mgv20-top > .summary{
    float:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
}

/* LEFT: BIG IMAGE */
body.mg-product-v20 .mgv20-top > .woocommerce-product-gallery{
    position:sticky!important;
    top:18px!important;
    align-self:start!important;
}
body.mg-product-v20 .woocommerce-product-gallery__wrapper,
body.mg-product-v20 .woocommerce-product-gallery__image,
body.mg-product-v20 .woocommerce-product-gallery__image > a,
body.mg-product-v20 .woocommerce-product-gallery .flex-viewport{
    width:100%!important;
    max-width:none!important;
}
body.mg-product-v20 .woocommerce-product-gallery__image img{
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:660px!important;
    aspect-ratio:.92/1!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
    border:1px solid var(--mg-line)!important;
    border-radius:18px!important;
    background:#fff!important;
}
body.mg-product-v20 .flex-control-thumbs{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:9px!important;
    width:100%!important;
    margin:10px 0 0!important;
}
body.mg-product-v20 .flex-control-thumbs li{
    width:auto!important;
    float:none!important;
    margin:0!important;
}
body.mg-product-v20 .flex-control-thumbs img{
    width:100%!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
    border:1px solid var(--mg-line)!important;
    border-radius:10px!important;
    padding:2px!important;
    background:#fff!important;
}
body.mg-product-v20 .flex-control-thumbs img.flex-active{
    border:2px solid var(--mg-pink)!important;
}

/* STORY BELOW IMAGE */
body.mg-product-v20 .mgv20-story{
    margin-top:14px!important;
    padding:22px!important;
    border:1px solid var(--mg-line)!important;
    border-radius:16px!important;
    background:linear-gradient(135deg,#fffaf6,#fff2f5)!important;
}
body.mg-product-v20 .mgv20-story-title{
    display:grid!important;
    grid-template-columns:46px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:center!important;
    margin-bottom:12px!important;
}
body.mg-product-v20 .mgv20-story-title > span{
    width:44px!important;
    height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:50%!important;
    background:#fff!important;
    box-shadow:0 4px 14px rgba(0,0,0,.05)!important;
    font-size:21px!important;
}
body.mg-product-v20 .mgv20-story-title strong{
    display:block!important;
    color:var(--mg-green)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:25px!important;
    line-height:1.05!important;
}
body.mg-product-v20 .mgv20-story-title small{
    display:block!important;
    margin-top:4px!important;
    color:#7b847f!important;
    font-size:11px!important;
    line-height:1.45!important;
}
body.mg-product-v20 .mgv20-story p{
    margin:0 0 11px!important;
    color:var(--mg-text)!important;
    font-size:14px!important;
    line-height:1.85!important;
    text-align:justify!important;
    text-justify:inter-word!important;
}
body.mg-product-v20 .mgv20-story-badges{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin-top:12px!important;
}
body.mg-product-v20 .mgv20-story-badges > div{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-height:52px!important;
    padding:9px!important;
    border:1px solid #efded8!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#4d5f56!important;
    font-size:10px!important;
    text-align:center!important;
}

/* RIGHT SUMMARY */
body.mg-product-v20 .mgv20-kicker{
    margin:0 0 6px!important;
    color:var(--mg-pink)!important;
    font-size:10px!important;
    font-weight:800!important;
    letter-spacing:1.7px!important;
}
body.mg-product-v20 .product_title{
    margin:0 0 10px!important;
    color:var(--mg-green)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:42px!important;
    line-height:1.02!important;
}
body.mg-product-v20 .summary > p.price{
    margin:0 0 12px!important;
    color:#bc2e50!important;
    font-size:28px!important;
    font-weight:800!important;
    line-height:1.15!important;
}
body.mg-product-v20 .woocommerce-variation-price,
body.mg-product-v20 .single_variation .price{
    display:none!important;
}

/* TRUST BAR */
body.mg-product-v20 .mgv20-trust{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin:6px 0 12px!important;
    padding:10px!important;
    border:1px solid #efd7de!important;
    border-radius:12px!important;
    background:linear-gradient(90deg,#fff7f8,#fff0f3)!important;
}
body.mg-product-v20 .mgv20-trust > div{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    color:#53615a!important;
    font-size:9px!important;
    text-align:center!important;
}
body.mg-product-v20 .mgv20-trust span{
    font-size:15px!important;
}

/* ACCORDIONS */
body.mg-product-v20 .mgv20-accordions{
    margin:7px 0 14px!important;
}
body.mg-product-v20 .mgv20-accordions details{
    margin-bottom:7px!important;
    border:1px solid var(--mg-line)!important;
    border-radius:10px!important;
    background:#fff!important;
    overflow:hidden!important;
}
body.mg-product-v20 .mgv20-accordions summary{
    cursor:pointer!important;
    list-style:none!important;
    padding:11px 12px!important;
    color:#37483e!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:13px!important;
    font-weight:700!important;
}
body.mg-product-v20 .mgv20-accordions summary::-webkit-details-marker{display:none!important}
body.mg-product-v20 .mgv20-accordions summary::after{content:'⌄';float:right}
body.mg-product-v20 .mgv20-accordions details[open] summary::after{content:'⌃'}
body.mg-product-v20 .mgv20-accordions p{
    margin:0!important;
    padding:0 12px 11px!important;
    color:#737c77!important;
    font-size:10px!important;
    line-height:1.5!important;
}

/* SHORT DESC */
body.mg-product-v20 .woocommerce-product-details__short-description{
    margin:12px 0 14px!important;
    color:var(--mg-text)!important;
    font-size:14px!important;
    line-height:1.65!important;
}

/* VARIATIONS */
body.mg-product-v20 table.variations{
    margin:6px 0 9px!important;
}
body.mg-product-v20 table.variations tr{
    display:block!important;
    margin-bottom:9px!important;
}
body.mg-product-v20 table.variations th,
body.mg-product-v20 table.variations td{
    display:block!important;
    width:100%!important;
    padding:0!important;
}
body.mg-product-v20 table.variations label{
    display:block!important;
    margin:0 0 6px!important;
    color:#35473d!important;
    font-size:11px!important;
    font-weight:800!important;
}
body.mg-product-v20 .value select{
    width:100%!important;
    border:1px solid #cec6bf!important;
    border-radius:9px!important;
    padding:10px 12px!important;
    background:#fff!important;
}
body.mg-product-v20 .reset_variations{
    margin-bottom:3px!important;
    color:#8c847f!important;
    font-size:10px!important;
}

/* PERSONALIZATION */
body.mg-product-v20 .mgv20-personalize{
    display:grid!important;
    grid-template-columns:30px 1fr!important;
    gap:8px!important;
    align-items:center!important;
    margin:7px 0 9px!important;
    padding-top:10px!important;
    border-top:1px solid var(--mg-line)!important;
}
body.mg-product-v20 .mgv20-personalize > span{
    color:var(--mg-pink)!important;
    font-size:25px!important;
}
body.mg-product-v20 .mgv20-personalize strong{
    display:block!important;
    color:var(--mg-green)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:23px!important;
    line-height:1.05!important;
}
body.mg-product-v20 .mgv20-personalize small{
    display:block!important;
    margin-top:2px!important;
    color:#8d918e!important;
    font-size:9px!important;
}
body.mg-product-v20 .mgv20-ppom,
body.mg-product-v20 .mgv20-ppom .ppom-rendering-fields,
body.mg-product-v20 .mgv20-ppom .ppom-fields{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    display:block!important;
    float:none!important;
    margin:0!important;
    padding:0!important;
}
body.mg-product-v20 .mgv20-field{
    position:relative!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:0 0 9px!important;
    padding:13px 13px 13px 47px!important;
    border:1px solid var(--mg-line)!important;
    border-radius:11px!important;
    background:linear-gradient(135deg,#fff,#fff9f7)!important;
}
body.mg-product-v20 .mgv20-field::before{
    content:attr(data-icon)!important;
    position:absolute!important;
    left:11px!important;
    top:12px!important;
    width:27px!important;
    height:27px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:50%!important;
    background:#fff0f3!important;
    font-size:13px!important;
}
body.mg-product-v20 .mgv20-field label,
body.mg-product-v20 .mgv20-field .ppom-label,
body.mg-product-v20 .mgv20-field .ppom-title,
body.mg-product-v20 .mgv20-field .form-label{
    display:block!important;
    margin:0 0 6px!important;
    color:#36483e!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:14px!important;
    font-weight:700!important;
}
body.mg-product-v20 .mgv20-field input[type="text"],
body.mg-product-v20 .mgv20-field input[type="date"],
body.mg-product-v20 .mgv20-field input[type="number"],
body.mg-product-v20 .mgv20-field input[type="email"],
body.mg-product-v20 .mgv20-field select,
body.mg-product-v20 .mgv20-field textarea{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    margin:4px 0 0!important;
    border:1px solid #d7d0ca!important;
    border-radius:8px!important;
    background:#fff!important;
    padding:10px 11px!important;
    color:#4f5b55!important;
    font-size:12px!important;
}
body.mg-product-v20 .mgv20-field textarea{
    min-height:80px!important;
}
body.mg-product-v20 .mgv20-field input[type="checkbox"],
body.mg-product-v20 .mgv20-field input[type="radio"]{
    width:auto!important;
    min-width:auto!important;
    accent-color:var(--mg-pink)!important;
}
body.mg-product-v20 .mgv20-field small,
body.mg-product-v20 .mgv20-field .description,
body.mg-product-v20 .mgv20-field .ppom-description{
    color:#969995!important;
    font-size:9px!important;
}
body.mg-product-v20 .mgv20-hide,
body.mg-product-v20 .mgv20-empty{
    display:none!important;
}

/* ADD TO CART */
body.mg-product-v20 form.cart{
    width:100%!important;
    margin-top:0!important;
}
body.mg-product-v20 .quantity .qty{
    min-height:44px!important;
    border:1px solid #c3bbb4!important;
    border-radius:9px!important;
}
body.mg-product-v20 .single_add_to_cart_button{
    width:100%!important;
    min-height:49px!important;
    margin-top:10px!important;
    border-radius:10px!important;
    background:linear-gradient(90deg,#c74c68,#dd6982)!important;
    color:#fff!important;
    font-size:13px!important;
    font-weight:800!important;
}
body.mg-product-v20 .single_add_to_cart_button:hover{
    background:var(--mg-green)!important;
}

/* TABS */
body.mg-product-v20 .woocommerce-tabs{
    clear:both!important;
    width:100%!important;
    margin:34px auto 0!important;
    padding:24px!important;
    box-sizing:border-box!important;
    border:1px solid var(--mg-line)!important;
    border-radius:16px!important;
    background:var(--mg-cream)!important;
}
body.mg-product-v20 .woocommerce-tabs ul.tabs{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    padding:0!important;
    margin:0 0 18px!important;
}
body.mg-product-v20 .woocommerce-tabs ul.tabs::before,
body.mg-product-v20 .woocommerce-tabs ul.tabs::after{display:none!important}
body.mg-product-v20 .woocommerce-tabs ul.tabs li{
    border:1px solid var(--mg-line)!important;
    border-radius:999px!important;
    background:#fff!important;
    padding:0!important;
    margin:0!important;
}
body.mg-product-v20 .woocommerce-tabs ul.tabs li a{
    padding:8px 13px!important;
    color:#4c5d54!important;
    font-size:10px!important;
    font-weight:800!important;
}
body.mg-product-v20 .woocommerce-tabs ul.tabs li.active{
    background:var(--mg-green)!important;
}
body.mg-product-v20 .woocommerce-tabs ul.tabs li.active a{
    color:#fff!important;
}
body.mg-product-v20 .woocommerce-tabs h2{
    color:var(--mg-green)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:26px!important;
}

/* SHARE */
body.mg-product-v20 .mgv20-share{
    display:flex!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin:22px 0!important;
}
body.mg-product-v20 .mgv20-share a,
body.mg-product-v20 .mgv20-review-btn a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:9px 13px!important;
    border:1px solid #a7afa9!important;
    border-radius:999px!important;
    background:#fff!important;
    color:var(--mg-green)!important;
    text-decoration:none!important;
    font-size:10px!important;
    font-weight:800!important;
}

/* REVIEWS */
body.mg-product-v20 .mgv20-reviews{
    margin:18px 0 28px!important;
    padding:24px!important;
    border:1px solid var(--mg-line)!important;
    border-radius:16px!important;
    background:#fffaf8!important;
}
body.mg-product-v20 .mgv20-reviews-head{
    max-width:680px!important;
    margin:0 auto 18px!important;
    text-align:center!important;
}
body.mg-product-v20 .mgv20-reviews-head h2,
body.mg-product-v20 .mgv20-related-title h2{
    margin:5px 0 6px!important;
    color:var(--mg-green)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:26px!important;
}
body.mg-product-v20 .mgv20-reviews-head p{
    margin:0!important;
    color:#78807b!important;
    font-size:10px!important;
}
body.mg-product-v20 .mgv20-review-grid{
    display:grid!important;
    grid-template-columns:.75fr 1.5fr .75fr!important;
    gap:18px!important;
    align-items:center!important;
}
body.mg-product-v20 .mgv20-score,
body.mg-product-v20 .mgv20-positive{
    text-align:center!important;
}
body.mg-product-v20 .mgv20-score > strong,
body.mg-product-v20 .mgv20-positive > strong{
    display:block!important;
    color:var(--mg-green)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:32px!important;
}
body.mg-product-v20 .mgv20-score span,
body.mg-product-v20 .mgv20-positive span{
    color:#69736e!important;
    font-size:9px!important;
}
body.mg-product-v20 .mgv20-bars{
    display:grid!important;
    gap:6px!important;
}
body.mg-product-v20 .mgv20-bars > div{
    display:grid!important;
    grid-template-columns:32px 1fr 20px!important;
    gap:7px!important;
    align-items:center!important;
    color:#69736e!important;
    font-size:9px!important;
}
body.mg-product-v20 .mgv20-bars i{
    height:6px!important;
    border-radius:999px!important;
    overflow:hidden!important;
    background:#ebdfd9!important;
}
body.mg-product-v20 .mgv20-bars b{
    display:block!important;
    height:100%!important;
    background:#d69a3b!important;
}
body.mg-product-v20 .mgv20-review-btn{
    text-align:center!important;
    margin-top:16px!important;
}

/* RELATED */
body.mg-product-v20 .mgv20-related-title{
    margin:26px 0 12px!important;
    text-align:center!important;
}
body.mg-product-v20 .related.products{
    padding:20px!important;
    border:1px solid var(--mg-line)!important;
    border-radius:16px!important;
    background:#fffaf8!important;
}
body.mg-product-v20 .related.products > h2{
    display:none!important;
}
body.mg-product-v20 .related.products ul.products{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:12px!important;
}
body.mg-product-v20 .related.products li.product{
    width:auto!important;
    margin:0!important;
    padding:10px!important;
    border:1px solid var(--mg-line)!important;
    border-radius:12px!important;
    background:#fff!important;
}
body.mg-product-v20 .related.products li.product img{
    border-radius:9px!important;
}
body.mg-product-v20 .related.products li.product .woocommerce-loop-product__title{
    color:var(--mg-green)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:14px!important;
}
body.mg-product-v20 .related.products li.product .price{
    color:var(--mg-pink)!important;
    font-size:12px!important;
    font-weight:800!important;
}
body.mg-product-v20 .related.products li.product .button{
    padding:8px 10px!important;
    border-radius:999px!important;
    background:var(--mg-green)!important;
    color:#fff!important;
    font-size:9px!important;
}

/* MOBILE */
@media(max-width:900px){
    body.mg-product-v20 .mgv20-top{
        display:block!important;
    }
    body.mg-product-v20 .mgv20-top > .woocommerce-product-gallery{
        position:relative!important;
        top:auto!important;
        margin-bottom:22px!important;
    }
    body.mg-product-v20 .woocommerce-product-gallery__image img{
        min-height:430px!important;
    }
    body.mg-product-v20 .mgv20-review-grid{
        grid-template-columns:1fr!important;
    }
    body.mg-product-v20 .related.products ul.products{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:620px){
    body.mg-product-v20 div.product{
        width:calc(100vw - 16px)!important;
    }
    body.mg-product-v20 .mgv20-trust,
    body.mg-product-v20 .mgv20-story-badges{
        grid-template-columns:1fr!important;
    }
    body.mg-product-v20 .related.products ul.products{
        grid-template-columns:1fr!important;
    }
}


/* =========================================================
   v2.1 — PRECIO BASE + AJUSTE DE JUSTIFICACIÓN PPOM
   ========================================================= */

/* Precio base claro, debajo del precio principal */
body.mg-product-v20 .mgv21-base-price{
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
    margin:-4px 0 10px!important;
    padding:9px 11px!important;
    border-left:3px solid var(--mg-pink)!important;
    background:#fff7f9!important;
    border-radius:0 8px 8px 0!important;
}
body.mg-product-v20 .mgv21-base-price strong{
    color:#a92749!important;
    font-size:15px!important;
    line-height:1.2!important;
}
body.mg-product-v20 .mgv21-base-price span{
    color:#7d8580!important;
    font-size:9px!important;
    line-height:1.4!important;
}

/* PPOM: labels y descripciones bien alineados, sin separaciones raras */
body.mg-product-v20 .mgv20-field{
    padding:12px 13px 12px 46px!important;
}
body.mg-product-v20 .mgv20-field label,
body.mg-product-v20 .mgv20-field .ppom-label,
body.mg-product-v20 .mgv20-field .ppom-title,
body.mg-product-v20 .mgv20-field .form-label{
    display:block!important;
    margin:0 0 5px!important;
    padding:0!important;
    line-height:1.3!important;
    text-align:left!important;
}
body.mg-product-v20 .mgv20-field small,
body.mg-product-v20 .mgv20-field .description,
body.mg-product-v20 .mgv20-field .ppom-description,
body.mg-product-v20 .mgv20-field [class*="description"]{
    display:block!important;
    margin:2px 0 7px!important;
    padding:0!important;
    max-width:100%!important;
    color:#8a918d!important;
    font-size:9px!important;
    line-height:1.45!important;
    text-align:left!important;
}

/* Evitar que descripción y etiqueta queden en la misma línea */
body.mg-product-v20 .mgv20-field label small,
body.mg-product-v20 .mgv20-field label .description,
body.mg-product-v20 .mgv20-field .ppom-label small,
body.mg-product-v20 .mgv20-field .ppom-label .description{
    display:block!important;
    margin:3px 0 0!important;
    font-family:inherit!important;
    font-weight:400!important;
}

/* Campos a ancho completo y con espacio consistente */
body.mg-product-v20 .mgv20-field input[type="text"],
body.mg-product-v20 .mgv20-field input[type="date"],
body.mg-product-v20 .mgv20-field input[type="number"],
body.mg-product-v20 .mgv20-field input[type="email"],
body.mg-product-v20 .mgv20-field select,
body.mg-product-v20 .mgv20-field textarea{
    margin-top:5px!important;
}
body.mg-product-v20 .mgv20-field textarea{
    min-height:92px!important;
}

/* Checkboxes ordenados, sin descuadre */
body.mg-product-v20 .mgv20-field input[type="checkbox"] + label,
body.mg-product-v20 .mgv20-field input[type="radio"] + label{
    display:inline!important;
    margin:0!important;
    font-family:inherit!important;
    font-size:12px!important;
    font-weight:500!important;
}

/* Fecha / empaque / mensaje / extras sin huecos excesivos */
body.mg-product-v20 .mgv20-ppom{
    margin-top:0!important;
}
body.mg-product-v20 .mgv20-field{
    margin-bottom:8px!important;
}
body.mg-product-v20 .mgv20-personalize{
    margin-bottom:8px!important;
}

/* Descripción corta y textos editoriales con justificación visual limpia */
body.mg-product-v20 .woocommerce-product-details__short-description,
body.mg-product-v20 .mgv20-story p{
    text-align:justify!important;
    text-justify:inter-word!important;
}

/* Responsive */
@media(max-width:620px){
    body.mg-product-v20 .mgv21-base-price{
        margin-top:0!important;
    }
}


/* =========================================================
   v2.2 — PRECIO LIMPIO Y CABECERA CORRECTA
   ========================================================= */

/* Quitar cualquier bloque viejo de precio base */
body.mg-product-v20 .mgv21-base-price{
    display:none!important;
}

/* Orden: categoría > título > precio */
body.mg-product-v20 .mgv20-kicker{
    margin:0 0 5px!important;
    color:var(--mg-pink)!important;
    font-size:10px!important;
    font-weight:800!important;
    letter-spacing:1.8px!important;
}
body.mg-product-v20 .product_title{
    margin:0 0 10px!important;
    font-size:43px!important;
    line-height:1.02!important;
}

/* Precio único, sin rango duplicado ni tarjeta adicional */
body.mg-product-v20 .summary > p.price.mgv22-clean-price{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:baseline!important;
    gap:6px!important;
    margin:0 0 14px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    color:#b72c4d!important;
    line-height:1.1!important;
}
body.mg-product-v20 .summary > p.price.mgv22-clean-price .mgv22-from,
body.mg-product-v20 .summary > p.price.mgv22-clean-price .mgv22-selected-label{
    color:#7c625f!important;
    font-size:14px!important;
    font-weight:600!important;
}
body.mg-product-v20 .summary > p.price.mgv22-clean-price strong{
    color:#b72c4d!important;
    font-size:29px!important;
    font-weight:800!important;
}
body.mg-product-v20 .summary > p.price.mgv22-clean-price small{
    flex-basis:100%!important;
    display:block!important;
    margin-top:2px!important;
    color:#8a8f8b!important;
    font-size:10px!important;
    font-weight:400!important;
    line-height:1.4!important;
}

/* Trust bar pegada al precio, no flotando */
body.mg-product-v20 .mgv20-trust{
    margin:0 0 12px!important;
}

/* Evitar espacio extra entre cabecera y acordeones */
body.mg-product-v20 .mgv20-accordions{
    margin-top:0!important;
}

/* Cabecera más compacta y elegante */
body.mg-product-v20 .mgv20-top > .summary{
    padding-top:4px!important;
}

/* Responsive */
@media(max-width:620px){
    body.mg-product-v20 .product_title{
        font-size:34px!important;
    }
    body.mg-product-v20 .summary > p.price.mgv22-clean-price strong{
        font-size:25px!important;
    }
}


/* =========================================================
   v2.3 — PRECIO EXACTO DE VARIACIÓN + CLEAR VISIBLE
   ========================================================= */

/* La categoría antigua ya no se muestra */
body.mg-product-v20 .mgv20-kicker{
    display:none!important;
}

/* Ocultar cualquier rango de WooCommerce que sobreviva antes de que JS lo reemplace */
body.mg-product-v20 .summary > p.price{
    min-height:62px!important;
}

/* Precio exacto del florero elegido */
body.mg-product-v20 .summary > p.price.mgv23-selected-price{
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    column-gap:8px!important;
    row-gap:2px!important;
    align-items:baseline!important;
    margin:0 0 13px!important;
    padding:10px 12px!important;
    border-left:4px solid var(--mg-pink)!important;
    border-radius:0 10px 10px 0!important;
    background:#fff7f9!important;
    color:var(--mg-green)!important;
}
body.mg-product-v20 .summary > p.price.mgv23-selected-price .mgv23-price-label{
    grid-column:1 / -1!important;
    color:#7c6661!important;
    font-size:10px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.7px!important;
}
body.mg-product-v20 .summary > p.price.mgv23-selected-price > strong{
    color:#b72c4d!important;
    font-size:28px!important;
    line-height:1.1!important;
    font-weight:800!important;
}
body.mg-product-v20 .summary > p.price.mgv23-selected-price > small{
    grid-column:1 / -1!important;
    display:block!important;
    color:#858c88!important;
    font-size:9px!important;
    font-weight:400!important;
    line-height:1.4!important;
}
body.mg-product-v20 .summary > p.price.mgv23-selected-price .mgv23-price-html .price,
body.mg-product-v20 .summary > p.price.mgv23-selected-price .mgv23-price-html .amount{
    color:#b72c4d!important;
    font-size:28px!important;
    font-weight:800!important;
}

/* Cambiar selección / Clear mucho más visible */
body.mg-product-v20 .variations_form .reset_variations.mgv23-clear{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-height:36px!important;
    margin:8px 0 4px!important;
    padding:8px 14px!important;
    border:1px solid #bdc9c2!important;
    border-radius:999px!important;
    background:#fff!important;
    color:var(--mg-green)!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:1!important;
    text-decoration:none!important;
    box-shadow:0 3px 10px rgba(23,63,52,.05)!important;
}
body.mg-product-v20 .variations_form .reset_variations.mgv23-clear::before{
    content:'↻';
    margin-right:6px!important;
    font-size:13px!important;
}
body.mg-product-v20 .variations_form .reset_variations.mgv23-clear:hover{
    border-color:var(--mg-green)!important;
    background:var(--mg-green)!important;
    color:#fff!important;
}

/* Reducir hueco antes de la personalización */
body.mg-product-v20 .mgv20-personalize{
    margin-top:5px!important;
}
body.mg-product-v20 .single_variation_wrap,
body.mg-product-v20 .woocommerce-variation-add-to-cart{
    margin-top:0!important;
    padding-top:0!important;
}

/* Mobile */
@media(max-width:620px){
    body.mg-product-v20 .summary > p.price.mgv23-selected-price > strong,
    body.mg-product-v20 .summary > p.price.mgv23-selected-price .mgv23-price-html .price,
    body.mg-product-v20 .summary > p.price.mgv23-selected-price .mgv23-price-html .amount{
        font-size:24px!important;
    }
}


/* =========================================================
   v2.4 — PRECIO REAL DE LA VARIACIÓN + LIMPIAR SELECCIÓN
   ========================================================= */

/* Ocultar por completo el rango que pinta WooCommerce al cargar */
body.mg-product-v20 .summary > p.price:not(.mgv24-price){
    visibility:hidden!important;
}

/* Precio único, claro y grande */
body.mg-product-v20 .summary > p.price.mgv24-price{
    visibility:visible!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:2px!important;
    min-height:0!important;
    margin:0 0 12px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
}
body.mg-product-v20 .summary > p.price.mgv24-price .mgv24-price-label{
    color:#806b65!important;
    font-size:10px!important;
    font-weight:700!important;
    text-transform:uppercase!important;
    letter-spacing:.7px!important;
}
body.mg-product-v20 .summary > p.price.mgv24-price strong{
    color:#b52a4b!important;
    font-size:30px!important;
    line-height:1.08!important;
    font-weight:800!important;
}
body.mg-product-v20 .summary > p.price.mgv24-price small{
    color:#8b918e!important;
    font-size:9px!important;
    line-height:1.35!important;
}

/* Nuevo control real de limpiar */
body.mg-product-v20 .variations_form .mgv24-clear,
body.mg-product-v20 button.mgv24-clear{
    appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-height:38px!important;
    margin:9px 0 7px!important;
    padding:9px 15px!important;
    border:1px solid #c5d0ca!important;
    border-radius:999px!important;
    background:#fff!important;
    color:var(--mg-green)!important;
    font-size:10px!important;
    font-weight:800!important;
    line-height:1!important;
    text-decoration:none!important;
    cursor:pointer!important;
    box-shadow:0 3px 10px rgba(23,63,52,.05)!important;
}
body.mg-product-v20 .variations_form .mgv24-clear::before,
body.mg-product-v20 button.mgv24-clear::before{
    content:'×'!important;
    font-size:16px!important;
    font-weight:700!important;
    line-height:1!important;
}
body.mg-product-v20 .variations_form .mgv24-clear:hover,
body.mg-product-v20 button.mgv24-clear:hover{
    border-color:#b64d66!important;
    background:#fff2f5!important;
    color:#a92d4b!important;
}

/* El viejo estilo v2.3 no debe interferir */
body.mg-product-v20 .mgv23-clear{
    box-shadow:none!important;
}
body.mg-product-v20 .mgv23-clear::before{
    content:none!important;
}

@media(max-width:620px){
    body.mg-product-v20 .summary > p.price.mgv24-price strong{
        font-size:26px!important;
    }
}


/* =========================================================
   v2.5 — PRECIO ÚNICO Y REAL
   ========================================================= */

body.mg-product-v20 .summary > p.price{
    display:none!important;
}

body.mg-product-v20 .mgv25-price-box{
    display:flex!important;
    align-items:baseline!important;
    gap:8px!important;
    margin:0 0 12px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
}
body.mg-product-v20 .mgv25-price-label{
    color:#7f6d67!important;
    font-size:11px!important;
    font-weight:700!important;
}
body.mg-product-v20 .mgv25-price-value{
    color:#b52a4b!important;
    font-size:30px!important;
    line-height:1.05!important;
    font-weight:800!important;
}


/* =========================================================
   v2.6 — ELIMINAR INTERVALO NATIVO + CLEAR REAL
   ========================================================= */

/* Ocultar cualquier precio/rango nativo que quede en la cabecera.
   Nuestro precio válido es SOLO #mgv25-price-box. */
body.mg-product-v20 .mgv20-top > .summary > p.price,
body.mg-product-v20 .mgv20-top > .summary > span.price,
body.mg-product-v20 .mgv20-top > .summary > div.price,
body.mg-product-v20 .mgv20-top > .summary > .price,
body.mg-product-v20 .mgv20-top > .summary .woocommerce-variation-price,
body.mg-product-v20 .mgv20-top > .summary .single_variation .price,
body.mg-product-v20 .mgv20-top > .summary .woocommerce-Price-amount.amount del,
body.mg-product-v20 .mgv20-top > .summary .woocommerce-Price-amount.amount ins{
    display:none!important;
}

/* Asegurar que nuestro precio sí se muestre */
body.mg-product-v20 #mgv25-price-box{
    display:flex!important;
}

/* Botón de limpiar selección visible y claro */
body.mg-product-v20 .variations_form .mgv26-clear,
body.mg-product-v20 button.mgv26-clear{
    appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-height:40px!important;
    margin:10px 0 7px!important;
    padding:9px 16px!important;
    border:1px solid #c7d0cb!important;
    border-radius:999px!important;
    background:#fff!important;
    color:var(--mg-green)!important;
    font-size:10px!important;
    font-weight:800!important;
    text-decoration:none!important;
    cursor:pointer!important;
    box-shadow:0 3px 10px rgba(23,63,52,.05)!important;
}
body.mg-product-v20 .variations_form .mgv26-clear::before,
body.mg-product-v20 button.mgv26-clear::before{
    content:'×'!important;
    font-size:16px!important;
    font-weight:700!important;
}
body.mg-product-v20 .variations_form .mgv26-clear:hover,
body.mg-product-v20 button.mgv26-clear:hover{
    background:#fff1f4!important;
    border-color:#c95d76!important;
    color:#a52f4b!important;
}

/* El botón Clear viejo no debe verse si queda en caché */
body.mg-product-v20 .mgv24-clear:not(.mgv26-clear),
body.mg-product-v20 .mgv23-clear:not(.mgv26-clear){
    display:none!important;
}


/* =========================================================
   v2.7 — SIN RANGO NATIVO / SIN BOTÓN LIMPIAR
   ========================================================= */

/* Solo se permite nuestro bloque de precio */
body.mg-product-v20 .mgv20-top > .summary > p.price,
body.mg-product-v20 .mgv20-top > .summary > span.price,
body.mg-product-v20 .mgv20-top > .summary > div.price,
body.mg-product-v20 .mgv20-top > .summary .woocommerce-variation-price,
body.mg-product-v20 .mgv20-top > .summary .single_variation .price{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}

/* Nuestro precio sí debe verse */
body.mg-product-v20 #mgv25-price-box{
    display:flex!important;
    visibility:visible!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 12px!important;
    padding:0!important;
}

/* Quitar cualquier botón Clear / Reset / Limpiar selección */
body.mg-product-v20 .reset_variations,
body.mg-product-v20 .mgv26-clear,
body.mg-product-v20 .mgv24-clear,
body.mg-product-v20 .mgv23-clear,
body.mg-product-v20 button[class*="clear"],
body.mg-product-v20 a[class*="clear"]{
    display:none!important;
}

/* Cerrar el hueco que dejaba el botón */
body.mg-product-v20 .variations_form,
body.mg-product-v20 .single_variation_wrap,
body.mg-product-v20 .woocommerce-variation-add-to-cart{
    margin-bottom:0!important;
    padding-bottom:0!important;
}


/* =========================================================
   v2.8 — ELIMINAR DEFINITIVAMENTE EL RANGO DE PRECIOS
   ========================================================= */

/* Ocultar cualquier precio nativo / rango del tema alrededor del título */
body.mg-product-v20 .mgv20-top > .summary > p.price,
body.mg-product-v20 .mgv20-top > .summary > span.price,
body.mg-product-v20 .mgv20-top > .summary > div.price,
body.mg-product-v20 .mgv20-top > .summary .product-price,
body.mg-product-v20 .mgv20-top > .summary .price-wrapper,
body.mg-product-v20 .mgv20-top > .summary .price-container,
body.mg-product-v20 .mgv20-top > .summary .summary-price,
body.mg-product-v20 .mgv20-top > .summary .woocommerce-variation-price{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
}

/* Nuestro único precio visible */
body.mg-product-v20 #mgv25-price-box{
    display:flex!important;
    visibility:visible!important;
    height:auto!important;
    min-height:0!important;
    margin:0 0 12px!important;
    padding:0!important;
}


/* =========================================================
   v2.9 — RANGO NATIVO ELIMINADO DESDE PHP
   ========================================================= */

/* Failsafe visual: ocultar cualquier precio nativo del producto principal */
body.mg-product-v20 .mgv20-top > .summary > p.price,
body.mg-product-v20 .mgv20-top > .summary > span.price,
body.mg-product-v20 .mgv20-top > .summary > div.price,
body.mg-product-v20 .mgv20-top > .summary .woocommerce-variation-price{
    display:none!important;
}

/* Mantener visible únicamente nuestro precio */
body.mg-product-v20 #mgv25-price-box{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
}


/* =========================================================
   v4.3 — MEDIA DEBAJO DEL FLORERO, DENTRO DEL WRAPPER ESTABLE
   ========================================================= */

body.mg-product-v20 .mgv20-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas:
        "gallery summary"
        "media   summary"!important;
    column-gap:26px!important;
    row-gap:14px!important;
    align-items:start!important;
}

/* Florero */
body.mg-product-v20 .mgv20-top > .woocommerce-product-gallery{
    grid-area:gallery!important;
    width:100%!important;
    max-width:none!important;
    float:none!important;
    margin:0!important;
    position:relative!important;
    top:auto!important;
}

/* Todo el formulario, a la derecha */
body.mg-product-v20 .mgv20-top > .summary{
    grid-area:summary!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    float:none!important;
    margin:0!important;
}

/* Video/imagen: debajo del florero */
body.mg-product-v20 .mgv20-top > .mgv43-media-slot{
    grid-area:media!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:14px!important;
    border:1px solid var(--mg-line)!important;
    border-radius:16px!important;
    background:linear-gradient(135deg,#fffaf6,#fff4f7)!important;
}

body.mg-product-v20 .mgv43-media-frame{
    display:block!important;
    width:100%!important;
    overflow:hidden!important;
    border-radius:13px!important;
    background:#111!important;
}

body.mg-product-v20 .mgv43-media-frame img,
body.mg-product-v20 .mgv43-media-frame video{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:280px!important;
    max-height:430px!important;
    object-fit:cover!important;
    border-radius:13px!important;
}

body.mg-product-v20 .mgv43-media-caption{
    margin:12px 3px 0!important;
    color:#5f6964!important;
    font-size:13px!important;
    line-height:1.75!important;
    text-align:justify!important;
}

/* Eliminar intentos anteriores */
body.mg-product-v20 .mgv31-media-slot,
body.mg-product-v20 .mgv33-media-slot,
body.mg-product-v20 .mgv34-media-slot,
body.mg-product-v20 .mgv41-media-slot,
body.mg-product-v20 .mgv42-media-slot{
    display:none!important;
}

/* Móvil */
@media(max-width:900px){
    body.mg-product-v20 .mgv20-top{
        grid-template-columns:1fr!important;
        grid-template-areas:
            "gallery"
            "media"
            "summary"!important;
        gap:16px!important;
    }
}


/* =========================================================
   v4.4 — CORRECCIÓN REAL: MEDIA DEBAJO DEL FLORERO
   ========================================================= */

body.mg-product-v20 .mgv20-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas:
        "gallery summary"
        "media   summary"!important;
    column-gap:26px!important;
    row-gap:14px!important;
    align-items:start!important;
}

body.mg-product-v20 .mgv20-top > .woocommerce-product-gallery{
    grid-area:gallery!important;
    float:none!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    position:relative!important;
    top:auto!important;
}

body.mg-product-v20 .mgv20-top > .summary{
    grid-area:summary!important;
    float:none!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
}

body.mg-product-v20 .mgv20-top > .mgv44-media-slot{
    grid-area:media!important;
    display:block!important;
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:14px!important;
    border:1px solid var(--mg-line)!important;
    border-radius:16px!important;
    background:linear-gradient(135deg,#fffaf6,#fff4f7)!important;
}

body.mg-product-v20 .mgv44-media-frame{
    display:block!important;
    width:100%!important;
    overflow:hidden!important;
    border-radius:13px!important;
    background:#111!important;
}

body.mg-product-v20 .mgv44-media-frame img,
body.mg-product-v20 .mgv44-media-frame video{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:280px!important;
    max-height:430px!important;
    object-fit:cover!important;
    border-radius:13px!important;
}

body.mg-product-v20 .mgv44-media-caption{
    margin:12px 3px 0!important;
    color:#5f6964!important;
    font-size:13px!important;
    line-height:1.75!important;
    text-align:justify!important;
}

/* Disable every previous experimental media block. */
body.mg-product-v20 .mgv31-media-slot,
body.mg-product-v20 .mgv33-media-slot,
body.mg-product-v20 .mgv34-media-slot,
body.mg-product-v20 .mgv41-media-slot,
body.mg-product-v20 .mgv42-media-slot,
body.mg-product-v20 .mgv43-media-slot{
    display:none!important;
}

@media(max-width:900px){
    body.mg-product-v20 .mgv20-top{
        grid-template-columns:1fr!important;
        grid-template-areas:
            "gallery"
            "media"
            "summary"!important;
        gap:16px!important;
    }
}



/* ================================================================
   v4.7 — TEXT ACTUALLY BELOW THE PRODUCT PHOTO
   This copy is printed by WooCommerce inside the gallery (PHP),
   not moved after load by JavaScript. The PPOM/Woo form stays intact.
   ================================================================ */
body.mg-product-v20 .mgv20-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    grid-template-areas:"gallery summary" "media summary"!important;
    gap:16px 28px!important;
    align-items:start!important;
    align-content:start!important;
}
body.mg-product-v20 .mgv20-top > .woocommerce-product-gallery{
    grid-area:gallery!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    overflow:visible!important;
    position:relative!important;
    top:auto!important;
    float:none!important;
    margin:0!important;
    padding:0!important;
}
body.mg-product-v20 .mgv20-top > .summary{
    grid-area:summary!important;
    width:100%!important;
    min-width:0!important;
    float:none!important;
    margin:0!important;
    padding:0!important;
}
body.mg-product-v20 .mgv20-top > .mgv44-media-slot{grid-area:media!important}
body.mg-product-v20 .woocommerce-product-gallery__image img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    border-radius:15px!important;
}
body.mg-product-v20 .mgv47-under-photo{
    display:block!important;
    clear:both!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:16px 0 5px!important;
    padding:0!important;
    color:#465e54!important;
}
body.mg-product-v20 .mgv47-under-photo .mgv47-photo-description{
    border-top:1px solid #ecdcd5!important;
    padding:17px 4px 14px!important;
    margin:0!important;
    width:100%!important;
}
body.mg-product-v20 .mgv47-under-photo h2{
    font:700 21px/1.25 Georgia,"Times New Roman",serif!important;
    color:#173f34!important;
    margin:0 0 9px!important;
}
body.mg-product-v20 .mgv47-under-photo p,
body.mg-product-v20 .mgv47-under-photo .mgv47-product-copy{
    font:400 14px/1.7 Arial,sans-serif!important;
    color:#475e53!important;
    overflow-wrap:break-word!important;
    margin:0 0 10px!important;
}
body.mg-product-v20 .mgv47-under-photo .mgv47-product-copy p{margin:0 0 8px!important}
body.mg-product-v20 .mgv47-under-photo .mgv47-detail-excerpt a{
    color:#174a37!important;
    text-decoration:underline!important;
    font-weight:700!important;
    font-size:13px!important;
}
body.mg-product-v20 .mgv47-under-photo .mgv20-trust{
    margin:6px 0 14px!important;
}
body.mg-product-v20 .mgv47-photo-accordions{
    border-top:1px solid #ecdcd5!important;
    padding-top:13px!important;
}
body.mg-product-v20 .mgv47-photo-accordions .mgv20-accordions{
    margin:0 0 8px!important;
}
body.mg-product-v20 .mgv45-vases,
body.mg-product-v20 .mgv46-left-info{display:none!important}
@media(max-width:900px){
    body.mg-product-v20 .mgv20-top{
        grid-template-columns:1fr!important;
        grid-template-areas:"gallery" "media" "summary" "info"!important;
        gap:17px!important;
    }
    body.mg-product-v20 .mgv20-top > .mgv47-under-photo{
        grid-area:info!important;
        margin:0 0 16px!important;
    }
    body.mg-product-v20 .mgv47-under-photo{margin:14px 0!important}
}
