/**
Theme Name: Sin Dedal
Author: 2kSystems
Author URI: https://www.2ksystems.com/
Description: Tema hijo de Astra. Por 2kSystems
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sin-dedal
Template: astra
*/

/* =============================================
   1. VARIABLES GLOBALES
   ============================================= */
:root {
    --color-primario: #39312D;
    --color-secundario: #7C6E6A;
    --color-blanco: #FFFFFF;
    --fuente-titulos: 'Cormorant Garamond', serif;
    --fuente-texto: 'Plus Jakarta Sans', sans-serif;
    --radio-borde: 1rem;
    --borde-claro: 1px solid #e0d8d0;
    --borde-azul: 1px solid rgb(184, 197, 219);
    --radio-pildora: 3.125rem;
    --btn-padding: 0.75rem 2rem;
}

/* =============================================
   2. HEADER
   ============================================= */

.hero-inicio{
	background-color: #000 !important;
}

.site-header,
#masthead {
    position: absolute !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100% !important;
    z-index: 999 !important;
    box-shadow: none !important;
    border: none !important;
}

.main-header-bar-wrap,
.ast-desktop-header-wrap,
#ast-desktop-header,
.main-header-bar {
    box-shadow: none !important;
    border: none !important;
}

/* Base compartida */
.main-header-bar {
    background-color: rgba(255, 255, 255, 0.98) !important;
    border-radius: var(--radio-pildora) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transition: box-shadow 0.6s ease !important;
}

.main-header-bar.scrolled {
    box-shadow: 0 5px 24px 0 rgba(255, 255, 255, 0.98) !important;
}

/* Desktop */
#ast-desktop-header .main-header-bar {
    width: 95% !important;
    max-width: 1200px !important;
    margin-top: 1.25rem !important;
    margin-bottom: 1.25rem !important;
    padding: 0 3.125rem !important;
    min-height: 4.75rem !important;
}

#ast-desktop-header .main-header-bar .ast-builder-grid-row {
    min-height: 76px !important;
    align-items: center !important;
    margin: 0 !important;
}

/* Móvil */
#ast-mobile-header .main-header-bar {
    width: 92% !important;
    margin-top: 15px !important;
    margin-bottom: 15px !important;
    padding: 0 24px !important;
    min-height: 60px !important;
}

#ast-mobile-header .main-header-bar .ast-builder-grid-row {
    min-height: 60px !important;
    align-items: center !important;
}

/* Ocultar flecha de submenú */
.ast-menu-toggle,
.astra-menu-toggle,
li.menu-item-has-children > a .dropdown-menu-toggle {
    display: none !important;
}

/* Submenú desplegable */
.main-header-menu .sub-menu {
    padding: 15px;
    min-width: 270px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin-top: -1rem !important;
    border-radius: 15px !important;
    border: var(--borde-azul) !important;
    overflow: hidden !important;
    box-shadow: 0 5px 24px 0 rgba(255, 255, 255, 0.98) !important;
}

.main-header-menu .sub-menu li a {
    border-radius: 15px !important;
}

/* =============================================
   3. TARJETAS PRODUCTO Y ZOOM (Elementor)
   ============================================= */
.tarjeta-producto,
.zoom-card {
    overflow: hidden;
}

.tarjeta-producto .elementor-widget-image,
.zoom-card .elementor-widget-image {
    overflow: hidden;
    width: 100%;
}

.zoom-card .elementor-widget-image {
    border-radius: 10px;
}

/* Imagen base compartida */
.tarjeta-producto .elementor-widget-image img,
.zoom-card img,
.zoom-foto img {
    transition: transform 0.5s ease;
    width: 100%;
    display: block;
    object-fit: cover;
}

.tarjeta-producto .elementor-widget-image img {
    height: 15.625rem;
}

.zoom-card img,
.zoom-foto img {
    height: 100%;
}

/* Hover zoom */
.tarjeta-producto:hover .elementor-widget-image img,
.zoom-card:hover img,
.zoom-foto:hover img {
    transform: scale(1.1);
}

.zoom-card:hover img,
.zoom-foto:hover img {
    transform-origin: center;
}

/* Botón explorar hover */
.tarjeta-producto .elementor-button-icon {
    transition: transform 0.3s ease;
}

.tarjeta-producto .elementor-button-text {
    transition: color 0.3s ease;
}

.tarjeta-producto:hover .elementor-button-icon {
    transform: translateX(0.525rem);
}

.tarjeta-producto:hover .elementor-button-text {
    color: #000;
}

/* Zoom Foto Hover Overlay */
.zoom-foto {
    position: relative;
}

.zoom-foto::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.1);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: 1;
}

.zoom-foto:hover::after {
    opacity: 0.5;
}

/* =============================================
   4. MENÚ OFF-CANVAS - CATEGORÍAS
   ============================================= */
.menu-item-629 .ast-icon.icon-arrow,
.menu-item-629 .ast-menu-toggle {
    display: none !important;
}

li.menu-item-629 {
    background-color: transparent !important;
}

li.menu-item-629 > a.menu-link {
    pointer-events: auto !important; 
    cursor: default !important;
    text-transform: uppercase !important;
    color: #999 !important;
    font-weight: 600 !important;
    border-top: var(--borde-claro) !important;
    margin-bottom: 0 !important;
    /* Añadimos una transición suave si lo deseas */
    transition: all 0.3s ease !important;
}

/* 1. FORZAMOS QUE EL ENLACE DE CATEGORÍAS NUNCA TENGA HOVER */
li.menu-item-629 > a.menu-link:hover,
.main-header-menu li.menu-item-629 > a.menu-link:hover {
    background-color: transparent !important;
    color: #999 !important;
}

.menu-item-629 > .sub-menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    position: static !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    min-width: unset !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    overflow: visible !important;
    animation: astra-height-fix 0s forwards !important;
}

@keyframes astra-height-fix {
    to {
        height: auto !important;
        max-height: none !important;
    }
}

.menu-item-629 {
    display: flex !important;
    margin-bottom: 0 !important;
    gap: 0;
}

.menu-item-629 > .sub-menu > li {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.menu-item-629 > .sub-menu > li > a {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-weight: 400 !important;
    border-top: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

li.menu-item-629 > a.menu-link .menu-text {
    font-family: var(--fuente-texto) !important;
    font-size: 0.75rem !important;
    color: var(--color-secundario) !important;
    margin: 0 0 0.75rem !important;
    letter-spacing: 1.2px;
}

/* 2. Aplicamos el fondo y border-radius a los sub-elementos de forma individual */
.menu-item-629 > .sub-menu > li > a:hover {
    background-color: #EAF8CE !important;
    border-radius: 15px !important; 
}

li#menu-item-636 {
    border-top: var(--borde-claro) !important;
}

li#menu-item-636 > a {
    font-family: var(--fuente-texto) !important;
    font-size: .875rem;
    color: #39312DB2;
}

/* Ancho del panel off-canvas */
@media (min-width: 768px) and (max-width: 1024px) {
    .ast-mobile-popup-drawer .ast-mobile-popup-inner {
        width: 45% !important;
    }
}

@media (max-width: 767px) {
    .ast-mobile-popup-drawer .ast-mobile-popup-inner {
        width: 70% !important;
    }
}

/* Menú en móviles y tabletas */
@media (max-width: 1024px) {
    
    .menu-item-629 > .sub-menu > li > a {
        line-height: 1.5 !important;
    }
    
    /* MODIFICACIÓN CLAVE: Excluimos a Categorías (.menu-item-629) de esta regla general */
    .main-header-menu > .menu-item:not(.menu-item-629) > a.menu-link:hover {
        background-color: #EAF8CE !important;
        border-radius: 15px !important;
    }

    /* Si un elemento de menú tiene un submenú en estado hover/activo, quitamos el estilo al enlace padre */
    .menu-item:has(.sub-menu:hover) > a,
    .menu-item:has(.sub-menu:active) > a {
        background-color: transparent !important;
        color: inherit !important;
    }

    .sd-offcanvas-titulo {
        width: 100% !important;
        padding: 0 1.5rem !important;
        text-align: left !important;
    }

    .sd-offcanvas-titulo h2 {
        font-family: var(--fuente-titulos) !important;
        font-size: 1.25rem !important;
        color: var(--color-primario) !important;
        font-weight: 600 !important;
        margin: 0 !important;
    }

    .main-header-menu .sub-menu {
        padding: 0 !important;
    }

    .main-header-menu .menu-item {
        justify-content: left !important;
    }

    /* Padding general del menú */
    .main-header-menu {
        padding: 1.5rem !important;
    }

    /* Enlaces elementos principales */
    .main-header-menu > .menu-item > a.menu-link {
        padding: 0.75rem 1rem !important;
        display: flex !important;
        align-items: center !important;
        height: auto !important;
        line-height: 1.625 !important;
    }

    /* Enlaces subelementos */
    .menu-item-629 > .sub-menu > li > a {
        padding: 0.625rem 1rem !important;
        color: #39312db2 !important;
    }
    
    li#menu-item-629, li#menu-item-636{
        margin-top:1rem !important;
        padding-top:1rem !important;
    }
}

@media (max-width: 767px) {
    .sd-offcanvas-titulo h2 {
        text-align: center !important;
    }
}

/* =============================================
   5. WPFORMS
   ============================================= */
.wpforms-title {
    display: none;
}

.wpforms-field-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-template-areas:
        "nombre email"
        "producto producto"
        "mensaje mensaje"
        "rgpd rgpd"
        "boton boton" !important;
    gap: 0 4% !important;
}

#wpforms-697-field_1-container { grid-area: nombre !important; }
#wpforms-697-field_3-container { grid-area: email !important; }
#wpforms-697-field_5-container { grid-area: producto !important; }
#wpforms-697-field_4-container { grid-area: mensaje !important; }
#wpforms-697-field_6-container { grid-area: rgpd !important; }
#wpforms-697-field_7-container { display: none !important; }
.wpforms-submit-container       { grid-column: 1 / -1 !important; }

#wpforms-form-697 input.wpforms-field-medium,
#wpforms-form-697 input.wpforms-field-large,
#wpforms-form-697 input[type="text"],
#wpforms-form-697 input[type="email"],
#wpforms-form-697 textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

#wpforms-form-697 .wpforms-submit {
    display: inline-flex !important;
    align-items: center !important;
}

#wpforms-form-697 .wpforms-submit::before {
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    content: "\f1d8" !important;
    margin-right: 15px !important;
}

#wpforms-form-697 .wpforms-field-gdpr-checkbox ul li,
#wpforms-form-697 .wpforms-field-gdpr-checkbox ul li input + label,
#wpforms-form-697 .wpforms-field-gdpr-checkbox ul li label {
    padding-inline-start: 0 !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* Texto RGPD */
.wpforms-field-label-inline {
    font-family: var(--fuente-texto) !important;
    font-size: 0.875rem !important;
    color: var(--color-secundario) !important;
}

.wpforms-field-label-inline a,
.wpforms-field-label-inline a[style] {
    font-family: var(--fuente-texto) !important;
    font-size: 0.875rem !important;
    color: var(--color-primario) !important;
    text-decoration: underline !important;
}

.elementor-widget-text-editor p:last-child {
    margin-bottom: 0 !important;
}

@media (max-width: 48rem) {
    #wpforms-form-697 .wpforms-field-container {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "nombre"
            "email"
            "producto"
            "mensaje"
            "rgpd"
            "boton" !important;
        gap: 0 !important;
    }
}

/* =============================================
   6. WOOCOMMERCE GENERAL
   ============================================= */
.woocommerce ul.products li.product .button.add_to_cart_button,
.contenedor-solo-tienda,
.term-merceria .contenedor-solo-tienda,
.term-description,
.tax-product_cat.term-merceria .woocommerce-info {
    display: none !important;
}

.tax-product_cat .contenedor-solo-tienda {
    display: block !important;
}

.capa-texto-hover {
    pointer-events: none !important;
}

/* Contenedor WooCommerce */

.woocommerce-page.woocommerce-shop .ast-container{
    max-width: 1140px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 2.5rem !important;
    padding-right: 3rem !important;
}

@media (max-width: 487px) {
    .woocommerce-page.woocommerce-shop .ast-container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

.woocommerce-js ul.products li.product a img, .woocommerce-page ul.products li.product a img{
	border-radius: 12px
}

/* Título tienda */
.woocommerce-shop .woocommerce-products-header__title.page-title {
    visibility: hidden;
    position: relative;
    margin-top: 2rem;
}

.woocommerce-shop .woocommerce-products-header__title.page-title::after {
    content: "Todos los productos";
    visibility: visible;
    position: absolute;
    left: 0;
    color: var(--color-primario);
    font-family: var(--fuente-titulos);
    font-weight: 500;
    font-size: 1.875rem;
}

.tax-product_cat .woocommerce-products-header__title.page-title {
    display: none;
}

.woocommerce ul.products {
    margin-top: 2rem;
}

.elementor-button .elementor-button-icon svg {
    width: 0.75rem;
    height: 0.75rem;
}

@media (max-width: 1024px) {
    .site-content,
    .elementor-452 .elementor-element.elementor-element-6428433a {
        background-color: #FFF7F0 !important;
    }
}

/* =============================================
   7. WOOCOMMERCE - FICHA DE PRODUCTO
   ============================================= */
.single-product .product_title.entry-title {
    visibility: visible !important;
    display: block !important;
    opacity: 1 !important;
}

.single-product .elementor-shortcode {
    font-family: var(--fuente-titulos);
    font-size: 3rem;
    font-weight: 500;
    color: var(--color-primario);
}

/* Layout flex producto */
div.ast-article-single.type-product {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 2rem !important;
}

/* Imágenes y resumen: 100% en móvil, 50% en tablet+ */
.woocommerce #content .ast-woocommerce-container div.product div.images,
.woocommerce .ast-woocommerce-container div.product div.images,
.woocommerce #content .ast-woocommerce-container div.product div.summary,
.woocommerce .ast-woocommerce-container div.product div.summary {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.woocommerce #content .ast-woocommerce-container div.product section.related.products,
.woocommerce .ast-woocommerce-container div.product section.related.products {
    width: 100% !important;
    margin-top: 2rem !important;
}

@media (min-width: 768px) {
    div.ast-article-single.type-product { gap: 3rem !important; }

    .woocommerce #content .ast-woocommerce-container div.product div.images,
    .woocommerce .ast-woocommerce-container div.product div.images,
    .woocommerce #content .ast-woocommerce-container div.product div.summary,
    .woocommerce .ast-woocommerce-container div.product div.summary {
        width: calc(50% - 1.5rem) !important;
    }
}

@media (min-width: 1024px) {
    div.ast-article-single.type-product { gap: 4rem !important; }

    .woocommerce #content .ast-woocommerce-container div.product div.images,
    .woocommerce .ast-woocommerce-container div.product div.images,
    .woocommerce #content .ast-woocommerce-container div.product div.summary,
    .woocommerce .ast-woocommerce-container div.product div.summary {
        width: calc(50% - 2rem) !important;
    }

    body.single-product .site-content > .ast-container,
    div.ast-article-single.product {
        max-width: 1200px !important;
    }

    div.ast-article-single.product {
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Tipografía interna producto */
.ast-article-single .product_title {
    font-family: var(--fuente-titulos);
    font-size: 1.875rem;
    color: var(--color-primario);
    font-weight: 600;
    margin-top: 1rem;
    margin-bottom: 0;
    line-height: 1.2;
}

.ast-article-single div.product p.price,
.ast-article-single div.product span.price {
    font-family: var(--fuente-texto);
    font-size: 1.25rem;
    color: rgba(57, 49, 45, 0.8);
    font-weight: 500;
    margin-top: 0.5rem;
    margin-bottom: 0;
    display: block;
}

.ast-article-single .woocommerce-product-details__short-description {
    font-family: var(--fuente-texto);
    font-size: 1rem;
    color: var(--color-secundario);
    line-height: 1.625;
    margin-top: 1rem;
}

/* =============================================
   8. WOOCOMMERCE - GALERÍA DE PRODUCTOS
   ============================================= */

/* Grid base: 4 columnas desktop */
.ast-container .woocommerce ul.products:not(.elementor-grid),
.woocommerce-page ul.products:not(.elementor-grid),
.woocommerce.mobile-columns-1 ul.products:not(.elementor-grid),
.woocommerce-page.mobile-columns-1 ul.products:not(.elementor-grid) {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 1.5rem !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

/* Tablet: 3 columnas */
@media (min-width: 768px) and (max-width: 1024px) {
    .ast-container .woocommerce ul.products:not(.elementor-grid),
    .woocommerce-page ul.products:not(.elementor-grid),
    .woocommerce.mobile-columns-1 ul.products:not(.elementor-grid),
    .woocommerce-page.mobile-columns-1 ul.products:not(.elementor-grid) {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 1rem !important;
    }
}

/* Móvil: 2 columnas */
@media (max-width: 767px) {
    .ast-container .woocommerce ul.products:not(.elementor-grid),
    .woocommerce-page ul.products:not(.elementor-grid),
    .woocommerce.mobile-columns-1 ul.products:not(.elementor-grid),
    .woocommerce-page.mobile-columns-1 ul.products:not(.elementor-grid) {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 0.75rem !important;
    }
}

.ast-container .woocommerce ul.products:not(.elementor-grid) li.product,
.woocommerce-page ul.products:not(.elementor-grid) li.product {
    width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

/* Imágenes con bordes redondeados */
.woocommerce-product-gallery__image img,
.woocommerce ul.products li.product img {
    border-radius: var(--radio-borde);
}

/* Imagen principal galería producto: ratio 4/5 */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
    border-radius: var(--radio-borde) !important;
    overflow: hidden !important;
    aspect-ratio: 4 / 5 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image img,
.woocommerce div.product div.images .woocommerce-product-gallery__image .zoomImg {
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    width: 100% !important;
    border-radius: var(--radio-borde) !important;
}

/* Miniaturas galería: ratio 4/5 */
.woocommerce div.product div.images .flex-control-thumbs li {
    overflow: hidden !important;
    border-radius: 0.5rem !important;
    aspect-ratio: 4 / 5 !important;
}

.woocommerce div.product div.images .flex-control-thumbs li img {
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 0.5rem !important;
    display: block !important;
}

/* =============================================
   9. YITH REQUEST A QUOTE - BOTONES EN PRODUCTO
   ============================================= */

/* Icono SVG de chat compartido (usado en ::before del botón YITH) */
:root {
    --icon-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'%3E%3C/path%3E%3C/svg%3E") no-repeat center;
}

.btn-whatsapp-sin-dedal.button {
    clear: none !important;
    vertical-align: middle !important;
}

.yith-ywraq-add-to-quote a.button {
    font-family: var(--fuente-texto) !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
    text-transform: none !important;
    border: var(--borde-azul) !important;
    border-radius: var(--radio-pildora) !important;
    padding: var(--btn-padding) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.2 !important;
    background-color: transparent !important;
    color: var(--color-primario) !important;
    text-decoration: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.yith-ywraq-add-to-quote a.button::before {
    content: "";
    display: inline-block;
    width: 1.125rem;
    height: 1.125rem;
    margin-right: 0.6rem;
    background-color: var(--color-primario);
    -webkit-mask: var(--icon-chat);
    mask: var(--icon-chat);
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Contenedor YITH */
div.yith-ywraq-add-to-quote {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    clear: none !important;
    width: 100% !important;
    vertical-align: middle !important;
    margin-bottom: 2rem !important;
    box-sizing: border-box !important;
}

.yith-ywraq-add-to-quote .yith-ywraq-add-button {
    display: flex !important;
    clear: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Ocultar Ajax Loader */
.yith-ywraq-add-to-quote .ajax-loader,
.yith-ywraq-add-to-quote img {
    position: absolute !important;
    visibility: hidden !important;
}

/* Mensajes de éxito YITH */
.yith-ywraq-add-to-quote [class*="yith_ywraq_add_item_browse-list"],
.yith-ywraq-add-to-quote .yith_ywraq_add_item_response_message,
.yith-ywraq-add-to-quote .yith_ywraq_add_item_browse_message,
.yith_ywraq_add_item_browse_message {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-top: 1rem !important;
    font-family: var(--fuente-texto) !important;
    font-size: 1rem !important;
    color: var(--color-secundario) !important;
    line-height: 1.5 !important;
}

/* Enlace "Explorar la lista" */
.yith-ywraq-add-to-quote [class*="yith_ywraq_add_item_browse-list"] a,
.yith-ywraq-add-to-quote .yith_ywraq_add_item_response_message a,
.yith-ywraq-add-to-quote .yith_ywraq_add_item_browse_message a,
.yith_ywraq_add_item_browse_message a {
    display: block !important;
    font-family: var(--fuente-texto) !important;
    font-size: 1rem !important;
    color: var(--color-primario) !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    margin-top: 0.5rem !important;
}

/* =============================================
   10. YITH REQUEST A QUOTE - PÁGINA FORMULARIO
   ============================================= */

/* Selectores base YITH compartidos — usados en todo el bloque */
body .ywraq-wrapper,
body .yith-ywraq-request-quote-page {
    font-family: var(--fuente-texto) !important;
    font-size: 1rem !important;
    color: var(--color-secundario) !important;
}

body .ywraq-wrapper h2,
body .ywraq-wrapper h3,
body .ywraq_form h3,
body .yith-ywraq-request-quote-page h2,
body .yith-ywraq-request-quote-page h3 {
    font-family: var(--fuente-titulos) !important;
    font-size: 1.5rem !important;
    color: var(--color-primario) !important;
    font-weight: 600 !important;
}

body .ywraq-wrapper .form-row,
body .yith-ywraq-request-quote-page .form-row {
    margin-bottom: 0.75rem !important;
    padding: 0 !important;
}

body .ywraq-wrapper .form-row label,
body .yith-ywraq-request-quote-page .form-row label {
    display: block !important;
    position: relative !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
    font-family: var(--fuente-texto) !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: var(--color-primario) !important;
    margin-bottom: 0.25rem !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Inputs YITH */
body .ywraq-wrapper input[type="text"],
body .ywraq-wrapper input[type="email"],
body .ywraq-wrapper input[type="tel"],
body .ywraq-wrapper textarea,
body .yith-ywraq-request-quote-page input[type="text"],
body .yith-ywraq-request-quote-page input[type="email"],
body .yith-ywraq-request-quote-page input[type="tel"],
body .yith-ywraq-request-quote-page textarea {
    background-color: var(--color-blanco) !important;
    color: var(--color-secundario) !important;
    border-radius: var(--radio-borde) !important;
    border: var(--borde-claro) !important;
    padding: 1rem 1.5rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 0 !important;
}

body .ywraq-wrapper textarea,
body .yith-ywraq-request-quote-page textarea {
    margin-bottom: 1rem !important;
}

body .ywraq-wrapper input::placeholder,
body .ywraq-wrapper textarea::placeholder,
body .yith-ywraq-request-quote-page input::placeholder,
body .yith-ywraq-request-quote-page textarea::placeholder {
    color: var(--color-secundario) !important;
    opacity: 0.7 !important;
}

/* Botones YITH */
body .ywraq-wrapper .button,
body .ywraq-wrapper input[type="submit"],
body .ywraq-wrapper button[type="submit"],
body .yith-ywraq-request-quote-page .button,
body .yith-ywraq-request-quote-page input[type="submit"],
body .yith-ywraq-request-quote-page button[type="submit"] {
    background-color: var(--color-secundario) !important;
    color: var(--color-blanco) !important;
    border-radius: var(--radio-pildora) !important;
    padding: var(--btn-padding) !important;
    border: none !important;
    font-weight: 500 !important;
    text-transform: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    transition: background-color 0.3s ease !important;
}

body .ywraq-wrapper .button:hover,
body .ywraq-wrapper input[type="submit"]:hover,
body .ywraq-wrapper button[type="submit"]:hover,
body .yith-ywraq-request-quote-page .button:hover,
body .yith-ywraq-request-quote-page input[type="submit"]:hover,
body .yith-ywraq-request-quote-page button[type="submit"]:hover {
    background-color: var(--color-primario) !important;
}

/* Tabla YITH */
body .ywraq-wrapper table.shop_table,
body .yith-ywraq-request-quote-page table.shop_table {
    border-collapse: collapse !important;
    border: none !important;
    width: 100% !important;
    margin-bottom: 2rem !important;
}

body .ywraq-wrapper table.shop_table th,
body .ywraq-wrapper table.shop_table td,
body .yith-ywraq-request-quote-page table.shop_table th,
body .yith-ywraq-request-quote-page table.shop_table td {
    border: none !important;
    border-bottom: var(--borde-claro) !important;
    padding: 1rem !important;
    vertical-align: middle !important;
}

body .ywraq-wrapper table.shop_table th,
body .yith-ywraq-request-quote-page table.shop_table th {
    color: var(--color-primario) !important;
    font-weight: 600 !important;
    text-align: left !important;
}

body .ywraq-wrapper table.shop_table td.product-name a,
body .yith-ywraq-request-quote-page table.shop_table td.product-name a {
    color: var(--color-primario) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* =============================================
   11. AJUSTES ESPECÍFICOS
   ============================================= */
div.mt-4.border-t a[href="/faq"] {
    color: #39312DB2 !important;
}

/* =============================================
   12. YITH PRODUCT ADDONS: Estilos
   ============================================= */
/* Plus Jakarta Sans global */
.yith-wapo-addon input,
.yith-wapo-addon select,
.yith-wapo-addon textarea,
.yith-wapo-addon label,
.yith-wapo-addon .addon-name,
.yith-wapo-addon .addon-description,
.yith-wapo-addon .addon-price,
.yith-wapo-addon .description,
.yith-wapo-addon-type-radio .addon-header .wapo-addon-title,
.ast-stock-detail,
.single_add_to_cart_button {
  font-family: var(--fuente-texto) !important;
}

/* Border radius 16px */
.yith-wapo-addon input[type="text"],
.yith-wapo-addon input[type="number"],
.yith-wapo-addon input[type="email"],
.yith-wapo-addon input[type="date"],
.yith-wapo-addon select,
.yith-wapo-addon textarea,
.yith-wapo-addon .addon-option-container,
.yith-wapo-addon .yith-wapo-addon-option {
  border-radius: 16px !important;
}

/* Títulos de bloque: ocultos por defecto, visibles en radio */
.wapo-addon-title,
.all {
  display: none !important;
}

.yith-wapo-addon-type-radio .addon-header .wapo-addon-title {
  display: block !important;
  font-size: 1rem !important;
  padding-bottom: 0.75rem !important;
}