/* 
 * Uniderma - Single Product Redesign 
 * Identical to Eucerin Style
 */

/* 0. Layout General: Fondo Gris */
body.single-product {
    background-color: #f4f6f9 !important;
    /* Gris premium muy suave */
}

/* Reset del contenedor global para que sea transparente */
.single-product div.product {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    /* padding: 0 !important; */
    margin: 0 auto !important;
}

/* Estilo Base para las Tarjetas Independientes */
.single-product .product-main,
.single-product .product-reviews-full-width {
    margin-top: 10px !important;
    background-color: #ffffff !important;
    border-radius: 15px !important;
    padding: 10px 40px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
    margin-bottom: 25px !important;
    border: 1px solid rgba(0, 0, 0, 0.02) !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
/* Los estilos de las tarjetas de los carruseles (popular-products, purchased-in-category, etc.) se han movido a catalog-slider.css para que funcionen globalmente en cualquier página. */


.single-product .product-main {
    max-width: 1370px !important;
    margin: 15px auto !important;
}

.single-product .product-footer .container {
    padding-right: 0;
    padding-left: 0;
}

/* Fix específico para que el Grid de Relacionados no se rompa */
.single-product .related.products .products {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Ajustes específicos para Flatsome */
.single-product .product-container {
    padding: 0 !important;
    max-width: 100% !important;
}

/* Optimización para móviles */
@media (max-width: 767px) {

    .single-product .product-main,
    .single-product .woocommerce-tabs,
    .single-product .related.products,
    .single-product .related.related-products-wrapper.product-section,
    .single-product .product-reviews-full-width {
        padding: 25px 20px !important;
        margin-left: 15px !important;
        margin-right: 15px !important;
        border-radius: 20px !important;
    }
}

/* Ocultar el divisor que Flatsome añade debajo del título del producto */
.product .summary .is-divider,
.product .summary>hr,
.woocommerce-product-gallery~.summary hr:first-of-type,
.summary .entry-title~hr,
.summary .product_title~hr {
    display: none !important;
}

/* 1. Metadatos Superiores (Marca | SKU) */
.product-brand-sku-wrapper {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    justify-content: space-between !important;
    font-size: 13px !important;
    color: #8c8c8c !important;
   /* margin-bottom: 12px !important;*/
    text-transform: none !important;
    font-family: inherit !important;
}

.product-brand-sku-wrapper .marca {
    font-weight: 500 !important;
    color: #4a4a4a !important;
}

.product-brand-sku-wrapper .separador {
    color: #ddd !important;
}

/* Botón Compartir dentro de la fila Marca | SKU | Estrellas */
.uni-share-in-metadata {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    margin-left: auto !important;
}

/* Reducir tamaño del botón Compartir cuando está en la fila de metadata */
.uni-share-in-metadata .uni-share-btn {
    height: 36px !important;
    font-size: 13px !important;
    padding: 0 12px !important;
    gap: 5px !important;
}

/* 2. Tabla de Especificaciones */
.product-specs-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 20px 0 !important;
    clear: both;
}

.product-specs-table tr {
    border-bottom: 1px dotted #eeeeee !important;
}

.product-specs-table td {
    padding: 15px 0 !important;
    font-size: 14px !important;
    color: #4a4a4a !important;
    vertical-align: top !important;
    line-height: 1.4 !important;
}

.product-specs-table td:first-child {
    font-weight: 700 !important;
    width: 35% !important;
    color: #666666 !important;
}

.product-specs-table td:last-child {
    color: #777777 !important;
    padding-left: 15px !important;
}

/* 3. Sección de Color y Swatches */
.product-color-section {
    margin: 25px 0 40px;
    clear: both;
}

.product-color-section .color-label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #444;
    margin-bottom: 15px;
}

.color-swatches-placeholder {
    display: flex;
    gap: 15px;
}

.swatch {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    border: 1px solid #ddd;
    cursor: pointer;
    transition: transform 0.2s;
}

.swatch:hover {
    transform: scale(1.05);
}

.swatch.white {
    background-color: #ffffff;
}

.swatch.beige {
    background-color: #fcebd2;
}

.swatch.tan {
    background-color: #dbbc9d;
}

/* 4. Información del Producto (Título Separador) */
.section-info-title-container {
    text-align: left !important;
    margin: 60px 0 20px !important;
    padding-top: 20px !important;
    border-top: 1px solid #eee !important;
    clear: both;
}

.section-info-title {
    font-size: 26px !important;
    font-weight: 500 !important;
    color: #4a4a4a !important;
    margin: 0 !important;
}

/* 4. Valoraciones (Rating) — Estilo referencia */
.uniderma-custom-rating {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
}

/* Respetar la estructura de WooCommerce: overflow:hidden + width fijo son esenciales */
.uniderma-custom-rating .star-rating {
    font-size: 14px !important;
    width: 5.4em !important;
    overflow: hidden !important;
    position: relative !important;
    height: 1em !important;
    line-height: 1em !important;
    letter-spacing: 0 !important;
}

/* Estrellas de fondo — grises (sin rating o rating bajo) */
.uniderma-custom-rating .star-rating::before {
    color: #cccccc !important;
}

/* Estrellas rellenas — amarillas según el porcentaje del span */
.uniderma-custom-rating .star-rating span::before {
    color: #f5a623 !important;
}

/* Contador "(0)" como enlace discreto */
.uniderma-rating-count {
    font-size: 13px !important;
    color: #888888 !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

.uniderma-rating-count:hover {
    text-decoration: underline !important;
    color: #555 !important;
}

/* 4.5 Descripción Extendida (Debajo de Categorías) */
.uniderma-extended-description {
    /* margin-top: 25px !important; */
    border-top: 1px dotted #eee !important;
    /* padding-top: 25px !important; */
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #666 !important;
}

.uniderma-extended-description .short-description-custom {
    font-weight: 500 !important;
    color: #4a4a4a !important;
    margin-bottom: 20px !important;
}

.uniderma-extended-description .full-description-custom {
    color: #777 !important;
}

/* Ocultar Valoraciones por defecto para evitar duplicados */
.woocommerce-product-rating {
    display: none !important;
}

/* 5. Tabs Estilo Eucerin (Ahora en Columna Izquierda) */
.woocommerce-tabs.container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin-top: 30px !important;
}

.woocommerce-tabs .nav-tabs {
    border-bottom: 2px solid #f2f2f2 !important;
    justify-content: flex-start !important;
    display: flex !important;
    margin-bottom: 20px !important;
    padding: 0 !important;
}

.woocommerce-tabs .nav-tabs li {
    margin-right: 30px !important;
    list-style: none !important;
}

.woocommerce-tabs .nav-tabs li a {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #b2b2b2 !important;
    padding: 10px 0 !important;
    text-transform: none !important;
    border: none !important;
    display: block !important;
    background: none !important;
}

.woocommerce-tabs .nav-tabs li.active a {
    color: #4a4a4a !important;
    border-bottom: 3px solid #4a4a4a !important;
    background: transparent !important;
}

/* 6. Sección de Valoraciones (Fila Nueva Full Width) */
.product-reviews-full-width {
    background-color: #f9f9f9 !important;
    padding: 20px 0 !important;
    margin-top: 0px !important;
    border-top: 1px solid #eee !important;
    width: 100% !important;
    clear: both !important;
}

.product-reviews-full-width .container {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}

.reviews-section-title {
    font-size: 28px !important;
    font-weight: 500 !important;
    color: #4a4a4a !important;
    margin-bottom: 10px !important;
    text-align: left !important;
}

#reviews #comments {
    margin-bottom: 25px !important;
}

#reviews .star-rating {
    color: #5b96c8 !important;
    font-size: 16px !important;
}

/* 
 * RESTAURACIÓN MAESTRA V3: Estrellas en una sola fila (Review Form)
 * Usamos el carácter ★ y forzamos fuentes estándar para máxima compatibilidad.
 */
#reviews .comment-form-rating .stars {
    display: block !important;
    margin: 10px 0 20px !important;
    border: none !important;
}

#reviews .comment-form-rating .stars span {
    display: flex !important;
    /* Flexbox garantiza la fila */
    width: 150px !important;
    height: 35px !important;
    position: relative !important;
}

#reviews .comment-form-rating .stars span a {
    display: block !important;
    position: relative !important;
    width: 30px !important;
    height: 30px !important;
    text-indent: -999em !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    text-decoration: none !important;
}

#reviews .comment-form-rating .stars span a:before {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    line-height: 30px !important;
    content: "\2605" !important;
    /* Unicode star ★ que siempre funciona */
    font-family: "Segoe UI Symbol", "Apple Color Emoji", "Arial", sans-serif !important;
    text-indent: 0 !important;
    color: #ddd !important;
    text-align: center !important;
    font-size: 28px !important;
    transition: color 0.2s !important;
}

/* Lógica de Selección y Hover Acumulativo (Fix Definitivo) */
/* 1. Reset base: Todas grises */
#reviews .comment-form-rating .stars span a:before {
    color: #ddd !important;
}

/* 2. HOVER: Pintamos todas y apagamos las que siguen al mouse */
#reviews .comment-form-rating .stars:hover span a:before {
    color: #5b96c8 !important;
}

#reviews .comment-form-rating .stars span a:hover~a:before {
    color: #ddd !important;
}

/* 3. SELECTED: Si hay selección, pintamos todas y apagamos las que siguen a la activa */
#reviews .comment-form-rating .stars.selected span a:before {
    color: #5b96c8 !important;
}

#reviews .comment-form-rating .stars.selected span a.active~a:before {
    color: #ddd !important;
}

/* Limpieza de líneas del tema */
#reviews .comment-form-rating .stars span a:after,
#reviews .comment-form-rating .stars span:after,
#reviews .comment-form-rating .stars:after {
    display: none !important;
    content: none !important;
    border: none !important;
}

/* ================================================================
   NUEVO FORMULARIO DE RESEÑAS — UNIDERMA
   Adopta colores del tema via var(--color-primary) con fallback.
   ================================================================ */

/* ── Variables de color del tema ──────────────────────────────── */
:root {
    --uni-review-primary: #5b96c8;
    --uni-review-primary-dark: #283F80;
    --uni-review-text: #333333;
    --uni-review-border: #e1e4e8;
    --uni-review-bg: #f9f9f9;
}

/* ── Botón principal "Escribir una reseña" ────────────────────── */
#uni-write-review-btn {
    display: inline-block;
    padding: 11px 28px;
    background: var(--uni-review-primary);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    letter-spacing: .02em;
    transition: background .2s, transform .1s;
    margin-bottom: 0;
    text-transform: none;
}

#uni-write-review-btn:hover {
    background: var(--uni-review-primary-dark);
    transform: translateY(-1px);
}

/* ── Panel colapsable del formulario ─────────────────────────── */
#review_form_wrapper {
    max-height: 0;
    overflow: hidden;
    transition: max-height .45s cubic-bezier(.4, 0, .2, 1), opacity .35s ease, margin .3s ease;
    opacity: 0;
    margin-top: 0;
}

#review_form_wrapper.is-open {
    max-height: 800px;
    opacity: 1;
    margin-top: 24px;
}

/* ── Formulario ───────────────────────────────────────────────── */
.uniderma-review-form {
    background: #fff;
    border: 1px solid var(--uni-review-border);
    border-radius: 8px;
    padding: 28px 32px 24px;
}

.uniderma-review-form label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--uni-review-text);
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.uniderma-review-form .required {
    color: #e54040;
    margin-left: 2px;
}

/* ── Calificación (estrellas) ─────────────────────────────────── */
.uniderma-review-form .comment-form-rating {
    margin-bottom: 20px;
}

.uniderma-review-form .stars-row {
    display: flex;
    align-items: center;
}

/* ── Campo Título ─────────────────────────────────────────────── */
.uniderma-review-form .comment-form-title {
    margin-bottom: 18px;
}

.uniderma-review-input {
    width: 100%;
    padding: 11px 14px;
    font-size: 14px;
    color: var(--uni-review-text);
    border: 1.5px solid var(--uni-review-border);
    border-radius: 5px;
    background: var(--uni-review-bg);
    transition: border-color .2s;
    box-sizing: border-box;
    font-family: inherit;
}

.uniderma-review-input:focus {
    outline: none;
    border-color: var(--uni-review-primary);
    background: #fff;
}

/* ── Campo Reseña ─────────────────────────────────────────────── */
.uniderma-review-form .comment-form-comment {
    margin-bottom: 22px;
}

.uniderma-review-textarea {
    width: 100%;
    padding: 11px 14px;
    font-size: 14px;
    color: var(--uni-review-text);
    border: 1.5px solid var(--uni-review-border);
    border-radius: 5px;
    background: var(--uni-review-bg);
    transition: border-color .2s;
    resize: vertical;
    min-height: 110px;
    box-sizing: border-box;
    font-family: inherit;
    line-height: 1.6;
}

.uniderma-review-textarea:focus {
    outline: none;
    border-color: var(--uni-review-primary);
    background: #fff;
}

/* ── Botones del formulario ───────────────────────────────────── */
.uniderma-review-form .form-submit {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.uniderma-review-submit {
    padding: 11px 30px;
    background: var(--uni-review-primary);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    letter-spacing: .02em;
    transition: background .2s, transform .1s;
}

.uniderma-review-submit:hover {
    background: var(--uni-review-primary-dark);
    transform: translateY(-1px);
}

.uniderma-review-cancel {
    padding: 10px 20px;
    background: transparent;
    color: #888;
    font-size: 14px;
    font-weight: 600;
    border: 1.5px solid var(--uni-review-border);
    border-radius: 4px;
    cursor: pointer;
    transition: border-color .2s, color .2s;
}

.uniderma-review-cancel:hover {
    border-color: #aaa;
    color: var(--uni-review-text);
}

/* ── Mensaje sin login ────────────────────────────────────────── */
.woocommerce-no-login {
    background: var(--uni-review-bg);
    border: 1px solid var(--uni-review-border);
    border-radius: 6px;
    padding: 16px 20px;
    font-size: 14px;
    color: #666;
}

.woocommerce-no-login a {
    color: var(--uni-review-primary);
    font-weight: 700;
}

/* ── Metadatos Sanitarios (al final del summary, en 2 filas) ──────── */
.product-sanitario-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    font-size: 12px !important;
    color: #8c8c8c !important;
    margin-top: 14px !important;
    margin-bottom: 10px !important;
    font-family: inherit !important;
    line-height: 1.4 !important;
}

.product-sanitario-meta .sanitario-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
}

.product-sanitario-meta .sanitario-label {
    font-weight: 600 !important;
    color: #666 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    font-size: 12px !important;
}

.product-sanitario-meta .sanitario-value {
    color: #4a4a4a !important;
    font-weight: 400 !important;
}

.product-sanitario-meta .sanitario-value.sanitario-na {
    color: #b0b0b0 !important;
    font-style: italic !important;
}

.product-sanitario-meta .sanitario-sep {
    color: #ddd !important;
    font-size: 12px !important;
}

/* 7. Variaciones como Radio-Cards Premium */
.uniderma-swatches-container {
    /* margin: 20px 0 30px; */
    font-family: inherit;
}

.uniderma-swatches-container .swatches-title {
    font-size: 14px;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 15px;
}

.uniderma-swatches-container .swatches-wrapper {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.swatch-radio-card {
    display: flex;
    align-items: center;
    padding: 10px 18px;
    border: 1.5px solid #f0f0f0;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: all 0.25s ease;
    user-select: none;
    min-width: 120px;
}

.swatch-radio-card:hover {
    border-color: #3897f0;
    box-shadow: 0 4px 12px rgba(56, 151, 240, 0.08);
}

.swatch-radio-card.selected {
    border-color: #3897f0;
    background: rgba(56, 151, 240, 0.02);
}

/* El círculo del radio */
.swatch-radio-card .radio-circle {
    width: 20px;
    height: 20px;
    border: 2px solid #ccd1d9;
    border-radius: 50%;
    margin-right: 12px;
    position: relative;
    transition: all 0.2s ease;
}

.swatch-radio-card.selected .radio-circle {
    border-color: #3897f0;
}

.swatch-radio-card .radio-circle::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 10px;
    height: 10px;
    background-color: #3897f0;
    border-radius: 50%;
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.swatch-radio-card.selected .radio-circle::after {
    transform: translate(-50%, -50%) scale(1);
}

.swatch-radio-card .swatch-label {
    font-size: 14px;
    font-weight: 600;
    color: #4a4a4a;
    transition: color 0.2s;
}

.swatch-radio-card.selected .swatch-label {
    color: #3897f0;
}

/* 9. Sincronización Estética de Títulos de Sección (Mimetización con Flatsome) */
.uni-section-header {
    /* padding-top: 15px; */
    margin-top: 15px;
    /* margin-bottom: 15px; */
    width: 100%;
    clear: both;
}

.uni-section-title {
    font-size: 1.25em !important;
    color: #283F80 !important;
    text-transform: uppercase !important;
    font-weight: 500 !important;
    padding-bottom: 15px !important;
    margin: 0 !important;
    letter-spacing: 0.03em !important;
    line-height: 1.2 !important;
    text-align: left !important;
}


/* 10. Limpieza Visual: Ocultar Detalles Redundantes de Variación */
.woocommerce-variation-description,
.woocommerce-variation-price {
    display: none !important;
}

/* Ocultar el enlace "LIMPIAR" del selector de variaciones */
a.reset_variations {
    display: none !important;
}

/* 11. Bloquear Tamaño del Precio Principal en Variaciones */
.product-title-container .product-price-wrapper .price,
.product-title-container .product-price-wrapper .price .amount,
.product-info .price,
.product-info .price .amount {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #333 !important;
    line-height: 1.2 !important;
}

.product-title-container .product-price-wrapper .price .woocommerce-Price-currencySymbol,
.product-info .price .woocommerce-Price-currencySymbol {
    font-size: 16px !important;
    font-weight: 600 !important;
}

/* Ajuste del tamaño del título del producto */
.single-product h1.product_title {
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    margin-bottom: 10px !important;
}

/* Rediseño del Bloque de Precio y Badge */
.uniderma-price-badge-wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 15px !important;
}

/* ── Fila del precio: precio | badges | Compartir ─────────────────────
   Usamos display:contents en price-wrapper--with-share para que sus hijos
   (p.price y .uni-share-in-price-row) sean hijos directos del flex de
   .uniderma-price-badge-wrapper. Así controlamos el orden visual sin JS.
   Los badges de Flatsome usan position:absolute → los sobreescribimos a
   relative para que participen en el flujo flex con order:2.
──────────────────────────────────────────────────────────────────────── */

/* El price-wrapper desaparece del layout (sus hijos suben al flex padre) */
.price-wrapper--with-share {
    display: contents !important;
}

/* Precio: primer elemento (order:1) */
.uniderma-price-badge-wrapper p.price {
    flex: 0 0 auto !important;
    margin: 0 !important;
    order: 1 !important;
}

/* Badges de Flatsome: quitamos el position:absolute para que sean flex items */
.uniderma-price-badge-wrapper > .badge-container {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    z-index: auto !important;
    order: 2 !important;
    flex-shrink: 0 !important;
}

/* Botón Compartir: siempre al final con margin-left:auto */
.uni-share-in-price-row {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    order: 99 !important;
}

.single-product div.product p.price {
    display: inline-flex !important;
    /* Asegurar que no tome el 100% del ancho */
    flex-direction: column !important;
    /* Los precios uno debajo del otro */
    align-items: flex-start !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    order: 1;
    /* El precio va primero */
}

/* Precio de Oferta (El que se ve negrita) */
.single-product div.product p.price ins {
    order: 1 !important;
    text-decoration: none !important;
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #000 !important;
}

.single-product div.product p.price ins .amount {
    font-size: 24px !important;
    font-weight: 800 !important;
}

/* Precio Original (El tachado) - Lo movemos abajo */
.single-product div.product p.price del {
    order: 2 !important;
    width: auto !important;
    /* Quitamos el 100% para que no empuje el badge */
    font-size: 16px !important;
    color: #999 !important;
    margin-top: 5px !important;
}

.single-product div.product p.price del .amount {
    font-size: 16px !important;
    font-weight: 400 !important;
}

/* Ocultar la estructura base del badge SOLO en la galería de imágenes del producto principal */
.single-product .product-gallery>.badge-container.absolute,
.single-product .product-gallery .onsale,
.single-product .woocommerce-product-gallery>.badge-container.absolute,
.single-product .product-images>.badge-container.absolute,
.single-product .large-6.col:first-child>.badge-container.absolute {
    display: none !important;
}

.single-product .woocommerce-product-gallery .badge-container,
.single-product .woocommerce-product-gallery .badge,
.single-product .woocommerce-product-gallery .badge-inner {
    display: none !important;
}

/* Forzar que el badge de Flatsome pierda su posición absoluta en el summary */
.single-product .summary .badge-container,
.single-product .summary .badge-wrapper {
    position: static !important;
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
    order: 2 !important;
    /* El badge va después del bloque de precio en el wrapper */
}

/* Estilo EXCLUSIVO para los badges (Oferta, Agotado, etc) al lado del precio */
.uniderma-price-badge-wrapper .badge-container .badge-inner,
.uniderma-price-badge-wrapper .badge-container .onsale,
.uniderma-price-badge-wrapper .out-of-stock-label,
.uniderma-price-badge-wrapper .onsale,
.uniderma-price-badge-wrapper .uc-out-of-stock-badge {
    color: #ffffff !important;
    padding: 3px 8px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 4px !important;
    position: static !important;
    display: inline-block !important;
    height: auto !important;
    width: auto !important;
    margin: 2px 0 0 0 !important;
    /* Pequeño margen para alinear con el texto del precio */
    line-height: 1 !important;
    vertical-align: top !important;
}

/* Color específico para Agotado */
.uniderma-price-badge-wrapper .uc-out-of-stock-badge {
    background-color: #43515c !important;
}

/* Limpiar cualquier estilo circular o de relleno de Flatsome en la capa intermedia */
.uniderma-price-badge-wrapper .badge-container .callout.badge {
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    width: auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    display: inline-block !important;
}

/* Forzar ocultamiento del badge (sobreescribe los !important de Flatsome) */
.uniderma-hidden-badge {
    display: none !important;
}

/* Ocultar la descripción corta personalizada (tanto en summary como en descripción extendida) */
.single-product .short-description-custom {
    display: none !important;
}

/* Justificar los textos de descripción del producto (Corta, Extendida, Custom y Tabla de Especificaciones) */
.single-product .product-short-description,
.single-product .product-short-description p,
.single-product .woocommerce-Tabs-panel--description,
.single-product .woocommerce-Tabs-panel--description p,
.single-product .panel.entry-content,
.single-product .panel.entry-content p,
.single-product .product-page-sections,
.single-product .product-page-sections p,
.single-product .tab-panels .panel,
.single-product .tab-panels .panel p,
.single-product .full-description-custom,
.single-product .full-description-custom p,
.single-product .uniderma-extended-description p,
.single-product .product-specs-table td {
    text-align: justify !important;
}

.single-product .product-gallery .col.large-10 {
    margin-left: auto;
    margin-right: auto;
}

/* ── Botón Compartir: fila junto al Add to Cart ───────────────────── */
/* El botón se inyecta dentro de form.cart vía woocommerce_after_add_to_cart_button */
.single-product form.cart,
.single-product .woocommerce-variation-add-to-cart {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-bottom: 0 !important;
}

/* Evitar que el input de cantidad ocupe todo el ancho */
.single-product form.cart .quantity {
    flex-shrink: 0 !important;
    width: auto !important;
}

/* Evitar que el botón de añadir ocupe todo el ancho restante */
.single-product form.cart button[type="submit"],
.single-product form.cart .single_add_to_cart_button {
    flex-shrink: 0 !important;
}

/* ── Botón Compartir: mismo comportamiento flex que .ux-quantity / .single_add_to_cart_button ── */
/* Flatsome fuerza flex:1 1 100% en todos los hijos directos de form.cart.                        */
/* Esta regla sobreescribe eso para que el botón no ocupe una fila entera.                         */
form.cart .uni-share-wrapper {
    flex: 0 0 auto !important;
    margin: 0 0 0 auto !important;
    width: auto !important;
    align-self: center !important;
}

/* ── Wishlist (corazón) al lado del título — flex row ─────────────── */
/* Ambos elementos (h1 + .uni-wishlist-wrapper) son hijos del mismo div */
.uni-title-wishlist-row {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    margin-bottom: .5em !important;
}

.uni-title-wishlist-row h1.product_title {
    flex: 1 1 auto !important;
    margin-bottom: 0 !important;
    overflow: visible !important;
}

.uni-wishlist-wrapper {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    padding-top: .2em !important;
    /* alinear visualmente con la primera línea del título */
}

/* Ajuste del botón nativo del plugin TI Wishlist */
.uni-wishlist-wrapper .ti-wishlists-add-to {
    display: flex !important;
    align-items: center !important;
}

.uni-wishlist-wrapper a.add_to_wishlist,
.uni-wishlist-wrapper .ti-wishlists-add-to a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background-color: #f0f6fb !important;
    border: 1.5px solid #d0e8f7 !important;
    color: #5b96c8 !important;
    text-decoration: none !important;
    transition: background-color .2s ease, color .2s ease, transform .15s ease !important;
    font-size: 0 !important;
    line-height: 1 !important;
    padding: 0 !important;
}

.uni-wishlist-wrapper a.add_to_wishlist:hover,
.uni-wishlist-wrapper .ti-wishlists-add-to a:hover {
    background-color: #5b96c8 !important;
    color: #ffffff !important;
    border-color: #5b96c8 !important;
    transform: scale(1.1) !important;
}

.uni-wishlist-wrapper a.add_to_wishlist svg,
.uni-wishlist-wrapper .ti-wishlists-add-to a svg,
.uni-wishlist-wrapper a.add_to_wishlist .ti-heart,
.uni-wishlist-wrapper .ti-wishlists-add-to .ti-heart {
    width: 18px !important;
    height: 18px !important;
    font-size: 18px !important;
}