/* ==========================================================================
   VARIABLES DE IDENTIDAD VISUAL (MINI DREAMERS)
   ========================================================================== */
:root {
    --md-primary-mint: #A3D9C9;
    --md-primary-mint-light: #E8F6F2;
    --md-accent-coral: #ff7966;
    --md-bg-cream: #FAF7F2;
    --md-text-dark: #2B2B2B;
    --md-text-muted: #7A7A7A;
    --md-border-light: #EBEBEB;
    --md-radius-large: 16px;
    --md-font-body: 'Quicksand', sans-serif;
}

body { background-color: var(--md-bg-cream); color: var(--md-text-dark); font-family: var(--md-font-body); }
html, body { max-width: 100% !important; overflow-x: hidden !important; }

/* ==========================================================================
   CABECERA PERSONALIZADA (HEADER) MINI DREAMERS
   ========================================================================== */
body #page .site-header:not(.md-custom-header) { display: none !important; }
.md-custom-header { width: 100%; background-color: #ffffff; box-shadow: 0 4px 15px rgba(0,0,0,0.03); position: relative; z-index: 999; }
.md-custom-header .top-bar { background-color: #ff7966; color: #ffffff; text-align: center; padding: 12px 0; font-size: 13px; font-family: var(--md-font-body); font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; }
.md-custom-header .top-bar p { margin: 0; padding: 0; }
.md-custom-header .main-header { padding: 15px 0; font-family: var(--md-font-body); border-bottom: none; }
.md-custom-header .header-inner { display: flex; justify-content: space-between; align-items: center; max-width: 1400px; margin: 0 auto; padding: 0 20px; }
.md-mobile-menu-trigger, .md-mobile-menu-close, .md-submenu-toggle { display: none !important; }
.md-custom-header .site-logo { flex: 0 0 auto; margin-right: auto; }
.md-custom-header .site-logo a { display: flex; align-items: center; }
.md-custom-header .site-logo img { width: 200px !important; min-width: 200px !important; height: auto !important; display: block; }

/* Navegación Centrada */
.md-custom-header .site-navigation { flex: 1; display: flex; justify-content: center; }
.md-custom-header .site-navigation ul { list-style: none; margin: 0; padding: 0; }
.md-custom-header .site-navigation > div > ul, .md-custom-header .site-navigation > ul { display: flex; gap: 35px; align-items: center; }
.md-custom-header .site-navigation li { position: relative; }
.md-custom-header .site-navigation a { text-decoration: none; color: #4e6a96; font-weight: 700; font-size: 15px; padding-bottom: 5px; transition: all 0.3s ease; border-bottom: 2px solid transparent; display: flex; align-items: center; }
.md-custom-header .site-navigation > ul > li.current-menu-item > a, .md-custom-header .site-navigation > ul > li > a:hover { border-bottom: 2px solid #ff7966; color: #ff7966; }

@media (min-width: 992px) {
    .md-custom-header .site-navigation li.menu-item-has-children > a::after { content: "▼"; font-size: 10px; margin-left: 8px; color: #ff7966; transition: transform 0.3s ease; }
    .md-custom-header .site-navigation li.menu-item-has-children:hover > a::after { transform: rotate(180deg); }
    .md-custom-header .site-navigation ul.sub-menu { position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(15px); background-color: #ffffff; box-shadow: 0 10px 30px rgba(0,0,0,0.08); border-radius: 12px; padding: 15px 20px; display: flex; flex-direction: column; gap: 12px; min-width: 180px; opacity: 0; visibility: hidden; pointer-events: none; transition: all 0.3s ease; z-index: 1000; }
    .md-custom-header .site-navigation li.menu-item-has-children:hover > ul.sub-menu { opacity: 1; visibility: visible; pointer-events: auto; transform: translateX(-50%) translateY(0); }
    .md-custom-header .site-navigation ul.sub-menu a { color: var(--md-text-dark); font-size: 14px; border-bottom: none; padding: 5px 0; text-align: center; width: 100%; justify-content: center; }
    .md-custom-header .site-navigation ul.sub-menu a:hover { color: #ff7966; }
}

/* Íconos a la Derecha */
.md-custom-header .header-icons { flex: 0 0 auto; display: flex; justify-content: flex-end; align-items: center; gap: 22px; margin-left: auto; }
.md-custom-header .header-icons a { position: relative; display: inline-flex; align-items: center; justify-content: center; transition: transform 0.2s ease; text-decoration: none !important; }
body #page .md-custom-header .header-icons a::before, body #page .md-custom-header .header-icons a::after { display: none !important; content: none !important; }
body #page .md-custom-header .header-icons a svg { fill: none !important; background: transparent !important; width: 22px; height: 22px; }
body #page .md-custom-header .header-icons a svg path, body #page .md-custom-header .header-icons a svg circle, body #page .md-custom-header .header-icons a svg line { fill: none !important; }
.md-custom-header .header-icons a:hover { transform: translateY(-2px); }
.md-custom-header .header-icons .badge { position: absolute; top: -8px; right: -10px; color: white; font-size: 11px; font-weight: 700; height: 18px; min-width: 18px; display: flex; align-items: center; justify-content: center; border-radius: 50%; padding: 0 4px; box-sizing: border-box; font-family: var(--md-font-body); background-color: #b33917 !important; border: 2px solid #ffffff; line-height: 1; }

/* ==========================================================================
   CABECERA MÓVIL RESPONSIVE (< 991px)
   ========================================================================== */
@media (max-width: 991px) {
    .md-custom-header .site-logo img { width: 120px !important; min-width: 120px !important; }
    .md-custom-header .header-icons { gap: 12px; }
    .md-custom-header .header-icons a svg { width: 20px; height: 20px; }
    .md-mobile-menu-trigger { display: inline-flex !important; margin-left: 5px; }
    .md-custom-header .site-navigation { display: flex !important; position: fixed; top: 0; left: -100%; width: 100%; height: 100vh; background-color: #ffffff; z-index: 999999; flex-direction: column; justify-content: center; align-items: center; transition: left 0.4s cubic-bezier(0.77, 0, 0.175, 1); margin: 0 !important; overflow-y: auto; }
    .md-custom-header .site-navigation.is-open { left: 0; }
    .md-mobile-menu-close { display: flex !important; position: absolute; top: 20px; right: 20px; width: 45px; height: 45px; background-color: #FAF7F2; border-radius: 50%; align-items: center; justify-content: center; cursor: pointer; transition: background 0.3s ease; z-index: 9999999; }
    .md-mobile-menu-close:active { background-color: #ff7966; }
    .md-mobile-menu-close:active svg { stroke: #ffffff; }
    .md-custom-header .site-navigation ul { flex-direction: column; gap: 20px; text-align: center; width: 100%; padding: 40px 0; }
    .md-custom-header .site-navigation a { font-size: 24px; color: var(--md-text-dark); font-family: var(--md-font-body); font-weight: 700; border: none !important; padding: 10px; display: inline-flex; align-items: center; justify-content: center; width: auto; margin: 0 auto; }
    .md-custom-header .site-navigation li.current-menu-item > a, .md-custom-header .site-navigation a:hover { color: #ff7966; }
    .md-submenu-toggle { display: inline-flex !important; align-items: center; justify-content: center; margin-left: 15px; font-size: 14px; color: #ff7966; width: 30px; height: 30px; background: #FAF7F2; border-radius: 50%; transition: transform 0.3s ease; cursor: pointer; }
    .md-custom-header .site-navigation li.is-active > a > .md-submenu-toggle { transform: rotate(180deg); background: #ff7966; color: #ffffff; }
    .md-custom-header .site-navigation ul.sub-menu { display: none; flex-direction: column; gap: 15px; margin-top: 15px; padding: 20px; background-color: #FAF7F2; border-radius: 16px; width: 85%; margin-left: auto; margin-right: auto; }
    .md-custom-header .site-navigation li.is-active > ul.sub-menu { display: flex; }
    .md-custom-header .site-navigation ul.sub-menu a { font-size: 18px; color: var(--md-text-muted); padding: 5px; }
    .md-custom-header .site-navigation ul.sub-menu a:hover { color: #ff7966; }
}

/* ==========================================================================
   TIENDA Y CATÁLOGO: FONDO LUMINOSO LIQUID GLASSMORPHISM
   ========================================================================== */
body.archive.woocommerce,
body.search.woocommerce { background-color: #fdfdfd !important; }

body.archive.woocommerce #page, body.archive.woocommerce #content, body.archive.woocommerce .site-content, body.archive.woocommerce .site-main,
body.search.woocommerce #page, body.search.woocommerce #content, body.search.woocommerce .site-content, body.search.woocommerce .site-main {
    background-color: transparent !important; background: transparent !important;
}

body.archive.woocommerce .site-main, body.search.woocommerce .site-main {
    position: relative !important; z-index: 1 !important; overflow: visible !important;
}

body.archive.woocommerce::before, body.archive.woocommerce::after,
body.search.woocommerce::before, body.search.woocommerce::after {
    content: '' !important; position: fixed !important; border-radius: 50% !important; filter: blur(80px) !important;
    z-index: -1 !important; pointer-events: none !important; animation: mdFloatShop 10s infinite ease-in-out alternate !important;
}

body.archive.woocommerce::before, body.search.woocommerce::before {
    width: 500px !important; height: 500px !important; background: rgba(242, 162, 177, 0.25) !important; top: -100px !important; left: -100px !important;
}

body.archive.woocommerce::after, body.search.woocommerce::after {
    width: 600px !important; height: 600px !important; background: rgba(126, 179, 212, 0.25) !important; bottom: -150px !important; right: -100px !important; animation-delay: -5s !important;
}

@keyframes mdFloatShop { 
    0% { transform: translate(0, 0) scale(1); } 
    100% { transform: translate(40px, 40px) scale(1.1); } 
}

/* ==========================================================================
   TIENDA: LAYOUT PRINCIPAL (PC)
   ========================================================================== */
.woocommerce .site-main, .woocommerce-page .site-main { 
    display: flex !important; flex-wrap: nowrap !important; align-items: flex-start !important;
    max-width: 1400px; margin: 0 auto; padding: 40px 20px; gap: 40px; background-color: transparent !important; 
}

.woocommerce .site-main::before, .woocommerce .site-main::after, .woocommerce-page .site-main::before, .woocommerce-page .site-main::after { display: none !important; }

/* Barra Lateral Izquierda */
.md-shop-sidebar { 
    order: -1 !important; width: 280px !important; min-width: 280px !important; flex-shrink: 0; background: rgba(255,255,255,0.85); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255,255,255,0.9); padding: 24px; border-radius: var(--md-radius-large); box-shadow: 0 10px 30px rgba(0,0,0,0.03); height: fit-content; 
}
.md-sidebar-widget { margin-bottom: 30px; }
.md-sidebar-widget h3, .widget_price_filter h2, .widget_price_filter h3 { font-size: 14px; font-family: 'Fredoka', sans-serif; color: var(--md-text-dark); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 15px; border-bottom: 1px solid var(--md-border-light); padding-bottom: 8px; display: block !important; }

/* Lista de Categorías en Barra Lateral */
.md-category-filter-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.md-category-filter-list li { margin-bottom: 6px !important; }
.md-category-filter-link { display: flex !important; align-items: center !important; padding: 10px 14px !important; border-radius: 30px !important; color: var(--md-text-dark) !important; text-decoration: none !important; font-size: 14px !important; font-weight: 500 !important; transition: all 0.25s ease; }
.md-category-filter-link .cat-icon { width: 36px !important; height: 36px !important; min-width: 36px !important; border-radius: 50% !important; background-color: #F0F0F0 !important; margin-right: 12px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; overflow: hidden !important; }
.md-cat-round-img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.all-items-icon { font-size: 16px; background-color: #E2F2ED !important; color: var(--md-primary-mint) !important; }
.md-category-filter-list li.current-cat .md-category-filter-link, .md-category-filter-link:hover { background-color: var(--md-primary-mint-light) !important; font-weight: 700 !important; }
.md-category-filter-list li.current-cat .cat-icon, .md-category-filter-link:hover .cat-icon { background-color: var(--md-primary-mint) !important; }

/* Botón Wishlist en Sidebar */
.md-wishlist-sidebar-btn { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; background-color: #fdfaf6 !important; color: var(--md-accent-coral) !important; border: 2px dashed var(--md-accent-coral) !important; padding: 15px 20px !important; border-radius: 16px !important; font-family: var(--md-font-heading) !important; font-weight: 800 !important; font-size: 15px !important; text-transform: uppercase !important; text-decoration: none !important; transition: all 0.3s ease !important; box-sizing: border-box !important; margin-top: 10px !important; }
.md-wishlist-sidebar-btn:hover { background-color: var(--md-accent-coral) !important; color: #ffffff !important; border-style: solid !important; transform: translateY(-3px) !important; box-shadow: 0 8px 20px rgba(255, 121, 102, 0.3) !important; }

/* ==========================================================================
   FILTRO DE PRECIOS RANGO (SIDEBAR)
   ========================================================================== */
.widget_price_filter, .widget_price_filter .price_slider_wrapper { display: block !important; visibility: visible !important; opacity: 1 !important; height: auto !important; overflow: visible !important; }
.widget_price_filter .price_slider_wrapper { padding-top: 15px !important; padding-left: 12px !important; padding-right: 12px !important; }
.widget_price_filter .ui-slider, .woocommerce .widget_price_filter .ui-slider { background: #EFEFEF !important; height: 4px !important; border-radius: 10px !important; margin-bottom: 20px !important; border: none !important; position: relative !important; width: 100% !important; display: block !important; }
.widget_price_filter .ui-slider .ui-slider-range, .woocommerce .widget_price_filter .ui-slider .ui-slider-range { background: #ff7966 !important; position: absolute !important; height: 100% !important; display: block !important; }
.widget_price_filter .ui-slider .ui-slider-handle, .woocommerce .widget_price_filter .ui-slider .ui-slider-handle { background: #ff7966 !important; border: 2px solid #FFFFFF !important; width: 18px !important; height: 18px !important; top: -7px !important; border-radius: 50% !important; z-index: 3 !important; cursor: grab !important; box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important; display: block !important; position: absolute !important; outline: none !important; margin-left: -9px !important; }
.widget_price_filter .price_slider_amount, .woocommerce .widget_price_filter .price_slider_amount { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-top: 20px !important; margin-left: -12px !important; margin-right: -12px !important; }
.widget_price_filter .price_slider_amount .price_label { margin: 0 !important; line-height: 1 !important; font-size: 13px !important; font-weight: 500 !important; }
.widget_price_filter .price_slider_amount .button, .woocommerce .widget_price_filter .price_slider_amount .button { background: #ff7966 !important; color: #FFFFFF !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 1px !important; padding: 0 20px !important; height: 36px !important; border-radius: 30px !important; border: none !important; box-shadow: none !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; margin: 0 !important; }
.widget_price_filter .price_slider_amount .button:hover, .woocommerce .widget_price_filter .price_slider_amount .button:hover { background: #f06a57 !important; }

/* ==========================================================================
   ZONA DE PRODUCTOS (DERECHA) Y SELECTOR DE ORDEN
   ========================================================================== */
.md-products-content { order: 1 !important; flex: 1 1 auto !important; width: calc(100% - 320px) !important; min-width: 0 !important; }

/* Limpieza de basura del tema */
.md-products-content ul.products li.product .product-excerpt, .md-products-content ul.products li.product .short-description, .md-products-content ul.products li.product .calma-product-desc, .md-products-content ul.products li.product .product-desc, .md-products-content ul.products li.product .list-product-desc, .md-products-content ul.products li.product p:not(.price), .product-category-meta, .md-products-content ul.products li.product .category-list, .md-products-content ul.products li.product .product-categories, .woocommerce .site-main > a:first-child, .woocommerce .site-main > span:first-child, .woocommerce .site-main > i:first-child, .woocommerce .calma-back-link, .woocommerce .breadcrumbs, .woocommerce [class*="breadcrumb"], .woocommerce .back-btn { display: none !important; height: 0 !important; opacity: 0 !important; margin: 0 !important; padding: 0 !important; }

/* Control de Ordenamiento (Sorting Pill Flotante) */
.md-products-content .woocommerce-result-count { float: left !important; margin-top: 10px !important; color: var(--md-text-muted) !important; font-size: 14px !important; }
.md-products-content .woocommerce-ordering { float: right !important; margin-bottom: 25px !important; }
#main .woocommerce-ordering span { background-color: #ffffff !important; padding: 13px 18px !important; border-radius: 50px !important; box-shadow: -1px 1px 5px 3px rgba(219,219,219,0.56) !important; font-weight: 500 !important; line-height: 1.4em !important; }
#main .woocommerce-ordering ul { z-index: 1000 !important; border-radius: 20px !important; top: 16px !important; min-width: 287px !important; left: -70px !important; padding: 21px 20px !important; background-color: #ffffff !important; box-shadow: 0 15px 40px rgba(0,0,0,0.08) !important; border: 1px solid rgba(0,0,0,0.03) !important; }
#main .woocommerce-ordering ul li { padding: 8px 10px !important; border-radius: 8px !important; transition: background 0.2s ease !important; }
#main .woocommerce-ordering ul li:hover { background-color: #fdfaf6 !important; color: var(--md-accent-coral) !important; }

/* ==========================================================================
   REJILLA DE PRODUCTOS (TARJETAS)
   ========================================================================== */
.md-products-content ul.products { clear: both !important; display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 24px !important; padding: 0 !important; margin: 0 !important; width: 100% !important; }
@media (max-width: 1200px) { .md-products-content ul.products { grid-template-columns: repeat(3, 1fr) !important; } }
.md-products-content ul.products li.product { background: rgba(255, 255, 255, 0.75) !important; backdrop-filter: blur(10px) !important; border: 1px solid rgba(255,255,255,0.9) !important; border-radius: var(--md-radius-large) !important; padding: 16px !important; margin: 0 !important; width: 100% !important; float: none !important; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important; display: flex !important; flex-direction: column !important; position: relative; box-sizing: border-box !important; transition: all 0.3s ease !important; }
.md-products-content ul.products li.product:hover { transform: translateY(-5px); box-shadow: 0 15px 35px rgba(163, 217, 201, 0.2) !important; }
.md-products-content ul.products li.product > div, .md-products-content ul.products li.product .product-image, .md-products-content ul.products li.product .product-content, .md-products-content ul.products li.product .product-element-top { width: 100% !important; flex: 0 0 100% !important; float: none !important; padding: 0 !important; margin: 0 !important; }
.md-products-content ul.products li.product .product-image, .md-products-content ul.products li.product .woocommerce-loop-product__link { background-color: #FAF7F2 !important; border-radius: 14px !important; margin-bottom: 15px !important; display: block !important; position: relative !important; overflow: hidden !important; padding: 0 !important; }
.md-products-content ul.products li.product img { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1 !important; object-fit: cover !important; display: block !important; margin: 0 !important; padding: 0 !important; box-sizing: border-box !important; }
.md-products-content ul.products li.product .woocommerce-loop-product__title { font-size: 14px !important; color: var(--md-text-dark) !important; font-weight: 700 !important; text-transform: uppercase !important; margin: 0 0 8px 0 !important; line-height: 1.4 !important; }
.md-products-content ul.products li.product .price { font-size: 15px !important; color: var(--md-text-dark) !important; font-weight: 700 !important; margin-top: auto !important; display: block !important; }
.md-products-content ul.products li.product .price del { color: var(--md-text-muted) !important; font-size: 12px !important; margin-right: 6px; font-weight: 400; }
.md-products-content ul.products li.product .price ins { text-decoration: none !important; color: var(--md-accent-coral) !important; }

/* ETIQUETAS SOBRE PRODUCTOS (OFERTA, HOT SALE, STOCK) */
.products-list .product .onsale, body #page .md-products-content ul.products li.product .onsale { background-color: #ffae17 !important; color: #ffffff !important; border-radius: 50px 50px 50px 0 !important; }
.products-list .product .vgwc-label { color: #ffffff !important; font-weight: 600 !important; border-radius: 13px 13px 13px 0 !important; background-color: #ff7966 !important; }
@media (min-width: 768px) { .products-list .product .vgwc-label { font-size: 15px !important; } }
.products-list .product-stock span { color: #ff7966 !important; font-size: 17px !important; font-weight: 600 !important; box-shadow: none !important; line-height: 2em !important; }
.products-list .product .product-stock { box-shadow: 0px 0px 9px 3px rgba(0,0,0,0.08) !important; }

/* Marquesina de Hot Sale a color Menta */
.product-image .product-labels .lbl-hot, .product-image .bwp-hot-sale, .product-image .hot-sale-ticker, .product-image .marquee, .product-image .bwp-marquee, .product-image .product-ticker, .bwp-price-sale, .product-labels .hot, .products-list .product .bwp-sale-marquee { background-color: #74beba !important; color: #ffffff !important; }
.product-image .product-labels .lbl-hot i, .product-image .bwp-hot-sale i, .product-image .hot-sale-ticker i, .product-image .marquee i, .product-image .bwp-marquee i, .product-labels .hot i, i.fa-bolt, .hot-sale-icon, .fa-bolt::before, .products-list .product .bwp-sale-marquee svg path, .products-list .product .bwp-sale-marquee svg polygon, .products-list .product .bwp-sale-marquee svg * { color: #ffffff !important; fill: #ffffff !important; stroke: #ffffff !important; }
.products-list .product .bwp-sale-marquee img, .products-list .product .bwp-sale-marquee i, .products-list .product .bwp-sale-marquee span.icon { filter: brightness(0) invert(1) !important; -webkit-filter: brightness(0) invert(1) !important; }

/* Botones flotantes (Hover) de producto */
body #page .md-products-content ul.products li.product .product-image a::after { text-shadow: none !important; font-family: var(--md-font-body) !important; font-weight: 700 !important; border-radius: 6px !important; }
.products-list .product-button .add-to-cart:hover, .products-list .product-button .product-quickview:hover { background-color: transparent !important; border-color: transparent !important; }

.products-list .product-button .add-to-cart a:hover, .products-list .product-button a.button:hover, body #page .md-products-content ul.products li.product .product-image a[class*="cart"]:hover, body #page .md-products-content ul.products li.product .product-image a[href*="add-to-cart"]:hover, body #page .md-products-content ul.products li.product .product-image a.product_type_external:hover { background-color: #74beba !important; border-color: #74beba !important; color: #ffffff !important; border-radius: 50% !important; }
.products-list .product-button .add-to-cart a:hover i, .products-list .product-button a.button:hover i, body #page .md-products-content ul.products li.product .product-image a[class*="cart"]:hover i, body #page .md-products-content ul.products li.product .product-image a[class*="cart"]:hover::before { color: #ffffff !important; }

.products-list .product-button .product-quickview a:hover, body #page .md-products-content ul.products li.product .product-image a[class*="quick"]:hover, body #page .md-products-content ul.products li.product .product-image a[data-hint*="Quick"]:hover { background-color: #ff7966 !important; border-color: #ff7966 !important; color: #ffffff !important; border-radius: 50% !important; }
.products-list .product-button .product-quickview a:hover i, body #page .md-products-content ul.products li.product .product-image a[class*="quick"]:hover i { color: #ffffff !important; }

body #page .products-list .product-button .woosw-btn:hover { background-color: #ff7966 !important; border-color: #ff7966 !important; color: #ffffff !important; border-radius: 50% !important; }
body #page .products-list .product-button .woosw-btn:hover::before { color: #ffffff !important; }

/* ==========================================================================
   TIENDA Y CATÁLOGO MÓVIL RESPONSIVE (< 991px)
   ========================================================================== */
@media (max-width: 991px) {
    .md-products-content { width: 100% !important; max-width: 100% !important; order: 2 !important; }
    .md-shop-sidebar { width: 100% !important; min-width: 100% !important; order: 1 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: none !important; }
    .woocommerce .site-main, .woocommerce-page .site-main { display: flex !important; flex-direction: column !important; padding: 12px !important; gap: 12px !important; width: 100% !important; overflow-x: hidden !important; }
    .desktop-only, .md-shop-sidebar h3 { display: none !important; }
    .md-products-content .woocommerce-result-count { display: none !important; }
    .md-products-content .woocommerce-ordering { float: none !important; width: 100% !important; margin-bottom: 20px !important; }
    .md-products-content .woocommerce-ordering select { width: 100% !important; }
    
    /* Carrusel de Filtros Móvil */
    .md-category-carousel-wrapper { width: 100% !important; overflow: hidden !important; margin-bottom: 5px !important; }
    .md-category-filter-list { display: flex !important; flex-direction: row !important; overflow-x: auto !important; white-space: nowrap !important; gap: 10px !important; padding: 4px 10px 12px 10px !important; scrollbar-width: none; }
    .md-category-filter-list::-webkit-scrollbar { display: none !important; }
    .md-category-filter-link { padding: 6px 14px 6px 8px !important; background-color: #FFFFFF !important; border: 1px solid #EBEBEB !important; font-size: 13px !important; }
    
    /* Disparador del filtro móvil */
    .md-mobile-filter-trigger { display: flex !important; align-items: center !important; justify-content: space-between !important; width: 100% !important; background-color: #f9f9f9 !important; color: var(--md-text-dark) !important; border: 1px solid #efefef !important; padding: 14px 24px !important; border-radius: 50px !important; font-family: var(--md-font-body) !important; font-size: 14px !important; font-weight: 500 !important; cursor: pointer !important; margin: 10px 0 15px 0 !important; outline: none !important; }
    .md-mobile-filter-trigger::after { content: "▼" !important; font-size: 10px !important; color: #ff7966 !important; transition: transform 0.25s ease !important; }
    .md-mobile-filter-trigger.is-active::after { transform: rotate(180deg) !important; }
    .md-mobile-collapsible-content { display: none; background: rgba(255,255,255,0.85) !important; backdrop-filter: blur(10px) !important; padding: 24px !important; border-radius: var(--md-radius-large) !important; margin-bottom: 15px !important; box-shadow: 0 4px 20px rgba(0,0,0,0.04) !important; width: 100% !important; box-sizing: border-box !important; }
    .md-mobile-collapsible-content .md-sidebar-widget h3 { display: block !important; font-size: 14px !important; margin-bottom: 12px !important; }
    
    /* Grid de tarjetas móvil */
    .md-products-content ul.products, .woocommerce .md-products-content ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; width: 100% !important; }
    .md-products-content ul.products li.product { padding: 10px !important; border-radius: 16px !important; }
    .md-products-content ul.products li.product .product-image, .md-products-content ul.products li.product .woocommerce-loop-product__link { border-radius: 10px !important; margin-bottom: 8px !important; }
    .md-products-content ul.products li.product .woocommerce-loop-product__title { font-size: 12px !important; }
}

/* ==========================================================================
   PÁGINA DE PRODUCTO ÚNICO (GLASSMORPHISM Y GALERÍA VERTICAL)
   ========================================================================== */
body.single-product { background-color: #fdfdfd !important; }
body.single-product #page, body.single-product #content, body.single-product .site-content, body.single-product .site-main { background-color: transparent !important; background: transparent !important; }
body.single-product .site-main { position: relative !important; z-index: 1 !important; overflow: visible !important; max-width: 1200px; margin: 0 auto; padding-top: 40px; }

/* Manchas luminosas ancladas */
body.single-product::before, body.single-product::after { content: '' !important; position: fixed !important; border-radius: 50% !important; filter: blur(80px) !important; z-index: -1 !important; pointer-events: none !important; animation: mdFloatSP 10s infinite ease-in-out alternate !important; }
body.single-product::before { width: 500px !important; height: 500px !important; background: rgba(242, 162, 177, 0.3) !important; top: -100px !important; left: -100px !important; }
body.single-product::after { width: 600px !important; height: 600px !important; background: rgba(126, 179, 212, 0.3) !important; bottom: -150px !important; right: -100px !important; animation-delay: -5s !important; }
@keyframes mdFloatSP { 0% { transform: translate(0, 0) scale(1); } 100% { transform: translate(40px, 40px) scale(1.1); } }

/* Layout Grid de Producto */
body.single-product #page .woocommerce div.product { display: flex !important; flex-wrap: wrap !important; gap: 40px !important; align-items: flex-start !important; margin-bottom: 0 !important; padding-bottom: 0 !important; }

/* Galería (Vertical a la izquierda) */
body.single-product #page .woocommerce div.product .woocommerce-product-gallery { width: 55% !important; display: flex !important; flex-direction: row !important; gap: 20px !important; float: none !important; }
body.single-product #page .woocommerce div.product .woocommerce-product-gallery__wrapper { flex: 1 !important; order: 1 !important; border-radius: var(--md-radius-large) !important; overflow: hidden !important; box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important; }
body.single-product #page .woocommerce div.product .flex-control-thumbs { width: 100px !important; order: 2 !important; display: flex !important; flex-direction: column !important; gap: 15px !important; margin: 0 !important; padding: 0 !important; }
body.single-product #page .woocommerce div.product .flex-control-thumbs li { width: 100% !important; margin: 0 !important; border-radius: 12px !important; overflow: hidden !important; border: 2px solid transparent !important; transition: all 0.3s ease !important; }
body.single-product #page .woocommerce div.product .flex-control-thumbs li:hover, body.single-product #page .woocommerce div.product .flex-control-thumbs li.flex-active { border-color: var(--md-primary-mint) !important; transform: translateY(-2px); }

/* Resumen Glassmorphism (Derecha) */
body.single-product #page .woocommerce div.product .summary.entry-summary { width: calc(45% - 40px) !important; float: none !important; background: rgba(255, 255, 255, 0.65) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important; border: 1px solid rgba(255, 255, 255, 0.9) !important; border-radius: 24px !important; box-shadow: 0 15px 40px rgba(0,0,0,0.05) !important; padding: 40px !important; margin-top: 0 !important; }
body.single-product .woocommerce div.product .summary .product_title { font-size: 28px !important; font-weight: 900 !important; margin-bottom: 15px !important; color: var(--md-text-dark) !important; }
body.single-product .woocommerce div.product .summary p.price { font-size: 24px !important; color: var(--md-accent-coral) !important; font-weight: 800 !important; margin-bottom: 30px !important; display: block !important; }
body.single-product .woocommerce div.product .product_meta { display: none !important; }

/* Atributos y Swatches en Producto Único */
.md-preorder-badge { background-color: var(--md-primary-mint-light); color: var(--md-text-dark); border: 2px solid var(--md-primary-mint); padding: 10px 15px; border-radius: 12px; font-size: 14px; margin-bottom: 20px; display: inline-block; box-shadow: 0 4px 10px rgba(163, 217, 201, 0.2); font-family: var(--md-font-body); }
.md-swatch-container { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; margin-bottom: 15px; }
.md-swatch.text-swatch { background: #FFFFFF; border: 2px solid var(--md-border-light); color: var(--md-text-muted); padding: 8px 18px; border-radius: 30px; cursor: pointer; font-weight: 700; font-size: 14px; transition: all 0.3s ease; }
.md-swatch.text-swatch:hover { border-color: var(--md-primary-mint); color: var(--md-primary-mint); }
.md-swatch.text-swatch.selected { background: var(--md-primary-mint); border-color: var(--md-primary-mint); color: #FFFFFF; box-shadow: 0 4px 12px rgba(163, 217, 201, 0.4); }
.md-swatch.color-swatch { width: 40px; height: 40px; border-radius: 50%; border: 2px solid #EBEBEB; cursor: pointer; box-shadow: 0 2px 5px rgba(0,0,0,0.1); transition: all 0.3s ease; position: relative; }
.md-swatch.color-swatch:hover { transform: scale(1.1); border-color: var(--md-accent-coral); }
.md-swatch.color-swatch.selected { border-color: var(--md-accent-coral); box-shadow: 0 0 0 3px #FFFFFF, 0 0 0 5px var(--md-accent-coral); transform: scale(1.1); }
.md-var-custom-desc { background-color: #fdfaf6; border-left: 4px solid var(--md-accent-coral); padding: 12px 15px; font-size: 13px; color: var(--md-text-dark); margin-bottom: 20px; border-radius: 0 12px 12px 0; box-shadow: 0 2px 8px rgba(0,0,0,0.02); }
.reset_variations { display: none !important; }

/* Botones Añadir al carrito (Único) */
body.single-product .woocommerce div.product form.cart { display: flex !important; flex-wrap: nowrap !important; align-items: center !important; gap: 15px !important; margin-top: 25px !important; padding-top: 25px !important; border-top: 1px solid rgba(0,0,0,0.05) !important; }
body.single-product .woocommerce div.product form.cart div.quantity { margin: 0 !important; flex-shrink: 0 !important; }
body.single-product .woocommerce div.product form.cart .quantity input.qty { height: 52px !important; width: 80px !important; border-radius: 30px !important; border: 1px solid rgba(0,0,0,0.1) !important; background: rgba(255, 255, 255, 0.5) !important; font-weight: 700 !important; font-size: 16px !important; color: var(--md-text-dark) !important; text-align: center !important; transition: all 0.3s ease !important; }
body.single-product .woocommerce div.product form.cart .quantity input.qty:focus { background: #ffffff !important; border-color: var(--md-primary-mint) !important; outline: none !important; }
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 !important; height: 52px !important; margin: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; background-color: var(--md-accent-coral) !important; color: #ffffff !important; border-radius: 30px !important; font-weight: 800 !important; font-size: 16px !important; padding: 0 30px !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; border: none !important; }
body.single-product .woocommerce div.product form.cart .single_add_to_cart_button:hover { background-color: #f06a57 !important; transform: translateY(-2px); box-shadow: 0 8px 25px rgba(242, 140, 115, 0.4) !important; }
body.single-product .md-qv-add-to-cart p.stock.out-of-stock, .md-qv-right .md-qv-add-to-cart p.stock.out-of-stock { font-size: 24px !important; background-color: var(--md-accent-coral) !important; color: #ffffff !important; font-weight: 800 !important; text-align: center !important; border-radius: 50px !important; width: 100% !important; max-width: 264px !important; padding: 12px 20px !important; margin-top: 15px !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; font-family: var(--md-font-heading) !important; }

/* Toggle de Regalo */
.md-gift-wrap-container { width: 100%; display: flex; align-items: center; background: rgba(255,255,255,0.7); border: 1px dashed #7eb3d4; padding: 12px 18px; border-radius: 16px; margin-bottom: 20px; gap: 15px; box-shadow: 0 4px 10px rgba(0,0,0,0.02); transition: all 0.3s ease; }
.md-gift-wrap-container:hover { border-color: #ff7966; background: #ffffff; }
.md-gift-text { font-size: 14px; color: #2b2b2b; font-family: var(--md-font-body); }
.md-gift-text strong { color: #ff7966; }
.md-gift-toggle { position: relative; display: inline-block; width: 46px; height: 24px; flex-shrink: 0; margin: 0; }
.md-gift-toggle input { opacity: 0; width: 0; height: 0; }
.md-gift-toggle .md-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #EBEBEB; transition: .4s; border-radius: 30px; }
.md-gift-toggle .md-slider:before { position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: white; transition: .4s; border-radius: 50%; box-shadow: 0 2px 4px rgba(0,0,0,0.2); }
.md-gift-toggle input:checked + .md-slider { background-color: #74beba; }
.md-gift-toggle input:checked + .md-slider:before { transform: translateX(22px); }

/* Pestañas (Tabs Acordeón / Elegantes) */
.md-elegant-tabs-container { margin-top: 40px; width: 100%; background: rgba(255, 255, 255, 0.6) !important; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-radius: 20px; padding: 30px; border: 1px solid rgba(255, 255, 255, 0.8); box-shadow: 0 10px 30px rgba(0,0,0,0.03); }
ul.md-elegant-tabs-list { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; list-style: none !important; padding: 0 !important; margin: 0 0 25px 0 !important; border-bottom: 2px solid rgba(0,0,0,0.05) !important; }
ul.md-elegant-tabs-list li.md-tab-link { font-family: var(--md-font-heading) !important; font-size: 14px !important; font-weight: 700 !important; color: var(--md-text-muted) !important; padding: 12px 24px !important; cursor: pointer !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; border-bottom: 3px solid transparent !important; margin-bottom: -2px !important; transition: all 0.3s ease !important; border-radius: 12px 12px 0 0 !important; }
ul.md-elegant-tabs-list li.md-tab-link:hover { color: var(--md-accent-coral) !important; background: rgba(242, 140, 115, 0.05) !important; }
ul.md-elegant-tabs-list li.md-tab-link.active { color: var(--md-accent-coral) !important; border-bottom-color: var(--md-accent-coral) !important; background: rgba(242, 140, 115, 0.08) !important; }
.md-tab-panel { display: none; animation: mdFadeInTab 0.4s ease forwards; font-size: 14px; line-height: 1.8; color: #555; }
.md-tab-panel.active { display: block; }
.md-tab-panel h2 { display: none !important; }
@keyframes mdFadeInTab { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

/* Productos Relacionados */
body.single-product #main, body.single-product .site-main, body.single-product .site-content, body.single-product #content, body.single-product .content-area { padding-bottom: 0 !important; margin-bottom: 0 !important; min-height: auto !important; }
body.single-product .bwp-single-product-extra, body.single-product .woocommerce-tabs, body.single-product .bwp-single-accordion, body.single-product .product-extra-info { display: none !important; margin: 0 !important; padding: 0 !important; height: 0 !important; min-height: 0 !important; overflow: hidden !important; }
body.single-product .site-footer, body.single-product footer, body.single-product .elementor-location-footer { margin-top: 0 !important; }
.md-sp-related { display: block !important; width: 100% !important; max-width: 1200px !important; margin: 40px auto 40px auto !important; padding: 0 20px !important; clear: both !important; position: relative !important; z-index: 10 !important; }
.md-sp-related section.related.products { margin: 0 !important; padding: 0 !important; display: block !important; visibility: visible !important; }
.md-sp-related section.related.products > h2 { font-family: var(--md-font-heading) !important; font-size: 28px !important; font-weight: 800 !important; color: var(--md-text-dark) !important; margin-bottom: 30px !important; text-align: left !important; text-transform: capitalize !important; border-bottom: 2px solid rgba(0,0,0,0.05) !important; padding-bottom: 10px !important; }
.md-related-slider { display: flex; gap: 25px; overflow-x: auto; padding: 10px 10px 30px 10px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--md-accent-coral) rgba(0,0,0,0.05); }
.md-related-slider::-webkit-scrollbar { height: 8px; }
.md-related-slider::-webkit-scrollbar-thumb { background-color: var(--md-accent-coral); border-radius: 10px; }
.md-rel-card { min-width: 260px; max-width: 260px; flex: 0 0 auto; background: rgba(255, 255, 255, 0.6); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,0.8); border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.03); scroll-snap-align: start; display: flex; flex-direction: column; overflow: hidden; transition: all 0.3s ease; }
.md-rel-card:hover { transform: translateY(-8px); box-shadow: 0 15px 40px rgba(0,0,0,0.08); border-color: rgba(242, 140, 115, 0.3); }
.md-rel-img { width: 100%; aspect-ratio: 1/1; overflow: hidden; background: #FAF7F2; display: block; }
.md-rel-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.md-rel-card:hover .md-rel-img img { transform: scale(1.05); }
.md-rel-info { padding: 20px; display: flex; flex-direction: column; flex-grow: 1; }
.md-rel-cat { font-size: 11px; text-transform: uppercase; font-weight: 800; color: #7eb3d4; margin-bottom: 5px; }
.md-rel-name { font-family: var(--md-font-heading); font-size: 18px; font-weight: 700; margin: 0 0 10px 0; line-height: 1.2; }
.md-rel-name a { color: var(--md-text-dark); text-decoration: none; transition: 0.2s; }
.md-rel-name a:hover { color: var(--md-accent-coral); }
.md-rel-price { font-size: 18px; font-weight: 800; color: var(--md-accent-coral); margin-bottom: 15px; margin-top: auto; }
.md-rel-btn { display: block; text-align: center; background: #7eb3d4; color: #fff; padding: 12px; border-radius: 30px; font-weight: 800; font-size: 13px; text-transform: uppercase; text-decoration: none; transition: all 0.3s ease; }
.md-rel-btn:hover { background: #6ba0c1; box-shadow: 0 5px 15px rgba(126, 179, 212, 0.4); }

/* Responsive Producto Único (< 991px) */
@media (max-width: 991px) {
    body.single-product #page .woocommerce div.product { flex-direction: column !important; gap: 20px !important; }
    body.single-product #page .woocommerce div.product .woocommerce-product-gallery { width: 100% !important; flex-direction: column !important; }
    body.single-product #page .woocommerce div.product .flex-control-thumbs { width: 100% !important; flex-direction: row !important; overflow-x: auto !important; }
    body.single-product #page .woocommerce div.product .flex-control-thumbs li { width: 80px !important; flex-shrink: 0 !important; }
    body.single-product #page .woocommerce div.product .summary.entry-summary { width: 100% !important; padding: 24px !important; }
    body.single-product .woocommerce div.product form.cart { flex-direction: column !important; align-items: stretch !important; width: 100% !important; gap: 15px !important; }
    body.single-product .woocommerce div.product form.cart .single_add_to_cart_button { width: 100% !important; max-width: 100% !important; flex: none !important; }
    .md-rel-card { min-width: 220px; max-width: 220px; }
    .md-qv-add-to-cart p.stock.out-of-stock { max-width: 100% !important; font-size: 18px !important; padding: 15px !important; }
    ul.md-elegant-tabs-list { flex-wrap: nowrap !important; overflow-x: auto !important; padding-bottom: 5px !important; }
    ul.md-elegant-tabs-list li.md-tab-link { flex: 0 0 auto !important; font-size: 12px !important; }
}

/* ==========================================================================
   QUICK VIEW (RESCATE Y ESTILO GLASSMORPHISM)
   ========================================================================== */
.modal#bwp-quickview, .bwp-quick-view, #yith-quick-view-modal, .quickview-modal, #woosq-popup { z-index: 9999999 !important; }
.modal-backdrop, .bwp-quick-view-overlay, .yith-quick-view-overlay, .woosq-overlay { z-index: 9999990 !important; }

#bwp-quickview .modal-content, .bwp-quick-view .modal-content { background: rgba(255, 255, 255, 0.85) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important; border: 1px solid rgba(255, 255, 255, 0.9) !important; border-radius: var(--md-radius-large) !important; box-shadow: 0 20px 60px rgba(0,0,0,0.15) !important; padding: 10px !important; }
#bwp-quickview .close, .bwp-quick-view .close { position: absolute !important; top: -15px !important; right: -15px !important; background: var(--md-accent-coral) !important; color: #ffffff !important; width: 36px !important; height: 36px !important; border-radius: 50% !important; opacity: 1 !important; text-shadow: none !important; box-shadow: 0 4px 10px rgba(242, 140, 115, 0.3) !important; z-index: 100 !important; display: flex !important; align-items: center !important; justify-content: center !important; font-weight: bold !important; }
#bwp-quickview form.cart .single_add_to_cart_button, .bwp-quick-view form.cart .single_add_to_cart_button { background-color: var(--md-accent-coral) !important; color: #ffffff !important; border-radius: 30px !important; text-transform: uppercase !important; font-weight: bold !important; border: none !important; }
#bwp-quickview form.cart .single_add_to_cart_button:hover, .bwp-quick-view form.cart .single_add_to_cart_button:hover { background-color: #f06a57 !important; }
#bwp-quickview form.cart .quantity input.qty, .bwp-quick-view form.cart .quantity input.qty { border-radius: 30px !important; background: rgba(255, 255, 255, 0.6) !important; border: 1px solid rgba(0,0,0,0.1) !important; }

/* ==========================================================================
   WISHLIST PAGE: LIQUID GLASSMORPHISM
   ========================================================================== */
body.md-is-wishlist-page #page, body.md-is-wishlist-page #content, body.md-is-wishlist-page .site-main, body.md-is-wishlist-page { background-color: #fdfdfd !important; background: transparent !important; }
body.md-is-wishlist-page::before, body.md-is-wishlist-page::after { content: '' !important; position: fixed !important; border-radius: 50% !important; filter: blur(80px) !important; z-index: -1 !important; pointer-events: none !important; animation: mdFloatWish 10s infinite ease-in-out alternate !important; }
body.md-is-wishlist-page::before { width: 450px !important; height: 450px !important; background: rgba(242, 162, 177, 0.35) !important; top: -50px !important; left: -100px !important; }
body.md-is-wishlist-page::after { width: 500px !important; height: 500px !important; background: rgba(126, 179, 212, 0.35) !important; bottom: -50px !important; right: -100px !important; animation-delay: -5s !important; }
@keyframes mdFloatWish { 0% { transform: translate(0, 0) scale(1); } 100% { transform: translate(30px, 30px) scale(1.1); } }

form#yith-wcwl-form, .wishlist_table-wrapper { background: rgba(255, 255, 255, 0.85) !important; backdrop-filter: blur(25px) !important; -webkit-backdrop-filter: blur(25px) !important; border: 1px solid rgba(255, 255, 255, 0.9) !important; border-radius: 24px !important; padding: 40px !important; box-shadow: 0 30px 60px rgba(0,0,0,0.08) !important; max-width: 1200px !important; margin: 50px auto !important; position: relative !important; z-index: 10 !important; }
table.wishlist_table { border: none !important; width: 100% !important; background: transparent !important; box-shadow: none !important; }
table.wishlist_table thead th { border: none !important; border-bottom: 2px solid rgba(0,0,0,0.05) !important; padding: 15px 20px !important; font-family: var(--md-font-heading) !important; font-weight: 800 !important; text-transform: uppercase !important; color: var(--md-text-dark) !important; font-size: 13px !important; text-align: left !important; }
table.wishlist_table tbody td { border: none !important; border-bottom: 1px solid rgba(0,0,0,0.05) !important; padding: 25px 20px !important; vertical-align: middle !important; }
table.wishlist_table .product-thumbnail img { width: 90px !important; border-radius: 12px !important; background: #f9f9f9 !important; padding: 5px !important; border: 1px solid #f0f0f0 !important; }
table.wishlist_table .product-name a { font-weight: 900 !important; color: var(--md-text-dark) !important; text-transform: uppercase !important; font-size: 15px !important; text-decoration: none !important; }
table.wishlist_table .product-price { color: #74beba !important; font-weight: 800 !important; font-size: 16px !important; }
table.wishlist_table td.product-add-to-cart a, table.wishlist_table td.product-add-to-cart button { background-color: var(--md-accent-coral) !important; color: #ffffff !important; border-radius: 30px !important; padding: 14px 25px !important; font-weight: 800 !important; font-size: 12px !important; text-transform: uppercase !important; border: none !important; transition: 0.3s ease !important; display: inline-block !important; text-align: center !important; letter-spacing: 0.5px !important; text-decoration: none !important; box-shadow: none !important; }
table.wishlist_table td.product-add-to-cart a:hover, table.wishlist_table td.product-add-to-cart button:hover { background-color: #f06a57 !important; transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(242, 140, 115, 0.4) !important; color: #ffffff !important; }
table.wishlist_table td.product-remove a.remove i, table.wishlist_table td.product-remove a.remove_from_wishlist i { display: none !important; }
table.wishlist_table td.product-remove a.remove, table.wishlist_table td.product-remove a.remove_from_wishlist { text-decoration: none !important; display: inline-block !important; }
table.wishlist_table td.product-remove a.remove::after, table.wishlist_table td.product-remove a.remove_from_wishlist::after { content: 'REMOVE' !important; display: block !important; font-size: 12px !important; font-weight: 900 !important; color: var(--md-text-muted) !important; transition: 0.3s ease !important; letter-spacing: 0.5px !important; }
table.wishlist_table td.product-remove a.remove:hover::after, table.wishlist_table td.product-remove a.remove_from_wishlist:hover::after { color: var(--md-accent-coral) !important; }
.yith-wcwl-share input { border-radius: 30px !important; padding: 12px 20px !important; border: 1px solid #EBEBEB !important; }

@media (max-width: 991px) {
    form#yith-wcwl-form { padding: 25px 15px !important; }
    table.wishlist_table thead { display: none !important; }
    table.wishlist_table tbody td { display: block !important; text-align: center !important; padding: 10px !important; }
    table.wishlist_table tbody tr { border-bottom: 2px solid rgba(0,0,0,0.05) !important; padding-bottom: 20px !important; margin-bottom: 20px !important; display: block !important; }
}

/* ==========================================================================
   WISHLIST POPUP Y MODAL
   ========================================================================== */
.yith-wcwl-popup-wrapper .yith-wcwl-popup-content, #yith-wcwl-popup-modal .modal-content, .bwp-wishlist-popup .popup-content, .wishlist-popup .modal-content { border-radius: var(--md-radius-large) !important; overflow: hidden !important; border: none !important; box-shadow: 0 10px 40px rgba(0,0,0,0.1) !important; }
.yith-wcwl-popup-wrapper .remove, .bwp-wishlist-popup .remove_from_wishlist, .remove_from_wishlist, #yith-wcwl-popup-modal table.wishlist_table .remove, #yith-wcwl-popup-modal table.wishlist_table .remove_from_wishlist, .wishlist_table a.remove { color: #74beba !important; transition: all 0.3s ease !important; background: transparent !important; border: none !important; font-size: 20px !important; }
.yith-wcwl-popup-wrapper .remove:hover, .bwp-wishlist-popup .remove_from_wishlist:hover, .remove_from_wishlist:hover, #yith-wcwl-popup-modal table.wishlist_table .remove:hover, #yith-wcwl-popup-modal table.wishlist_table .remove_from_wishlist:hover { color: #ff7966 !important; transform: scale(1.1) !important; }
.yith-wcwl-popup-wrapper .button, .bwp-wishlist-popup .button, #yith-wcwl-popup-modal .button, .yith-wcwl-popup-wrapper .btn-primary, #yith-wcwl-popup-modal .yith-wcwl-popup-footer a.wishlist-page, #yith-wcwl-popup-modal table.wishlist_table a.button, .wishlist_table .add_to_cart_button, .wishlist_table .product_type_external { background-color: #ff7966 !important; border: 2px solid #ff7966 !important; color: #ffffff !important; border-radius: 30px !important; font-family: var(--md-font-body) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; transition: all 0.3s ease !important; padding: 10px 24px !important; }
.yith-wcwl-popup-wrapper .button:hover, .bwp-wishlist-popup .button:hover, #yith-wcwl-popup-modal .button:hover, #yith-wcwl-popup-modal .yith-wcwl-popup-footer a.wishlist-page:hover, #yith-wcwl-popup-modal table.wishlist_table a.button:hover { background-color: #f06a57 !important; border-color: #f06a57 !important; color: #ffffff !important; }
.yith-wcwl-popup-wrapper .continue-shopping, .bwp-wishlist-popup .continue-shopping, #yith-wcwl-popup-modal .continue-shopping, .yith-wcwl-popup-wrapper .button.alt, #yith-wcwl-popup-modal .yith-wcwl-popup-footer a.continue-shopping { background-color: transparent !important; color: #ff7966 !important; border: 2px solid #ff7966 !important; border-radius: 30px !important; font-family: var(--md-font-body) !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; transition: all 0.3s ease !important; padding: 10px 24px !important; }
.yith-wcwl-popup-wrapper .continue-shopping:hover, .bwp-wishlist-popup .continue-shopping:hover, #yith-wcwl-popup-modal .continue-shopping:hover, #yith-wcwl-popup-modal .yith-wcwl-popup-footer a.continue-shopping:hover { background-color: #ff7966 !important; color: #ffffff !important; }

/* ==========================================================================
   CARRITO DE COMPRAS PREMIUM: ESTILO LIQUID GLASSMORPHISM
   ========================================================================== */

/* 1. LIBERACIÓN DE FONDOS */
body.woocommerce-cart #page, body.woocommerce-cart #content, body.woocommerce-cart #content .container, body.woocommerce-cart .site-main { background-color: #fafafa !important; background: transparent !important; box-shadow: none !important; border: none !important; }

/* 2. ESFERAS MÁGICAS FLOTANTES */
body.woocommerce-cart::before, body.woocommerce-cart::after { content: '' !important; position: fixed !important; border-radius: 50% !important; filter: blur(100px) !important; z-index: -1 !important; pointer-events: none !important; animation: mdLiquidCart 14s infinite ease-in-out alternate !important; }
body.woocommerce-cart::before { width: 500px !important; height: 500px !important; background: rgba(242, 162, 177, 0.38) !important; top: 15% !important; left: -10% !important; }
body.woocommerce-cart::after { width: 600px !important; height: 600px !important; background: rgba(126, 179, 212, 0.38) !important; bottom: 10% !important; right: -10% !important; animation-delay: -7s !important; }
@keyframes mdLiquidCart { 0% { transform: translate(0, 0) scale(1); } 100% { transform: translate(50px, 40px) scale(1.15); } }

/* 3. CONTROL DE GRID Y COLUMNAS */
body.woocommerce-cart .site-main .woocommerce > .row, body.woocommerce-cart .site-main .woocommerce { display: grid !important; grid-template-columns: 63% 34% !important; justify-content: space-between !important; width: 100% !important; max-width: 1250px !important; margin: 40px auto !important; }
body.woocommerce-cart .site-main .woocommerce > .row > div { width: 100% !important; max-width: 100% !important; flex: none !important; padding: 0 !important; margin: 0 !important; }
body.woocommerce-cart #content .container { padding-left: 20px !important; padding-right: 20px !important; max-width: 1320px !important; }

/* 4. TARJETAS DE CRISTAL (LISTA Y TOTALES) */
body.woocommerce-cart .woocommerce-cart-form, body.woocommerce-cart .cart-collaterals .cart_totals { background: rgba(255, 255, 255, 0.75) !important; backdrop-filter: blur(25px) !important; -webkit-backdrop-filter: blur(25px) !important; border: 1px solid rgba(255, 255, 255, 0.9) !important; border-radius: 24px !important; padding: 35px !important; box-shadow: 0 30px 60px rgba(0,0,0,0.04) !important; box-sizing: border-box !important; }
body.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; }

/* 5. DISEÑO DE LA TABLA Y TEXTOS DEL CARRITO */
body.woocommerce-cart table.shop_table, body.woocommerce-cart table.shop_table tbody tr, body.woocommerce-cart table.shop_table td { background: transparent !important; background-color: transparent !important; }
body.woocommerce-cart table.shop_table { border: none !important; width: 100% !important; border-collapse: collapse !important; }
body.woocommerce-cart table.shop_table th { border: none !important; border-bottom: 2px solid rgba(0,0,0,0.05) !important; padding: 20px 25px !important; font-family: var(--md-font-heading) !important; font-weight: 800 !important; text-transform: uppercase !important; color: var(--md-text-dark) !important; font-size: 12px !important; text-align: left !important; }
body.woocommerce-cart table.shop_table td { border: none !important; border-bottom: 1px solid rgba(0,0,0,0.05) !important; padding: 25px !important; vertical-align: middle !important; }
body.woocommerce-cart table.shop_table .product-thumbnail img { width: 90px !important; border-radius: 8px !important; background: #f9f9f9 !important; padding: 5px !important; border: 1px solid rgba(0,0,0,0.05) !important; }
body.woocommerce-cart table.shop_table .product-name a { font-weight: 900 !important; color: var(--md-text-dark) !important; text-transform: uppercase !important; font-size: 14px !important; display: block !important; margin-bottom: 5px !important; text-decoration: none !important; }
body.woocommerce-cart table.shop_table .product-price, body.woocommerce-cart table.shop_table .product-subtotal { color: #74beba !important; font-weight: 800 !important; font-size: 16px !important; }

/* Convertimos la X a REMOVE */
body.woocommerce-cart table.shop_table .product-remove a.remove { display: inline-block !important; text-indent: -9999px !important; width: auto !important; height: auto !important; background: none !important; border: none !important; font-size: 0 !important; }
body.woocommerce-cart table.shop_table .product-remove a.remove::after { content: 'REMOVE' !important; text-indent: 0 !important; display: block !important; font-size: 12px !important; font-weight: 900 !important; color: var(--md-text-muted) !important; text-transform: uppercase !important; transition: 0.3s ease !important; }
body.woocommerce-cart table.shop_table .product-remove a.remove:hover::after { color: var(--md-accent-coral) !important; }

/* Cajón de Cupón */
body.woocommerce-cart .actions { padding: 25px 0 0 0 !important; border-top: none !important; }
body.woocommerce-cart .coupon { display: flex !important; gap: 15px !important; align-items: center !important; }
body.woocommerce-cart .coupon input.input-text { border-radius: 30px !important; border: 1px solid rgba(0,0,0,0.1) !important; padding: 14px 20px !important; width: 220px !important; font-size: 14px !important; background: rgba(255,255,255,0.7) !important; }
body.woocommerce-cart .coupon button.button { border-radius: 30px !important; background: #74beba !important; color: white !important; padding: 14px 25px !important; font-weight: 800 !important; font-size: 12px !important; text-transform: uppercase !important; border: none !important; transition: 0.3s ease !important; }
body.woocommerce-cart .coupon button.button:hover { background: #5fa5a1 !important; }

/* Cajón de Totales */
body.woocommerce-cart .cart_totals h2 { font-family: var(--md-font-heading) !important; font-size: 26px !important; color: #74beba !important; margin-bottom: 25px !important; }
body.woocommerce-cart .cart_totals table { width: 100% !important; border: none !important; }
body.woocommerce-cart .cart_totals table th, body.woocommerce-cart .cart_totals table td { padding: 15px 0 !important; border-bottom: 1px solid rgba(0,0,0,0.05) !important; vertical-align: top !important; }
body.woocommerce-cart .cart_totals table th { font-weight: 700 !important; color: var(--md-text-muted) !important; font-size: 14px !important; text-align: left !important; }
body.woocommerce-cart .cart_totals table td { text-align: right !important; }
body.woocommerce-cart .cart_totals table .order-total th, body.woocommerce-cart .cart_totals table .order-total td { border-bottom: none !important; font-size: 22px !important; font-weight: 900 !important; color: var(--md-text-dark) !important; padding-top: 25px !important; }

/* Botón Proceder al Pago */
body.woocommerce-cart .checkout-button { display: block !important; width: 100% !important; text-align: center !important; background: var(--md-accent-coral) !important; color: white !important; padding: 20px !important; border-radius: 12px !important; font-weight: 800 !important; font-size: 16px !important; text-transform: uppercase !important; margin-top: 25px !important; transition: 0.3s !important; border: none !important; }
body.woocommerce-cart .checkout-button:hover { background: #f06a57 !important; transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(242, 140, 115, 0.4) !important; }

/* 6. LIMPIEZA QUIRÚRGICA DEL CARRITO */
.cart-collaterals .bwp-free-shipping-bar, .cart-collaterals div[class*="free-shipping"], .bwp-free-shipping-bar-wrapper, .wpb-free-shipping-bar, .woocommerce-shipping-calculator, p.woocommerce-shipping-destination { display: none !important; height: 0 !important; opacity: 0 !important; visibility: hidden !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-cart-form .actions a.button, .woocommerce-cart-form .actions a[href*="shop"], .woocommerce-cart-form .actions .bwp-continue-shopping, .bottom-cart h2 a { display: none !important; visibility: hidden !important; }

/* Ícono empaque de regalo */
@media (min-width: 901px) {
    .variation .variation-EmpaqueEspecial img, .woocommerce-cart-form .variation .variation-EmpaqueEspecial img { min-width: 2px !important; width: 20px !important; height: 20px !important; object-fit: contain !important; vertical-align: middle !important; margin-right: 5px !important; }
}

/* 7. CARRITO MÓVIL RESPONSIVE */
@media (max-width: 991px) {
    body.woocommerce-cart .site-main .woocommerce > .row, body.woocommerce-cart .site-main .woocommerce { grid-template-columns: 100% !important; gap: 35px !important; }
    body.woocommerce-cart .woocommerce-cart-form, body.woocommerce-cart .cart-collaterals .cart_totals { padding: 25px 20px !important; width: 100% !important; }
    body.woocommerce-cart table.shop_table th { display: none !important; }
    body.woocommerce-cart table.shop_table td { display: block !important; text-align: right !important; border-bottom: 1px solid rgba(0,0,0,0.05) !important; padding: 15px !important; }
    body.woocommerce-cart table.shop_table td.product-thumbnail { text-align: center !important; }
    body.woocommerce-cart table.shop_table td::before { content: attr(data-title); float: left; font-weight: 800; color: #888; text-transform: uppercase; font-size: 11px; }
    body.woocommerce-cart .coupon { flex-direction: column !important; width: 100% !important; align-items: stretch !important; }
    body.woocommerce-cart .coupon input.input-text { width: 100% !important; }
}

/* ==========================================================================
   POPUP DE CARRITO (YOUR ORDER / ADDED TO CART)
   ========================================================================== */
#bwp-popup-cart .popup-cart-content, .bwp-popup-cart-wrapper, .popup-cart-content { border-radius: 24px !important; border: none !important; box-shadow: 0 25px 60px rgba(0,0,0,0.15) !important; padding: 30px !important; }
#bwp-popup-cart .title, .popup-cart-content h2, .popup-cart-content .title, .popup-cart-title { font-family: var(--md-font-heading) !important; font-size: 28px !important; font-weight: 800 !important; color: var(--md-text-dark) !important; border-bottom: 2px solid rgba(0,0,0,0.03) !important; padding-bottom: 20px !important; margin-bottom: 20px !important; text-align: center !important; }
.bwp-free-shipping-bar { border-radius: 15px !important; background: rgba(242, 140, 115, 0.1) !important; border: 1px solid rgba(242, 140, 115, 0.2) !important; margin-bottom: 20px !important; }
.bwp-free-shipping-bar .progress-bar { background: var(--md-accent-coral) !important; border-radius: 15px !important; }
.free-shipping-message { font-weight: 700 !important; color: var(--md-accent-coral) !important; }
.woocommerce-mini-cart-item { border: 1px solid rgba(0,0,0,0.05) !important; border-radius: 16px !important; padding: 15px !important; margin-bottom: 15px !important; transition: all 0.3s ease !important; }
.woocommerce-mini-cart-item:hover { box-shadow: 0 5px 15px rgba(0,0,0,0.03) !important; border-color: rgba(242, 140, 115, 0.2) !important; }
.woocommerce-mini-cart-item img { border-radius: 10px !important; }
.woocommerce-mini-cart-item a:not(.remove) { font-family: var(--md-font-heading) !important; font-weight: 700 !important; font-size: 15px !important; color: var(--md-text-dark) !important; }
.woocommerce-mini-cart__total { border-top: 2px solid rgba(0,0,0,0.05) !important; padding-top: 20px !important; font-size: 20px !important; font-weight: 800 !important; color: var(--md-text-dark) !important; }
.woocommerce-mini-cart__buttons, .popup-cart-content .buttons { display: flex !important; gap: 15px !important; margin-top: 25px !important; }
.woocommerce-mini-cart__buttons .button, .popup-cart-content .buttons .button { flex: 1 !important; border-radius: 30px !important; font-weight: 800 !important; font-size: 13px !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; padding: 15px !important; text-align: center !important; transition: all 0.3s ease !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.woocommerce-mini-cart__buttons .button:not(.checkout), .popup-cart-content .buttons .button:not(.checkout) { background: transparent !important; color: var(--md-accent-coral) !important; border: 2px solid var(--md-accent-coral) !important; }
.woocommerce-mini-cart__buttons .button:not(.checkout):hover, .popup-cart-content .buttons .button:not(.checkout):hover { background: rgba(242, 140, 115, 0.05) !important; }
.woocommerce-mini-cart__buttons .checkout, .popup-cart-content .buttons .checkout { background: var(--md-accent-coral) !important; color: #fff !important; border: 2px solid var(--md-accent-coral) !important; }
.woocommerce-mini-cart__buttons .checkout:hover, .popup-cart-content .buttons .checkout:hover { background: #d97860 !important; border-color: #d97860 !important; box-shadow: 0 8px 20px rgba(242, 140, 115, 0.3) !important; }

/* ==========================================================================
   LOGIN "MY ACCOUNT" (TARJETA CENTRADA, BURBUJAS)
   ========================================================================== */
body.woocommerce-account:not(.logged-in) { background-color: #fdfdfd !important; }
body.woocommerce-account:not(.logged-in) #page, body.woocommerce-account:not(.logged-in) #content, body.woocommerce-account:not(.logged-in) .site-main { background-color: transparent !important; position: relative !important; z-index: 1 !important; }
body.woocommerce-account:not(.logged-in) .site-main::before, body.woocommerce-account:not(.logged-in) .site-main::after { content: '' !important; position: fixed !important; border-radius: 50% !important; filter: blur(80px) !important; z-index: -1 !important; pointer-events: none !important; animation: mdFloatLogin 10s infinite ease-in-out alternate !important; }
body.woocommerce-account:not(.logged-in) .site-main::before { width: 500px !important; height: 500px !important; background: rgba(242, 162, 177, 0.3) !important; top: -100px !important; left: -100px !important; }
body.woocommerce-account:not(.logged-in) .site-main::after { width: 600px !important; height: 600px !important; background: rgba(126, 179, 212, 0.3) !important; bottom: -150px !important; right: -100px !important; animation-delay: -5s !important; }
@keyframes mdFloatLogin { 0% { transform: translate(0, 0) scale(1); } 100% { transform: translate(40px, 40px) scale(1.1); } }

body.woocommerce-account:not(.logged-in) .site-main { padding: 0 !important; }
body.woocommerce-account:not(.logged-in) .woocommerce, body.woocommerce-account:not(.logged-in) .customer-login, body.woocommerce-account:not(.logged-in) .bwp-customer-login, body.woocommerce-account:not(.logged-in) .u-columns, body.woocommerce-account:not(.logged-in) .col2-set { display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: center !important; width: 100% !important; max-width: 100% !important; min-height: 80vh !important; margin: 0 !important; padding: 20px !important; box-sizing: border-box !important; float: none !important; }
body.woocommerce-account:not(.logged-in) .u-column1, body.woocommerce-account:not(.logged-in) .col-1 { width: 100% !important; max-width: 420px !important; flex: 0 0 auto !important; padding: 0 !important; margin: 0 auto !important; float: none !important; }
body.woocommerce-account:not(.logged-in) .u-column2, body.woocommerce-account:not(.logged-in) .col-2 { display: none !important; }
body.woocommerce-account:not(.logged-in) form.login { background: rgba(255, 255, 255, 0.85) !important; backdrop-filter: blur(20px) !important; border-radius: 24px !important; box-shadow: 0 15px 40px rgba(0,0,0,0.06) !important; padding: 50px 40px !important; border: 1px solid rgba(255,255,255,0.9) !important; width: 100% !important; box-sizing: border-box !important; display: block !important; }
body.woocommerce-account:not(.logged-in) .customer-login h2, body.woocommerce-account:not(.logged-in) form.login > h2, body.woocommerce-account:not(.logged-in) .bwp-login-title { display: none !important; }
img.md-login-logo { display: block !important; max-width: 160px !important; height: auto !important; margin: 0 auto 30px auto !important; }
body.woocommerce-account:not(.logged-in) form.login .form-row { width: 100% !important; margin-bottom: 15px !important; padding: 0 !important; display: block !important; }
body.woocommerce-account:not(.logged-in) form.login input.woocommerce-Input { width: 100% !important; padding: 14px 15px !important; border-radius: 8px !important; border: 1px solid #EBEBEB !important; background-color: #ffffff !important; color: #2b2b2b !important; font-size: 14px !important; box-shadow: none !important; height: auto !important; box-sizing: border-box !important; }
body.woocommerce-account:not(.logged-in) form.login input.woocommerce-Input:focus { border-color: #7eb3d4 !important; box-shadow: 0 0 0 3px rgba(126, 179, 212, 0.2) !important; outline: none !important; }
body.woocommerce-account:not(.logged-in) form.login button[name="login"], body.woocommerce-account:not(.logged-in) form.login button.woocommerce-button { width: 100% !important; background-color: #7eb3d4 !important; color: #ffffff !important; border: none !important; border-radius: 12px !important; padding: 16px !important; font-size: 16px !important; font-weight: 800 !important; margin-top: 15px !important; transition: all 0.3s ease !important; text-transform: capitalize !important; display: block !important; }
body.woocommerce-account:not(.logged-in) form.login button[name="login"]:hover, body.woocommerce-account:not(.logged-in) form.login button.woocommerce-button:hover { background-color: #6ba0c1 !important; transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(126, 179, 212, 0.3) !important; }
body.woocommerce-account:not(.logged-in) form.login .woocommerce-form-login__rememberme { display: flex !important; align-items: center !important; margin: 15px 0 0 0 !important; font-size: 13px !important; color: #7A7A7A !important; gap: 8px !important; }
body.woocommerce-account:not(.logged-in) form.login .woocommerce-LostPassword { text-align: center !important; margin-top: 25px !important; display: block !important; }
body.woocommerce-account:not(.logged-in) form.login .woocommerce-LostPassword a { color: #ff7966 !important; font-weight: 700 !important; text-decoration: none !important; font-size: 13px !important; }

@media (max-width: 768px) {
    body.woocommerce-account:not(.logged-in) form.login { padding: 40px 20px !important; }
}

/* ==========================================================================
   AJUSTES FINOS: SELECTOR DE CANTIDAD (MÁS/MENOS) Y SPINNERS
   ========================================================================== */
.cart .quantity-button .ajax-loading { margin-top: 22px !important; }
.quantity-button .quantity input[type=number] { font-size: 19px !important; color: #74beba !important; position: relative !important; top: -4px !important; margin-top: 5px !important; margin-bottom: 5px !important; }
.quantity-button .quantity .minus { margin-left: 9px !important; position: relative !important; top: 8px !important; }
.quantity-button .quantity .plus { margin-right: 9px !important; position: relative !important; top: 8px !important; }

/* ==========================================================================
   MEJORA: BOTÓN DE CUPÓN EN UNA SOLA LÍNEA
   ========================================================================== */
body.woocommerce-cart .coupon button.button {
    white-space: nowrap !important; /* Obliga al texto a quedarse en una línea */
    width: auto !important; /* Permite que el botón crezca si lo necesita */
    min-width: max-content !important; /* Se ajusta exactamente al tamaño de las palabras */
    padding-left: 30px !important; /* Le da un poquito más de aire a los lados */
    padding-right: 30px !important;
}