/*
Theme Name: LoConsigues Amazon Pro
Theme URI: https://loconsigues.online/
Author: LoConsigues Dev Team
Author URI: https://loconsigues.online/
Description: El motor premium definitivo inspirado en Amazon. Incluye Búsqueda AJAX Predictiva, Carrito Lateral dinámico con barra de envío gratis, Sistema de Favoritos persistente con confirmación visual, Formularios de Contacto AJAX con spinner, Integración con WhatsApp, Modo Oscuro integrado, imágenes WebP optimizadas y micro-interacciones fluidas. Endurecido con CSP, SRI en CDN, honeypot anti-spam y límites de intentos. Requisitos del sistema: Para una ejecución óptima y cumplimiento legal/operativo en Colombia, este tema requiere los siguientes plugins activos: WooCommerce, Departamentos y Ciudades de Colombia para WooCommerce, Elementor, Contact Form 7, FACTO (Facturación Electrónica DIAN) y WP Mail SMTP.
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: amazon-clone-theme
Tags: e-commerce, amazon-clone, premium, ajax-search, side-cart, responsive, webp-optimized, dark-mode, secure
*/

/* Reset & Basic Styles */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Prevent horizontal overflow */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

/* visa-acceptance-payment-gateway-blocks.css pone body.woocommerce en grid hasta 481px;
   sin columna fija el track crece al min-content del contenido (680px) y en móvil la
   página entera se dibuja más ancha que la pantalla. */
body.woocommerce {
    grid-template-columns: minmax(0, 1fr);
}

/* #header-sticky-wrapper queda fixed en top:0 (121px desktop / 197px móvil);
   sin offset los enlaces con ancla (#envios) aterrizan debajo del header. */
html {
    scroll-padding-top: 130px;
}

@media (max-width: 768px) {
    html {
        scroll-padding-top: 205px;
    }
}

body {
    font-family: "Poppins", "Amazon Ember", Arial, sans-serif;
    line-height: 1.6;
    font-weight: 400;
    background-color: #eaeded;
    /* Amazon light gray background */
}

/* Contenedor global */
.container-global {
    max-width: 1250px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
}

/* Typography Hierarchy */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Poppins", sans-serif;
    font-weight: 700 !important;
    color: #0f1111;
}

p,
.description,
.woocommerce-product-details__short-description,
.entry-content {
    line-height: 1.6 !important;
    font-weight: 400;
}

/* ===================================
   HEADER - 3 NIVELES
   =================================== */

/* Header Container */
.site-header {
    background-color: #131921;
    color: white;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    position: relative;
    z-index: 1000;
}

/* ===== TOP BAR ===== */
.header-top-bar {
    background-color: #232f3e;
    padding: 8px 0;
    font-size: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.top-bar-container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.top-bar-left {
    display: flex;
    align-items: center;
}

.top-bar-text {
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 8px;
}

.top-bar-text i {
    color: #ff9900;
}

/* Breadcrumbs SEO */
.amazon-breadcrumbs {
    padding: 10px 0;
    margin-bottom: 10px;
}

.breadcrumb-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 12px;
    color: #565959;
}

.breadcrumb-list li {
    display: flex;
    align-items: center;
    gap: 8px;
}

.breadcrumb-list a {
    color: #007185;
    text-decoration: none;
    transition: color 0.2s;
}

.breadcrumb-list a:hover {
    color: #C7511F;
    text-decoration: underline;
}

.breadcrumb-list i {
    font-size: 8px;
    color: #888;
}

/* SEO Titles */
.site-title-seo {
    margin: 0;
    line-height: 0;
}

.site-title-seo a {
    display: block;
}

body.dark-mode .breadcrumb-list {
    color: #aaa;
}

body.dark-mode .breadcrumb-list a {
    color: #4db2c2;
}

.top-bar-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.top-bar-right a {
    color: #ffffff;
    text-decoration: none;
    transition: color 0.2s ease;
}

.top-bar-right a:hover {
    color: #ff9900;
}

.top-bar-right .separator {
    color: rgba(255, 255, 255, 0.4);
    margin: 0 4px;
}

/* ===== MIDDLE BAR ===== */
.header-middle-bar {
    padding: 10px 0;
}

.middle-bar-container {
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
}

/* Logo */
.site-branding {
    flex-shrink: 0;
}

.site-branding img {
    max-height: 50px;
    width: auto;
}

.site-branding .site-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
}

/* Barra de Búsqueda Minimalista */
.header-search-wrapper {
    flex: 1;
    max-width: 800px;
}

.search-input-group-new {
    display: flex;
    align-items: center;
    background-color: #ffffff;
    border-radius: 6px;
    /* Reduced radius for amazon look */
    /* overflow: hidden; REMOVED to allow dropdown */
    border: 1px solid #ddd;
    transition: box-shadow 0.2s ease;
}

.search-input-group-new:focus-within {
    box-shadow: 0 0 0 2px #ff9900;
}

.search-field-new {
    flex: 1;
    border: none;
    padding: 10px 15px;
    font-size: 14px;
    color: #0f1111;
    outline: none;
}

.search-submit-new {
    background: transparent;
    border: none;
    padding: 10px 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 6px 6px 0;
    /* Restore rounded corner */
}

.search-submit-new i {
    color: #333;
    font-size: 18px;
    transition: color 0.2s ease;
}

.search-submit-new:hover i {
    color: #ff9900;
}

/* --- Search Filter Button --- */
.search-filter-wrapper {
    position: relative;
    height: 100%;
}

.search-filter-btn {
    background-color: #f3f3f3;
    border: none;
    border-right: 1px solid #ddd;
    padding: 0 15px;
    height: 40px;
    font-size: 13px;
    color: #333;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: background-color 0.2s;
    border-radius: 6px 0 0 6px;
    white-space: nowrap;
}

.search-filter-btn:hover {
    background-color: #e3e3e3;
    color: #111;
}

.search-filter-btn i {
    font-size: 10px;
    color: #555;
}

.search-filter-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 220px;
    /* Slightly wider for category names */
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    z-index: 10000;
    /* Priority over hero and slider */
    padding: 10px 0;
    display: none;
    text-align: left;
    margin-top: 5px;
}

.search-filter-dropdown.active {
    display: block;
}

.filter-section {
    display: flex;
    flex-direction: column;
}

.filter-title {
    padding: 8px 15px 5px;
    font-size: 11px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
}

.filter-link {
    display: block;
    padding: 8px 15px;
    color: #333;
    text-decoration: none;
    font-size: 13px;
    transition: background-color 0.1s;
}

.filter-link:hover {
    background-color: #f0f0f0;
    color: #000;
}

.filter-divider {
    height: 1px;
    background-color: #eee;
    margin: 5px 0;
}

.highlight-link {
    font-weight: 500;
}

/* Dark Mode Support for Dropdown */
body.dark-mode .search-filter-btn {
    background-color: #333;
    border-right-color: #444;
    color: #fff;
}

body.dark-mode .search-filter-btn:hover {
    background-color: #444;
}

body.dark-mode .search-filter-btn i {
    color: #bbb;
}

body.dark-mode .search-filter-dropdown {
    background-color: #222;
    border-color: #444;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
    z-index: 9999;
}

body.dark-mode .filter-title {
    color: #aaa;
}

body.dark-mode .filter-link {
    color: #ddd;
}

body.dark-mode .filter-link:hover {
    background-color: #333;
    color: #fff;
}

body.dark-mode .filter-divider {
    background-color: #444;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .search-filter-btn {
        padding: 0 10px;
        font-size: 12px;
        height: 38px;
    }

    .search-filter-dropdown {
        width: 180px;
    }
}

/* Header Actions & Icons */
.header-actions {
    display: flex;
    align-items: center;
    gap: 25px;
}

.header-account a,
.header-wishlist a,
.header-cart a {
    color: #ffffff;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transition: all 0.2s ease;
    position: relative;
}

.header-account a:hover,
.header-wishlist a:hover,
.header-cart a:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.header-account i,
.header-wishlist i,
.header-cart i {
    font-size: 20px;
    color: #ffffff;
    transition: color 0.2s ease;
}

.header-account a:hover i,
.header-wishlist a:hover i,
.header-cart a:hover i {
    color: #ff9900 !important;
}

.header-action-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.action-label {
    font-size: 10px;
    font-weight: 500;
    color: #ffffff;
    text-transform: capitalize;
}

.header-account a:hover .action-label,
.header-wishlist a:hover .action-label,
.header-cart a:hover .action-label {
    color: #ff9900;
}

/* Badges */
.wishlist-count,
.cart-count {
    position: absolute;
    top: -5px;
    right: -5px;
    background-color: #ff9900;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    padding: 0;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #131921;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
}

.wishlist-count.visible,
.cart-count.visible {
    opacity: 1;
    visibility: visible;
}

/* WhatsApp Floating Button Redesign */
.whatsapp-float-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #25d366;
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    transition: all 0.3s ease;
}

@media (max-width: 768px) {
    .whatsapp-float-btn {
        width: 50px;
        height: 50px;
        font-size: 26px;
        bottom: 20px;
        right: 20px;
    }
}

.whatsapp-float-btn:hover {
    transform: scale(1.1);
    background-color: #128c7e;
    color: white;
    box-shadow: 0 0 0 4px rgba(255, 153, 0, 0.5);
    /* Orange border on hover */
}

.whatsapp-bubble {
    position: fixed;
    bottom: 100px;
    right: 30px;
    background: white;
    color: #333;
    padding: 10px 15px;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    font-size: 13px;
    font-weight: 600;
    z-index: 999;
}

.bubble-arrow {
    position: absolute;
    bottom: -8px;
    right: 20px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid white;
}

/* Menú de Navegación con Iconos */
.header-nav-menu {
    width: 100%;
}

.nav-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 40px;
}

.nav-menu-item a {
    color: #ffffff;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.nav-menu-item a i {
    font-size: 16px;
    color: #ff9900;
}

.nav-menu-item a:hover {
    background-color: transparent;
    box-shadow: 0 0 0 1px #ffffff;
    color: #ffffff;
}


/* ===== MOBILE OPTIMIZATION ===== */
@media (max-width: 992px) {
    .top-bar-left .top-bar-text {
        font-size: 11px;
    }

    .top-bar-right {
        font-size: 11px;
    }

    .middle-bar-container {
        gap: 15px;
    }

    .greeting-text {
        font-size: 14px;
    }

    .greeting-text i {
        font-size: 18px;
    }

    .header-actions {
        gap: 12px;
    }

    .action-text {
        font-size: 12px;
    }

    .nav-menu-list {
        gap: 20px;
    }

    .nav-menu-item a {
        font-size: 13px;
        padding: 6px 12px;
    }
}

@media (max-width: 768px) {

    /* Top Bar - Hide text, keep links */
    .top-bar-left {
        display: none;
    }

    .top-bar-right {
        margin: 0 auto;
    }

    /* Middle Bar - Row 1: Logo & Actions, Row 2: Search */
    .middle-bar-container {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        padding: 10px 15px;
    }

    .site-branding {
        width: auto;
        flex: 0 0 auto;
        text-align: left;
        order: 1;
        /* Row 1 Left */
    }

    .site-branding img {
        max-height: 35px;
        width: auto;
    }

    .header-greeting {
        display: none;
    }

    .header-actions {
        width: auto;
        flex: 0 0 auto;
        gap: 15px;
        justify-content: flex-end;
        align-items: center;
        order: 2;
        /* Row 1 Right */
    }

    .header-account i,
    .header-wishlist i,
    .header-cart i {
        font-size: 20px !important;
        /* Slightly smaller for mobile elegance */
        margin-bottom: 2px;
    }

    .header-search-wrapper {
        width: 100% !important;
        flex: 0 0 100%;
        order: 3;
        /* Row 2 Full Width */
        max-width: none;
        margin-top: 5px;
    }

    .search-input-group-new {
        border-radius: 8px;
    }

    .search-submit-new {
        background-color: #ff9900 !important;
        padding: 0 15px;
    }

    .search-submit-new i {
        color: #131921 !important;
    }

    /* Hero section must touch the header with no gap */
    .home .site-main,
    .front-page .site-main {
        padding-top: 0;
    }

    /* Ensure specific hero sections don't overlap if they have negative margins */
    .hero-section {
        margin-top: 0 !important;
    }

    /* SHOW text labels on mobile for Amazon style */
    .action-text,
    .action-label {
        display: block !important;
        font-size: 9px !important;
        line-height: 1;
        margin-top: 2px;
    }

    .header-account a,
    .header-wishlist a,
    .header-cart a {
        width: auto;
        height: auto;
        padding: 0 5px;
        border-radius: 4px;
        flex-direction: column;
        /* Stack icon and text */
        background: none !important;
        /* Remove circle background */
    }

    .header-account i,
    .header-wishlist i,
    .header-cart i {
        font-size: 22px !important;
    }

    /* Bottom Bar */
    .bottom-bar-container {
        padding: 5px 15px;
    }

    /* Nav Menu - Amazon style horizontal scroll if too many items */
    .header-nav-menu {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .nav-menu-list {
        display: flex;
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 10px;
        padding-bottom: 5px;
    }

    .nav-menu-item {
        flex: 0 0 auto;
    }

    .nav-menu-item a {
        font-size: 13px;
        padding: 6px 10px;
        white-space: nowrap;
    }
}

@media (max-width: 576px) {
    .header-top-bar {
        padding: 6px 0;
    }

    .top-bar-right a {
        font-size: 10px;
    }

    .header-middle-bar {
        padding: 10px 0;
    }

    .header-bottom-bar {
        padding: 10px 0;
    }

    .nav-menu-list {
        justify-content: space-around;
    }

    .nav-menu-item a span {
        display: none;
    }

    .nav-menu-item a {
        padding: 10px;
    }

    .nav-menu-item a i {
        font-size: 18px;
        margin: 0;
    }
}

/* Benefits Ribbon */
.benefits-ribbon {
    background-color: #f7f7f7;
    padding: 20px 0;
    border-bottom: 1px solid #eee;
    margin-bottom: 30px;
}

.benefits-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.benefit-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.benefit-item i {
    font-size: 24px;
    color: #ff9900;
}

.benefit-text {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.benefit-text span {
    display: block;
    font-weight: 400;
    color: #666;
}

@media (max-width: 768px) {
    .benefits-ribbon {
        padding-top: 15px !important;
    }

    .benefits-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .benefit-item {
        flex-direction: column;
        text-align: center;
    }
}

/* Hero Section */
.hero-section {
    background-image: url('https://m.media-amazon.com/images/I/61lwJy4B8PL._SX3000_.jpg');
    /* Placeholder Hero Image */
    background-size: cover;
    background-position: center;
    height: 600px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    /* Adjust for negative margin on grid to pull it up like Amazon */
    margin-bottom: -150px;
}

/* Animation Keyframes */
@keyframes heroFadeInUpDesktop {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes heroFadeInUpMobile {
    0% {
        opacity: 0;
        transform: translate(-50%, calc(-50% + 20px));
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}

.hero-content {
    /* Desktop Visibility & Style */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 100;
    color: white !important;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
    position: absolute;
    bottom: 20%;
    left: 50px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    padding: 30px;
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    min-width: 300px;

    /* Animation */
    opacity: 0;
    animation: heroFadeInUpDesktop 0.8s ease-out 2s forwards;
}

.hero-content h1,
.hero-content h2 {
    color: white !important;
    margin-bottom: 5px;
    font-weight: 800 !important;
    /* Extra Bold */
    font-size: 2.2rem;
    text-align: center;
    line-height: 1.2;
    display: block;
    overflow: hidden;
    white-space: normal;
    word-wrap: break-word;
    max-height: 5.2rem;
    opacity: 1;
    visibility: visible;
    position: relative;
    z-index: 10;
}

.hero-content .amazon-btn-yellow {
    font-size: 0.9rem;
    padding: 8px 20px;
    margin-top: 10px;
}


/* Amazon Gradient Fade */
.hero-gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 300px;
    background: linear-gradient(to bottom, transparent, #eaeded);
    pointer-events: none;
}

/* Product Grid adjustment to overlap hero */
.product-grid-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    /* Default 4 columns */
    gap: 30px;
    padding: 20px;
    max-width: 1500px;
    margin: 0 auto;
    position: relative;
    z-index: 10;
    margin-top: 50px;
}

@media (max-width: 992px) {
    .product-grid-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
        padding: 15px;
    }
}

@media (max-width: 576px) {
    .product-grid-container {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px;
        padding: 12px;
    }
}

.product-card {
    background-color: white;
    border: 1px solid #e7e7e7;
    border-radius: 20px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: all 0.3s ease;
    position: relative;
    /* Crucial for absolute positioned children */
}

.product-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    transform: translateY(-5px);
}

.product-image {
    text-align: center;
    margin-bottom: 15px;
    height: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 20px;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    transition: transform 0.5s ease;
}

.product-card:hover .product-image img {
    transform: scale(1.05);
}

.product-title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    height: 44px;
}

.product-title a {
    text-decoration: none;
    color: #0f1111;
}

.product-title a:hover {
    color: #c7511f;
    text-decoration: underline;
}

.product-rating {
    margin-bottom: 10px;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.product-rating .stars {
    color: #ffa41c;
}

.rating-count {
    color: #007185;
    margin-left: 5px;
}

.product-price {
    font-size: 24px;
    font-weight: 800;
    color: #ff9900 !important;
    margin-bottom: 15px;
}

.product-price .currency {
    font-size: 12px;
    margin-top: 4px;
    /* Align top small */
    margin-right: 1px;
}

.product-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.product-content .add_to_cart_button {
    margin-top: auto;
    width: 100% !important;
    text-align: center;
    justify-content: center;
}

/* ===================================
   MOBILE OPTIMIZATION - THUMB-FRIENDLY
   =================================== */

/* Tablet and Mobile Optimizations */
@media (max-width: 992px) {
    .product-card {
        padding: 15px;
    }

    .product-title {
        font-size: 14px;
        line-height: 1.3;
        height: 36px;
        margin-bottom: 8px;
    }

    .product-price {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .product-image {
        height: 150px;
        margin-bottom: 12px;
    }
}

/* Mobile Specific - Thumb-Friendly */
@media (max-width: 576px) {
    .product-grid-container {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .product-card {
        padding: 12px;
        border-radius: 16px;
    }

    .product-image {
        height: 140px;
        margin-bottom: 10px;
    }

    .product-image img {
        border-radius: 16px;
    }

    .product-title {
        font-family: "Poppins", sans-serif !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.3;
        height: 38px;
        margin-bottom: 6px;
    }

    .product-rating {
        font-size: 11px;
        margin-bottom: 6px;
    }

    .product-price {
        font-size: 18px !important;
        font-weight: 800 !important;
        color: #ff9900 !important;
        margin-bottom: 10px;
    }
}

.product-shipping {
    font-size: 11px;
    margin-top: 4px;
    margin-bottom: 10px;
}

/* Thumb-Friendly Buttons in Product Cards */
.product-card .woocommerce a.button,
.product-card .woocommerce button.button,
.product-card .add_to_cart_button,
.product-card .button {
    width: 100% !important;
    min-height: 48px !important;
    padding: 14px 16px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border-radius: 20px !important;
    margin-top: 8px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
}

/* Ensure WooCommerce loop buttons are thumb-friendly */
.woocommerce ul.products li.product .button {
    width: 100% !important;
    min-height: 48px !important;
    padding: 14px 16px !important;
    font-size: 13px !important;
}

/* Buttons Standardized */
.amazon-btn-yellow,
.amazon-btn-orange,
.checkout-button,
.update-cart-btn,
.search-submit,
.place-order,
#place_order,
.single_add_to_cart_button,
.woocommerce-cart-form__contents .button,
.wc-proceed-to-checkout .button,
.amazon-btn-secondary {
    font-family: "Poppins", sans-serif !important;
    background-color: #ff9900 !important;
    color: white !important;
    border-radius: 20px !important;
    border: none !important;
    font-weight: 700 !important;
    transition: background-color 0.2s ease !important;
}

.amazon-btn-yellow:hover,
.amazon-btn-orange:hover,
.checkout-button:hover,
.update-cart-btn:hover,
.place-order:hover,
#place_order:hover,
.single_add_to_cart_button:hover {
    background-color: #e68a00 !important;
}

/* Utilities */
.woocommerce-cart .coupon {
    display: none !important;
}

@media (max-width: 991px) {
    .amazon-cart-container {
        flex-direction: column;
    }

    .woocommerce-cart-form,
    .cart-collaterals {
        flex: 1 1 100%;
    }
}


/* --- Mobile Layout Fix (768px) --- */
@media (max-width: 768px) {
    .amazon-cart-container {
        flex-direction: column !important;
        padding-bottom: 80px;
        /* Space for the fixed checkout bar */
    }

    .woocommerce-cart-form,
    .cart-collaterals {
        width: 100% !important;
        flex: 1 1 100% !important;
    }

    .cart-collaterals {
        margin-top: 20px !important;
        position: static !important;
    }

    /* Sticky Mobile Checkout Bar */
    .wc-proceed-to-checkout {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        background: #fff !important;
        padding: 15px !important;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1) !important;
        z-index: 999 !important;
        margin: 0 !important;
    }

    .wc-proceed-to-checkout .checkout-button {
        margin-top: 0 !important;
        width: 100% !important;
    }

    .amazon-summary-box {
        width: 100% !important;
        margin-bottom: 20px;
    }
}


/* --- Footer Styles --- */
.site-footer {
    background-color: #232f3e;
    color: #ffffff;
    padding: 40px 0 0;
    font-size: 14px;
}

.footer-columns {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    max-width: 1500px;
    margin: 0 auto;
    padding: 0 20px 40px;
}

.footer-column h3 {
    color: #ffffff;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 20px;
}

.footer-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-column ul li {
    margin-bottom: 10px;
}

.footer-column ul li a {
    color: #dddddd;
    text-decoration: none;
}

.footer-column ul li a:hover {
    text-decoration: underline;
}

.social-icons {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-top: 10px;
    max-width: 300px;
}

.social-icon {
    color: #ffffff;
    font-size: 20px;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

.social-icon:hover {
    background-color: rgba(255, 216, 20, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.payment-methods {
    margin-top: 15px;
}

.payment-icons {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
    flex-wrap: wrap;
}

.payment-icons svg,
.payment-icons img {
    height: 25px;
    width: auto;
    filter: grayscale(0.5) brightness(1.2);
    transition: filter 0.3s ease;
}

.payment-icons svg:hover,
.payment-icons img:hover {
    filter: none;
}

.trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
    color: #dddddd;
    font-size: 11px;
    opacity: 0.9;
}

.trust-badge svg {
    color: #febd69;
    flex-shrink: 0;
}

.trust-badge span {
    line-height: 1.2;
}

.footer-bottom {
    background-color: #131921;
    padding: 20px;
    text-align: center;
    border-top: 1px solid #3a4553;
}

.footer-newsletter-fullwidth {
    background-color: #131921;
    padding: 35px 0;
    /* Reduced from 60px */
    border-top: 1px solid #3a4553;
}

.newsletter-content-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 0 60px;
    /* Increased to avoid floating buttons */
}

.newsletter-text {
    flex: 1.2;
    text-align: left;
}

.newsletter-text h3 {
    color: #ffd814 !important;
    font-size: 22px;
    /* Reduced from 26px */
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
}

.newsletter-text p {
    color: #ffffff;
    font-size: 15px;
    /* Reduced from 17px */
    margin-bottom: 0;
}

.newsletter-form-wrapper {
    flex: 1;
    max-width: 480px;
    /* More compact form */
}

@media (max-width: 992px) {
    .newsletter-content-wrapper {
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }

    .newsletter-text h3 {
        justify-content: center;
    }

    .newsletter-text p {
        margin-bottom: 10px;
    }

    .newsletter-form-wrapper {
        max-width: 600px;
        width: 100%;
    }
}

.newsletter-input-group {
    display: flex;
    gap: 0;
    border-radius: 30px;
    overflow: hidden;
    margin-bottom: 15px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    background: white;
}

.newsletter-input-group input {
    flex: 1;
    padding: 15px 25px;
    border: none;
    font-size: 16px;
    outline: none;
    background: white;
}

.newsletter-input-group button {
    background-color: #ff9900 !important;
    color: white !important;
    border: none;
    padding: 0 30px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.3s;
}

.newsletter-input-group button:hover {
    background-color: #e68a00 !important;
}

.newsletter-privacy {
    color: #999;
    font-size: 12px;
}

.newsletter-privacy a {
    color: #ff9900;
    text-decoration: none;
}

@media (max-width: 576px) {
    .newsletter-input-group {
        flex-direction: column;
        border-radius: 10px;
        background: transparent;
        box-shadow: none;
    }

    .newsletter-input-group input {
        border-radius: 10px;
        margin-bottom: 10px;
        width: 100%;
    }

    .newsletter-input-group button {
        border-radius: 10px;
        padding: 15px;
        width: 100%;
    }
}

.copyright-text {
    color: #999999;
    font-size: 12px;
}

/* WhatsApp Button Offset */
.whatsapp-float {
    z-index: 999;
}

/* Mobile Stacking */
@media (max-width: 768px) {
    .footer-columns {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 40px;
        padding: 0 15px;
    }

    .footer-column {
        margin: 0;
        padding: 0;
    }

    .social-icons,
    .payment-icons {
        justify-content: center;
    }

    .social-icons {
        grid-template-columns: repeat(2, 1fr);
        max-width: 200px;
        margin-left: auto;
        margin-right: auto;
    }

    .site-footer {
        padding-bottom: 80px;
        /* Space for WhatsApp and sticky cart if exists */
    }
}


/* --- Amazon Thank You Page Styles --- */

/* --- WhatsApp Floating Button (Professional) --- */
.whatsapp-float {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 20px;
    right: 20px;
    background-color: #25d366;
    color: #FFF;
    border-radius: 50px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    transition: transform 0.3s ease;
    animation: whatsapp_pulse 2s infinite;
}

.whatsapp-float:hover {
    transform: scale(1.1);
    color: #FFF;
}

.whatsapp-float .dashicons {
    font-size: 35px;
    width: 35px;
    height: 35px;
}

@keyframes whatsapp_pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
    }

    70% {
        box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

/* Mobile Adjustment to avoid overlap with sticky buttons */
@media (max-width: 767px) {
    .whatsapp-float {
        bottom: 90px;
        right: 15px;
        width: 50px;
        height: 50px;
    }

    .whatsapp-float .dashicons {
        font-size: 30px;
        width: 30px;
        height: 30px;
    }
}

/* --- Home Banners Row Styles --- */
.home-banners-row {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: -100px;
    /* Overlap hero like Amazon */
    position: relative;
    z-index: 20;
    padding-bottom: 20px;
}

.home-banner-card {
    background: #fff;
    padding: 20px;
    flex: 1 1 calc(33.333% - 20px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border: 1px solid #DDD;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.home-banner-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

/* Video Banner Styles */
.banner-video-wrapper {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    border-radius: 8px;
    background: #111;
    width: 100%;
    height: 100%;
    min-height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 50px rgba(0,0,0,0.5);
}

.banner-video-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.9;
    transition: all 0.6s cubic-bezier(0.23, 1, 0.320, 1);
}

.banner-video-wrapper:hover img {
    transform: scale(1.05);
    opacity: 1;
}

.video-play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;
    height: 80px;
    background: rgba(255, 153, 0, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 32px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.3);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    z-index: 5;
    pointer-events: none;
}

.video-play-overlay i {
    margin-left: 5px; /* Offset for visual centering of the play triangle */
}

.banner-video-wrapper:hover .video-play-overlay {
    transform: translate(-50%, -50%) scale(1.15);
    background: #ff9900;
    box-shadow: 0 15px 35px rgba(255, 153, 0, 0.4);
}

.video-iframe-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    background: #000;
}

.video-iframe-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.banner-video-wrapper.playing .video-iframe-container {
    display: block;
}

.banner-video-wrapper.playing img,
.banner-video-wrapper.playing .video-play-overlay {
    display: none;
}

.home-banner-card a {
    display: block;
    overflow: hidden;
    /* Frame container */
    border-radius: 2px;
}

.home-banner-card img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.home-banner-card:hover img {
    transform: scale(1.12);
}

.banner-main {
    flex: 1 1 100%;
    /* Make main banner full width if preferred, or keep 33% */
}

@media (max-width: 991px) {
    .home-banners-row {
        margin-top: 20px;
    }

    .home-banner-card {
        flex: 1 1 100%;
    }
}


/* --- Cart Page Refinements --- */


.cart-title {
    font-size: 1.8rem;
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

.cart-item-row {
    display: grid;
    grid-template-columns: 120px 1fr 100px;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid #eee;
}

.item-image img {
    max-width: 100%;
    height: auto;
}

.item-name a {
    color: #007185;
    text-decoration: none;
    font-size: 1.1rem;
}

.item-name a:hover {
    color: #c45500;
    text-decoration: underline;
}

.item-stock {
    color: #007600;
    font-size: 0.9rem;
    margin: 5px 0;
}

.item-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.item-delete {
    color: #007185;
    text-decoration: none;
    font-size: 0.9rem;
}

.item-delete:hover {
    text-decoration: underline;
}

.item-price {
    text-align: right;
    font-weight: bold;
    font-size: 1.2rem;
}

@media (max-width: 991px) {
    .amazon-cart-wrapper {
        gap: 20px;
    }

    .woocommerce-cart-form,
    .cart-collaterals {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .cart-collaterals {
        position: static;
    }
}

@media (max-width: 768px) {

    /* MOBILE CARD LAYOUT */
    .amazon-cart-items-card {
        padding: 15px;
        background: transparent;
        border: none;
        box-shadow: none;
    }

    .cart-item-row {
        display: block !important;
        /* Rompe el flex/grid */
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 12px;
        margin-bottom: 15px;
        padding: 15px;
        position: relative;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    }

    .item-image {
        width: 80px;
        height: 80px;
        float: left;
        margin-right: 15px;
        margin-bottom: 10px;
    }

    .item-details {
        overflow: hidden;
        /* Limpia el float */
    }

    .item-name {
        font-size: 0.95rem !important;
        line-height: 1.3;
        margin-bottom: 5px;
        display: block;
    }

    .item-stock {
        display: none !important;
        /* Ocultar no esencial */
    }

    .item-actions {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-top: 10px;
        clear: both;
    }

    .item-price {
        position: absolute;
        bottom: 15px;
        right: 15px;
        text-align: right;
        font-size: 1.1rem !important;
        color: #B12704;
    }

    /* Ocultar columnas de tabla si es que hay cabeceras o subtotales por producto */
    .cart-header,
    .item-subtotal-label {
        display: none !important;
    }

    .amazon-summary-box {
        border-radius: 12px !important;
        padding: 20px !important;
    }
}


/* --- Hero Swiper Carousel Styles --- */
.hero-swiper-container {
    position: relative;
    overflow: hidden;
}

.hero-swiper {
    width: 100%;
    height: 600px;
}

.hero-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Amazon Style Arrows */
.hero-swiper .swiper-button-next,
.hero-swiper .swiper-button-prev {
    color: #0f1111;
    background: transparent;
    width: 80px;
    height: 100%;
    top: 0;
    margin-top: 0;
    transition: all 0.2s;
}

.hero-swiper .swiper-button-next {
    right: 0;
}

.hero-swiper .swiper-button-prev {
    left: 0;
}

.hero-swiper .swiper-button-next:after,
.hero-swiper .swiper-button-prev:after {
    font-size: 40px;
    font-weight: bold;
}

.hero-swiper .swiper-button-next:hover,
.hero-swiper .swiper-button-prev:hover {
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* Pagination Dots */
.hero-swiper .swiper-pagination-bullet {
    background: #fff;
    opacity: 0.5;
}

.hero-swiper .swiper-pagination-bullet-active {
    background: #fff;
    opacity: 1;
}

/* Amazon Style Gradient Overlay */
.hero-swiper .hero-gradient {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 300px;
    background: linear-gradient(to bottom, rgba(234, 237, 237, 0) 0%, rgba(234, 237, 237, 1) 100%);
    z-index: 10;
    pointer-events: none;
}

@media (max-width: 991px) {
    .hero-swiper {
        height: 400px;
    }


}


/* --- Refined Hero Swiper Styles --- */
.hero-swiper .swiper-button-next,
.hero-swiper .swiper-button-prev {
    opacity: 0;
    /* Hidden by default */
    background: rgba(255, 255, 255, 0.4);
    color: #333;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    /* Slight roundness for Amazon style */
}

.hero-swiper:hover .swiper-button-next,
.hero-swiper:hover .swiper-button-prev {
    opacity: 1;
    /* Visible on hover */
}

.hero-swiper .swiper-button-next:after,
.hero-swiper .swiper-button-prev:after {
    font-size: 30px !important;
}

.hero-swiper .swiper-button-next:hover,
.hero-swiper .swiper-button-prev:hover {
    background: #fff;
    color: #000;
}


/* Ensure Swiper Navigation is above gradient */
.hero-swiper .swiper-button-next,
.hero-swiper .swiper-button-prev,
.hero-swiper .swiper-pagination {
    z-index: 20;
}


/* --- Mobile Banner Optimizations --- */
@media (max-width: 768px) {
    .home-banners-row {
        display: flex !important;
        flex-direction: column !important;
        padding: 0 15px !important;
    }

    .home-banners-row .home-banner-card {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
        display: block !important;
    }

    .home-banner-card img {
        width: 100% !important;
        height: auto !important;
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        display: block !important;
    }

    /* Force Carousel FULL width 100vw on mobile */
    .hero-swiper-container,
    .hero-swiper {
        width: 100vw !important;
        max-width: 100vw !important;
        position: relative !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        margin: 0 !important;
        float: none !important;
        height: auto !important;
        aspect-ratio: 4/3;
        overflow: hidden;
    }

    .hero-swiper img {
        height: 100% !important;
        width: 100% !important;
        object-fit: cover;
    }
}


@media (max-width: 768px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }

    .social-links-grid {
        flex-direction: column;
    }

    .social-block {
        width: 100%;
    }
}

/* ===================================
   LEGAL PAGES STYLING
   =================================== */

.legal-page {
    background-color: #ffffff;
    padding: 40px 20px;
    min-height: 60vh;
}

.legal-container {
    max-width: 800px;
    margin: 0 auto;
    padding: 40px 30px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.legal-header {
    margin-bottom: 40px;
    padding-bottom: 20px;
    border-bottom: 2px solid #232f3e;
}

.legal-title {
    font-size: 2.5rem;
    color: #232f3e;
    margin-bottom: 10px;
    font-weight: 700;
    line-height: 1.2;
}

.legal-updated {
    font-size: 0.9rem;
    color: #565959;
    font-style: italic;
    margin: 0;
}

.legal-content {
    font-size: 1rem;
    line-height: 1.8;
    color: #0f1111;
}

.legal-content h2 {
    font-size: 1.8rem;
    color: #232f3e;
    margin-top: 40px;
    margin-bottom: 20px;
    font-weight: 600;
    border-left: 4px solid #ffd814;
    padding-left: 15px;
}

.legal-content h3 {
    font-size: 1.4rem;
    color: #0f1111;
    margin-top: 30px;
    margin-bottom: 15px;
    font-weight: 600;
}

.legal-content h4 {
    font-size: 1.2rem;
    color: #0f1111;
    margin-top: 25px;
    margin-bottom: 12px;
    font-weight: 600;
}

.legal-content p {
    margin-bottom: 20px;
    text-align: justify;
}

.legal-content ul,
.legal-content ol {
    margin-bottom: 20px;
    padding-left: 30px;
}

.legal-content li {
    margin-bottom: 10px;
}

.legal-content a {
    color: #007185;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s ease;
}

.legal-content a:hover {
    border-bottom-color: #007185;
}

.legal-content strong {
    color: #232f3e;
    font-weight: 600;
}

.legal-content em {
    font-style: italic;
    color: #565959;
}

.legal-content blockquote {
    background: #f7f8f8;
    border-left: 4px solid #ffd814;
    padding: 20px 25px;
    margin: 25px 0;
    font-style: italic;
    color: #565959;
}

/* Mobile Optimization for Legal Pages */
@media (max-width: 768px) {
    .legal-page {
        padding: 20px 10px;
        padding-bottom: 100px;
    }

    .legal-container {
        padding: 25px 20px;
        box-shadow: none;
        border-radius: 0;
    }

    .legal-title {
        font-size: 1.8rem;
    }

    .legal-content h2 {
        font-size: 1.5rem;
        margin-top: 30px;
    }

    .legal-content h3 {
        font-size: 1.2rem;
        margin-top: 25px;
    }

    .legal-content h4 {
        font-size: 1.1rem;
    }

    .legal-content p {
        text-align: left;
    }

    .whatsapp-float {
        bottom: 90px;
    }
}

/* ===================================
   UNIFIED FORM STYLES
   =================================== */

/* Input Fields and Textareas */
input[type='text'],
input[type='email'],
input[type='tel'],
input[type='url'],
input[type='search'],
input[type='number'],
textarea,
select {
    border-radius: 20px;
    border: 1px solid #d5d9d9;
    padding: 12px 20px;
    font-size: 14px;
    color: #0f1111;
    background-color: #ffffff;
    transition: all 0.3s ease;
    width: 100%;
    box-sizing: border-box;
}

input[type='text']:focus,
input[type='email']:focus,
input[type='tel']:focus,
input[type='url']:focus,
input[type='search']:focus,
input[type='number']:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: #ffd814;
    box-shadow: 0 0 0 3px rgba(255, 216, 20, 0.2);
}

/* Buttons */
button,
.contact-btn,
.btn,
input[type='submit'],
button[type='submit'] {
    border-radius: 20px;
    padding: 12px 30px;
    font-size: 14px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-block;
    text-decoration: none;
    text-align: center;
}

/* Primary Buttons (using global icon color) */
.contact-btn,
.btn-primary,
input[type='submit'],
button[type='submit'] {
    background-color: var(--icon-color, #ffffff);
    color: #0f1111;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.contact-btn:hover,
.btn-primary:hover,
input[type='submit']:hover,
button[type='submit']:hover {
    background-color: var(--icon-hover-color, #ffd814);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Search Field Specific */
.search-field {
    border-radius: 20px !important;
    padding: 10px 20px !important;
}

/* Textarea Specific */
textarea {
    min-height: 120px;
    resize: vertical;
}

/* Form Groups */
.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #0f1111;
}

/* ===================================
   CONTACT FORM STYLES
   =================================== */

.contact-form-section {
    background: #ffffff;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    margin: 40px 0;
}

.contact-form-section h2 {
    color: #0f1111;
    margin-bottom: 10px;
    font-size: 28px;
}

.form-subtitle {
    color: #565959;
    margin-bottom: 30px;
    font-size: 16px;
}

.contact-form .form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.contact-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #0f1111;
    font-size: 14px;
}

.contact-form .required {
    color: #c7511f;
}

.contact-form button[type='submit'] {
    margin-top: 10px;
    min-width: 200px;
}

@media (max-width: 768px) {
    .contact-form .form-row {
        grid-template-columns: 1fr;
    }

    .contact-form-section {
        padding: 20px;
    }
}

/* ===================================
   NEWSLETTER STYLES
   =================================== */

.newsletter-section {
    margin-top: 20px;
}

.newsletter-section h4 {
    color: #ffffff;
    margin-bottom: 10px;
    font-size: 18px;
}

.newsletter-section p {
    color: #ddd;
    margin-bottom: 15px;
    font-size: 14px;
}

.newsletter-input-group {
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}

.newsletter-input-group input[type='email'] {
    flex: 1;
    border-radius: 20px;
    padding: 12px 20px;
    border: 1px solid #d5d9d9;
    font-size: 14px;
}

.newsletter-btn {
    white-space: nowrap;
    padding: 12px 25px !important;
}

.newsletter-message {
    margin-top: 10px;
    font-size: 13px;
}

@media (max-width: 768px) {
    .newsletter-input-group {
        flex-direction: column;
    }

    .newsletter-btn {
        width: 100%;
    }
}


/* All side cart drawer styles moved to css/cart.css */

/* Mercado Pago blue */




/* Quantity Adjustments */
.quantity {
    display: flex;
    align-items: center;
    gap: 0;
    border: 1px solid #D5D9D9;
    border-radius: 10px;
    overflow: hidden;
    width: fit-content;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.qty-btn {
    width: 35px !important;
    height: 35px !important;
    background: #f0f2f2 !important;
    border: none !important;
    border-radius: 0 !important;
    color: #0f1111 !important;
    font-size: 18px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    transition: background 0.2s !important;
    box-shadow: none !important;
}

.qty-btn:hover {
    background: #e3e6e6 !important;
}

.qty-input,
.quantity input.qty {
    width: 45px !important;
    height: 35px !important;
    border: none !important;
    border-left: 1px solid #D5D9D9 !important;
    border-right: 1px solid #D5D9D9 !important;
    text-align: center !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    background: #fff !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
}

.qty-input::-webkit-outer-spin-button,
.qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}




/* ===================================
   ALERT STYLES (Toast Notifications)
   =================================== */

.alert {
    border-radius: 20px;
    padding: 15px 25px;
    margin: 20px 0;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    animation: slideInDown 0.3s ease;
}

@keyframes slideInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.alert i {
    font-size: 18px;
}

.alert-success {
    background-color: rgba(76, 175, 80, 0.1);
    border: 2px solid #4caf50;
    color: #2e7d32;
}

.alert-success i {
    color: #4caf50;
}

.alert-error {
    background-color: rgba(244, 67, 54, 0.1);
    border: 2px solid #f44336;
    color: #c62828;
}

.alert-error i {
    color: #f44336;
}

.alert-warning {
    background-color: rgba(255, 216, 20, 0.2);
    border: 2px solid #ffd814;
    color: #0f1111;
}

.alert-warning i {
    color: #f0ad4e;
}

/* Newsletter message alerts (smaller) */
.newsletter-message.alert-success,
.newsletter-message.alert-error,
.newsletter-message.alert-warning {
    margin: 10px 0 0 0;
    padding: 10px 15px;
    font-size: 13px;
}

.newsletter-message i {
    font-size: 14px;
}

/* ===================================
   PRIVACY CHECKBOX STYLES
   =================================== */

.privacy-checkbox {
    margin: 20px 0;
}

.checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.5;
}

.checkbox-label input[type='checkbox'] {
    margin-top: 3px;
    width: 18px;
    height: 18px;
    cursor: pointer;
    flex-shrink: 0;
}

.checkbox-label span {
    color: #0f1111;
}

.checkbox-label a {
    color: #007185;
    text-decoration: none;
    font-weight: 600;
}

.checkbox-label a:hover {
    color: #c7511f;
    text-decoration: underline;
}

/* Newsletter privacy checkbox (footer) */
.newsletter-privacy {
    margin: 15px 0 10px 0;
}

.newsletter-privacy .checkbox-label span {
    color: #ffffff;
    font-size: 13px;
}

.newsletter-privacy .checkbox-label a {
    color: #ffd814;
}

.newsletter-privacy .checkbox-label a:hover {
    color: #ffffff;
}

@media (max-width: 768px) {
    .checkbox-label {
        font-size: 13px;
    }

    .checkbox-label input[type='checkbox'] {
        width: 16px;
        height: 16px;
    }
}


/* ===================================
   WOOCOMMERCE BUTTON STANDARDIZATION
   =================================== */

/* Primary Add to Cart Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .single_add_to_cart_button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
    background: linear-gradient(135deg, #ff9900 0%, #ff6600 100%) !important;
    border: none !important;
    border-radius: 20px !important;
    padding: 12px 24px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 5px rgba(255, 153, 0, 0.3) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    cursor: pointer !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce .single_add_to_cart_button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover {
    background: linear-gradient(135deg, #ff8800 0%, #ff5500 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 12px rgba(255, 153, 0, 0.4) !important;
    color: #ffffff !important;
}

/* Secondary Buttons (View More, Read More, etc.) */
.woocommerce a.button.secondary,
.woocommerce button.button.secondary,
.woocommerce .button-secondary,
a.button-secondary,
button.button-secondary {
    background: transparent !important;
    border: 2px solid #ff9900 !important;
    border-radius: 20px !important;
    padding: 10px 22px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #ff9900 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    cursor: pointer !important;
}

.woocommerce a.button.secondary:hover,
.woocommerce button.button.secondary:hover,
.woocommerce .button-secondary:hover,
a.button-secondary:hover,
button.button-secondary:hover {
    background: rgba(255, 153, 0, 0.1) !important;
    border-color: #ff8800 !important;
    color: #ff8800 !important;
    transform: translateY(-1px) !important;
}

/* Disabled State */
.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled,
.woocommerce a.button.disabled,
.woocommerce button.button.disabled,
.woocommerce input.button.disabled {
    background: #cccccc !important;
    color: #666666 !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Loading State */
.woocommerce a.button.loading,
.woocommerce button.button.loading,
.woocommerce input.button.loading {
    opacity: 0.7;
    pointer-events: none;
}

/* Product Loop Add to Cart */
.woocommerce ul.products li.product .button {
    width: 100%;
    margin-top: 10px;
}

/* Ensure consistent styling across all contexts */
.woocommerce .cart .button,
.woocommerce .cart input.button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    width: 100%;
}

/* ===================================
   CART RELATED PRODUCTS SECTION
   =================================== */
.cart-related-products {
    margin-top: 50px;
    padding: 30px;
    background: #fff;
    border-radius: 20px;
    border: 1px solid #e7e7e7;
}

.cart-related-products .related-title {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 30px;
    color: #0f1111;
}

.related-products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.related-product-card {
    display: flex;
    flex-direction: column;
    padding: 15px;
    border: 1px solid transparent;
    transition: all 0.3s ease;
    border-radius: 20px;
}

.related-product-card:hover {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    border-color: #eee;
}

.related-product-image {
    width: 100%;
    aspect-ratio: 1/1;
    margin-bottom: 12px;
}

.related-product-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 20px;
    display: block;
}

.related-product-title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    height: 40px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    margin-bottom: 10px;
    color: #0f1111;
}

.related-product-link {
    text-decoration: none;
}

.related-product-link:hover .related-product-title {
    color: #c7511f;
    text-decoration: underline;
}

.related-product-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}

.related-product-price {
    font-family: 'Poppins', sans-serif;
    color: #ff9900;
    font-weight: 700;
    font-size: 16px;
}

.amazon-btn-orange-small {
    background: linear-gradient(to bottom, #f7dfa5, #f0c14b);
    border: 1px solid #a88734 #9c7e31 #846a29;
    border-radius: 8px;
    padding: 6px 15px;
    font-size: 12px;
    font-weight: 600;
    color: #111;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset;
}

.amazon-btn-orange-small:hover {
    background: linear-gradient(to bottom, #f5d78e, #eeb933);
    border-color: #a88734 #9c7e31 #846a29;
}

@media (max-width: 992px) {
    .related-products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 576px) {
    .cart-related-products {
        padding: 20px 15px;
    }

    .related-product-card {
        padding: 10px;
    }

    .related-title {
        font-size: 18px;
    }
}


/* Styles for free shipping bar moved to css/cart.css or header logic */

.text-center {
    text-align: center;
}


/* Loyalty Coupon Banner */
/* Loyalty Coupon Banner */
.loyalty-coupon-banner {
    background: #f0f7ff;
    border: 2px dashed #007185;
    border-radius: 15px;
    padding: 25px;
    margin-bottom: 40px;
    position: relative;
}

.coupon-content {
    display: flex;
    align-items: center;
    gap: 20px;
}

.coupon-content i {
    font-size: 40px;
    color: #007185;
}

.coupon-text h3 {
    margin: 0 0 5px 0;
    font-size: 20px;
    color: #007185;
}

.coupon-text p {
    margin: 0;
    color: #444;
}

.coupon-code {
    display: inline-block;
    background: #fff;
    padding: 4px 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-family: monospace;
    font-weight: 700;
    color: #B12704;
    margin: 0 5px;
}

/* Simplified Order Summary */
.simplified-order-summary {
    background: #f8f8f8;
    border-radius: 20px;
    padding: 30px;
    margin-bottom: 40px;
    text-align: left;
}

.simplified-order-summary .section-title {
    font-size: 22px;
    margin-bottom: 20px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
}

.order-items-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-bottom: 20px;
}

.summary-item {
    display: flex;
    align-items: center;
    gap: 20px;
}

.summary-item .item-image img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 20px;
    border: 1px solid #eee;
}

.item-details .item-name {
    display: block;
    font-weight: 500;
    color: #131921;
}

.item-details .item-qty {
    font-size: 14px;
    color: #565959;
}

.order-total-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 2px solid #fff;
}

.total-label {
    font-size: 18px;
    font-weight: 500;
}

.total-value {
    font-size: 24px;
    font-weight: 700;
    color: #B12704;
}

/* Action Buttons */
.return-to-shop-btn {
    display: block;
    background-color: #ff9900;
    color: #000 !important;
    padding: 18px 30px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 18px;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-bottom: 20px;
}

.return-to-shop-btn:hover {
    background-color: #e68a00;
    transform: translateY(-2px);
}

.secondary-links {
    margin-top: 15px;
}

/* Responsive */
@media (max-width: 600px) {
    .festive-thankyou {
        margin: 20px;
        padding: 25px;
    }

    .festive-thankyou .thankyou-title {
        font-size: 24px;
    }

    .coupon-content {
        flex-direction: column;
        text-align: center;
    }
}

/* ==========================================================================
   WISHLIST (FAVORITOS) STYLING
   ========================================================================== */

/* Header Wishlist */
.header-wishlist {
    margin-right: 15px;
}

.header-wishlist a {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: white;
    text-decoration: none;
    position: relative;
}

.wishlist-icon-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wishlist-icon-wrapper i {
    font-size: 22px;
}

.wishlist-count {
    position: absolute;
    top: -5px;
    right: -8px;
    background: #ff9900;
    /* Amazon Orange */
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 10px;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px;
}

/* Product Card Toggle */
.product-card .product-image {
    position: relative !important;
}

.product-wishlist-toggle {
    position: absolute !important;
    top: 10px;
    right: 10px;
    z-index: 10;
    background: rgba(255, 255, 255, 0.9);
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    border: 1px solid #ddd;
}

.product-wishlist-toggle i {
    color: #ccc;
    font-size: 18px;
    transition: color 0.3s ease;
}

.product-wishlist-toggle:hover {
    transform: scale(1.1);
    background: #fff;
}

.product-wishlist-toggle.active i {
    color: #ff9900;
}

.product-wishlist-toggle.active i::before {
    content: "\f004";
    /* FontAwesome filled heart */
    font-weight: 900;
}

.product-wishlist-toggle.loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Single Product Wishlist */
.single-product-wishlist {
    position: static !important;
    display: inline-flex !important;
    margin-left: 10px;
    vertical-align: middle;
}

/* ==========================================================================
   OFERTAS & NOVEDADES PAGE TEMPLATES (OPTIMIZED)
   ========================================================================== */

.offers-page,
.news-page {
    padding-bottom: 60px;
}

/* Banners */
.page-banner {
    padding: 60px 0;
    margin-bottom: 40px;
    text-align: center;
    color: #fff;
}

.offers-banner {
    background: linear-gradient(135deg, #ff4e50 0%, #f9d423 100%);
    box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.1);
}

.news-banner {
    background: linear-gradient(135deg, #0f2027 0%, #203a43 50%, #2c5364 100%);
    /* Luxe Dark Blue */
    position: relative;
    border-bottom: 3px solid #ff9900;
    /* Amazon Gold accent */
}

.banner-title {
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 15px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
    letter-spacing: -1px;
}

.banner-subtitle {
    font-size: 20px;
    font-weight: 500;
    opacity: 0.9;
}

/* Circular Discount Badges */
.product-badge-circle {
    position: absolute;
    top: 12px;
    left: 12px;
    width: 45px;
    height: 45px;
    background: #ff4400;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    z-index: 2;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    border: 2px solid #fff;
}

/* NEW Badges */
.badge-new-arrival {
    background: #00a8e1;
    /* Amazon Blue */
    color: #fff;
}

/* Load More System */
.load-more-container {
    grid-column: 1 / -1;
    text-align: center;
    margin-top: 40px;
}

.load-more-btn {
    padding: 15px 40px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.load-more-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 153, 0, 0.3);
}

/* Lazy Load Transition */
.lazy-load {
    opacity: 0;
    transition: opacity 0.6s ease-in-out;
}

.lazy-load.loaded {
    opacity: 1;
}

/* Dark Mode Overrides */
body.dark-mode .product-badge-circle {
    border-color: #1a1a1a;
}

body.dark-mode .news-banner {
    background: linear-gradient(135deg, #000 0%, #111 100%);
    border-color: #ff9900;
}

body.dark-mode .load-more-btn {
    background: #ff9900;
    color: #111;
}

/* Stock Progress Bar Refinement */
.product-stock-status {
    margin: 12px 0;
}

.stock-progress-container {
    width: 100%;
    height: 8px;
    background: #eee;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 6px;
}

.stock-progress-bar {
    height: 100%;
    background: #ff9900;
    /* Vibrant Amazon Orange */
    transition: width 0.5s ease;
}

.low-stock-msg {
    font-size: 13px;
    color: #cc0c39;
    /* Amazon's urgent red */
    font-weight: 700;
    margin: 0;
}

body.dark-mode .stock-progress-container {
    background: #333;
}

/* Polished Circular Badge */
.product-badge-circle {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    transform: scale(1);
    transition: transform 0.2s ease;
}

.product-card:hover .product-badge-circle {
    transform: scale(1.1);
}

/* Wishlist My Account Page */
.wishlist-page-container h2 {
    margin-bottom: 25px;
    font-weight: 700;
}

.wishlist-empty-state {
    text-align: center;
    padding: 60px 20px;
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.wishlist-empty-state i {
    font-size: 60px;
    color: #ddd;
    margin-bottom: 20px;
}

.wishlist-empty-state p {
    font-size: 18px;
    color: #666;
    margin-bottom: 30px;
}

.wishlist-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 20px;
}

.wishlist-item {
    position: relative;
}

.wishlist-actions {
    margin-top: 15px;
}

.wishlist-actions .amazon-btn-yellow {
    width: 100%;
    justify-content: center;
    padding: 10px;
    font-size: 14px;
}

@media (max-width: 768px) {
    .header-wishlist .action-text {
        display: none;
    }
}

/* ==========================================================================
   EXIT-INTENT POPUP STYLING
   ========================================================================== */

.exit-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(5px);
}

.exit-popup-content {
    background: #fff;
    width: 90%;
    max-width: 800px;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    animation: popupFadeIn 0.4s ease-out;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
}

@keyframes popupFadeIn {
    from {
        opacity: 0;
        transform: scale(0.9) translateY(20px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.exit-popup-close {
    position: absolute;
    top: 15px;
    right: 20px;
    background: none;
    border: none;
    font-size: 30px;
    color: #999;
    cursor: pointer;
    z-index: 11;
    transition: color 0.3s ease;
}

.exit-popup-close:hover {
    color: #333;
}

.exit-popup-grid {
    display: flex;
    align-items: center;
}

.exit-popup-image {
    flex: 1;
    background: #f8f8f8;
    line-height: 0;
}

.exit-popup-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.exit-popup-info {
    flex: 1.2;
    padding: 40px;
}

.exit-popup-info h2 {
    font-size: 28px;
    color: #131921;
    margin-bottom: 15px;
    line-height: 1.2;
}

.exit-offer-text {
    font-size: 16px;
    color: #565959;
    margin-bottom: 25px;
}

.exit-coupon-box {
    background: #f0f7ff;
    border: 2px dashed #007185;
    padding: 20px;
    border-radius: 15px;
    margin-bottom: 25px;
    text-align: center;
}

.exit-coupon-label {
    display: block;
    font-size: 14px;
    color: #007185;
    margin-bottom: 5px;
}

.exit-coupon-code {
    display: block;
    font-size: 24px;
    font-weight: 800;
    color: #B12704;
    letter-spacing: 2px;
    margin-bottom: 5px;
}

.exit-discount-info {
    margin: 0;
    font-size: 14px;
    color: #444;
}

.exit-cta-btn {
    width: 100%;
    display: block;
    text-align: center;
    padding: 15px;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px;
    text-decoration: none;
}

.exit-secondary-actions {
    text-align: center;
}

.exit-save-favorites {
    color: #007185;
    font-size: 14px;
    text-decoration: none;
    transition: color 0.3s ease;
}

.exit-save-favorites:hover {
    color: #c45500;
    text-decoration: underline;
}

/* Responsive Popup */
@media (max-width: 768px) {
    .exit-popup-grid {
        flex-direction: column;
    }

    .exit-popup-image {
        display: none;
        /* Hide image on mobile for more space */
    }

    .exit-popup-info {
        padding: 30px 20px;
    }

    .exit-popup-info h2 {
        font-size: 22px;
    }
}

/* ==========================================================================
   FLOATING WHATSAPP BUTTON STYLING
   ========================================================================== */

#whatsapp-float-container {
    position: fixed;
    bottom: 25px;
    right: 25px;
    z-index: 100000;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.whatsapp-float-btn {
    width: 60px;
    height: 60px;
    background-color: #25D366;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    border: 3px solid transparent;
    text-decoration: none;
}

.whatsapp-float-btn:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4);
    border-color: #ff9900;
    /* Amazon Orange Global */
}

.whatsapp-bubble {
    background: #fff;
    padding: 10px 15px;
    border-radius: 10px;
    font-size: 14px;
    color: #333;
    margin-bottom: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    position: relative;
    white-space: nowrap;
    animation: bubbleSlideIn 0.5s ease-out;
    border: 1px solid #eee;
    cursor: pointer;
}

@keyframes bubbleSlideIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.bubble-arrow {
    position: absolute;
    bottom: -8px;
    right: 20px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #fff;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .whatsapp-float-btn {
        width: 50px;
        height: 50px;
        font-size: 26px;
    }

    .whatsapp-bubble {
        font-size: 12px;
        padding: 8px 12px;
        margin-bottom: 8px;
    }
}

/* ==========================================================================
   CART PAGE REFINEMENTS
   ========================================================================== */

/* Quantity Selectors */
.woocommerce-cart-form .quantity {
    display: flex !important;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 10px;
    overflow: hidden;
    width: fit-content;
    background: #fff;
}

.woocommerce-cart-form .quantity .qty-btn {
    width: 35px;
    height: 35px;
    background: #f0f2f2;
    border: none;
    cursor: pointer;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}

.woocommerce-cart-form .quantity .qty-btn:hover {
    background: #e3e6e6;
}

.woocommerce-cart-form .quantity .qty-input,
.woocommerce-cart-form .quantity .qty {
    width: 45px !important;
    height: 35px !important;
    border: none !important;
    border-left: 1px solid #ddd !important;
    border-right: 1px solid #ddd !important;
    text-align: center;
    padding: 0 !important;
    margin: 0 !important;
    font-weight: 600;
}

/* Cart Totals Card */
.cart-collaterals {
    margin-top: 40px;
}

.cart_totals {
    background: #fff;
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border: 1px solid #eee;
}

.cart_totals h2 {
    font-size: 22px;
    margin-bottom: 25px;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
}

.cart_totals table {
    width: 100%;
    border-collapse: collapse;
}

.cart_totals .shop_table td,
.cart_totals .shop_table th {
    padding: 15px 0;
    border: none;
}

/* Proceed to Checkout Button */
.wc-proceed-to-checkout {
    padding-top: 20px;
}

.wc-proceed-to-checkout .checkout-button {
    display: block !important;
    width: 100% !important;
    background: #ff9900 !important;
    /* Amazon Orange */
    color: #000 !important;
    text-align: center;
    padding: 18px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    border-radius: 30px !important;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none !important;
}

.wc-proceed-to-checkout .checkout-button:hover {
    background: #e68a00 !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 153, 0, 0.3);
}

/* Mobile Adjustments for Cart */
@media (max-width: 768px) {
    .cart_totals {
        padding: 20px;
    }

    .wc-proceed-to-checkout .checkout-button {
        font-size: 16px !important;
        padding: 15px !important;
    }
}

/* Back to Top Button */
.back-to-top {
    position: fixed;
    bottom: calc(30px + env(safe-area-inset-bottom, 0px));
    left: 30px;
    /* Left side to balance WhatsApp on right */
    width: 44px;
    height: 44px;
    background-color: #333;
    color: white;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 998;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.back-to-top.visible {
    opacity: 0.8;
    visibility: visible;
}

.back-to-top:hover {
    background-color: #131921;
    opacity: 1;
    color: #ff9900;
}

/* Share Button on Product Card */
.product-share-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 35px;
    height: 35px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transition: all 0.2s ease;
    z-index: 10;
}

.product-share-btn:hover {
    color: #ff9900;
    transform: scale(1.1);
}

/* ===================================
   INTELLIGENT NIGHT MODE OVERRIDES (.dark-mode)
   =================================== */

/* Benefits Ribbon */
body.dark-mode .benefits-ribbon {
    background-color: #1e1e1e;
    border-bottom: 1px solid #333;
}

body.dark-mode .benefit-text {
    color: #e0e0e0;
}

body.dark-mode .benefit-text span {
    color: #e0e0e0;
}

/* Keep orange icons in benefits */
body.dark-mode .benefit-item i {
    color: #ff9900 !important;
}

/* Gradient Adjustment for Hero */
body.dark-mode .hero-gradient {
    background: linear-gradient(to bottom, transparent, #121212);
}

/* Product Cards - Dark background with light text */
body.dark-mode .product-card {
    background-color: #1e1e1e !important;
    border-color: #333 !important;
}

/* Titles and Descriptions - Light gray for readability */
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6,
body.dark-mode .product-title,
body.dark-mode .product-title a,
body.dark-mode .benefit-text,
body.dark-mode p,
body.dark-mode .description {
    color: #e0e0e0 !important;
}

/* Keep prices ORANGE */
body.dark-mode .product-price,
body.dark-mode .price,
body.dark-mode .amount,
body.dark-mode span.amount bdi {
    color: #ff9900 !important;
}

/* Keep heart icons ORANGE with white border and shadow */
body.dark-mode .product-wishlist-toggle {
    border: 1px solid #ffffff !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .product-wishlist-toggle:hover {
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.4) !important;
}

body.dark-mode .product-wishlist-toggle i,
body.dark-mode .header-wishlist i,
body.dark-mode .fa-heart {
    color: #ff9900 !important;
}

/* Keep buttons ORANGE */
body.dark-mode .amazon-btn-yellow,
body.dark-mode .amazon-btn-orange,
body.dark-mode .add_to_cart_button,
body.dark-mode .button {
    background-color: #ff9900 !important;
    color: #111 !important;
}

/* Keep cart/wishlist badges ORANGE */
body.dark-mode .wishlist-count,
body.dark-mode .cart-count,
body.dark-mode .badge-orange {
    background-color: #ff9900 !important;
    color: #fff !important;
}

/* Form Inputs */
body.dark-mode input[type="text"],
body.dark-mode input[type="email"],
body.dark-mode input[type="search"],
body.dark-mode textarea,
body.dark-mode select {
    background-color: #1e1e1e;
    color: #e0e0e0;
    border-color: #555;
}

body.dark-mode input::placeholder {
    color: #999;
}

/* Search Bar */
body.dark-mode .search-input-group-new {
    background-color: #1e1e1e !important;
    border-color: #555 !important;
}

body.dark-mode .search-field-new {
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
}

/* Tables in Content */
body.dark-mode table,
body.dark-mode th,
body.dark-mode td {
    background-color: #1e1e1e;
    border-color: #444;
    color: #e0e0e0;
}

/* Cart & Checkout Elements */
body.dark-mode .shop_table,
body.dark-mode .cart_totals,
body.dark-mode .woocommerce-checkout-review-order-table,
body.dark-mode .woocommerce-info,
body.dark-mode .woocommerce-message {
    background-color: #1e1e1e !important;
    color: #e0e0e0;
    border-color: #444;
}

body.dark-mode .woocommerce-info::before,
body.dark-mode .woocommerce-message::before {
    color: #ff9900;
}

/* Share icon - keep orange with white border and shadow like favorites */
body.dark-mode .product-share-btn {
    background-color: #1e1e1e;
    color: #ff9900 !important;
    border: 1px solid #ffffff !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .product-share-btn:hover {
    color: #ff9900 !important;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.4) !important;
}

/* General icons that should stay white */
body.dark-mode .header-actions i:not(.fa-heart),
body.dark-mode .nav-menu-item i {
    color: #ffffff !important;
}

/* Links */
body.dark-mode a {
    color: #4da6ff;
}

body.dark-mode a:hover {
    color: #ff9900;
}

body.dark-mode .nav-menu-item a,
body.dark-mode .header-actions a,
body.dark-mode .site-footer a {
    color: inherit;
}

/* Product title links */
body.dark-mode .woocommerce-loop-product__title,
body.dark-mode .product_title {
    color: #e0e0e0 !important;
}

/* Footer */
body.dark-mode .site-footer {
    background-color: #1e1e1e !important;
}

body.dark-mode .footer-columns,
body.dark-mode .footer-newsletter-fullwidth {
    background-color: #1e1e1e !important;
}

body.dark-mode .footer-column h3,
body.dark-mode .newsletter-text h3,
body.dark-mode .newsletter-text p {
    color: #e0e0e0 !important;
}

/* ========================================
   SINGLE PRODUCT PAGE - DARK MODE
   ======================================== */

/* Product Main Container */
body.dark-mode .woocommerce-product-details__short-description,
body.dark-mode .woocommerce-Tabs-panel,
body.dark-mode .woocommerce-tabs,
body.dark-mode .product_meta,
body.dark-mode .summary.entry-summary {
    background-color: #121212 !important;
    color: #e0e0e0 !important;
}

/* Product Title */
body.dark-mode .product_title.entry-title {
    color: #e0e0e0 !important;
}

/* Product Description & Additional Info (Aggressive Force) */
body.dark-mode .woocommerce-product-details__short-description,
body.dark-mode .woocommerce-product-details__short-description *,
body.dark-mode .woocommerce-Tabs-panel,
body.dark-mode .woocommerce-Tabs-panel *,
body.dark-mode .product-about-item,
body.dark-mode .product-about-item *,
body.dark-mode .amazon-bullets,
body.dark-mode .amazon-bullets *,
body.dark-mode .product_meta,
body.dark-mode .product_meta *,
body.dark-mode .product_meta span,
body.dark-mode .sku_wrapper,
body.dark-mode .posted_in,
body.dark-mode .tagged_as,
body.dark-mode .product-column-center,
body.dark-mode .product-column-center *,
body.dark-mode #tab-description,
body.dark-mode #tab-description *,
body.dark-mode #tab-additional_information,
body.dark-mode #tab-additional_information *,
body.dark-mode .summary.entry-summary *,
body.dark-mode .product-share-toggle i {
    color: #e0e0e0 !important;
}

body.dark-mode .product-share-toggle {
    border-color: rgba(255, 255, 255, 0.2) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
}

body.dark-mode .amount,
body.dark-mode .amount bdi,
body.dark-mode .summary .price,
body.dark-mode .summary .price .amount,
body.dark-mode .summary .price ins,
body.dark-mode .price-color {
    color: #ff9900 !important;
}

/* Tab Titles (Descripción, Valoraciones, etc.) */
body.dark-mode .woocommerce-tabs ul.tabs li a,
body.dark-mode .wc-tabs li a {
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #444 !important;
}

body.dark-mode .woocommerce-tabs ul.tabs li.active a,
body.dark-mode .wc-tabs li.active a {
    background-color: #121212 !important;
    color: #ff9900 !important;
    border-bottom-color: #121212 !important;
}

/* Reviews/Valoraciones */
body.dark-mode .woocommerce-Reviews,
body.dark-mode .comment-text,
body.dark-mode .commentlist li {
    background-color: #121212 !important;
    color: #e0e0e0 !important;
}

body.dark-mode .woocommerce-review__author,
body.dark-mode .woocommerce-review__published-date {
    color: #e0e0e0 !important;
}

body.dark-mode .star-rating {
    color: #ff9900 !important;
}

/* Price - Keep Orange/Red for Sales Focus */
body.dark-mode .summary .price,
body.dark-mode .summary .price .amount,
body.dark-mode .summary .price ins,
body.dark-mode .summary .price del,
body.dark-mode .buy-box-price .amount {
    color: #ff9900 !important;
}

/* Add to Cart Button - Keep Orange */
body.dark-mode .single_add_to_cart_button,
body.dark-mode .button.alt,
body.dark-mode .amazon-btn-yellow,
body.dark-mode .amazon-btn-orange {
    background-color: #ff9900 !important;
    color: #000 !important;
    border-color: #ff9900 !important;
}

body.dark-mode .single_add_to_cart_button:hover,
body.dark-mode .button.alt:hover,
body.dark-mode .amazon-btn-yellow:hover,
body.dark-mode .amazon-btn-orange:hover {
    background-color: #e68a00 !important;
}

/* Quantity Selector */
body.dark-mode .quantity input.qty,
body.dark-mode .quantity-selector select {
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #555 !important;
}

/* Product Meta (SKU, Categories, Tags) */
body.dark-mode .product_meta {
    border-color: #444 !important;
}

body.dark-mode .product_meta a {
    color: #4da6ff !important;
}

body.dark-mode .product_meta a:hover {
    color: #ff9900 !important;
}

/* Related Products Section */
body.dark-mode .related.products,
body.dark-mode .upsells.products {
    background-color: #121212 !important;
}

body.dark-mode .related.products h2,
body.dark-mode .upsells.products h2 {
    color: #e0e0e0 !important;
}

/* Related Product Cards */
body.dark-mode .related .product,
body.dark-mode .upsells .product {
    background-color: #1e1e1e !important;
    border-color: #444 !important;
}

/* Product Images */
body.dark-mode .woocommerce-product-gallery,
body.dark-mode .product-gallery {
    background-color: #1e1e1e !important;
}

/* Breadcrumbs */
body.dark-mode .woocommerce-breadcrumb {
    color: #e0e0e0 !important;
}

body.dark-mode .woocommerce-breadcrumb a {
    color: #4da6ff !important;
}

body.dark-mode .woocommerce-breadcrumb a:hover {
    color: #ff9900 !important;
}

/* Share Button on Single Product */
body.dark-mode .product-share-single {
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border: 1px solid #444 !important;
}

body.dark-mode .product-share-single:hover {
    background-color: #2a2a2a !important;
    color: #ff9900 !important;
}

/* Stock Status */
body.dark-mode .stock,
body.dark-mode .stock-in,
body.dark-mode .stock-out {
    color: #e0e0e0 !important;
}

body.dark-mode .stock.in-stock,
body.dark-mode .stock-in {
    color: #4caf50 !important;
}

body.dark-mode .stock.out-of-stock,
body.dark-mode .stock-out {
    color: #f44336 !important;
}

/* Variation Selectors */
body.dark-mode .variations select,
body.dark-mode .variations_form select {
    background-color: #1e1e1e !important;
    color: #e0e0e0 !important;
    border-color: #555 !important;
}

/* Reset Button */
body.dark-mode .reset_variations {
    color: #4da6ff !important;
}

body.dark-mode .reset_variations:hover {
    color: #ff9900 !important;
}

/* Product Title Row with Share Button */
.product-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 10px;
}

.product-share-single {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background-color: #f7f7f7;
    border: 1px solid #ddd;
    border-radius: 5px;
    color: #333;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.product-share-single:hover {
    background-color: #e7e7e7;
    border-color: #ccc;
}

.product-share-single i {
    font-size: 16px;
}

@media (max-width: 768px) {
    .product-title-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .product-share-single {
        width: 100%;
        justify-content: center;
    }
}

/* ===================================
   SEARCH AUTOCOMPLETE STYLES
   =================================== */

.search-autocomplete-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #fff;
    border: 1px solid #ddd;
    border-top: none;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 99999;
    /* Higher than everything else */
    max-height: 400px;
    overflow-y: auto;
    overflow-x: hidden;
}

.autocomplete-product-item {
    border-bottom: 1px solid #eee;
}

.autocomplete-product-item:last-child {
    border-bottom: none;
}

.autocomplete-product-item a {
    display: flex;
    /* Row layout */
    align-items: center;
    padding: 10px;
    text-decoration: none;
    color: #333;
    transition: background-color 0.2s;
}

.autocomplete-product-item a:hover,
.autocomplete-product-item.selected a {
    background-color: #f7f7f7;
}

/* Thumbnail styling */
.autocomplete-product-thumb {
    width: 50px;
    height: 50px;
    object-fit: cover;
    /* Prevent distortion */
    border-radius: 4px;
    margin-right: 15px;
    flex-shrink: 0;
    /* Don't shrink */
    border: 1px solid #eee;
}

/* Info styling */
.autocomplete-product-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
}

.autocomplete-product-title {
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
}

.autocomplete-product-price {
    font-size: 13px;
    color: #B12704;
    /* Amazon price color */
    font-weight: 700;
}

/* View all link */
.autocomplete-view-all {
    padding: 0;
    border-top: 1px solid #eee;
    background-color: #fcfcfc;
}

.autocomplete-view-all a {
    display: block;
    padding: 12px 15px;
    color: #007185;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
}

.autocomplete-view-all a:hover {
    text-decoration: underline;
    color: #C7511F;
}

/* Loading, Error, Empty states */
.autocomplete-loading,
.autocomplete-empty,
.autocomplete-error {
    padding: 15px;
    text-align: center;
    color: #555;
    font-size: 13px;
}

.autocomplete-loading i,
.autocomplete-empty i,
.autocomplete-error i {
    margin-right: 5px;
    color: #888;
}

/* START DARK MODE OVERRIDES */
body.dark-mode .search-autocomplete-dropdown {
    background-color: #1e1e1e;
    /* Dark background */
    border-color: #333;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5);
}

body.dark-mode .autocomplete-product-item {
    border-bottom-color: #333;
}

body.dark-mode .autocomplete-product-item a {
    color: #eee;
    /* Light text */
}

body.dark-mode .autocomplete-product-item a:hover,
body.dark-mode .autocomplete-product-item.selected a {
    background-color: #333;
    /* Darker hover */
}

body.dark-mode .autocomplete-product-thumb {
    border-color: #444;
}

body.dark-mode .autocomplete-product-title {
    color: #eee;
}

body.dark-mode .autocomplete-product-price {
    color: #ff9900;
    /* Orange price for dark mode */
}

body.dark-mode .autocomplete-view-all {
    background-color: #252525;
    border-top-color: #333;
}

body.dark-mode .autocomplete-view-all a {
    color: #ffa726;
    /* Link color */
}

body.dark-mode .autocomplete-view-all a:hover {
    color: #ffb74d;
}

body.dark-mode .autocomplete-loading,
body.dark-mode .autocomplete-empty,
body.dark-mode .autocomplete-error {
    color: #aaa;
}

body.dark-mode .autocomplete-loading i,
body.dark-mode .autocomplete-empty i,
body.dark-mode .autocomplete-error i {
    color: #777;
}

/* ===================================
   CATEGORY COUNT STYLES
   =================================== */
.category-count {
    font-size: 0.85em;
    color: #555;
    background-color: #f3f3f3;
    padding: 2px 6px;
    border-radius: 10px;
    margin-left: 5px;
    display: inline-block;
    vertical-align: middle;
}

body.dark-mode .category-count {
    color: #ccc;
    background-color: #333;
}

.offer-link {
    color: #FF9900 !important;
    font-weight: 700 !important;
}

.offer-link:hover {
    background-color: #fff8f0 !important;
}

body.dark-mode .offer-link:hover {
    background-color: #2d2d2d !important;
}


/* ===================================
   CONTACT PAGE STYLES
   =================================== */

.contact-page {
    padding-top: 0 !important;
}

.contact-hero-banner {
    background: linear-gradient(135deg, #131921 0%, #232f3e 100%);
    padding: 80px 0 140px;
    text-align: center;
    color: #ffffff;
    margin-bottom: 0;
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.contact-hero-banner h1 {
    color: #ff9900 !important;
    font-size: 3rem;
    margin-bottom: 15px;
}

.contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 60px;
}

.contact-grid.overlapping-grid {
    margin-top: -60px;
    position: relative;
    z-index: 10;
}

.contact-info-column {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.info-card {
    background: #ffffff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    display: flex;
    gap: 20px;
    transition: transform 0.3s ease;
}

.info-card:hover {
    transform: translateY(-5px);
}

.info-card i {
    font-size: 30px;
    color: #ff9900;
}

.info-card h3 {
    margin-bottom: 10px;
}

.glass-form-container {
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 20px;
    padding: 40px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.form-title {
    font-size: 24px;
    margin-bottom: 25px;
    border-bottom: 2px solid #ff9900;
    display: inline-block;
    padding-bottom: 5px;
}

.contact-form-styled .form-group {
    margin-bottom: 20px;
}

.contact-form-styled label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 14px;
}

.contact-form-styled input,
.contact-form-styled select,
.contact-form-styled textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-family: inherit;
    transition: border-color 0.3s;
}

.contact-form-styled input:focus,
.contact-form-styled select:focus,
.contact-form-styled textarea:focus {
    border-color: #ff9900;
    outline: none;
}

.submit-btn-orange {
    background: linear-gradient(135deg, #ff9900 0%, #ff6600 100%) !important;
    color: #fff !important;
    padding: 15px 30px;
    border: none;
    border-radius: 50px;
    font-weight: 700;
    cursor: pointer;
    width: 100%;
    transition: all 0.3s ease;
}

.submit-btn-orange:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(255, 153, 0, 0.3);
}

body.dark-mode .info-card {
    background: #1e1e1e;
    color: #fff;
}

body.dark-mode .info-card h3 {
    color: #fff !important;
}

body.dark-mode .glass-form-container {
    background: rgba(30, 30, 30, 0.8) !important;
    border-color: rgba(255, 255, 255, 0.1);
}

body.dark-mode .contact-form-styled label {
    color: #ddd;
}

/* Responsive */
@media (max-width: 991px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .form-row {
        grid-template-columns: 1fr;
    }

    .contact-header h1 {
        font-size: 26px;
    }
}

/* Custom Checkbox Styling for Contact and Privacy */
.checkbox-container {
    display: flex;
    align-items: flex-start;
    position: relative;
    padding-left: 35px;
    margin-bottom: 20px;
    cursor: pointer;
    font-size: 14px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    line-height: 1.4;
}

.checkbox-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 20px;
    width: 20px;
    background-color: #eee;
    border-radius: 4px;
    transition: background-color 0.3s;
}

.checkbox-container:hover input~.checkmark {
    background-color: #ccc;
}

.checkbox-container input:checked~.checkmark {
    background-color: #FF9900;
}

.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

.checkbox-container input:checked~.checkmark:after {
    display: block;
}

.checkbox-container .checkmark:after {
    left: 7px;
    top: 3px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.checkbox-container .label-text {
    color: #444;
}

.checkbox-container .label-text a {
    color: #FF9900;
    text-decoration: none;
    font-weight: 600;
}

.checkbox-container .label-text a:hover {
    text-decoration: underline;
}

/* Dark Mode Overrides for Checkboxes */
body.dark-mode .checkmark {
    background-color: #333;
}

body.dark-mode .checkbox-container:hover input~.checkmark {
    background-color: #444;
}

body.dark-mode .checkbox-container .label-text {
    color: #aaa;
}

/* Disabled Submit Button Styling */
.submit-btn-orange:disabled {
    background: #555 !important;
    color: #888 !important;
    cursor: not-allowed;
    transform: none !important;
    box-shadow: none !important;
    opacity: 0.5;
}

/* STICKY HEADER IMPLEMENTATION */
#header-sticky-wrapper {
    width: 100%;
    z-index: 1001;
    /* Above hero and other elements */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#header-sticky-wrapper.sticky-active {
    position: fixed;
    top: 0;
    left: 0;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
    animation: slideDown 0.3s ease forwards;
    background-color: var(--header-top-bg) !important;
    /* Fallback */
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(0);
    }
}

/* Ensure dropdowns inside sticky header are visible */
#header-sticky-wrapper.sticky-active .search-filter-dropdown {
    position: fixed !important;
    top: 60px !important;
    /* Adjust based on header height */
    left: auto !important;
}

/* ==========================================================================
   AMAZON-STYLE SHOP PAGE LAYOUT
   ========================================================================== */

/* Main Shop Container - 2 Column Layout */
.amazon-shop-container {
    display: flex;
    gap: 30px;
    max-width: 1500px;
    margin: 40px auto;
    padding: 0 20px;
}

/* Sidebar Filters - 25% */
.shop-sidebar {
    flex: 0 0 25%;
    max-width: 300px;
}

.sidebar-inner {
    position: sticky;
    top: 100px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.filter-section {
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.filter-section:last-of-type {
    border-bottom: none;
}

.filter-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #0f1111;
}

.filter-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Category Checkboxes */
.filter-checkbox {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 5px 0;
    transition: color 0.2s;
}

.filter-checkbox:hover {
    color: #ff9900;
}

.filter-checkbox input[type="checkbox"] {
    margin-right: 10px;
    cursor: pointer;
}

.filter-checkbox span {
    font-size: 14px;
}

/* Rating Radio Buttons */
.filter-radio {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 5px 0;
    transition: color 0.2s;
}

.filter-radio:hover {
    color: #ff9900;
}

.filter-radio input[type="radio"] {
    margin-right: 10px;
    cursor: pointer;
}

.star-rating {
    font-size: 14px;
}

/* Price Range Slider */
.price-range-slider {
    padding: 10px 0;
}

.price-range-slider input[type="range"] {
    width: 100%;
    margin: 5px 0;
}

.price-range-display {
    text-align: center;
    font-weight: 600;
    color: #0f1111;
    margin-top: 10px;
}

/* Clear Filters Button */
.clear-filters-btn {
    width: 100%;
    padding: 10px;
    background: #f0f2f2;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #0f1111;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.clear-filters-btn:hover {
    background: #e3e6e6;
    border-color: #bbb;
}

/* Main Product Grid - 75% */
.shop-main-content {
    flex: 1;
}

/* 4-Column Product Grid */
.products-grid-4col {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

/* Compact Product Card Styles */
.products-grid-4col .product-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    transition: all 0.3s ease;
    position: relative;
    display: flex;
    flex-direction: column;
}

.products-grid-4col .product-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

/* Compact Image */
.products-grid-4col .product-image {
    width: 100%;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    overflow: hidden;
    border-radius: 4px;
}

.products-grid-4col .product-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Compact Title */
.products-grid-4col .product-title {
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 8px;
    height: 40px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.products-grid-4col .product-title a {
    color: #0f1111;
    text-decoration: none;
}

.products-grid-4col .product-title a:hover {
    color: #ff9900;
}

/* Rating */
.products-grid-4col .product-rating {
    font-size: 12px;
    margin-bottom: 8px;
}

/* Prominent Price */
.products-grid-4col .product-price {
    font-size: 18px;
    font-weight: 700;
    color: #B12704;
    margin-bottom: 10px;
}

/* Compact Add to Cart Button */
.products-grid-4col .add_to_cart_button {
    width: 100%;
    padding: 8px 12px;
    background: #ffd814;
    border: 1px solid #fcd200;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #0f1111;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s;
    margin-top: auto;
}

.products-grid-4col .add_to_cart_button:hover {
    background: #f7ca00;
    border-color: #f2c200;
}

/* Wishlist & Share Icons */
.products-grid-4col .product-wishlist-toggle,
.products-grid-4col .product-share-btn {
    width: 44px;
    height: 44px;
    font-size: 16px;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .products-grid-4col {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 991px) {
    .amazon-shop-container {
        flex-direction: column;
    }

    .shop-sidebar {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 30px;
    }

    .sidebar-inner {
        position: static;
    }

    .products-grid-4col {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .products-grid-4col {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .products-grid-4col .product-image {
        height: 150px;
    }
}

@media (max-width: 480px) {
    .products-grid-4col {
        grid-template-columns: 1fr;
    }
}

/* Dark Mode Overrides */
body.dark-mode .sidebar-inner {
    background: #1e1e1e;
    border-color: #444;
}

body.dark-mode .filter-title {
    color: #e0e0e0;
}

body.dark-mode .filter-checkbox,
body.dark-mode .filter-radio {
    color: #e0e0e0;
}

body.dark-mode .filter-section {
    border-bottom-color: #444;
}

body.dark-mode .price-range-display {
    color: #e0e0e0;
}

body.dark-mode .clear-filters-btn {
    background: #2a2a2a;
    border-color: #555;
    color: #e0e0e0;
}

body.dark-mode .clear-filters-btn:hover {
    background: #333;
}

body.dark-mode .products-grid-4col .product-card {
    background: #1e1e1e;
    border-color: #444;
}

body.dark-mode .products-grid-4col .product-title a {
    color: #e0e0e0;
}

body.dark-mode .products-grid-4col .product-title a:hover {
    color: #ff9900;
}

/* Product Card Icons Positioning */
.product-card {
    position: relative;
}

.product-share-btn {
    position: absolute;
    top: 10px;
    right: 64px;
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.product-share-btn:hover {
    background: #ff9900;
    color: #fff;
    transform: scale(1.1);
}

.product-share-btn i {
    font-size: 16px;
    color: #0f1111;
}

.product-share-btn:hover i {
    color: #fff;
}

.product-wishlist-toggle {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.product-wishlist-toggle:hover {
    background: #ff9900;
    transform: scale(1.1);
}

.product-wishlist-toggle i {
    font-size: 16px;
    color: #999;
}

.product-wishlist-toggle:hover i,
.product-wishlist-toggle.active i {
    color: #e74c3c;
}

/* Dark Mode for Icons */
body.dark-mode .product-share-btn,
body.dark-mode .product-wishlist-toggle {
    background: rgba(30, 30, 30, 0.9);
}

body.dark-mode .product-share-btn i {
    color: #e0e0e0;
}

body.dark-mode .product-share-btn:hover {
    background: #ff9900;
}

body.dark-mode .product-share-btn:hover i {
    color: #fff;
}

/* ========================================
   VARIABLES DE DISEÑO
   ======================================== */
:root {
    --features-bg: #f8f9fa;
    --features-text: #232f3e;
    --features-accent: #ff9900;
}

body.dark-mode {
    --features-bg: #131921;
    --features-text: #ffffff;
}

/* ========================================
   DARK MODE - FIX PARA ICONO DE COMPARTIR
   ======================================== */

/* Agregar reborde blanco al icono de Compartir en modo oscuro (similar a favoritos) */
body.dark-mode .product-share-toggle {
    border: 2px solid #ffffff;
    border-radius: 50%;
    padding: 8px;
    background-color: rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

body.dark-mode .product-share-toggle:hover {
    background-color: rgba(255, 255, 255, 0.2);
    transform: scale(1.05);
}

body.dark-mode .product-share-toggle i {
    color: #ffffff;
}

/* ========================================
   DESKTOP SHOP LAYOUT
   ======================================== */

/* ── Top container — override parent theme's display:flex ── */
.amazon-shop-container {
    display: block !important;
    /* Override parent's flex that causes toolbar+sidebar+grid in one row */
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 20px 40px;
}

/* ── Toolbar: Resultados left | Ordenar por right ── */
.shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    margin-bottom: 16px;
    border-bottom: 1px solid #e3e6e6;
}

body.dark-mode .shop-toolbar {
    border-bottom-color: #37475a;
}

.shop-toolbar-left .woocommerce-result-count {
    margin: 0;
    font-size: 14px;
    color: #555;
}

body.dark-mode .shop-toolbar-left .woocommerce-result-count {
    color: #adb5bd;
}

.shop-toolbar-right .woocommerce-ordering {
    margin: 0;
    float: none !important;
}

.shop-toolbar-right .woocommerce-ordering select {
    padding: 7px 14px;
    border-radius: 6px;
    border: 1px solid #d5d9d9;
    background-color: #f8f9fa;
    font-size: 14px;
    cursor: pointer;
    min-width: 180px;
}

body.dark-mode .shop-toolbar-right .woocommerce-ordering select {
    background-color: #232f3e;
    border-color: #37475a;
    color: #ffffff;
}

/* ── 2-column layout ── */
.shop-layout-grid {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 24px;
    align-items: start;
}

/* Sidebar (left column) */
.shop-layout-grid .shop-sidebar {
    position: sticky;
    top: 80px;
    /* offset below sticky header */
    max-height: calc(100vh - 50px);
    max-height: calc(100dvh - 50px);
    overflow-y: auto;
    background-color: #ffffff;
    border: 1px solid #e3e6e6;
    border-radius: 8px;
    padding: 20px;
}

/* ── Rating filter: premium star display ── */
.filter-radio .filter-star-rating {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    line-height: 1;
}

/* Solid (filled) stars */
.filter-radio .filter-star-rating .fa-solid.fa-star {
    color: #ff9900;
    font-size: 13px;
}

/* Regular (empty) stars */
.filter-radio .filter-star-rating .fa-regular.fa-star {
    color: #d5d9d9;
    font-size: 13px;
}

body.dark-mode .filter-radio .filter-star-rating .fa-regular.fa-star {
    color: #4a5a6a;
}

.filter-radio .star-label-text {
    font-size: 12px;
    color: #555;
    margin-left: 4px;
    font-weight: 500;
    white-space: nowrap;
}

body.dark-mode .filter-radio .star-label-text {
    color: #adb5bd;
}

body.dark-mode .shop-layout-grid .shop-sidebar {
    background-color: #1a242f;
    border-color: #37475a;
}

/* Product grid (right column) */
.shop-main-content {
    min-width: 0;
    /* prevent grid blowout */
}

/* 4 columns on desktop */
.products-grid-4col {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

/* Suppress the default WC result-count and ordering WooCommerce outputs
   that come from do_action hooks — we output them ourselves in the toolbar */
.shop-main-content>.woocommerce-result-count,
.shop-main-content>.woocommerce-ordering,
.shop-main-content>nav.woocommerce-breadcrumb {
    display: none !important;
}

/* ========================================
   RESPONSIVE MOBILE STYLES
   ======================================== */

@media (max-width: 768px) {

    /* Adjust container padding on mobile */
    .amazon-shop-container {
        padding: 0 10px 30px !important;
    }

    /* Hide desktop toolbar on mobile — we use the mobile-filter-bar instead */
    .shop-toolbar {
        display: none !important;
    }

    /* Collapse the 2-col layout to single column on mobile */
    .shop-layout-grid {
        display: block !important;
    }

    /* Sidebar is an overlay on mobile — hide it from normal flow */
    .shop-layout-grid .shop-sidebar {
        display: none !important;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 99999;
        max-height: 100% !important;
        border-radius: 0 !important;
        border: none !important;
        overflow-y: auto;
    }

    /* Show when overlay is active */
    .shop-layout-grid .shop-sidebar.active {
        display: block !important;
        left: 0 !important;
        visibility: visible !important;
        background-color: rgba(0, 0, 0, 0.7) !important;
    }

    /* Full-width products on mobile */
    .shop-main-content {
        width: 100% !important;
        padding: 0;
    }

    /* 2-column product grid on mobile */
    .products-grid-4col {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }

    .product-card {
        padding: 10px !important;
    }

    .product-card .product-title {
        font-size: 14px !important;
        line-height: 1.3;
        height: 38px;
        overflow: hidden;
    }

    .product-card .product-price,
    .product-card .price-amount {
        font-size: 16px !important;
    }

    .product-card .add_to_cart_button {
        font-size: 13px !important;
        padding: 8px !important;
        width: 100%;
        text-align: center;
    }
}

/* ========================================
   MOBILE SHOP FILTERS (PREMIUM OVERLAY)
   ======================================== */

.mobile-filter-bar {
    display: none;
    padding: 12px 15px;
    background-color: #ffffff;
    border-bottom: 3px solid var(--primary-color);
    margin: -20px -20px 20px -20px;
    /* Offset parent padding if necessary */
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 60px;
    /* Adjust based on sticky header height */
    z-index: 100;
    /* Lower than header z-index */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

body.dark-mode .mobile-filter-bar {
    background-color: #1a1a1a;
    border-bottom-color: var(--primary-color);
}

.mobile-filter-trigger {
    background: #f0f2f2;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    padding: 10px 22px;
    font-size: 15px;
    font-weight: 700;
    color: #0f1111;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    -webkit-tap-highlight-color: transparent;
}

.mobile-filter-trigger:active {
    transform: scale(0.95);
}

.mobile-filter-trigger i {
    font-size: 18px;
    color: #ff9900;
}

body.dark-mode .mobile-filter-trigger {
    background: #232f3e;
    border-color: #3a4553;
    color: #ffffff;
}

.mobile-active-filters-count .filter-dot {
    background-color: var(--primary-color);
    color: #111;
    font-size: 12px;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: 15px;
    min-width: 24px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

@media (max-width: 991px) {
    .amazon-shop-container {
        padding-top: 0 !important;
    }

    .mobile-filter-bar {
        display: flex;
    }

    .shop-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: -100% !important;
        width: 100% !important;
        height: 100% !important;
        background-color: rgba(0, 0, 0, 0) !important;
        z-index: 99999 !important;
        transition: background-color 0.4s ease, left 0.1s linear 0.4s !important;
        padding: 0 !important;
        margin: 0 !important;
        display: block !important;
        visibility: hidden;
    }

    .shop-sidebar.active {
        left: 0 !important;
        visibility: visible;
        background-color: rgba(0, 0, 0, 0.7) !important;
        transition: background-color 0.4s ease !important;
        backdrop-filter: blur(5px);
    }

    .sidebar-inner {
        position: absolute;
        top: 0;
        left: -100%;
        width: 85%;
        max-width: 320px;
        height: 100%;
        background-color: #ffffff;
        display: flex !important;
        flex-direction: column !important;
        transition: left 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        box-shadow: 10px 0 30px rgba(0, 0, 0, 0.4);
        padding: 0 !important;
        border-radius: 0 20px 20px 0;
        overflow: hidden;
    }

    .shop-sidebar.active .sidebar-inner {
        left: 0;
    }

    body.dark-mode .sidebar-inner {
        background-color: #131921;
        box-shadow: 10px 0 30px rgba(0, 0, 0, 0.8);
    }

    .mobile-filter-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 20px !important;
        border-bottom: 2px solid var(--primary-color) !important;
        background-color: #f7f7f7 !important;
        flex-shrink: 0;
    }

    body.dark-mode .mobile-filter-header {
        background-color: #232f3e !important;
        border-bottom-color: var(--primary-color) !important;
    }

    .mobile-filter-header h3 {
        margin: 0 !important;
        font-size: 20px !important;
        font-weight: 800 !important;
        color: #0f1111;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    body.dark-mode .mobile-filter-header h3 {
        color: #ffffff !important;
    }

    .close-mobile-filters {
        background: #eee;
        border: none;
        width: 38px;
        height: 38px;
        border-radius: 50%;
        font-size: 20px;
        color: #0f1111;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .close-mobile-filters:hover {
        background: #e1e1e1;
        transform: rotate(90deg);
    }

    body.dark-mode .close-mobile-filters {
        background: #37475a;
        color: #ffffff;
    }

    .sidebar-scroll-content {
        flex: 1;
        overflow-y: auto;
        padding: 25px 20px;
        -webkit-overflow-scrolling: touch;
    }

    .mobile-filter-footer {
        padding: 18px 20px !important;
        border-top: 1px solid #e1e1e1 !important;
        display: flex !important;
        gap: 12px !important;
        background-color: #ffffff !important;
        box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.08);
        flex-shrink: 0;
    }

    body.dark-mode .mobile-filter-footer {
        background-color: #232f3e !important;
        border-top-color: #3a4553 !important;
    }

    .apply-filters-btn-mobile {
        flex: 2;
        background: linear-gradient(135deg, #ff9900 0%, #ff6600 100%) !important;
        color: #ffffff !important;
        border: none !important;
        border-radius: 10px !important;
        padding: 14px !important;
        font-weight: 800 !important;
        font-size: 14px !important;
        cursor: pointer;
        text-transform: uppercase;
        transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        box-shadow: 0 4px 12px rgba(255, 102, 0, 0.3);
    }

    .apply-filters-btn-mobile:active {
        transform: scale(0.96);
        box-shadow: 0 2px 6px rgba(255, 102, 0, 0.4);
    }

    .clear-filters-btn {
        flex: 1;
        background: #f0f2f2 !important;
        border: 1px solid #d5d9d9 !important;
        border-radius: 10px !important;
        padding: 12px 5px !important;
        font-size: 13px !important;
        color: #0f1111 !important;
        width: auto !important;
        margin: 0 !important;
        font-weight: 700 !important;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    }

    body.dark-mode .clear-filters-btn {
        background: #37475a !important;
        border-color: #4a5a6a !important;
        color: #ffffff !important;
    }

    .filter-section {
        margin-bottom: 28px !important;
        border-bottom: 1px solid rgba(0, 0, 0, 0.05);
        padding-bottom: 18px;
    }

    body.dark-mode .filter-section {
        border-bottom-color: rgba(255, 255, 255, 0.05);
    }

    .filter-section:last-child {
        border-bottom: none;
    }

    .filter-title {
        font-size: 17px !important;
        font-weight: 800 !important;
        margin-bottom: 18px !important;
        color: #ff9900 !important;
        display: flex;
        align-items: center;
        gap: 10px;
    }

    /* Checkbox & Radio Styles Polish for Mobile Overlay */
    .filter-checkbox,
    .filter-radio {
        display: flex !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 8px 0 !important;
        cursor: pointer !important;
        font-size: 15px !important;
    }

    input[type="checkbox"],
    input[type="radio"] {
        width: 20px !important;
        height: 20px !important;
        border-radius: 4px !important;
        border: 2px solid #ddd !important;
        accent-color: #ff9900 !important;
    }

    body.dark-mode input[type="checkbox"],
    body.dark-mode input[type="radio"] {
        border-color: #4a5a6a !important;
        background-color: #232f3e !important;
    }
}

@media (min-width: 992px) {

    /* ── Desktop sidebar: hide the mobile-only header (título Filtros + X) ── */
    .mobile-filter-header {
        display: none !important;
    }

    /* ── Hide "Mostrar Resultados" on desktop — filters auto-apply ── */
    .apply-filters-btn-mobile {
        display: none !important;
    }

    /* ── Desktop sidebar footer: only Limpiar remains ── */
    .mobile-filter-footer {
        display: flex !important;
        flex-direction: row !important;
        padding: 14px 16px !important;
        border-top: 1px solid #e3e6e6 !important;
        background: #fff !important;
    }

    body.dark-mode .mobile-filter-footer {
        background: #1a242f !important;
        border-top-color: #37475a !important;
    }

    .mobile-filter-footer .clear-filters-btn {
        gap: 6px !important;
    }
}


/* ========================================
   FOOTER PAYMENT ICONS
   ======================================== */

.payment-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    background: rgba(255, 255, 255, 0.05);
    padding: 10px 15px;
    border-radius: 20px;
    margin-top: 10px;
    margin-bottom: 10px;
    width: fit-content;
}

.payment-icon {
    font-size: 24px;
    color: rgba(255, 255, 255, 0.6);
    transition: all 0.3s ease;
    cursor: pointer;
}

.payment-icon:hover {
    color: #ffffff;
    transform: scale(1.1);
}

.ssl-trust-text {
    font-size: 0.85rem;
    color: #777;
    margin-top: 8px;
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    display: flex;
    align-items: center;
}

.ssl-trust-text i {
    color: #feea69;
}

body.dark-mode .payment-icons {
    background: rgba(255, 255, 255, 0.05) !important;
}

body.dark-mode .payment-icon {
    color: rgba(255, 255, 255, 0.6) !important;
}

body.dark-mode .payment-icon:hover {
    color: #ffffff !important;
}

body.dark-mode .ssl-trust-text {
    color: #bbb;
}

@media (max-width: 768px) {
    .payment-icons {
        justify-content: center;
        margin-left: auto;
        margin-right: auto;
    }

    .ssl-trust-text {
        justify-content: center;
    }

    .trust-badge {
        justify-content: center;
        margin-bottom: 25px;
    }
}

/* ========================================
   FOOTER NEWSLETTER - IGUALAR ALTURA (SOBRESCRIBIR PADRE)
   ======================================== */

/* Desktop: Forzar misma altura */
.footer-newsletter-fullwidth .newsletter-input-group {
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    border-radius: 30px !important;
    overflow: hidden !important;
}

.footer-newsletter-fullwidth .newsletter-input-group input[type="email"],
.footer-newsletter-fullwidth #newsletter-email {
    flex: 1 !important;
    height: 50px !important;
    padding: 0 25px !important;
    border: none !important;
    border-radius: 25px 0 0 25px !important;
    font-size: 15px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
    outline: none !important;
    transition: all 0.3s ease !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

.footer-newsletter-fullwidth .newsletter-input-group input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.6) !important;
}

.footer-newsletter-fullwidth .newsletter-input-group input[type="email"]:focus {
    border-color: #ff9900 !important;
    background: rgba(255, 255, 255, 0.15) !important;
    box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.25), 0 0 0 3px rgba(255, 153, 0, 0.3) !important;
}

.footer-newsletter-fullwidth .newsletter-btn,
.footer-newsletter-fullwidth .newsletter-input-group button[type="submit"] {
    height: 50px !important;
    padding: 0 30px !important;
    border-radius: 0 25px 25px 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    background: linear-gradient(135deg, #ff9900 0%, #ff6600 100%) !important;
    border: none !important;
    color: #ffffff !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(255, 153, 0, 0.3) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

.footer-newsletter-fullwidth .newsletter-btn:hover,
.footer-newsletter-fullwidth .newsletter-input-group button[type="submit"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(255, 153, 0, 0.4) !important;
}

.footer-newsletter-fullwidth .newsletter-btn i {
    font-size: 16px !important;
    margin-right: 8px !important;
}

/* Mobile: Columnas */
@media (max-width: 768px) {
    .footer-newsletter-fullwidth .newsletter-input-group {
        flex-direction: column !important;
        gap: 12px !important;
        border-radius: 10px !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .footer-newsletter-fullwidth .newsletter-input-group input[type="email"],
    .footer-newsletter-fullwidth #newsletter-email {
        width: 100% !important;
        border-radius: 10px !important;
        height: 50px !important;
        font-size: 17px !important;
        padding: 0 20px !important;
    }

    .footer-newsletter-fullwidth .newsletter-btn,
    .footer-newsletter-fullwidth .newsletter-input-group button[type="submit"] {
        width: 100% !important;
        border-radius: 10px !important;
        height: 50px !important;
        font-size: 17px !important;
    }
}

/* ========================================
   FOOTER NEWSLETTER - MODO OSCURO COHERENTE
   ======================================== */

/* Modo Oscuro: Unificar con el footer */
body.dark-mode .footer-newsletter-fullwidth {
    background-color: #1e1e1e !important;
    /* Mismo fondo del footer */
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Título en modo oscuro */
body.dark-mode .footer-newsletter-fullwidth .newsletter-text h3 {
    color: #ffd814 !important;
    /* Amarillo Amazon */
    font-weight: 700 !important;
}

/* Icono del título */
body.dark-mode .footer-newsletter-fullwidth .newsletter-text h3 i {
    color: #ff9900 !important;
    /* Naranja */
}

/* Subtítulo en modo oscuro */
body.dark-mode .footer-newsletter-fullwidth .newsletter-text p {
    color: #dddddd !important;
    /* Mismo color de los links del footer */
}

/* Input en modo oscuro - con mejor contraste */
body.dark-mode .footer-newsletter-fullwidth .newsletter-input-group input[type="email"],
body.dark-mode .footer-newsletter-fullwidth #newsletter-email {
    background: #37475a !important;
    /* Gris medio coherente con el footer */
    color: #ffffff !important;
    border: 1px solid #4a5a6a !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3) !important;
}

body.dark-mode .footer-newsletter-fullwidth .newsletter-input-group input[type="email"]::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}

body.dark-mode .footer-newsletter-fullwidth .newsletter-input-group input[type="email"]:focus {
    background: #3f5168 !important;
    border-color: #ff9900 !important;
    box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.35), 0 0 0 3px rgba(255, 153, 0, 0.3) !important;
    color: #ffffff !important;
}

/* Botón en modo oscuro - mantiene el naranja brillante */
body.dark-mode .footer-newsletter-fullwidth .newsletter-btn,
body.dark-mode .footer-newsletter-fullwidth .newsletter-input-group button[type="submit"] {
    background: linear-gradient(135deg, #ff9900 0%, #ff6600 100%) !important;
    color: #ffffff !important;
    /* Texto blanco en vez de negro */
    font-weight: 700 !important;
    border: none !important;
}

body.dark-mode .footer-newsletter-fullwidth .newsletter-btn:hover,
body.dark-mode .footer-newsletter-fullwidth .newsletter-input-group button[type="submit"]:hover {
    background: linear-gradient(135deg, #ffaa33 0%, #ff7700 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(255, 153, 0, 0.5) !important;
}

/* Checkbox y texto de privacidad en modo oscuro */
body.dark-mode .footer-newsletter-fullwidth .newsletter-privacy,
body.dark-mode .footer-newsletter-fullwidth .privacy-checkbox,
body.dark-mode .footer-newsletter-fullwidth .privacy-checkbox label,
body.dark-mode .footer-newsletter-fullwidth .privacy-checkbox span {
    color: #dddddd !important;
    /* Mismo color que los links del footer */
}

body.dark-mode .footer-newsletter-fullwidth .newsletter-privacy a,
body.dark-mode .footer-newsletter-fullwidth .privacy-checkbox a {
    color: #ff9900 !important;
    text-decoration: none !important;
}

body.dark-mode .footer-newsletter-fullwidth .newsletter-privacy a:hover,
body.dark-mode .footer-newsletter-fullwidth .privacy-checkbox a:hover {
    color: #ffaa33 !important;
    text-decoration: underline !important;
}

/* Checkbox input en modo oscuro */
body.dark-mode .footer-newsletter-fullwidth input[type="checkbox"] {
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    cursor: pointer !important;
}

body.dark-mode .footer-newsletter-fullwidth input[type="checkbox"]:checked {
    background-color: #ff9900 !important;
    border-color: #ff9900 !important;
}

/* Mensaje de newsletter (éxito/error) en modo oscuro */
body.dark-mode .footer-newsletter-fullwidth #newsletter-message,
body.dark-mode .footer-newsletter-fullwidth .newsletter-message {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

/* ========================================
   FOOTER NEWSLETTER
   ======================================== */

.newsletter-input-group {
    display: flex;
    width: 100%;
    margin: 0 auto;
    align-items: stretch;
}

#newsletter-email {
    flex: 1;
    border: 1px solid #ddd;
    border-right: none;
    border-radius: 25px 0 0 25px;
    padding: 0 15px;
    height: 45px;
    font-size: 14px;
    background-color: #fff;
    color: #333;
    outline: none;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
}

#newsletter-email:focus {
    border-color: #ff9900;
    box-shadow: inset 0 0 5px rgba(255, 153, 0, 0.2);
}

.newsletter-btn {
    border-radius: 0 25px 25px 0;
    height: 45px;
    padding: 0 20px;
    font-weight: 600;
    background-color: #ff9900;
    border: 1px solid #ff9900;
    color: #000;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 15px;
    white-space: nowrap;
}

.newsletter-btn:hover {
    background-color: #e68a00;
    border-color: #e68a00;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(255, 153, 0, 0.3);
}

.newsletter-btn i {
    font-size: 16px;
}

body.dark-mode #newsletter-email {
    background-color: #1e1e1e;
    border-color: #555;
    color: #e0e0e0;
}

@media (max-width: 600px) {
    .newsletter-input-group {
        flex-direction: column;
        gap: 15px;
    }

    #newsletter-email {
        width: 100%;
        border-radius: 25px;
        border-right: 1px solid #ddd;
        height: 50px !important;
        /* Aumentado de 50px a 55px */
        font-size: 17px !important;
        /* Aumentado para mejor legibilidad */
        padding: 0 20px;
        line-height: 50px;
    }

    .newsletter-btn {
        width: 100%;
        border-radius: 25px;
        height: 50px !important;
        /* Aumentado de 50px a 55px */
        font-size: 16px !important;
        font-weight: 700;
    }

    /* Ajustar el texto del título */
    .newsletter-content-wrapper h3 {
        font-size: 1.4rem;
        margin-bottom: 15px;
    }

    .newsletter-content-wrapper p {
        font-size: 0.95rem;
        margin-bottom: 20px;
    }
}

/* ========================================
   CORRECCIÓN DE ESPACIADO - HERO Y SECCIONES
   ======================================== */

/* Asegurar que el hero no cubra las siguientes secciones */
.hero-section {
    position: relative;
    margin-bottom: 0;
    z-index: 1;
}

/* Separar la sección de beneficios del hero */
.seccion-beneficios {
    display: block !important;
    width: 100%;
    padding: 50px 0 40px 0;
    background-color: var(--features-bg);
    overflow: visible;
    margin-top: 0;
    position: relative;
    z-index: 2;
}

/* Contenedor global */
.container-global {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%;
}

/* Grid de beneficios */
.features-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    padding: 30px 10px !important;
    width: 100% !important;
    max-width: 1200px;
    margin: 0 auto;
}

/* Cada item de beneficio */
.beneficio-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: center !important;
    padding: 20px 10px;
    min-height: 120px;
}

.feature-icon i {
    color: var(--features-accent) !important;
    font-size: 2.5rem !important;
    margin-bottom: 12px !important;
}

.feature-text {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 1.1rem !important;
    color: var(--features-text) !important;
    line-height: 1.4;
}

/* Separar los banners y productos de la sección de beneficios */
.home-banners-row {
    margin-top: 40px !important;
    position: relative;
    z-index: 2;
}

.shop-layout {
    margin-top: 40px !important;
    position: relative;
    z-index: 2;
}

/* Modo Móvil: 2 columnas con TODOS los items visibles */
@media (max-width: 768px) {
    .seccion-beneficios {
        padding: 40px 0 30px 0;
        margin-top: 0;
    }

    .container-global {
        padding: 0 15px;
    }

    .features-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
        padding: 20px 5px !important;
    }

    .beneficio-item {
        padding: 15px 5px;
        min-height: 100px;
    }

    .feature-icon i {
        font-size: 2rem !important;
    }

    .feature-text {
        font-size: 0.9rem !important;
    }

    /* Separación en móvil */
    .home-banners-row {
        margin-top: 30px !important;
    }

    .shop-layout {
        margin-top: 30px !important;
    }
}

/* ========================================
   FOOTER - REDES SOCIALES CENTRADAS EN MÓVIL
   ======================================== */

/* Estilos generales para los iconos sociales */
.social-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
    justify-content: flex-start;
    /* Izquierda en desktop */
}

.social-icon {
    font-size: 24px;
    color: rgba(255, 255, 255, 0.7);
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.social-icon svg {
    width: 24px;
    height: 24px;
    display: block;
}

.social-icon:hover {
    color: #ff9900;
    transform: scale(1.1);
}

/* Centrar iconos en móvil */
@media (max-width: 768px) {
    .footer-column {
        text-align: center !important;
    }

    .social-icons {
        justify-content: center !important;
        margin: 0 auto;
    }

    .footer-column h3 {
        text-align: center;
    }

    .footer-column ul {
        text-align: center;
    }

    .footer-column ul li {
        text-align: center;
    }
}

/* Móvil: Centrado */
@media (max-width: 480px) {
    .footer-column {
        text-align: center !important;
    }

    .social-icons {
        grid-template-columns: repeat(3, 1fr);
        justify-content: center !important;
        justify-items: center;
        margin: 0 auto;
        max-width: 180px;
    }

    .footer-column h3 {
        text-align: center;
    }
}

/* Ajuste adicional para modo oscuro */
body.dark-mode .social-icon {
    color: rgba(255, 255, 255, 0.7);
}

body.dark-mode .social-icon:hover {
    color: #ff9900;
}

/* ========================================
   PÁGINA DE CONTACTO - ICONOS SOCIALES
   ======================================== */

/* Platform Colors (Moved to Animated Section at bottom) */
.info-card .card-icon i {
    font-size: 32px !important;
    color: #ff9900;
}


/* ========================================
   REMOVAL OF SHADOWS FROM SOCIAL ICONS (FORCE)
   ======================================== */
.contact-socials .social-btn,
.contact-socials .social-btn:hover,
.contact-socials .social-btn i,
.contact-social-icons a,
.contact-social-icons i,
.social-link i,
.social-icons .social-icon,
.social-icons .social-icon:hover,
.social-icons .social-icon svg {
    text-shadow: none !important;
    box-shadow: none !important;
    filter: none !important;
    text-decoration: none !important;
}

/* ========================================
   GLOBAL PAGE HERO BANNER
   ======================================== */
.page-hero-banner {
    background: linear-gradient(135deg, #131921 0%, #232f3e 100%);
    padding: 80px 0 140px;
    text-align: center;
    border-bottom: 1px solid rgba(255, 153, 0, 0.3);
    margin-bottom: 0;

}

.page-hero-banner .banner-title {
    font-size: 2.8rem;
    font-weight: 800;
    margin: 0;
    letter-spacing: -0.5px;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.9);
    color: #ff9900 !important;
    margin-bottom: 10px;
}

.page-hero-banner .banner-subtitle {
    font-size: 1.4rem;
    color: #FFFFFF !important;
    font-weight: 600;
    margin-top: 15px;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.9);
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* ========================================
   CONTACT PAGE FULL WIDTH FIX
   ======================================== */
.contact-page {
    padding-top: 0 !important;
    margin-bottom: 10px;
}

.contact-page .inner-width {
    padding-top: 40px;
    /* Space after the full-width hero */
}

.contact-hero-banner {
    width: 100%;
    max-width: none;
}

/* ========================================
   HEADER NAVIGATION ICONS POLISH
   ======================================== */

/* Remove background circles and borders */
.wishlist-icon-wrapper,
.cart-icon-wrapper {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Base state and smooth transitions */
.header-account a,
.header-wishlist a,
.header-cart a,
.header-account i,
.header-wishlist i,
.header-cart i,
.header-account .action-label,
.header-wishlist .action-label,
.header-cart .action-label {
    transition: color 0.3s ease !important;
}

/* Hover state: Brand Orange (#ff9900) */
.header-account:hover i,
.header-account:hover .action-label,
.header-wishlist:hover i,
.header-wishlist:hover .action-label,
.header-cart:hover i,
.header-cart:hover .action-label,
.header-account a:hover,
.header-wishlist a:hover,
.header-cart a:hover {
    color: #ff9900 !important;
}

/* Ensure wishlist and cart counts remain visible but don't inherit the hover orange as primary */
.wishlist-count,
.cart-count {
    transition: background-color 0.3s ease, color 0.3s ease !important;
}

/* ========================================
   REDISEÑO MI CUENTA (STYLE POLÍTICAS)
   ======================================== */

.account-custom-page {
    background: #F9F9F9;
    color: #333333;
    padding-bottom: 80px;
}

.account-hero-banner {
    background: linear-gradient(135deg, #131921 0%, #232f3e 100%);
    padding: 80px 0 140px;
    text-align: center;
    border-bottom: 1px solid rgba(255, 153, 0, 0.3);
    margin-bottom: 10px;
}

.account-hero-banner .banner-title {
    font-size: 2.8rem;
    color: #ff9900 !important;
    font-weight: 800;
    margin-bottom: 10px;
}

.account-hero-banner .banner-subtitle {
    font-size: 1.1rem;
    color: #ccc !important;
}

.account-custom-layout {
    margin-top: -60px;
    position: relative;
    z-index: 10;
}

/* WooCommerce My Account Layout */
.account-custom-layout .woocommerce {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 40px;
    align-items: stretch;
}

/* Sidebar Navigation */
.woocommerce-MyAccount-navigation {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(5px);
    padding: 25px;
    border-radius: 12px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

.woocommerce-MyAccount-navigation ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-MyAccount-navigation li {
    margin-bottom: 8px;
    padding: 0 !important;
}

.woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 10px 15px;
    color: #555;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.woocommerce-MyAccount-navigation li a:hover {
    background: rgba(255, 153, 0, 0.1);
    color: #ff9900;
    transform: translateY(-2px);
    padding-left: 20px;
}

.woocommerce-MyAccount-navigation li.is-active a {
    background: #ff9900;
    color: #ffffff !important;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(255, 153, 0, 0.3);
}

/* Content Area - Glassmorphism */
.woocommerce-MyAccount-content {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    padding: 40px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
    line-height: 1.6;
}

/* Responsive */
@media (max-width: 992px) {
    .account-custom-layout .woocommerce {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .woocommerce-MyAccount-navigation {
        position: relative;
        top: 0;
    }
}

/* Dark Mode support */
body.dark-mode .account-custom-page {
    background: #121212;
    color: #e0e0e0;
}

body.dark-mode .woocommerce-MyAccount-navigation {
    background: rgba(30, 30, 30, 0.8);
    border-color: #333;
}

body.dark-mode .woocommerce-MyAccount-navigation li a {
    color: #ccc;
}

body.dark-mode .woocommerce-MyAccount-navigation li a:hover {
    background: rgba(255, 153, 0, 0.2);
    color: #ff9900;
}

body.dark-mode .woocommerce-MyAccount-content {
    background: rgba(30, 30, 30, 0.7);
    border-color: rgba(255, 255, 255, 0.05);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
}

body.dark-mode .woocommerce-MyAccount-content p,
body.dark-mode .woocommerce-MyAccount-content h1,
body.dark-mode .woocommerce-MyAccount-content h2,
body.dark-mode .woocommerce-MyAccount-content h3 {
    color: #ffffff;
}

/* ========================================
   RETOQUES FINALES - ICONOS Y ESPACIADO
   ======================================== */

.account-custom-page {
    margin-bottom: 80px !important;
}

.woocommerce-MyAccount-navigation li a {
    display: flex !important;
    align-items: center !important;
    gap: 10px;
}

/* Inyección de iconos via FontAwesome unicode */
.woocommerce-MyAccount-navigation-link--dashboard a::before {
    content: "\f3fd";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.woocommerce-MyAccount-navigation-link--orders a::before {
    content: "\f0d1";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.woocommerce-MyAccount-navigation-link--downloads a::before {
    content: "\f019";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.woocommerce-MyAccount-navigation-link--edit-address a::before {
    content: "\f3c5";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.woocommerce-MyAccount-navigation-link--edit-account a::before {
    content: "\f2bd";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.woocommerce-MyAccount-navigation-link--customer-logout a::before {
    content: "\f2f5";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

/* Transición para los iconos */
.woocommerce-MyAccount-navigation li a::before {
    transition: color 0.3s ease;
}

/* Asegurar que los iconos hereden el color en los estados Hover y Activo */
.woocommerce-MyAccount-navigation li a:hover::before,
.woocommerce-MyAccount-navigation li.is-active a::before {
    color: inherit;
}


/* ========================================
   RESETEO DE ESPACIADO Y POSICIÓN DEL FOOTER
   ======================================== */

.woocommerce-account,
.woocommerce-MyAccount-content {
    margin-bottom: 20px !important;
    padding-bottom: 0 !important;
}

footer,
#colophon,
.site-footer,
.footer-newsletter-fullwidth,
.footer-bottom,
.copyright-text {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

html,
body,
#page {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* ========================================
   UNIFIED CART LAYOUT (Amazon Style 75/25)
   ======================================== */

.amazon-cart-wrapper-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 20px;
    align-items: start;
    margin-top: 30px;
}

@media (min-width: 1401px) {
    .amazon-cart-wrapper-grid {
        grid-template-columns: minmax(0, 1fr) 350px;
    }
}

@media (max-width: 1100px) {
    .amazon-cart-wrapper-grid {
        grid-template-columns: 1fr;
    }
}

/* Glassmorphism General Wrapper */
.glass-container {
    background: rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

/* Columna de Items */
.cart-main-column .amazon-cart-items-card {
    margin-bottom: 0;
}

.cart-item-row {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding: 25px 0;
    display: grid;
    grid-template-columns: 120px 1fr 120px;
    gap: 25px;
    align-items: center;
}

.cart-item-row:last-child {
    border-bottom: none !important;
}

.cart-item-row .item-image img {
    border-radius: 12px;
    width: 100%;
    height: auto;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.cart-item-row .item-name a {
    color: #ffffff !important;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
}

.cart-item-row .item-price {
    font-size: 1.4rem;
    font-weight: 800;
    color: #ff9900 !important;
    text-align: right;
}

/* Columna Lateral (Sticky) */
.cart-sidebar-column {
    position: sticky;
    top: 100px;
}

/* Cart totals padding and sizing */
.amazon-summary-box,
.cart_totals {
    padding: 25px !important;
}

.amazon-summary-box .total-price,
.cart_totals .order-total .amount {
    font-size: 1.5rem !important;
    color: #ff9900 !important;
    font-weight: 800;
}

.amazon-summary-box .total-label,
.cart_totals .order-total th {
    color: #ff9900 !important;
    font-weight: 700;
}

/* Bottom margin to avoid touching footer */
.woocommerce-cart-form,

/* ==========================================================================
   LOCONSIGUES CUSTOMIZATIONS (MIGRATED FROM CHILD THEME)

body.dark-mode .cart-item-row {
    border-bottom-color: var(--night-border);
}

body.dark-mode .cart-card-header {
    border-bottom-color: var(--night-border);
}

body.dark-mode .item-details-col .item-name a {
    color: #55acee;
}

body.dark-mode .item-details-col .item-name a:hover {
    color: #3b94d9;
}

body.dark-mode .cart-item-row {
    background-color: var(--night-card-bg);
    border-color: var(--night-border);
}

body.dark-mode .cart-card-price-label,
body.dark-mode .delete-link,
body.dark-mode .control-divider {
    color: #aaa;
}

/* Recommended Products Section */
.cart-recommended-products {
    margin-top: 50px;
    margin-bottom: 50px;
    border-top: 1px solid #ddd;
    padding-top: 30px;
}

.recommended-title {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 25px;
    color: #0F1111;
}

.recommended-products-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.recommended-product-card {
    background: #fff;
    padding: 15px;
    border: 1px solid #e7e7e7;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.recommended-product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.recommended-link {
    text-decoration: none;
    color: inherit;
    flex-grow: 1;
}

.recommended-image {
    text-align: center;
    margin-bottom: 15px;
}

.recommended-image img {
    max-height: 180px;
    object-fit: contain;
}

.recommended-item-name {
    font-size: 14px;
    font-weight: 500;
    color: #007185;
    margin: 0 0 10px 0;
    line-height: 1.4;
    height: 40px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    /* Compatibility fix */
    -webkit-box-orient: vertical;
}

.recommended-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}

.recommended-price {
    font-size: 16px;
    font-weight: 700;
    color: #B12704;
}

.recommended-footer .add_to_cart_button {
    background: #FFD814 !important;
    border: 1px solid #FCD200 !important;
    border-radius: 20px !important;
    color: #0F1111 !important;
    padding: 5px 15px !important;
    font-size: 12px !important;
    box-shadow: 0 2px 5px rgba(213, 217, 217, 0.5) !important;
    text-align: center;
    text-decoration: none;
}

.recommended-footer .add_to_cart_button:hover {
    background: #F7CA00 !important;
}

/* Mobile Adjustments for Recommendations */
@media (max-width: 768px) {
    .recommended-products-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .recommended-title {
        font-size: 20px;
        text-align: center;
    }
}

/* Dark Mode Support for Recommendations */
body.dark-mode .cart-recommended-products {
    border-top-color: var(--night-border);
}

body.dark-mode .recommended-product-card {
    background-color: var(--night-card-bg);
    border-color: var(--night-border);
}

body.dark-mode .recommended-title {
    color: var(--night-text);
}

body.dark-mode .recommended-item-name {
    color: #55acee;
}

body.dark-mode .recommended-footer .add_to_cart_button {
    box-shadow: none !important;
}

/* Mobile Floating Checkout Button */
.mobile-floating-checkout-wrapper {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    z-index: 999;
    transform: translateY(150%);
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    display: none;
    /* Only show on mobile via media query */
}

@media (max-width: 768px) {
    .mobile-floating-checkout-wrapper {
        display: block;
    }

    /* Global coordination for floating elements */
    body.has-floating-checkout #backToTop,
    body.has-floating-checkout #back-to-top,
    body.has-floating-checkout .back-to-top,
    body.has-floating-checkout .whatsapp-float {
        bottom: 95px !important;
        /* Move up to clear the checkout button */
    }
}

.mobile-floating-checkout-wrapper.is-visible {
    transform: translateY(0);
}

.mobile-floating-checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 16px;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
    /* Usar color de botón configurado en Customizer */
    background: var(--side-cart-checkout-bg) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    color: #fff !important;
}

.mobile-floating-checkout-btn i {
    font-size: 20px;
    color: #fff !important;
}

.mobile-floating-checkout-btn:active {
    background: #f0c14b !important;
    transform: scale(0.98);
}

/* Dark Mode Adjustments */


/* ========================================
   CUSTOM OVERRIDES
   ======================================== */

/* Remove the orange line from the News Banner */
.page-banner.news-banner {
    border-bottom: none !important;
}

/* Add margin to My Account menu to avoid touching footer */
.woocommerce-MyAccount-navigation {
    margin-bottom: 20px !important;
}

/* Hero Banner on Mobile - Smooth fade-in from below */
@keyframes heroMobileFadeIn {
    0% {
        opacity: 0;
        transform: translate(-50%, calc(-50% + 18px));
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}

@media (max-width: 768px) {
    .hero-content {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        position: absolute !important;
        left: 50% !important;
        top: 65% !important;
        transform: translate(-50%, -50%) !important;
        text-align: center !important;
        width: 90% !important;
        max-width: 450px !important;
        margin: 0 auto !important;
        visibility: visible !important;
        background: rgba(255, 255, 255, 0.1) !important;
        backdrop-filter: blur(4px) !important;
        -webkit-backdrop-filter: blur(4px) !important;
        padding: 65px 30px !important;
        border-radius: 12px !important;
        z-index: 100 !important;
        /* Smooth fade-in sliding up */
        opacity: 0;
        animation: heroMobileFadeIn 0.7s ease-out 0.4s forwards !important;
    }

    .hero-content h1,
    .hero-content h2 {
        font-size: 1.2rem !important;
        color: white !important;
        font-weight: 800 !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        max-height: none !important;
        overflow: visible !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        line-height: 1.3 !important;
        margin-bottom: 10px !important;
        text-align: center !important;
        background: transparent !important;
        position: static !important;
    }

    .hero-content .amazon-btn-yellow {
        font-size: 0.9rem;
        padding: 8px 8px;
        margin-top: 6px;
        width: 50% !important;
        min-width: 120px !important;
    }
}

/* ========================================
   SIDE CART DRAWER - CORE LAYOUT & PREMIUM STYLES
   ======================================== */

:root {
    --side-cart-bg: #f3f3f3;
    --side-cart-title: #111111;
    --side-cart-price: #B12704;
    --side-cart-free-shipping: #111111;
    --side-cart-checkout-bg: #ff9900;
    --free-shipping-bg-light: #ffffff;
    --free-shipping-bg-dark: #3a4553;
}

.side-cart-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10000;
    display: none;
    backdrop-filter: blur(5px);
}



/* Header Adjustments */

/* ==========================================================================
   LOCONSIGUES CUSTOMIZATIONS (MIGRATED FROM CHILD THEME)
   ========================================================================== */

/* DESIGN VARIABLES */
:root {
    --features-bg: #f8f9fa;
    --features-text: #232f3e;
    --features-accent: #ff9900;
}

body.dark-mode {
    --features-bg: #131921;
    --features-text: #ffffff;
}

/* DARK MODE - SHARING ICON FIX */
body.dark-mode .product-share-toggle {
    border: 2px solid #ffffff;
    border-radius: 50%;
    padding: 8px;
    background-color: rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

body.dark-mode .product-share-toggle:hover {
    background-color: rgba(255, 255, 255, 0.2);
    transform: scale(1.05);
}

body.dark-mode .product-share-toggle i {
    color: #ffffff;
}

/* DESKTOP SHOP LAYOUT REFINEMENTS */
.amazon-shop-container {
    display: block !important;
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 20px 40px;
}

.shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 0;
    margin-bottom: 16px;
    border-bottom: 1px solid #e3e6e6;
}

body.dark-mode .shop-toolbar {
    border-bottom-color: #37475a;
}

.shop-toolbar-left .woocommerce-result-count {
    margin: 0;
    font-size: 14px;
    color: #555;
}

body.dark-mode .shop-toolbar-left .woocommerce-result-count {
    color: #adb5bd;
}

.shop-toolbar-right .woocommerce-ordering {
    margin: 0;
    float: none !important;
}

.shop-toolbar-right .woocommerce-ordering select {
    padding: 7px 14px;
    border-radius: 6px;
    border: 1px solid #d5d9d9;
    background-color: #f8f9fa;
    font-size: 14px;
    cursor: pointer;
    min-width: 180px;
}

body.dark-mode .shop-toolbar-right .woocommerce-ordering select {
    background-color: #232f3e;
    border-color: #37475a;
    color: #ffffff;
}

.shop-layout-grid {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 24px;
    align-items: start;
}

.shop-layout-grid .shop-sidebar {
    position: sticky;
    top: 80px;
    max-height: calc(100vh - 50px);
    max-height: calc(100dvh - 50px);
    overflow-y: auto;
    background-color: #ffffff;
    border: 1px solid #e3e6e6;
    border-radius: 8px;
    padding: 20px;
}

body.dark-mode .shop-layout-grid .shop-sidebar {
    background-color: #1a242f;
    border-color: #37475a;
}

.products-grid-4col {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.shop-main-content>.woocommerce-result-count,
.shop-main-content>.woocommerce-ordering,
.shop-main-content>nav.woocommerce-breadcrumb {
    display: none !important;
}

/* MOBILE SHOP FILTERS (PREMIUM OVERLAY) */
.mobile-filter-bar {
    display: none;
    padding: 12px 15px;
    background-color: #ffffff;
    border-bottom: 3px solid var(--primary-color);
    margin: -20px -20px 20px -20px;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 60px;
    z-index: 100;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

body.dark-mode .mobile-filter-bar {
    background-color: #1a1a1a;
}

.mobile-filter-trigger {
    background: #f0f2f2;
    border: 1px solid #d5d9d9;
    border-radius: 8px;
    padding: 10px 22px;
    font-size: 15px;
    font-weight: 700;
    color: #0f1111;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

body.dark-mode .mobile-filter-trigger {
    background: #232f3e;
    border-color: #3a4553;
    color: #ffffff;
}

@media (max-width: 991px) {
    .mobile-filter-bar {
        display: flex;
    }

    .shop-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: -100% !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 99999 !important;
        transition: background-color 0.4s ease, left 0.1s linear 0.4s !important;
        visibility: hidden;
    }

    .shop-sidebar.active {
        left: 0 !important;
        visibility: visible;
        background-color: rgba(0, 0, 0, 0.7) !important;
        backdrop-filter: blur(5px);
    }

    .sidebar-inner {
        position: absolute;
        top: 0;
        left: -100%;
        width: 85%;
        max-width: 320px;
        height: 100%;
        background-color: #ffffff;
        display: flex !important;
        flex-direction: column !important;
        transition: left 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        box-shadow: 10px 0 30px rgba(0, 0, 0, 0.4);
    }

    .shop-sidebar.active .sidebar-inner {
        left: 0;
    }

    body.dark-mode .sidebar-inner {
        background-color: #131921;
    }
}

/* FOOTER & NEWSLETTER REFINEMENTS */
.payment-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    background: rgba(255, 255, 255, 0.05);
    padding: 10px 15px;
    border-radius: 20px;
}

.footer-newsletter-fullwidth .newsletter-input-group {
    display: flex !important;
    align-items: stretch !important;
    border-radius: 30px !important;
    overflow: hidden !important;
}

/* MY ACCOUNT REDESIGN */
.account-hero-banner {
    background: linear-gradient(135deg, #131921 0%, #232f3e 100%);
    padding: 80px 0 140px;
    text-align: center;
    border-bottom: 1px solid rgba(255, 153, 0, 0.3);
}

.woocommerce-MyAccount-navigation {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(5px);
    padding: 25px;
    border-radius: 12px;
    border: 1px solid #e0e0e0;
}

body.dark-mode .woocommerce-MyAccount-navigation {
    background: rgba(30, 30, 30, 0.8);
    border-color: #333;
}

/* THANK YOU & CART REDESIGN */
.simplified-order-summary {
    background: rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(10px);
    border-radius: 16px;
    padding: 35px;
}

/* Consolidated with main cart section */

.glass-container {
    background: rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(8px);
    border-radius: 20px;
    padding: 30px;
}

/* FLOATING CHECKOUT */
.mobile-floating-checkout-wrapper {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    z-index: 999;
    display: none;
}

@media (max-width: 768px) {
    .mobile-floating-checkout-wrapper {
        display: block;
    }
}

/* ===================================
   CONTACT PAGE REFINEMENTS
   =================================== */
.contact-cards-grid {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 40px;
}

.contact-faq-section {
    margin-top: 80px;
    margin-bottom: 20px;
}

.faq-section-title {
    text-align: center;
    margin-bottom: 40px;
    font-size: 2.2rem;
    font-weight: 800;
}

body.dark-mode .faq-section-title {
    color: #ffffff;
}

.faq-accordion {
    max-width: 900px;
    margin: 0 auto;
}

.accordion-item {
    border: 1px solid #e3e6e6;
    border-radius: 12px;
    margin-bottom: 16px;
    background: #fff;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

body.dark-mode .accordion-item {
    background: #232f3e;
    border-color: #37475a;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.accordion-header {
    width: 100%;
    padding: 22px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.15rem;
    font-weight: 700;
    text-align: left;
    color: #111;
    transition: background 0.2s ease;
}

body.dark-mode .accordion-header {
    color: #ffffff;
}

.accordion-header:hover {
    background: #f8f9f9;
}

body.dark-mode .accordion-header:hover {
    background: #2a3644;
}

.accordion-header i {
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    color: #ff9900;
}

.accordion-item.active .accordion-header i {
    transform: rotate(180deg);
}

.accordion-item.active {
    border-color: #ff9900;
    box-shadow: 0 8px 25px rgba(255, 153, 0, 0.15);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0, 1, 0, 1);
    opacity: 0;
    padding: 0 30px;
}

.accordion-item.active .accordion-content {
    max-height: 1000px;
    transition: all 0.4s cubic-bezier(1, 0, 1, 0);
    opacity: 1;
    padding: 0 30px 25px 30px;
}

.accordion-content p {
    margin: 0;
    color: #555;
    line-height: 1.7;
    font-size: 1.05rem;
}

body.dark-mode .accordion-content p {
    color: #adb5bd;
}


/* Map Section Refinements */
.map-header {
    text-align: center;
    margin-bottom: 40px;
    margin-top: 80px;
}

.map-section-title {
    font-size: 2.2rem;
    font-weight: 800;
    color: #131921;
    margin-bottom: 15px;
}

body.dark-mode .map-section-title {
    color: #ffffff;
}

.map-section-subtitle {
    font-size: 1.1rem;
    color: #555;
    max-width: 700px;
    margin: 0 auto;
}

body.dark-mode .map-section-subtitle {
    color: #adb5bd;
}

.map-container-rounded {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border: 1px solid #e3e6e6;
}

body.dark-mode .map-container-rounded {
    border-color: #37475a;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
}


/* Animated Social Media Cards (Inspired by REDES.html) */
.contact-socials {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 20px;
    gap: 15px;
    background-color: #f8f9fa;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    width: fit-content;
    margin: 20px auto !important;
}

body.dark-mode .contact-socials {
    background-color: #232f3e;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.socialContainer {
    width: 48px;
    height: 48px;
    background-color: #2c2c2c;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    transition: all 0.3s ease;
    border-radius: 8px;
    text-decoration: none !important;
}

.socialSvg {
    width: 20px;
}

.socialSvg path {
    fill: #ffffff;
}

/* Hover Effects with Scaling and Colors */
.socialContainer:hover {
    transform: scale(1.4);
    border-radius: 12px;
    z-index: 2;
}

.socialContainer:active {
    transform: scale(0.95);
}

/* Platform Colors */
.container-insta:hover {
    background-color: #d62976;
}

.container-fb:hover {
    background-color: #1877f2;
}

.container-tiktok:hover {
    background-color: #000000;
}

.container-pinterest:hover {
    background-color: #e60023;
}

.container-x:hover {
    background-color: #000000;
}

.container-youtube:hover {
    background-color: #ff0000;
}

.container-linkedin:hover {
    background-color: #0072b1;
}

.container-wp:hover {
    background-color: #25d366;
}

/* Icon Animation */
.socialContainer:hover .socialSvg {
    animation: slide-in-top-social 0.3s both;
}

@keyframes slide-in-top-social {
    0% {
        transform: translateY(30px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@media (max-width: 768px) {
    .contact-socials {
        padding: 15px;
        gap: 10px;
        flex-wrap: wrap;
        width: 100%;
    }

    .socialContainer {
        width: 42px;
        height: 42px;
    }

    .socialContainer:hover {
        transform: scale(1.2);
    }
}


/* Footer Link Enhancements */
.footer-email-link {
    color: #ffffff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    transition: all 0.3s ease;
    padding: 5px 0;
    font-weight: 500;
}

.footer-email-link i {
    transition: transform 0.3s ease;
}

.footer-email-link:hover {
    color: #ffd814;
    /* Amazon Yellow */
    text-shadow: 0 0 10px rgba(255, 216, 20, 0.3);
}

.footer-email-link:hover i {
    transform: scale(1.2);
}

.footer-contact-item {
    margin-bottom: 10px;
    list-style: none;
}

/* HERO SECTION WITH THREE.JS - ADDED BY ANTIGRAVITY */
.hero-three-container {
    position: relative;
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #000;
    padding: 0 !important;
    /* Override any inherited theme padding */
    margin: 0 !important;
    box-sizing: border-box;
    width: 100%;
}


/* Header Static Styles (Migrated) */
body {
    font-family: var(--body-font);
    background-color: var(--global-bg) !important;
    color: #0F1111;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--title-font);
}

/* PRODUCT BADGES */
.product-badge-capsule {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    background-color: var(--product-badge-color);
    color: #111;
    padding: 4px 10px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    line-height: 1;
}

.badge-last-units {
    background-color: #ff3333;
    /* Red override for urgency */
    color: white;
}

/* HEADER & NAVIGATION */
.site-header {
    background-color: var(--header-top-bg) !important;
}

.header-secondary-row,
.header-bottom-bar,
.header-nav-menu {
    background-color: var(--header-nav-bg) !important;
}

/* Text & Icons in Header */
.header-top-bar,
.header-top-bar a,
.header-actions .action-label,
.nav-menu-item a {
    color: var(--header-text) !important;
}

/* Icons using specific Icon Color */
.header-search-wrapper .search-submit i,
.header-actions i,
.nav-menu-item i,
.wishlist-icon-wrapper i,
.cart-icon-wrapper i {
    color: var(--icon-color) !important;
}

/* Search Button Background (Accent) */
.search-submit-new {
    background-color: var(--primary-color) !important;
    border: none;
}

.search-submit-new i {
    color: #111 !important;
    /* Always dark on accent button for contrast */
}

/* Badges */
.badge-orange,
.wishlist-count,
.cart-count {
    color: var(--primary-color) !important;
}

/* Buttons (Primary Color) */
.amazon-btn-yellow,
.amazon-btn-orange,
.checkout-button,
.update-cart-btn,
.single_add_to_cart_button,
.button.alt,
.woocommerce-button.button,
button.qty-btn,
.search-submit-new {
    background-color: var(--primary-color) !important;
    color: #111 !important;
    border-color: transparent !important;
}

.amazon-btn-yellow:hover,
.checkout-button:hover,
.update-cart-btn:hover {
    opacity: 0.9;
}

/* Prices & Offers */
.product-price,
.order-total .amount,
.subtotal-price,
.thankyou-title,
.onsale,
.price,
.amount,
span.amount bdi {
    color: var(--price-color) !important;
}

/* Sale Badge */
span.onsale {
    background-color: var(--price-color) !important;
    color: white !important;
}

/* FLOATING ELEMENTS */
#backToTop,
#back-to-top {
    background-color: var(--backtotop-bg) !important;
    color: var(--backtotop-icon) !important;
    z-index: 9999 !important;
    bottom: 20px;
    left: 20px;
}

#backToTop i,
#back-to-top i {
    color: var(--backtotop-icon) !important;
}

.whatsapp-float {
    background-color: var(--whatsapp-bg) !important;
    z-index: 9999 !important;
    display: flex !important;
    bottom: calc(25px + env(safe-area-inset-bottom, 0px));
    right: 25px;
    position: fixed;
    width: 60px;
    height: 60px;
    border-radius: 50px;
    text-align: center;
    font-size: 35px;
    box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    transition: transform 0.3s ease;
}

.whatsapp-float:hover {
    transform: scale(1.1);
}

.whatsapp-float i {
    color: #ffffff !important;
    font-size: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.whatsapp-help-bubble {
    position: absolute;
    bottom: 75px;
    right: 0;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    color: #1a1a1a;
    padding: 10px 16px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.4;
    max-width: 250px;
    word-wrap: break-word;
    white-space: normal;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    font-weight: 500;
    z-index: 9999;
    pointer-events: none;
    border: 1px solid rgba(255, 255, 255, 0.3);
}

body.dark-mode .whatsapp-help-bubble {
    background: rgba(0, 0, 0, 0.7);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.1);
}

.whatsapp-help-bubble::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 22px;
    border-width: 8px;
    border-style: solid;
    border-color: rgba(255, 255, 255, 0.85) transparent transparent transparent;
}

body.dark-mode .whatsapp-help-bubble::after {
    border-top-color: rgba(0, 0, 0, 0.7);
}

@media screen and (max-width: 768px) {

    #backToTop,
    #back-to-top,
    .whatsapp-float {
        bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
    }
}

.product-share-toggle,
.product-share-toggle i {
    color: var(--primary-color) !important;
}

.site-footer,
.footer-widgets,
.site-info {
    background-color: var(--footer-bg) !important;
    color: var(--footer-text) !important;
}

.site-footer a {
    color: var(--footer-text) !important;
    opacity: 0.8;
}

.site-footer a:hover {
    text-decoration: underline;
    opacity: 1;
}

.nav-menu-item a:hover,
.header-account:hover .action-label,
.header-wishlist:hover .action-label,
.header-cart:hover .action-label,
.header-top-bar a:hover {
    color: var(--primary-color) !important;
}

.nav-menu-item:hover i,
.wishlist-icon-wrapper:hover i,
.cart-icon-wrapper:hover i {
    color: var(--primary-color) !important;
}

body.has-banner-zoom .home-banner-card {
    overflow: hidden;
}

body.has-banner-zoom .home-banner-card img {
    transition: transform 0.5s ease;
}

body.has-banner-zoom .home-banner-card:hover img {
    transform: scale(1.05);
}

.social-icon svg,
.social-icon i,
.footer-column a i,
.trust-badge svg,
.trust-badge i {
    color: var(--icon-color) !important;
    fill: var(--icon-color) !important;
}

.social-icon:hover svg,
.social-icon:hover i,
.footer-column a:hover i,
.trust-badge:hover svg,
.trust-badge:hover i {
    color: var(--primary-color) !important;
    fill: var(--primary-color) !important;
}

/* NIGHT MODE */
body {
    transition: background-color 0.5s ease, color 0.5s ease;
}

body.dark-mode {
    background-color: var(--night-bg) !important;
    color: var(--night-text) !important;
}

body.dark-mode .product-card,
body.dark-mode .search-input-group-new,
body.dark-mode .woocommerce-checkout-review-order-table,
body.dark-mode .cart_totals,
body.dark-mode table,
body.dark-mode th,
body.dark-mode td {
    background-color: var(--night-card-bg) !important;
    border-color: var(--night-border) !important;
    box-shadow: none;
    color: var(--night-text) !important;
}

body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6,
body.dark-mode p,
body.dark-mode li,
body.dark-mode span:not(.badge-orange):not(.count),
body.dark-mode .product-title,
body.dark-mode .price,
body.dark-mode .amount,
body.dark-mode .product-title a {
    color: var(--night-text) !important;
}

body.dark-mode i,
body.dark-mode .header-actions i,
body.dark-mode .nav-menu-item i,
body.dark-mode .wishlist-icon-wrapper i,
body.dark-mode .cart-icon-wrapper i,
body.dark-mode .product-share-toggle i,
body.dark-mode svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

body.dark-mode .amazon-btn-yellow,
body.dark-mode .amazon-btn-orange,
body.dark-mode .product-price,
body.dark-mode .wishlist-count,
body.dark-mode .cart-count,
body.dark-mode .badge-orange {
    color: var(--primary-color) !important;
}

body.dark-mode .amazon-btn-yellow,
body.dark-mode .amazon-btn-orange {
    color: #111 !important;
    background-color: var(--primary-color) !important;
}

body.dark-mode .product-card {
    border: 1px solid var(--night-border) !important;
}

body.dark-mode .product-description-full,
body.dark-mode .product-description-full *,
body.dark-mode .product-long-description-section,
body.dark-mode .product-single-container,
body.dark-mode .buy-box {
    background-color: var(--night-card-bg) !important;
    color: var(--night-text) !important;
    border-color: var(--night-border) !important;
}

body.dark-mode .product-long-description-content {
    color: #ddd;
}

body.dark-mode .product-long-description-section h2 {
    border-bottom-color: var(--night-border);
}

.related-products-section,
.product-related-section {
    margin-top: 50px;
    margin-bottom: 50px;
}

.buy-box-secondary-actions {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #ddd;
}

.single-product-wishlist {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer !important;
    color: #007185;
    transition: color 0.3s ease;
    font-size: 14px;
}

.single-product-wishlist:hover {
    color: #C7511F;
    text-decoration: underline;
}

.single-product-wishlist i {
    color: #555 !important;
}

body.dark-mode .buy-box-secondary-actions {
    border-top-color: var(--night-border);
}

body.dark-mode .single-product-wishlist {
    color: #4db2c2;
}

body.dark-mode .single-product-wishlist i {
    color: #ccc !important;
}

.product-related-section h2 {
    font-size: 24px;
    margin-bottom: 25px;
    font-weight: 600;
}

/* ========================================
   SWEEPER CARD EFFECT (AMAZON ORANGE)
   ======================================== */
.sweeperCard {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 28px;
    max-width: 640px;
    border-radius: 30px;
    background: #ffffff;
    transition: 1s all;
    overflow: hidden;
}

.sweeperCard::after {
    content: "";
    position: absolute;
    bottom: -30%;
    right: -30%;
    width: 120px;
    height: 120px;
    background: #ff9900;
    filter: blur(70px);
    border-radius: 50%;
    transition: width 1s, height 1s;
}

.sweeperCard::before {
    content: "";
    position: absolute;
    bottom: -160%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    background: #ff9900;
    filter: blur(70px);
    border-radius: 50%;
    transition: width 1s, height 1s;
}

.sweeperCard:hover::before {
    bottom: -330%;
    width: 1200px;
    height: 1200px;
    filter: blur(1px);
}

.sweeperCard:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(255, 153, 0, 0.2);
}

.sweeperCard:hover .card-icon i,
.sweeperCard:hover h3,
.sweeperCard:hover .card-body p,
.sweeperCard:hover .card-details-list p,
.sweeperCard:hover .card-details-list strong,
.sweeperCard:hover .card-link-btn {
    color: #ffffff !important;
    transition: 0.5s all ease;
}

/* Ensure content stays above the sweep */
.sweeperCard .card-icon,
.sweeperCard .card-body {
    position: relative;
    z-index: 2;
}

.o-hidden {
    overflow: hidden !important;
}

/* Ensure dark mode compatibility for sweeperCard */
body.dark-mode .sweeperCard {
    background-color: var(--night-card-bg);
}

body.dark-mode .sweeperCard:hover h3,
body.dark-mode .sweeperCard:hover p,
body.dark-mode .sweeperCard:hover strong {
    color: #000000 !important;
    /* High contrast on orange */
}

/* ========================================
   WHATSAPP SLIDE CARD OPTIMIZATION (QR FIRST)
   ======================================== */
.wa-slide-card {
    position: relative;
    width: 100%;
    min-height: 320px;
    border-radius: 25px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: all 0.6s cubic-bezier(0.23, 1, 0.320, 1);
    border: 1px solid #eee;
}

body.dark-mode .wa-slide-card {
    background: #232f3e;
    border-color: #37475a;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.wa-front, .wa-back {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.6s cubic-bezier(0.23, 1, 0.320, 1);
    padding: 30px;
    text-align: center;
}

/* Capa Frontal: Ahora contiene el QR */
.wa-front {
    z-index: 1;
    background: #fff;
}

body.dark-mode .wa-front {
    background: #232f3e;
}

.wa-front .qr-code-box {
    background: #fff;
    padding: 12px;
    border-radius: 15px;
    margin-bottom: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06);
    border: 1px solid #f0f0f0;
}

.wa-front .qr-code-box img {
    max-width: 135px;
    display: block;
    height: auto;
}

.wa-front h3 {
    margin: 0;
    font-size: 1.2rem;
    color: #131921;
    font-weight: 700;
}

body.dark-mode .wa-front h3 {
    color: #fff;
}

.wa-front p {
    font-size: 0.9rem;
    color: #666;
    margin-top: 5px;
}

body.dark-mode .wa-front p {
    color: #bbb;
}

/* Capa Trasera: La barra de color que se desliza */
.wa-back {
    z-index: 2;
    background: #ff9900 !important; /* Force Theme Orange for better legibility */
    transform: translateX(-96%); /* Deja ver una pequeña franja lateral del 4% */
    color: #111 !important;
    border-radius: 15px; /* Redondeado interno para que la franja se vea curva */
    margin: 5px; /* Pequeño margen para que el redondeado sea visible dentro del contenedor */
    height: calc(100% - 10px); /* Ajuste por el margen */
    width: calc(100% - 10px); /* Ajuste por el margen */
}

.wa-back .card-icon {
    font-size: 55px;
    color: #111 !important; /* Contraste sobre naranja */
    margin-bottom: 15px;
}

.wa-back h3 {
    font-size: 1.6rem;
    margin-bottom: 10px;
    color: #111 !important;
    font-weight: 800;
}

.wa-back p {
    font-size: 0.95rem;
    margin-bottom: 20px;
    line-height: 1.4;
    font-weight: 600;
    color: #111 !important;
}

.wa-back .card-link-btn {
    background: #111 !important;
    color: #fff !important;
    padding: 12px 25px !important;
    border-radius: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

/* Hover Animation Physics */
.wa-slide-card:hover .wa-front {
    transform: translateX(-30%); /* El QR se desliza hacia la izquierda siguiendo el movimiento de la barra */
    opacity: 0; /* Lo hacemos desaparecer para limpiar la vista como en el original */
}

.wa-slide-card:hover .wa-back {
    transform: translateX(0); /* Se expande ocupando todo el ancho */
}

.wa-slide-card:hover {
    box-shadow: 0 20px 40px rgba(255, 153, 0, 0.25);
    border-color: rgba(255, 153, 0, 0.5);
}

@media (max-width: 768px) {
    .wa-slide-card {
        min-height: 350px;
    }
}

/* ==========================================================================
   TOAST NOTIFICATIONS (UX: confirmación de acciones)
   ========================================================================== */.loconsigues-toast {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translate(-50%, 20px);
    z-index: 99999;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #131921;
    color: #fff;
    border: 1px solid rgba(255, 153, 0, 0.4);
    border-left: 4px solid #ff9900;
    border-radius: 8px;
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 500;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
    max-width: 90vw;
}

.loconsigues-toast.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.loconsigues-toast .toast-icon {
    color: #ff9900;
    font-size: 16px;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .loconsigues-toast {
        bottom: 16px;
        left: 16px;
        right: 16px;
        transform: translateY(20px);
        justify-content: center;
    }

    .loconsigues-toast.is-visible {
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .loconsigues-toast {
        transition: opacity 0.15s ease, visibility 0.15s;
    }
}

/* ==========================================================================
   CART COUNTER PULSE (micro-interacción al añadir al carrito)
   ========================================================================== */
@keyframes cartPulse {
    0% {
        transform: scale(1);
    }
    40% {
        transform: scale(1.4);
    }
    100% {
        transform: scale(1);
    }
}

.cart-count.cart-pulse {
    animation: cartPulse 0.45s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@media (prefers-reduced-motion: reduce) {
    .cart-count.cart-pulse {
        animation: none;
    }
}

/* ==========================================================================
   PREFERS-REDUCED-MOTION — override global (accesibilidad)
   Cubre todas las animaciones/transiciones del tema (Swiper, hover, barra
   comparador, popups); los JS de animación ya consultan matchMedia aparte.
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ==========================================================================
   TARJETAS EN MÓVIL — badge compacto + acciones flotantes en columna
   ========================================================================== */
@media (max-width: 768px) {
    /* Badge de descuento fijo en la esquina superior izquierda de la imagen */
    .product-card .product-badge-circle,
    .product-card .product-badge-capsule {
        top: 8px;
        left: 8px;
        z-index: 2;
    }

    /* Acciones flotantes agrupadas en columna en la esquina superior derecha */
    .product-card .product-wishlist-toggle,
    .product-card .product-share-btn,
    .product-card .product-compare-toggle {
        top: 8px;
        right: 8px;
        width: 32px;
        height: 32px;
        z-index: 3;
    }

    .product-card .product-share-btn {
        top: 46px;
    }

    .product-card .product-compare-toggle {
        top: 84px;
    }

    .product-card .product-wishlist-toggle i,
    .product-card .product-share-btn i,
    .product-card .product-compare-toggle i {
        font-size: 14px;
    }
}