/* =====================================================
   MODAL BÚSQUEDA PERSONALIZADA
   ===================================================== */

body.search-modal-open {
    overflow: hidden;
}

.custom-search-modal {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
    z-index: 9999999;
}

.custom-search-modal.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.custom-search-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}

.custom-search-modal__dialog {
    position: relative;
    max-width: 640px;
    width: calc(100% - 40px);
    background: rgba(255, 250, 245, 0.95);
    border-radius: 26px;
    padding: 56px 48px 44px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.18);
    z-index: 1;
    font-family: 'Inter', sans-serif;
}

.custom-search-modal__close {
    position: absolute;
    top: 18px;
    right: 18px;
    background: transparent;
    border: none;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.custom-search-modal__header {
    margin-bottom: 24px;
}

.custom-search-modal__eyebrow {
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0 0 6px;
    color: #b29982;
}

.custom-search-modal__header h3 {
    margin: 0;
    font-size: 32px;
    font-family: 'Cormorant Garamond', serif;
    letter-spacing: 1px;
}

.custom-search-modal__dialog,
.custom-search-modal__status,
.custom-search-result__meta,
.custom-search-result__tags {
    font-family: 'Inter', sans-serif;
}

.custom-search-form {
    display: flex;
    gap: 12px;
    margin-bottom: 14px;
}

.custom-search-form input {
    flex: 1;
    border: 1px solid #d9cfc5;
    border-radius: 12px;
    padding: 14px 16px;
    font-size: 15px;
    background: #fff;
}

.custom-search-form button {
    border: 1px solid #000;
    border-radius: 12px;
    background: transparent;
    color: #000;
    padding: 0 32px;
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    cursor: pointer;
    transition: all 0.25s ease;
}

.custom-search-form button:hover,
.custom-search-form button:focus {
    background: #000;
    color: #fff;
}

.custom-search-modal__status {
    font-size: 13px;
    margin-bottom: 18px;
    color: #7b6a59;
}

.custom-search-results {
    max-height: 420px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.custom-search-result {
    border: 1px solid #f0e6dd;
    border-radius: 14px;
    padding: 12px;
    background: #fff;
}

.custom-search-result__link {
    display: flex;
    gap: 14px;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

.custom-search-result figure {
    margin: 0;
    width: 90px;
    height: 110px;
    overflow: hidden;
    border-radius: 10px;
}

.custom-search-result figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.custom-search-result__body h4 {
    margin: 0 0 4px;
    font-size: 17px;
    font-family: 'Cormorant Garamond', serif;
}

.custom-search-result__meta,
.custom-search-result__tags {
    margin: 0;
    font-size: 13px;
    color: #7b6a59;
}

@media (max-width: 580px) {
    .custom-search-modal__dialog {
        padding: 40px 26px 28px;
    }

    .custom-search-form {
        flex-direction: column;
    }

    .custom-search-form button {
        width: 100%;
        padding: 14px;
    }

    .custom-search-result__link {
        flex-direction: column;
        align-items: flex-start;
    }

    .custom-search-result figure {
        width: 100%;
        height: 200px;
    }
}

@media (max-width: 767px) {
    .elementor-widget-text-editor p[style*="text-align: right"] {
        text-align: left !important;
    }
}

/*
    Theme Name:   Trousseau Child
    Theme URI:    https://example.com/trousseau-child/
    Description:  Tema hijo de Trousseau para Boutique de Novias
    Author:       Arroxium
    Author URI:   https://arroxium.com.ar
    Template:     trousseau
    Version:      1.9.8
    License:      GNU General Public License v2 or later
    License URI:  http://www.gnu.org/licenses/gpl-2.0.html
    Text Domain:  trousseau-child
    */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&display=swap');

/* 
    * Aquí puedes agregar tus estilos personalizados
    * Estos estilos sobrescribirán los del tema padre
    */

/* ===================================
    TIPOGRAFÍAS PERSONALIZADAS
    =================================== */

/* Cargar Hatton desde archivos locales */
@font-face {
    font-family: 'Hatton';
    src: url('fonts/hatton-font-family/PP Hatton Ultralight 200.otf') format('opentype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hatton';
    src: url('fonts/hatton-font-family/PP Hatton Medium 500.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Hatton';
    src: url('fonts/hatton-font-family/PP Hatton Bold 700.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Cargar Gistesy (fuente script/cursiva) */
@font-face {
    font-family: 'Gistesy';
    src: url('fonts/gistesy/Gistesy.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

/* ===================================
    APLICAR TIPOGRAFÍAS A TODO EL SITIO
    =================================== */

/* Cargar Cormorant Garamond desde Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&display=swap');

/* TÍTULOS - Cormorant Garamond */
h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title,
.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-heading h4,
.elementor-widget-heading h5,
.elementor-widget-heading h6,
.woocommerce-loop-product__title,
.product_title,
.entry-title,
.qodef-page-title,
.widget-title,
.widgettitle,
.category-title {
    font-family: 'Cormorant Garamond', Georgia, serif !important;
}

/* FORZAR VISIBILIDAD DE H3 */
h3 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: inherit !important;
    line-height: inherit !important;
}

/* PÁRRAFOS Y TEXTO GENERAL - Inter */
body,
p,
.elementor-widget-text-editor,
.elementor-text-editor,
a,
span,
div,
li,
.woocommerce-product-details__short-description,
.product-description,
.entry-content,
.elementor-widget-theme-post-content,
input,
textarea,
select,
button,
.button,
.btn {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
}

/* Asegurar que Elementor use las fuentes correctas */
.elementor-widget-container {
    font-family: 'Inter', sans-serif !important;
}

.elementor-heading-title {
    font-family: 'Hatton', Georgia, serif !important;
}

/* WooCommerce - Aplicar fuentes */
.woocommerce .product .product_title {
    font-family: 'Hatton', Georgia, serif !important;
}

.woocommerce .product .woocommerce-product-details__short-description,
.woocommerce .product .price,
.woocommerce .product .woocommerce-tabs,
.woocommerce .product .related h2 {
    font-family: 'Inter', sans-serif !important;
}

/* Menú de navegación */
.elementor-nav-menu a,
.custom-mobile-nav a,
nav a {
    font-family: 'Inter', sans-serif !important;
}

/* ===================================
    FUENTE GISTESY - Para textos especiales
    =================================== */

/* Clase para aplicar Gistesy (úsala en Elementor o con clase CSS) */
.gistesy-font,
.font-gistesy,
.gistesy-font .elementor-heading-title,
.font-gistesy .elementor-heading-title {
    font-family: 'Gistesy', cursive !important;
}

/* Si quieres aplicar Gistesy a un elemento específico del video hero */
/* Agrega el ID o clase del elemento de Elementor aquí */

/* ===================================
    HEADER DE ROYAL ADDONS SOBRE BANNER
    =================================== */

/* CRM Errors Styling */

/* ===================================
    ESTILOS ESPECÍFICOS BANNER HOME (Gistesy)
    =================================== */

/* Escritorio (Base) */
.elementor-11919 .elementor-element.elementor-element-e936bcb .elementor-heading-title {
    font-family: 'Gistesy', cursive !important;
    font-size: 62px !important;
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.5));
    line-height: 1.2;
}

/* Tablet (max-width 1024px) */
@media (max-width: 1024px) {
    .elementor-11919 .elementor-element.elementor-element-e936bcb .elementor-heading-title {
        font-size: 52px !important;
    }
}

/* Móvil (max-width 767px) */
@media (max-width: 767px) {
    .elementor-11919 .elementor-element.elementor-element-e936bcb .elementor-heading-title {
        font-size: 42px !important;
        filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.5));
        /* Sombra ajustada para móvil */
    }
}

/* ===================================
    CORRECCIÓN LAYOUT WOOCOMMERCE
    =================================== */

/* Asegurar que el contenedor de productos use flexbox y esté centrado */
.qodef-woo-product-list ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    padding: 0 15px !important;
}

/* Corregir el ancho de los productos en 3 columnas */
.qodef-woo-product-list ul.products.columns-3>.product {
    width: calc(33.33333% - 30px) !important;
    margin: 0 15px 40px 15px !important;
    padding: 0 !important;
    flex: 0 0 calc(33.33333% - 30px) !important;
}

/* Responsive - Tablet */
@media (max-width: 1024px) {
    .qodef-woo-product-list ul.products.columns-3>.product {
        width: calc(50% - 30px) !important;
        flex: 0 0 calc(50% - 30px) !important;
    }
}

/* Responsive - Móvil */
@media (max-width: 767px) {
    .qodef-woo-product-list ul.products.columns-3>.product {
        width: calc(100% - 30px) !important;
        flex: 0 0 calc(100% - 30px) !important;
        margin: 0 15px 30px 15px !important;
    }
}

/* Asegurar que las imágenes de productos mantengan su proporción */
.qodef-woo-product-list .qodef-woo-product-image {
    width: 100% !important;
    max-width: 100% !important;
}

.qodef-woo-product-list .qodef-woo-product-image img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

/* Centrar el contenido del producto */
.qodef-woo-product-list .qodef-woo-product-content {
    text-align: center !important;
    padding-top: 15px !important;
}

/* ===================================
    ESTILO DE PRODUCTOS EN CATEGORÍAS/TIENDA
    =================================== */

/* OCULTAR VISUALMENTE EL OVERLAY pero mantenerlo en el DOM para JavaScript */
.woocommerce ul.products li.product .qodef-woo-product-image-inner-holder,
.qodef-woo-product-image-inner-holder,
.woocommerce ul.products li.product:hover .qodef-woo-product-image-inner-holder,
.woocommerce ul.products li.product .qodef-woo-product-image-inner,
.woocommerce ul.products li.product:hover .qodef-woo-product-image-inner {
    position: absolute !important;
    left: -9999px !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

/* Ocultar título y elementos que aparecen sobre la imagen */
.woocommerce ul.products li.product .qodef-woo-product-image h2,
.woocommerce ul.products li.product .qodef-woo-product-image h3,
.woocommerce ul.products li.product .qodef-woo-product-image .woocommerce-loop-product__title {
    display: none !important;
}

/* Contenedor del producto */
.woocommerce ul.products li.product,
ul.products li.product {
    position: relative !important;
}

/* Contenedor de contenido DEBAJO de la imagen - SIEMPRE VISIBLE */
.woocommerce ul.products li.product .qodef-woo-product-content,
ul.products li.product .qodef-woo-product-content {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 15px 0 !important;
    background: #fff !important;
    position: relative !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* FORZAR que el contenido sea visible siempre (no solo en hover) */
.woocommerce ul.products li.product .qodef-woo-product-content,
.woocommerce ul.products li.product:hover .qodef-woo-product-content {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
}

/* Título del producto - SIEMPRE VISIBLE, a la izquierda, en negro */
.woocommerce ul.products li.product .qodef-woo-product-content .woocommerce-loop-product__title,
.woocommerce ul.products li.product .qodef-woo-product-content h2,
.woocommerce ul.products li.product .qodef-woo-product-content h3,
ul.products li.product .qodef-woo-product-content .woocommerce-loop-product__title,
ul.products li.product .qodef-woo-product-content h2,
ul.products li.product .qodef-woo-product-content h3 {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    margin: 0 !important;
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: #000 !important;
    text-align: left !important;
    flex: 1 !important;
}

/* Botón de favoritos - SIEMPRE VISIBLE, a la derecha */
.woocommerce ul.products li.product .qodef-woo-product-content .tinvwl_add_to_wishlist_button,
.woocommerce ul.products li.product .qodef-woo-product-content .yith-wcwl-add-to-wishlist,
.woocommerce ul.products li.product .qodef-woo-product-content .add_to_wishlist,
.woocommerce ul.products li.product .qodef-woo-product-content .qodef-wishlist-widget-holder,
ul.products li.product .qodef-woo-product-content .tinvwl_add_to_wishlist_button,
ul.products li.product .qodef-woo-product-content .yith-wcwl-add-to-wishlist,
ul.products li.product .qodef-woo-product-content .add_to_wishlist,
ul.products li.product .qodef-woo-product-content .qodef-wishlist-widget-holder,
.custom-wishlist-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 10 !important;
    /* Asegurar que esté por encima de enlaces */
    margin: 0 !important;
    margin-left: 15px !important;
    pointer-events: auto !important;
    /* Asegurar que capture clicks */
}

/* ESTADOS DEL WISHLIST - Por defecto mostrar corazón vacío */
.custom-wishlist-wrapper .custom-wishlist-normal {
    display: block !important;
}

.custom-wishlist-wrapper .custom-wishlist-added {
    display: none !important;
}

/* ESTADOS DEL WISHLIST - Cuando está en la lista, mostrar corazón lleno + Ver Lista */
.custom-wishlist-wrapper.in-wishlist .custom-wishlist-normal {
    display: none !important;
}

.custom-wishlist-wrapper.in-wishlist .custom-wishlist-added {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Estilos para el botón de corazón vacío */
.custom-wishlist-btn {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: opacity 0.3s ease !important;
    pointer-events: auto !important;
    /* Asegurar que captura clicks */
}

.custom-wishlist-btn:hover {
    opacity: 0.6 !important;
}

.custom-wishlist-btn svg {
    width: 20px !important;
    height: 20px !important;
    stroke: #000 !important;
    fill: none !important;
}

/* Estilos para el estado activo (en wishlist) */
.custom-wishlist-added a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #000 !important;
    transition: opacity 0.3s ease !important;
}

.custom-wishlist-added a:hover {
    opacity: 0.6 !important;
}

.custom-wishlist-added a::before {
    content: '♥' !important;
    font-size: 20px !important;
    color: #000 !important;
}

/* Estilo del ícono de corazón - SIN BORDE */
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button a,
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a,
.woocommerce ul.products li.product .add_to_wishlist,
ul.products li.product .tinvwl_add_to_wishlist_button a,
ul.products li.product .yith-wcwl-add-to-wishlist a,
ul.products li.product .add_to_wishlist,
.woocommerce ul.products li.product .qodef-wishlist-widget-holder a,
ul.products li.product .qodef-wishlist-widget-holder a {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    width: auto !important;
    height: auto !important;
    min-width: auto !important;
    min-height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    color: #000 !important;
}

/* Ícono dentro del corazón */
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button a i,
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a i,
.woocommerce ul.products li.product .add_to_wishlist i,
.woocommerce ul.products li.product .qodef-wishlist-widget-holder a i {
    color: #000 !important;
    font-size: 16px !important;
}

/* Hover del corazón */
.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button a:hover,
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a:hover,
.woocommerce ul.products li.product .add_to_wishlist:hover,
ul.products li.product .tinvwl_add_to_wishlist_button a:hover,
ul.products li.product .yith-wcwl-add-to-wishlist a:hover,
ul.products li.product .add_to_wishlist:hover,
.woocommerce ul.products li.product .qodef-wishlist-widget-holder a:hover {
    opacity: 0.6 !important;
}

.woocommerce ul.products li.product .tinvwl_add_to_wishlist_button a:hover i,
.woocommerce ul.products li.product .yith-wcwl-add-to-wishlist a:hover i,
.woocommerce ul.products li.product .add_to_wishlist:hover i,
.woocommerce ul.products li.product .qodef-wishlist-widget-holder a:hover i {
    color: #fff !important;
}

/* Ocultar botones y elementos no deseados */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
ul.products li.product .button,
ul.products li.product .add_to_cart_button {
    display: none !important;
}

/* Ocultar precio */
.woocommerce ul.products li.product .price,
ul.products li.product .price {
    display: none !important;
}

/* ===================================
    ASEGURAR VISIBILIDAD DE DESCRIPCIONES EN PRODUCTO INDIVIDUAL
    =================================== */

/* Forzar que la descripción corta sea visible */
.woocommerce-product-details__short-description {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #333 !important;
    margin-bottom: 30px !important;
    margin-top: 20px !important;
}

/* Asegurar que las pestañas de descripción sean visibles */
.woocommerce-tabs {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.woocommerce-tabs .wc-tabs {
    display: flex !important;
}

.woocommerce-tabs .woocommerce-Tabs-panel {
    display: block !important;
}

/* ===================================
    LAYOUT DE PRODUCTO - SLIDER VERTICAL AL LADO DE DESCRIPCIÓN
    =================================== */

/* Remover márgenes del contenedor de WooCommerce */
.single-product .site-content,
.single-product .site-main,
.single-product .content-area {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Contenedor principal del producto */
.single-product div.product {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    gap: 60px !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    padding-right: 60px !important;
}

/* Galería de imágenes - MÁS ANCHA para llegar más cerca del texto */
.single-product .woocommerce-product-gallery {
    width: 50% !important;
    min-width: 750px !important;
    max-width: 950px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    position: relative !important;
    overflow: hidden !important;
    height: 1500px !important;
    padding: 0 !important;
}

/* Wrapper del slider vertical */
.single-product .woocommerce-product-gallery__wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    transition: transform 0.5s ease !important;
}

.single-product .woocommerce-product-gallery__image {
    width: 100% !important;
    margin: 0 0 10px 0 !important;
    flex-shrink: 0 !important;
}

.single-product .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    max-height: 700px !important;
}

/* Ocultar miniaturas */
.single-product .flex-control-thumbs {
    display: none !important;
}

/* Paginación vertical del slider - MÁS ADENTRO */
.gallery-pagination {
    position: absolute !important;
    left: 50px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
    z-index: 10 !important;
}

.pagination-dot {
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    background-color: #ddd !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.pagination-dot:hover {
    background-color: #999 !important;
    transform: scale(1.2) !important;
}

.pagination-dot.active {
    background-color: #333 !important;
    height: 30px !important;
    border-radius: 5px !important;
}

/* Contenido del producto - Columna derecha MÁS A LA DERECHA */
.single-product .summary.entry-summary {
    flex: 1 !important;
    max-width: 500px !important;
    min-width: 400px !important;
    margin: 0 !important;
    margin-left: 60px !important;
    margin-right: 80px !important;
    padding: 0 20px !important;
    font-size: 18px !important;
}

/* Hacer el texto más grande */
.single-product .summary.entry-summary p,
.single-product .summary.entry-summary .product-long-description,
.single-product .summary.entry-summary .product-short-description {
    font-size: 18px !important;
    line-height: 1.7 !important;
}

/* Título del producto más grande */
.single-product .summary.entry-summary .product_title {
    font-size: 32px !important;
    margin-bottom: 20px !important;
}

/* Asegurar que el botón de agregar al carrito sea visible */
.single-product .summary.entry-summary .cart,
.single-product .summary.entry-summary form.cart,
.single-product .summary.entry-summary .single_add_to_cart_button {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 30px !important;
}

.single-product .summary.entry-summary .single_add_to_cart_button {
    font-size: 16px !important;
    padding: 15px 40px !important;
    background-color: #000 !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.single-product .summary.entry-summary .single_add_to_cart_button:hover {
    background-color: #333 !important;
}

/* CONTENEDOR PARA BOTÓN CITA Y WISHLIST - COLUMNAS SEPARADAS */
.single-product .summary.entry-summary .trousseau-product-descriptions {
    display: block !important;
}

/* Botón de cita y wishlist como hermanos en columnas */
.single-product .summary.entry-summary .product-cita-button-wrapper,
.single-product .summary.entry-summary .yith-wcwl-add-to-wishlist.wishlist-positioned {
    display: inline-block !important;
    vertical-align: middle !important;
    margin-top: 25px !important;
}

.single-product .summary.entry-summary .product-cita-button-wrapper {
    margin-right: 20px !important;
}

/* BOTÓN DE WISHLIST - ESTILO INLINE AL LADO DEL BOTÓN CITA */
.single-product .summary.entry-summary .yith-wcwl-add-to-wishlist,
.single-product .summary.entry-summary .tinvwl_add_to_wishlist_button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    vertical-align: middle !important;
}

/* Cuando está en la lista - alinear corazón y texto horizontalmente */
.single-product .summary.entry-summary .yith-wcwl-wishlistaddedbrowse,
.single-product .summary.entry-summary .yith-wcwl-wishlistexistsbrowse {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-direction: row !important;
    vertical-align: middle !important;
}

/* Corazón negro sólido */
.single-product .summary.entry-summary .yith-wcwl-wishlistaddedbrowse .feedback,
.single-product .summary.entry-summary .yith-wcwl-wishlistexistsbrowse .feedback {
    display: inline-flex !important;
    align-items: center !important;
    order: 2 !important;
    margin: 0 !important;
    font-size: 20px !important;
}

/* Texto "Producto añadido" */
.single-product .summary.entry-summary .yith-wcwl-wishlistaddedbrowse a,
.single-product .summary.entry-summary .yith-wcwl-wishlistexistsbrowse a {
    order: 1 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #000 !important;
    text-decoration: underline !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    white-space: nowrap !important;
}

/* Ocultar el botón original cuando está activo */
.single-product .summary.entry-summary .yith-wcwl-wishlistaddedbrowse .add_to_wishlist,
.single-product .summary.entry-summary .yith-wcwl-wishlistexistsbrowse .add_to_wishlist {
    display: none !important;
}

/* SLIDERS DE CATEGORÍAS - Ancho completo hasta los bordes */
.woocommerce-category-slider-wrapper {
    font-size: 28px;
}

/* Filtro de categorías en páginas de categoría de producto */
.bn-filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 10px;
}

.bn-filter-bar .bn-filter-toolbar {
    position: static;
    margin-right: 40px;
}

@media (max-width: 768px) {
    .bn-filter-bar {
        flex-wrap: wrap;
        row-gap: 8px;
    }
}

.woocommerce-category-slider-wrapper {
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    padding: 20px 0 !important;
    overflow: hidden !important;
}

.woocommerce-category-slider {
    width: 100% !important;
}

/* Margen solo vertical: 5px arriba y 5px abajo */
.woocommerce-category-slider .category-slide {
    padding: 5px 0 !important;
}

/* Botón Solicitar Cita */
.product-cita-button-wrapper {
    margin-bottom: 20px !important;
    display: inline-block !important;
}

.product-cita-button {
    display: inline-block !important;
    padding: 15px 40px !important;
    background-color: #000 !important;
    color: #fff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    text-align: center !important;
    border: 2px solid #000 !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.product-cita-button:hover {
    background-color: #fff !important;
    color: #000 !important;
    border-color: #000 !important;
}

/* Forzar que productos relacionados estén debajo */
.single-product .related.products {
    flex-basis: 100% !important;
    width: 100% !important;
    margin-top: 80px !important;
}

/* Responsive - Tablet */
@media (max-width: 1024px) {
    .single-product div.product {
        flex-direction: column !important;
        padding: 0 20px !important;
        max-width: 100% !important;
    }

    .single-product .woocommerce-product-gallery {
        width: 100% !important;
        max-width: 100% !important;
        height: 600px !important;
        margin: 0 0 30px 0 !important;
    }

    .single-product .woocommerce-product-gallery__image img {
        max-height: 400px !important;
    }

    .single-product .summary.entry-summary {
        width: 100% !important;
        max-width: 100% !important;
        min-width: auto !important;
        padding: 0 10px !important;
    }

    /* Productos relacionados en 2 columnas en tablet */
    .single-product .related.products {
        padding: 40px 20px !important;
        margin-top: 40px !important;
    }

    .single-product .related.products ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }

    .single-product .related.products ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
    }
}

/* Responsive - Móvil (v1.0.7 - CORREGIDO) */
@media screen and (max-width: 768px) {

    /* Prevenir scroll horizontal */
    body.single-product,
    body.single-product #page,
    body.single-product #qodef-page-wrapper,
    body.single-product #qodef-page-outer,
    body.single-product #qodef-page-inner,
    body.single-product .qodef-content,
    body.single-product .qodef-content-grid,
    body.single-product .site-content,
    body.single-product .site-main {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Quitar padding lateral del wrapper principal para que la imagen ocupe todo el ancho */
    body.single-product .woocommerce-notices-wrapper,
    body.single-product .product,
    body.single-product .qodef-woo-single-inner {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* El contenedor del producto puede recibir padding inline con !important; aseguramos 0 */
    body.single-product div[id^="product-"] {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Contenedor del producto */
    body.single-product div.product,
    .single-product div.product {
        flex-direction: column !important;
        gap: 30px !important;
        padding: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
        margin: 0 !important;
    }

    /* Galería de imágenes - altura ajustada */
    .single-product .woocommerce-product-gallery {
        width: 100% !important;
        min-width: auto !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: 600px !important;
        margin: 0 0 20px 0 !important;
        overflow: hidden !important;
    }

    /* Hacer que la galería se extienda al ancho completo del viewport */
    body.single-product div.product div.images,
    body.single-product .woocommerce-product-gallery {
        width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.single-product div.product div.images .flex-viewport,
    body.single-product div.product div.images .woocommerce-product-gallery__wrapper,
    body.single-product div.product div.images .woocommerce-product-gallery__image,
    body.single-product div.product div.images figure,
    body.single-product div.product div.images img,
    body.single-product div.product div.images a {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        left: 0 !important;
    }

    /* Solo permitir scroll vertical sobre la galería en móvil */
    body.single-product .woocommerce-product-gallery,
    body.single-product .woocommerce-product-gallery *,
    body.single-product div.product div.images {
        touch-action: pan-y !important;
    }

    /* Evitar interacción con los puntos de paginación en móvil */
    body.single-product .gallery-pagination,
    body.single-product .gallery-pagination * {
        pointer-events: none !important;
    }

    .single-product .woocommerce-product-gallery__wrapper {
        height: auto !important;
    }

    .single-product .woocommerce-product-gallery__image {
        width: 100% !important;
        height: auto !important;
    }

    .single-product .woocommerce-product-gallery__image img {
        width: 100% !important;
        height: auto !important;
        max-height: 600px !important;
        object-fit: cover !important;
    }

    /* Ocultar paginación en móvil */
    .gallery-pagination {
        display: none !important;
    }

    /* Contenido del producto */
    .single-product .summary.entry-summary {
        width: 100% !important;
        max-width: 100% !important;
        min-width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: left !important;
        box-sizing: border-box !important;
    }

    .single-product .summary.entry-summary * {
        max-width: 100% !important;
        word-wrap: break-word !important;
        box-sizing: border-box !important;
    }

    .single-product .summary.entry-summary .product_title {
        font-size: 24px !important;
        margin-bottom: 15px !important;
    }

    .single-product .summary.entry-summary p {
        font-size: 16px !important;
        line-height: 1.6 !important;
    }

    /* Productos relacionados tipo slider en 2 columnas */
    .single-product .related.products {
        padding: 30px 0 !important;
        margin-top: 30px !important;
        overflow: hidden !important;
    }

    .single-product .related.products h2 {
        font-size: 22px !important;
        margin-bottom: 25px !important;
        padding: 0 15px !important;
    }

    .single-product .related.products ul.products {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        gap: 15px !important;
        padding: 0 15px 20px 15px !important;
        margin: 0 !important;
        max-width: 100% !important;
        -webkit-overflow-scrolling: touch !important;
        justify-content: flex-start !important;
    }

    .single-product .related.products ul.products li.product {
        flex: 0 0 calc(50% - 7.5px) !important;
        width: calc(50% - 7.5px) !important;
        min-width: calc(50% - 7.5px) !important;
        max-width: calc(50% - 7.5px) !important;
        margin: 0 !important;
        scroll-snap-align: start !important;
    }

    /* Ocultar scrollbar pero mantener funcionalidad */
    .single-product .related.products ul.products::-webkit-scrollbar {
        display: none !important;
    }

    .single-product .related.products ul.products {
        -ms-overflow-style: none !important;
        scrollbar-width: none !important;
    }
}

/* ===================================
    PRODUCTOS RELACIONADOS - ANCHO COMPLETO
    =================================== */

/* Contenedor de productos relacionados a ancho completo */
.single-product .related.products {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    padding: 50px 40px !important;
    box-sizing: border-box !important;
}

/* Título de productos relacionados centrado */
.single-product .related.products h2 {
    text-align: center !important;
    font-family: 'Hatton', serif !important;
    font-size: 28px !important;
    margin-bottom: 40px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

/* Grid de productos relacionados */
.single-product .related.products ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 30px !important;
    margin: 0 auto !important;
    max-width: 1400px !important;
}

.single-product .related.products ul.products li.product {
    width: calc(25% - 30px) !important;
    margin: 0 !important;
    flex: 0 0 calc(25% - 30px) !important;
}

/* Imágenes de productos relacionados más grandes */
.single-product .related.products ul.products li.product img {
    width: 100% !important;
    height: auto !important;
    min-height: 400px !important;
    object-fit: cover !important;
}

/* Responsive - Tablet */
@media (max-width: 1024px) {
    .single-product .related.products {
        padding: 40px 30px !important;
    }

    .single-product .related.products ul.products li.product {
        width: calc(33.33% - 30px) !important;
        flex: 0 0 calc(33.33% - 30px) !important;
    }
}

/* Responsive - Móvil con slider */
@media (max-width: 767px) {
    .single-product .related.products {
        padding: 30px 0 !important;
        overflow: hidden !important;
    }

    .single-product .related.products h2 {
        font-size: 22px !important;
        margin-bottom: 30px !important;
        padding: 0 20px !important;
    }

    /* Slider horizontal con 2 columnas visibles */
    .single-product .related.products ul.products {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        gap: 15px !important;
        padding: 0 20px 20px 20px !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .single-product .related.products ul.products li.product {
        flex: 0 0 calc(50% - 7.5px) !important;
        width: calc(50% - 7.5px) !important;
        min-width: calc(50% - 7.5px) !important;
        scroll-snap-align: start !important;
    }

    /* Imágenes más grandes en móvil */
    .single-product .related.products ul.products li.product img {
        min-height: 350px !important;
    }

    /* Ocultar scrollbar */
    .single-product .related.products ul.products::-webkit-scrollbar {
        display: none !important;
    }

    .single-product .related.products ul.products {
        -ms-overflow-style: none !important;
        scrollbar-width: none !important;
    }
}

/* ===================================
    PÁGINAS DE CATEGORÍAS Y SHOP - RESPONSIVE MÓVIL
    =================================== */

@media (max-width: 767px) {

    /* Forzar contenedores principales */
    body.woocommerce-page,
    body.post-type-archive-product,
    body.tax-product_cat {
        overflow-x: hidden !important;
    }

    /* Contenedor principal con padding */
    .woocommerce-page .site-main,
    .post-type-archive-product .site-main,
    .tax-product_cat .site-main,
    .woocommerce-page #primary,
    .post-type-archive-product #primary,
    .tax-product_cat #primary {
        padding: 0 30px !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        max-width: 100% !important;
    }

    /* Grid de productos en 2 columnas */
    .woocommerce ul.products,
    ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
        padding: 0 !important;
        margin: 0 !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    .woocommerce ul.products li.product,
    ul.products li.product {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    /* Imágenes de productos */
    .woocommerce ul.products li.product img,
    ul.products li.product img {
        width: 100% !important;
        height: auto !important;
        min-height: 200px !important;
        max-height: 300px !important;
        object-fit: cover !important;
    }

    /* Títulos y texto */
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    ul.products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product h2,
    ul.products li.product h2,
    .woocommerce ul.products li.product h3,
    ul.products li.product h3,
    .woocommerce ul.products li.product p,
    ul.products li.product p {
        font-size: 12px !important;
        line-height: 1.3 !important;
        margin: 10px 0 5px 0 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        hyphens: auto !important;
        text-align: left !important;
    }

    /* Selectores específicos del tema con MÁXIMA PRIORIDAD */
    body .woocommerce ul.products li.product .qodef-woo-product-title,
    body ul.products li.product .qodef-woo-product-title,
    body .woocommerce ul.products li.product .qodef-e-title,
    body ul.products li.product .qodef-e-title,
    body .woocommerce ul.products li.product .qodef-woo-product-title a,
    body ul.products li.product .qodef-woo-product-title a,
    body .qodef-woo-product-content .qodef-woo-product-title,
    body .qodef-woo-product-content .qodef-e-title,
    body .qodef-woo-product-content h2,
    body .qodef-woo-product-content h3 {
        font-size: 12px !important;
        line-height: 1.3 !important;
        margin: 5px 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    /* Contenedor del contenido del producto */
    body .qodef-woo-product-content {
        text-align: left !important;
        justify-content: flex-start !important;
    }

    /* Precios */
    .woocommerce ul.products li.product .price,
    ul.products li.product .price {
        font-size: 12px !important;
        margin: 5px 0 !important;
    }

    /* Botones */
    .woocommerce ul.products li.product .button,
    ul.products li.product .button {
        font-size: 12px !important;
        padding: 8px 12px !important;
        margin-top: 10px !important;
    }

    /* Evitar desbordamiento de texto */
    .woocommerce ul.products li.product,
    ul.products li.product,
    .woocommerce ul.products li.product *,
    ul.products li.product * {
        max-width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        box-sizing: border-box !important;
    }
}

/* ===================================
    OCULTAR ELEMENTOS DE YOUTUBE
    =================================== */

/* Ocultar logo de YouTube */
.ytp-youtube-button,
.ytp-watermark,
.ytp-title-channel-logo,
.ytp-chrome-top-buttons .ytp-youtube-button {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Ocultar botón "Ver más" y compartir */
.ytp-watch-later-button,
.ytp-share-button,
.ytp-cards-button,
.ytp-overflow-button,
.ytp-chrome-top-buttons {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Ocultar título del video */
.ytp-title,
.ytp-title-text,
.ytp-title-link,
.ytp-chrome-top {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Ocultar botones de la esquina superior derecha */
.ytp-button[aria-label*="Más"],
.ytp-button[aria-label*="Compartir"],
.ytp-button[aria-label*="Ver más tarde"] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Ocultar menú contextual de YouTube */
.ytp-popup,
.ytp-contextmenu {
    display: none !important;
}

/* Ocultar anotaciones y tarjetas */
.ytp-cards-teaser,
.ytp-ce-element,
.annotation {
    display: none !important;
}

/* Ocultar pantalla final de YouTube */
.ytp-endscreen-content,
.ytp-ce-covering-overlay,
.ytp-ce-element-show,
.ytp-pause-overlay {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Ocultar sugerencias de videos al final */
.ytp-show-cards-title,
.ytp-scroll-min,
.ytp-videowall-still {
    display: none !important;
}

/* Ocultar gradiente superior donde aparecen los botones */
.ytp-gradient-top {
    display: none !important;
    opacity: 0 !important;
}

/* Mantener solo los controles básicos (play, volumen, tiempo) */
.ytp-chrome-bottom {
    display: flex !important;
}

/* Ocultar botón de configuración si lo deseas */
.ytp-settings-button {
    display: none !important;
}

/* Ocultar botón de subtítulos si lo deseas */
.ytp-subtitles-button {
    display: none !important;
}

/* Para iframes de YouTube embebidos */
iframe[src*="youtube.com"],
iframe[src*="youtu.be"] {
    pointer-events: auto !important;
}

/* Ocultar overlay de información al pausar */
.ytp-pause-overlay-container {
    display: none !important;
}

/* Ocultar branding de YouTube en el player */
.ytp-title-channel,
.ytp-title-expanded-overlay {
    display: none !important;
}

/* ===================================
    OPTIMIZACIÓN DE RENDIMIENTO TÁCTIL
    =================================== */

/* Mejorar rendimiento de scroll y touch en móvil */
* {
    touch-action: manipulation;
}

body,
html {
    -webkit-overflow-scrolling: touch;
}

/* ===================================
    WISHLIST PERSONALIZADA - ESTILOS
    =================================== */

/* Contenedor de wishlist personalizada */
.custom-wishlist-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    touch-action: manipulation !important;
}

/* Estado normal (corazón vacío) */
.custom-wishlist-wrapper .custom-wishlist-normal {
    display: block !important;
}

/* Estado agregado (corazón lleno + Ver Lista) - OCULTO por defecto */
.custom-wishlist-wrapper .custom-wishlist-added {
    display: none !important;
}

/* Cuando está en wishlist - mostrar estado agregado */
.custom-wishlist-wrapper.in-wishlist .custom-wishlist-normal {
    display: none !important;
}

.custom-wishlist-wrapper.in-wishlist .custom-wishlist-added {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* Botón de corazón vacío */
.custom-wishlist-btn {
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
}

.custom-wishlist-btn svg {
    stroke: #000 !important;
    fill: none !important;
    transition: all 0.3s ease !important;
}

.custom-wishlist-btn:hover svg {
    stroke: #666 !important;
}

/* Página de wishlist */
.custom-wishlist-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
}

.wishlist-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 36px;
    font-weight: 400;
    text-align: center;
    margin-bottom: 40px;
    letter-spacing: 2px;
}

.wishlist-empty {
    text-align: center;
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    color: #666;
    padding: 40px 20px;
}

/* Lista de productos - formato listado */
.wishlist-products {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Cada item de la lista */
.wishlist-item {
    display: flex;
    align-items: center;
    gap: 20px;
    border-bottom: 1px solid #eee;
    padding: 20px 0;
    transition: background 0.3s ease;
}

.wishlist-item:hover {
    background: #fafafa;
}

/* Imagen del producto - más pequeña */
.wishlist-item-image {
    width: 120px;
    height: 160px;
    flex-shrink: 0;
    overflow: hidden;
}

.wishlist-item-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Detalles del producto */
.wishlist-item-details {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Nombre del producto */
.wishlist-item-name {
    font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    font-weight: 400;
    margin: 0;
    flex: 1;
}

.wishlist-item-name a {
    color: #000;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.wishlist-item-name a:hover {
    opacity: 0.6;
}

/* Botón de eliminar */
.remove-from-wishlist {
    background: transparent !important;
    border: 1px solid #000 !important;
    padding: 8px 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 13px !important;
    color: #000 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    white-space: nowrap !important;
    display: inline-block !important;
    text-decoration: none !important;
}

.remove-from-wishlist:hover {
    background: #000 !important;
    color: #fff !important;
}

/* ===================================
    FORZAR VISIBILIDAD DE BOTONES DEL FORMULARIO CRM
    =================================== */

/* Botones del formulario CRM Kaizen - SIEMPRE VISIBLES */
.crm-kaizen-button,
.crm-kaizen-appointment-btn,
#book-appointment-btn,
.crm-kaizen-container button,
#crm-kaizen-first-step button,
#crm-kaizen-calendar-step button {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* ===================================
    SLIDER CATEGORÍAS - RESPONSIVE MÓVIL
    =================================== */

@media screen and (max-width: 768px) {

    /* Forzar tamaño MUY pequeño del subtítulo en móvil - MÁXIMA ESPECIFICIDAD */
    html body .woocommerce-category-slider .category-subtitle,
    html body .category-slide .category-subtitle,
    html body .category-text-content .category-subtitle,
    html body div[id*="category-slider"] .category-subtitle,
    html body .elementor-widget-container .category-subtitle,
    html body .slick-slide .category-subtitle,
    body .category-subtitle,
    .category-subtitle {
        font-size: 10px !important;
        line-height: 1.2 !important;
        margin: 3px 0 3px 0 !important;
        padding: 0 !important;
        max-width: 90% !important;
    }

    /* Título más pequeño en móvil */
    html body .woocommerce-category-slider .category-title,
    html body .category-slide .category-title,
    html body .category-text-content .category-title,
    html body div[id*="category-slider"] .category-title,
    html body .elementor-widget-container .category-title,
    html body .slick-slide .category-title,
    body .category-title,
    .category-title {
        font-size: 20px !important;
        margin: 0 0 3px 0 !important;
        padding: 0 !important;
    }

    /* Reducir MUCHO el padding del contenedor de texto */
    html body .category-text-content,
    body .category-text-content,
    .category-text-content {
        padding: 10px 15px 30px 15px !important;
    }

    /* Asegurar que las viñetas estén visibles y más arriba */
    .slick-dots,
    .woocommerce-category-slider .slick-dots {
        bottom: 5px !important;
        z-index: 9999 !important;
        position: absolute !important;
    }
}

/* Responsive - Wishlist */
@media (max-width: 768px) {
    .wishlist-item {
        flex-direction: column;
        align-items: flex-start;
    }

    .wishlist-item-image {
        width: 100%;
        height: 200px;
    }

    .wishlist-item-details {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }

    .wishlist-title {
        font-size: 28px;
    }
}

/* Header móvil: logo bien a la izquierda y hamburguesa a la derecha */
@media (max-width: 767px) {

    /* Contenedor interno del header */
    #qodef-page-header .qodef-header-inner,
    #qodef-page-header .qodef-header-logo-area,
    #qodef-page-header .qodef-header-logo-navigation {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    /* Logo: pegar un poco más a la izquierda */
    #qodef-page-header .qodef-header-logo-link {
        margin-left: 8px !important;
        /* ajusta 0–15 px según veas */
    }

    /* Menú hamburguesa: más a la derecha */
    #qodef-page-header .qodef-opener-icon,
    #qodef-page-header .custom-hamburger-btn {
        margin-right: 12px !important;
        /* sube o baja este valor para moverlo */
    }
}

/* ==========================================================================
       ALINEACIÓN GLOBAL DE TÍTULOS (ESCRITORIO Y MÓVIL)
       ========================================================================== */

/* Títulos de productos en el loop */
body .woocommerce ul.products li.product .woocommerce-loop-product__title,
body ul.products li.product .woocommerce-loop-product__title,
body .woocommerce ul.products li.product h2,
body ul.products li.product h2,
body .woocommerce ul.products li.product h3,
body ul.products li.product h3,
body .woocommerce ul.products li.product .qodef-woo-product-title,
body ul.products li.product .qodef-woo-product-title,
body .woocommerce ul.products li.product .qodef-e-title,
body ul.products li.product .qodef-e-title,
body .qodef-woo-product-content .qodef-woo-product-title,
body .qodef-woo-product-content .qodef-e-title,
body .qodef-woo-product-content h2,
body .qodef-woo-product-content h3 {
    text-align: left !important;
    justify-content: flex-start !important;
    display: block !important;
}

/* Contenedores de texto de productos */
body .qodef-woo-product-content,
body .woocommerce ul.products li.product .qodef-woo-product-inner,
body .woocommerce ul.products li.product {
    text-align: left !important;
    align-items: flex-start !important;
}

/* Título de la página / Categoría (ej: COLECCIÓN SIRENA) */
body .woocommerce-products-header__title,
body .page-title,
body .entry-title,
body h1.qodef-e-title,
body .qodef-e-title,
body .woocommerce-products-header h1,
body .woocommerce-products-header,
body .custom-category-title,
body h1.custom-category-title,
body .custom-category-title span {
    text-align: left !important;
    font-family: 'Cormorant Garamond', serif !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
    justify-content: flex-start !important;
}

/* Asegurar display block/flex correcto para alineación */
body .custom-category-title {
    display: flex !important;
    flex-direction: column !important;
    /* Para que 'Colección' y 'Sirena' estén uno sobre otro si se desea, o row si es al lado. En la foto parece uno al lado del otro o columna? */
    /* En la foto del usuario "COLECCIÓN SIRENA" está en una línea. Asumimos row o inline */
    flex-direction: row !important;
    align-items: center !important;
}

/* Si el usuario quiere que estén apilados o en línea, ajustaremos. Por defecto row para que se lea seguido */

/* Asegurar que el contenedor del header también esté alineado */
body .woocommerce-products-header {
    width: 100% !important;
    text-align: left !important;
    display: block !important;
}

/* ==========================================================================
       PÁGINA DE PRODUCTO INDIVIDUAL (SINGLE PRODUCT)
       ========================================================================== */

/* Contenedor principal centrado */
body.single-product .woocommerce-notices-wrapper,
body.single-product .product,
body.single-product .qodef-woo-single-inner {
    max-width: 1300px !important;
    /* Un poco más ancho para que quepan bien */
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    width: 100% !important;
}

/* Layout lado a lado en escritorio */
@media (min-width: 768px) {
    body.single-product div.product {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        /* Centrar todo el conjunto */
        align-items: flex-start !important;
        gap: 40px !important;
        /* Espacio entre imagen y texto */
    }

    /* Columna de Imagen */
    body.single-product div.product div.images {
        width: 50% !important;
        flex: 0 0 50% !important;
        margin: 0 !important;
        float: none !important;
    }

    /* Columna de Texto (Resumen) */
    body.single-product div.product div.summary {
        width: 40% !important;
        /* Un poco menos para dar aire */
        flex: 0 0 40% !important;
        margin: 0 !important;
        float: none !important;
        text-align: left !important;
        /* Asegurar alineación izquierda del texto */
    }
}

/* Ajuste para móvil (apilado, imagen full width y texto centrado) */
@media (max-width: 767px) {

    /* Imagen: Dejamos que JS controle el ancho full-width para ser más precisos */
    body.single-product div.product div.images {
        width: 100% !important;
        /* Fallback */
        margin-bottom: 30px !important;
        float: none !important;
        padding: 0 !important;
    }

    /* Asegurar que los contenedores internos no restrinjan */
    body.single-product div.product div.images .woocommerce-product-gallery__image,
    body.single-product div.product div.images figure,
    body.single-product div.product div.images .woocommerce-product-gallery__wrapper {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    /* La imagen en sí */
    body.single-product div.product div.images img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        max-width: none !important;
    }

    /* Texto centrado */
    body.single-product div.product div.summary {
        width: 100% !important;
        float: none !important;
        text-align: center !important;
        padding: 0 20px !important;
        box-sizing: border-box !important;
    }
}

/* Ajuste para móvil (apilado) */
@media (max-width: 767px) {

    body.single-product div.product div.images,
    body.single-product div.product div.summary {
        width: 100% !important;
        float: none !important;
    }
}

/* ===================================
   FILTRO DE CATEGORÍAS - POSICIÓN DEL PANEL
   =================================== */

/* Forzar que el panel se abra desde la IZQUIERDA */
.bn-filter .bn-filter__panel,
div.bn-filter .bn-filter__panel,
.bn-filter-toolbar .bn-filter .bn-filter__panel {
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    top: 115% !important;
}

/* Responsive móvil */
@media (max-width: 768px) {

    .bn-filter .bn-filter__panel,
    div.bn-filter .bn-filter__panel,
    .bn-filter-toolbar .bn-filter .bn-filter__panel {
        left: 10px !important;
        right: auto !important;
    }
}