    /* ========== VARIABLES CSS ========== */
    :root {
        --primary-color: #D4AF37; /* Dorado elegante */
        --secondary-color: #1A1A1A; /* Negro suave */
        --accent-color: #FFD700; /* Dorado brillante para acentos */
        --dark-color: #000000; /* Negro puro */
        --light-color: #F8F9FA; /* Blanco suave */
        --text-color: #2C2C2C; /* Gris oscuro para texto */
        --success-color: #28A745;
        --danger-color: #DC3545;
        --border-radius: 12px;
        --box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
        --transition: all 0.3s ease;
    }

    /* ========== RESET Y BASE ========== */
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    html {
        -webkit-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
    }

    body {
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        color: var(--text-color);
        line-height: 1.6;
        overflow-x: hidden;
        padding-top: 0;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    /* Ajuste para index con banner y header fijos */
    .index-page body {
        padding-top: calc(var(--banner-height, 60px) + var(--header-height, 85px));
    }

    /* ========== BANNER SUPERIOR ========== */
    .top-banner {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 9999;
        background: linear-gradient(135deg, #D4AF37 0%, #FFD700 100%);
        color: white;
        text-align: center;
        padding: 12px 0;
        font-weight: 600;
        font-size: 14px;
        line-height: 1.4;
        box-shadow: 0 2px 15px rgba(0,0,0,0.2);
        animation: slideDown 0.5s ease;
        margin: 0;
    }

    .banner-content {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        width: 100%;
        overflow: hidden;
    }

    #bannerText {
        display: inline-block;
        white-space: nowrap;
        padding: 0 1rem;
        text-transform: uppercase;
        letter-spacing: 1px;
        font-size: 13px;
        font-weight: 700;
    }

    .container {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 20px;
    }

    .header {
        background: linear-gradient(135deg, rgba(15,18,25,0.85) 0%, rgba(20,28,44,0.75) 100%);
        border-bottom: 1px solid rgba(212,175,55,0.06);
        box-shadow: 0 6px 20px rgba(2,6,23,0.28);
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        z-index: 1000;
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
        margin: 0;
        padding: 0.6rem 0; /* altura más proporcionada */
        transition: padding 220ms ease, box-shadow 220ms ease, background 220ms ease, transform 220ms ease;
    }

    /* Estado comprimido (al hacer scroll) */
    .header.scrolled {
        padding: 0.28rem 0;
        box-shadow: 0 10px 30px rgba(2,6,23,0.45);
        background: linear-gradient(135deg, rgba(8,10,12,0.96) 0%, rgba(12,16,22,0.94) 100%);
    }

    /* Mantener la traslación específica de index cuando esté comprimido */
    .index-page .header.scrolled {
        transform: translateY(-3cm);
    }


    /* Index-only override: mostrar banner arriba y header justo debajo */
    .index-page #topBanner {
        top: 0;
        transition: top 0.25s ease;
    }

    .index-page .header {
        /* Subir el header 3cm adicionales sin tocar banner ni sliders */
        top: var(--banner-height, 38px);
        transform: translateY(-3cm); /* --- <-- cambio solicitado */
        transition: top 0.2s ease, transform 0.2s ease;
        will-change: top, transform;
    }

    /* Cuando el banner no está visible, header sube al tope */
    .index-page #topBanner[style*="display: none"] ~ .header,
    .index-page #topBanner[style*="display:none"] ~ .header {
        top: 0 !important;
        transform: translateY(0) !important;
    }

    /* Ajuste del hero: comienza después del header */
    .index-page .hero-slider {
        margin-top: 0;
        padding-top: 0;
    }

    @keyframes slideDown {
        from {
            transform: translateY(-100%);
            opacity: 0;
        }
        to {
            transform: translateY(0);
            opacity: 1;
        }
    }

    .header-content {
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-items: center;
        padding: 0.6rem 2rem; /* más compacto */
        max-width: 1200px;
        margin: 0 auto;
        gap: 1.6rem;
    }

    /* Ajustes cuando el header está comprimido */
    .header.scrolled .header-content { padding: 0.3rem 1.5rem; gap: 1rem; }


    .logo {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }

    .logo h1 {
        color: white;
        font-size: 1.45rem;
        font-weight: 800;
        margin: 0;
        display: flex;
        align-items: center;
        gap: 10px;
        letter-spacing: 0.6px;
    }

    .logo h1 i { display: none; }

    .logo-image {
        height: 36px;
        width: auto;
        filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.35));
        border-radius: 8px;
    }

    .logo p {
        color: rgba(255, 255, 255, 0.85);
        font-size: 0.72rem;
        margin: 2px 0 0 46px;
        font-weight: 400;
        letter-spacing: 0.4px;
    }

    /* Reducir logo cuando el header está comprimido */
    .header.scrolled .logo h1 { font-size: 1.15rem; }
    .header.scrolled .logo-image { height: 28px; }
    .header.scrolled .logo p { margin-left: 38px; font-size: 0.65rem; }


    .search-bar {
        display: flex;
        align-items: center;
        background: rgba(255, 255, 255, 0.1);
        border-radius: 25px;
        padding: 0.5rem 1rem;
        backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.2);
        max-width: 400px;
        width: 100%;
    }

    .search-bar input {
        flex: 1;
        background: transparent;
        border: none;
        outline: none;
        color: white;
        font-size: 1rem;
        padding: 0 0.5rem;
    }

    .search-bar input::placeholder {
        color: rgba(255, 255, 255, 0.7);
    }

    .search-btn {
        background: #FFD700;
        border: none;
        border-radius: 50%;
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        color: #333;
        transition: all 0.3s ease;
    }

    .search-btn:hover {
        background: #FFC107;
        transform: scale(1.1) rotate(90deg);
        box-shadow: 0 0 20px rgba(255, 215, 0, 0.6);
    }

    .nav {
        display: flex;
        align-items: center;
    }

    .nav-toggle {
        display: none;
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
        border: none;
        color: white;
        padding: 12px 16px;
        border-radius: 8px;
        cursor: pointer;
        font-size: 0.9rem;
        font-weight: 600;
        transition: all 0.3s ease;
        box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .nav-toggle:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(255, 107, 107, 0.4);
    }

    .nav-toggle i {
        font-size: 1.1rem;
    }

    .nav-menu {
        display: flex;
        list-style: none;
        gap: 1rem;
        margin: 0;
        padding: 0;
        align-items: center;
    }

    .nav-menu li {
        position: relative;
    }

    .nav-link {
        color: rgba(255, 255, 255, 0.9);
        text-decoration: none;
        font-weight: 600;
        font-size: 0.95rem;
        padding: 12px 20px;
        border-radius: 25px;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        gap: 8px;
        position: relative;
        overflow: hidden;
    }

    .nav-link::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
        transition: left 0.5s ease;
    }

    .nav-link:hover::before {
        left: 100%;
    }

    .nav-link:hover {
        color: white;
        background: rgba(255, 255, 255, 0.1);
        transform: translateY(-2px);
        box-shadow: 0 4px 15px rgba(255, 255, 255, 0.1);
    }

    .nav-link i {
        font-size: 1rem;
        transition: transform 0.3s ease;
    }

    .nav-link:hover i {
        transform: scale(1.1);
    }

    .nav-link span {
        font-weight: 600;
        letter-spacing: 0.3px;
    }

    .nav-cart {
        margin-left: 1rem;
    }

    .cart-btn {
        background: linear-gradient(135deg, rgba(78,205,196,0.95) 0%, rgba(68,160,141,0.95) 100%);
        border: 1px solid rgba(255,255,255,0.06);
        color: white;
        padding: 10px 14px;
        border-radius: 22px;
        cursor: pointer;
        font-size: 0.9rem;
        font-weight: 700;
        transition: transform 180ms ease, box-shadow 180ms ease;
        display: flex;
        align-items: center;
        gap: 8px;
        position: relative;
        box-shadow: 0 6px 20px rgba(78, 205, 196, 0.18);
        min-width: 92px;
        justify-content: center;
    }

    .cart-btn:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(78,205,196,0.25); }
    .header.scrolled .cart-btn { padding: 8px 12px; min-width: 82px; }


    .cart-btn:hover {
        transform: translateY(-2px) scale(1.05);
        box-shadow: 0 6px 20px rgba(78, 205, 196, 0.4);
    }

    .cart-btn i {
        font-size: 1.1rem;
        transition: transform 0.3s ease;
    }

    .cart-btn:hover i {
        transform: scale(1.1) rotate(10deg);
    }

    .cart-text {
        font-weight: 600;
        letter-spacing: 0.3px;
    }

    .cart-count {
        position: absolute;
        top: -8px;
        right: -8px;
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
        color: white;
        border-radius: 50%;
        width: 22px;
        height: 22px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.7rem;
        font-weight: bold;
        box-shadow: 0 2px 8px rgba(255, 107, 107, 0.4);
        animation: pulse 2s infinite;
    }

    @keyframes pulse {
        0% {
            transform: scale(1);
        }
        50% {
            transform: scale(1.1);
        }
        100% {
            transform: scale(1);
        }
    }

    .admin-btn {
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.2);
        color: rgba(255, 255, 255, 0.7);
        padding: 8px;
        border-radius: 50%;
        cursor: pointer;
        font-size: 0.8rem;
        font-weight: 500;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        backdrop-filter: blur(10px);
    }

    .admin-btn:hover {
        background: rgba(255, 255, 255, 0.2);
        color: white;
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);
    }

    .admin-btn i {
        font-size: 0.9rem;
        transition: transform 0.3s ease;
    }

    .admin-btn:hover i {
        transform: rotate(90deg);
    }

    /* ========== DROPDOWN MENU ========== */
    .nav-dropdown {
        position: relative;
    }

    .dropdown-icon {
        font-size: 0.7rem;
        margin-left: 4px;
        transition: transform 0.3s ease;
    }

    .nav-dropdown:hover .dropdown-icon {
        transform: rotate(180deg);
    }

    .dropdown-menu {
        position: absolute;
        top: 100%;
        left: 0;
        background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
        border-radius: 12px;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
        min-width: 220px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        transition: all 0.3s ease;
        border: 1px solid rgba(255, 255, 255, 0.1);
        backdrop-filter: blur(15px);
        z-index: 1001;
    }

    .nav-dropdown:hover .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    /* --- Disable dropdown on hover for Productos: only open on click --- */
    .nav-dropdown:hover .dropdown-menu,
    .nav-dropdown:focus-within .dropdown-menu {
        opacity: 0 !important;
        visibility: hidden !important;
        transform: translateY(-6px) !important;
        pointer-events: none !important;
    }

    /* Avoid rotating the chevron on hover to signal no hover action */
    .nav-dropdown:hover .dropdown-icon {
        transform: none !important;
    }

    /* Ocultar todas las flechitas/chevrons en el header (botón Productos sin icono) */
    .nav-dropdown .dropdown-icon {
        display: none !important;
    }

    .dropdown-link {
        display: block;
        color: rgba(255, 255, 255, 0.9);
        text-decoration: none;
        padding: 12px 20px;
        transition: all 0.3s ease;
        border-radius: 8px;
        margin: 4px 8px;
        font-weight: 500;
        display: flex;
        align-items: center;
        gap: 10px;
        position: relative;
        overflow: hidden;
    }

    .dropdown-link::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
        transition: left 0.5s ease;
    }

    .dropdown-link:hover::before {
        left: 100%;
    }

    .dropdown-link:hover {
        background: rgba(255, 255, 255, 0.1);
        color: white;
        transform: translateX(5px);
        box-shadow: 0 4px 15px rgba(255, 255, 255, 0.1);
    }

    .dropdown-link i {
        font-size: 1rem;
        color: var(--primary-color);
        transition: transform 0.3s ease;
    }

    .dropdown-link:hover i {
        transform: scale(1.1);
    }

    /* ========== RESPONSIVE: BANNER & HEADER ========== */
    @media (max-width: 992px) {
        .top-banner {
            font-size: 12px;
            padding: 10px 0;
        }
        
        .header-content {
            padding: 0.6rem 1.5rem;
            gap: 1.5rem;
        }
        
        .logo h1 {
            font-size: 1.3rem;
        }
        
        .logo-image {
            height: 30px;
        }
        
        .logo p {
            font-size: 0.7rem;
            margin-left: 40px;
        }
    }

    @media (max-width: 768px) {
        .top-banner {
            font-size: 11px;
            padding: 8px 0;
        }
        
        #bannerText {
            font-size: 11px;
            letter-spacing: 0.5px;
        }
        
        .header-content {
            grid-template-columns: 1fr;
            padding: 0.8rem 1rem;
            gap: 1rem;
        }
        
        .logo {
            align-items: center;
        }
        
        .logo h1 {
            font-size: 1.2rem;
        }
        
        .logo-image {
            height: 28px;
        }
        
        .logo p {
            margin-left: 0;
            text-align: center;
            font-size: 0.65rem;
        }
        
        .search-bar {
            max-width: 100%;
        }
        
        .nav-menu {
            flex-wrap: wrap;
            justify-content: center;
            gap: 0.5rem;
        }
        
        .nav-link {
            padding: 8px 12px;
            font-size: 0.85rem;
        }
        
        /* evitar que el header se solape con el hero en móviles */
        .index-page .header {
            transform: translateY(0) !important; /* mantener header anclado SIN solapar */
        }
        
        /* Mostrar la imagen completa del hero en móviles (no recortada) */
        .hero-slide.has-image {
            background-size: contain !important;
            background-position: center center !important;
            background-repeat: no-repeat !important;
        }

        .hero-slider {
            min-height: 45vh; /* usar vh para que quepa en pantalla móvil */
            max-height: 70vh;
        }

        /* Reducir altura de imágenes de tarjetas para evitar cortes */
        .product-image {
            height: 180px;
        }

        .offers-section .product-image {
            height: 160px;
        }
    }

    /* ========== HERO SLIDER ========== */
    .hero-slider {
        position: relative;
        width: 100%;
        height: calc(100vh - var(--banner-height, 38px) - var(--header-height, 85px));
        min-height: 500px;
        max-height: 800px;
        overflow: hidden;
        background: linear-gradient(135deg, #0f1419 0%, #1a2332 50%, #2d3748 100%);
        margin-top: 0;
    }

    .hero-slider::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background:
            radial-gradient(circle at 20% 30%, rgba(52, 152, 219, 0.1) 0%, transparent 50%),
            radial-gradient(circle at 80% 70%, rgba(155, 89, 182, 0.1) 0%, transparent 50%),
            radial-gradient(circle at 50% 50%, rgba(46, 204, 113, 0.1) 0%, transparent 50%);
        z-index: 1;
    }

    .heroSwiper {
        width: 100%;
        height: 100%;
    }

    .hero-slide {
        position: relative;
        height: 100%;
        background-size: cover;
        background-position: center;
        display: flex;
        align-items: center;
    }

    .hero-slide::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(135deg,
            rgba(15, 20, 25, 0.8) 0%,
            rgba(26, 35, 50, 0.6) 50%,
            rgba(45, 55, 72, 0.8) 100%);
        z-index: 2;
    }

    .hero-slide::before {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        background: url('data:image/svg+xml,<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg"><defs><pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse"><path d="M 40 0 L 0 0 0 40" fill="none" stroke="rgba(255,255,255,0.1)" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(%23grid)" /></svg>');
        opacity: 0.3;
        z-index: 1;
    }

    /* Estilos mejorados para sliders con imágenes */
    .hero-slide.has-image {
        background-size: cover !important;
        background-position: center center !important;
        transition: transform 0.3s ease;
    }

    .hero-slide.has-image .hero-overlay {
        background: linear-gradient(135deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.4) 50%, rgba(0, 0, 0, 0.6) 100%) !important;
        backdrop-filter: blur(1px);
    }

    .hero-slide.has-image .hero-content {
        text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8), 0 0 20px rgba(0, 0, 0, 0.5);
    }

    .hero-slide.has-image .hero-title {
        text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.9), 0 0 30px rgba(0, 0, 0, 0.7);
        font-weight: 900;
    }

    .hero-slide.has-image .hero-subtitle {
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8), 0 0 15px rgba(0, 0, 0, 0.6);
        font-weight: 600;
    }

    .hero-content {
        position: relative;
        z-index: 3;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 2rem;
        text-align: center;
        color: white;
        animation: fadeInUp 1s ease;
    }

    .hero-badge {
        display: inline-block;
        background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
        color: white;
        padding: 0.75rem 1.5rem;
        border-radius: 25px;
        font-weight: 700;
        font-size: 0.9rem;
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-bottom: 1.5rem;
        box-shadow: 0 8px 25px rgba(52, 152, 219, 0.3);
        animation: pulse 2s infinite;
    }

    @keyframes pulse {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.05); }
    }

    .hero-title {
        font-size: clamp(2.5rem, 5vw, 4.5rem);
        font-weight: 900;
        margin-bottom: 1rem;
        text-transform: uppercase;
        letter-spacing: 2px;
        line-height: 1.1;
        text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
        background: linear-gradient(135deg, #ffffff 0%, #e1e8ed 50%, #ffffff 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .hero-subtitle {
        font-size: clamp(1.1rem, 2.5vw, 1.5rem);
        margin-bottom: 2rem;
        opacity: 0.9;
        font-weight: 300;
        line-height: 1.6;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-buttons {
        display: flex;
        gap: 1rem;
        justify-content: center;
        flex-wrap: wrap;
        margin-top: 2rem;
    }

    .btn-primary-hero {
        background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
        color: white;
        border: none;
        padding: 1.2rem 2.5rem;
        border-radius: 50px;
        font-weight: 700;
        font-size: 1.1rem;
        text-transform: uppercase;
        letter-spacing: 1px;
        cursor: pointer;
        transition: all 0.3s ease;
        box-shadow: 0 8px 25px rgba(52, 152, 219, 0.3);
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        position: relative;
        overflow: hidden;
    }

    .btn-primary-hero::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
        transition: left 0.5s ease;
    }

    .btn-primary-hero:hover::before {
        left: 100%;
    }

    .btn-primary-hero:hover {
        transform: translateY(-3px);
        box-shadow: 0 12px 35px rgba(52, 152, 219, 0.4);
    }

    .btn-secondary-hero {
        background: rgba(255, 255, 255, 0.1);
        backdrop-filter: blur(10px);
        color: white;
        border: 2px solid rgba(255, 255, 255, 0.3);
        padding: 1.2rem 2.5rem;
        border-radius: 50px;
        font-weight: 700;
        font-size: 1.1rem;
        text-transform: uppercase;
        letter-spacing: 1px;
        cursor: pointer;
        transition: all 0.3s ease;
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
    }

    .btn-secondary-hero:hover {
        background: rgba(255, 255, 255, 0.2);
        border-color: rgba(255, 255, 255, 0.5);
        transform: translateY(-3px);
    }

    /* Swiper Controls */
    .hero-slider .swiper-button-next,
    .hero-slider .swiper-button-prev {
        color: white !important;
        background: rgba(0, 0, 0, 0.3);
        backdrop-filter: blur(10px);
        width: 50px !important;
        height: 50px !important;
        border-radius: 50% !important;
        transition: all 0.3s ease !important;
        border: 2px solid rgba(255, 255, 255, 0.2);
    }

    .hero-slider .swiper-button-next:hover,
    .hero-slider .swiper-button-prev:hover {
        background: var(--primary-color);
        transform: scale(1.1);
        box-shadow: 0 8px 25px rgba(52, 152, 219, 0.3);
    }

    .hero-slider .swiper-pagination {
        bottom: 30px;
    }

    .hero-slider .swiper-pagination-bullet {
        background: rgba(255, 255, 255, 0.5);
        width: 12px !important;
        height: 12px !important;
        opacity: 1 !important;
        transition: all 0.3s ease !important;
    }

    .hero-slider .swiper-pagination-bullet-active {
        background: var(--primary-color);
        transform: scale(1.2);
        box-shadow: 0 0 15px rgba(52, 152, 219, 0.5);
    }

    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(30px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .btn-primary {
        background: white;
        color: var(--primary-color);
        border: none;
        padding: 15px 40px;
        font-size: 1.1rem;
        font-weight: 600;
        border-radius: var(--border-radius);
        cursor: pointer;
        transition: var(--transition);
        box-shadow: var(--box-shadow);
        display: inline-flex;
        align-items: center;
        gap: 10px;
    }

    .btn-primary:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2);
    }

    /* ========== CATEGORÍAS ========== */
    .categories {
        padding: 80px 0;
        background: var(--light-color);
    }

    .section-title {
        text-align: center;
        font-size: 2.5rem;
        margin-bottom: 3rem;
        color: var(--dark-color);
        position: relative;
    }

    .section-title::after {
        content: '';
        position: absolute;
        bottom: -10px;
        left: 50%;
        transform: translateX(-50%);
        width: 80px;
        height: 4px;
        background: var(--primary-color);
        border-radius: 2px;
    }

    .categories-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 2rem;
    }

    .category-card {
        background: white;
        padding: 3rem 2rem;
        border-radius: var(--border-radius);
        text-align: center;
        cursor: pointer;
        transition: var(--transition);
        box-shadow: var(--box-shadow);
    }

    .category-card:hover {
        transform: translateY(-10px);
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
    }

    .category-card i {
        font-size: 4rem;
        color: var(--primary-color);
        margin-bottom: 1rem;
    }

    .category-card h3 {
        font-size: 1.5rem;
        margin-bottom: 0.5rem;
        color: var(--dark-color);
    }

    .category-card p {
        color: #666;
    }

    /* ========== PRODUCTOS ========== */
    .products {
        padding: 80px 0;
        background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%);
        position: relative;
    }

    .products::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 1px;
        background: linear-gradient(90deg, transparent, #D4AF37, transparent);
    }

    .products-header {
        margin-bottom: 3rem;
        text-align: center;
    }

    .products-header-content {
        margin-bottom: 2rem;
    }

    .title-highlight {
        background: linear-gradient(135deg, #D4AF37, #FFD700);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        font-weight: 800;
    }

    .section-description {
        color: #666;
        font-size: 1.1rem;
        margin-top: 0.5rem;
        font-weight: 400;
    }

    .filter-buttons {
        display: flex;
        justify-content: center;
        gap: 1rem;
        flex-wrap: wrap;
        margin-top: 2rem;
    }

    .filter-btn {
        background: white;
        border: 2px solid var(--primary-color);
        color: var(--primary-color);
        padding: 12px 28px;
        border-radius: 30px;
        cursor: pointer;
        transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        font-weight: 600;
        position: relative;
        overflow: hidden;
        box-shadow: 0 4px 15px rgba(212, 175, 55, 0.1);
    }

    .filter-btn::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 0;
        height: 0;
        border-radius: 50%;
        background: var(--primary-color);
        transform: translate(-50%, -50%);
        transition: width 0.5s, height 0.5s;
    }

    .filter-btn:hover::before,
    .filter-btn.active::before {
        width: 300px;
        height: 300px;
    }

    .filter-btn:hover,
    .filter-btn.active {
        color: white;
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(212, 175, 55, 0.3);
    }

    .filter-btn span {
        position: relative;
        z-index: 1;
    }

    .swiper {
        width: 100%;
        padding: 2rem 0;
    }

    .swiper-slide {
        display: flex;
        justify-content: center;
    }

    .swiper-button-next,
    .swiper-button-prev {
        color: var(--primary-color);
    }

    .swiper-pagination-bullet-active {
        background-color: var(--primary-color);
    }

    .product-card {
        background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
        border-radius: 20px;
        overflow: hidden;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
        transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        animation: slideInUp 0.6s ease-out;
        position: relative;
        border: 1px solid rgba(212, 175, 55, 0.2);
        cursor: pointer;
    }

    @keyframes slideInUp {
        from {
            opacity: 0;
            transform: translateY(50px) scale(0.8) rotateX(10deg);
        }
        to {
            opacity: 1;
            transform: translateY(0) scale(1) rotateX(0deg);
        }
    }

    .product-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 5px;
        background: linear-gradient(90deg, var(--primary-color), var(--accent-color), var(--primary-color));
        background-size: 200% 100%;
        opacity: 0;
        transition: opacity 0.3s ease;
        animation: shimmer 3s linear infinite;
    }

    .product-card:hover {
        transform: translateY(-15px) scale(1.03) rotateX(2deg);
        box-shadow: 0 25px 50px rgba(212, 175, 55, 0.25), 0 0 40px rgba(212, 175, 55, 0.1);
        border-color: var(--primary-color);
    }

    .product-card:hover::before {
        opacity: 1;
    }

    .product-card:hover .product-image {
        transform: scale(1.1);
    }

    .product-image {
        width: 100%;
        height: 280px;
        background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 4rem;
        color: white;
        position: relative;
        overflow: hidden;
        transition: transform 0.4s ease;
    }

    .product-image::after {
        content: '';
        position: absolute;
        top: -50%;
        left: -50%;
        width: 200%;
        height: 200%;
        background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.1), transparent);
        transform: rotate(45deg);
        transition: transform 0.6s ease;
    }

    .product-card:hover .product-image::after {
        transform: rotate(45deg) translate(50%, 50%);
    }

    .product-badge {
        position: absolute;
        top: 15px;
        right: 15px;
        background: linear-gradient(135deg, #ff6b6b, #ee5a24);
        color: white;
        padding: 8px 16px;
        border-radius: 25px;
        font-weight: bold;
        font-size: 0.8rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
        z-index: 2;
        animation: pulse 2s infinite;
    }

    @keyframes pulse {
        0%, 100% {
            transform: scale(1);
        }
        50% {
            transform: scale(1.05);
        }
    }

    .product-info {
        padding: 1.5rem;
        background: white;
        position: relative;
    }

    .product-category {
        color: var(--primary-color);
        font-size: 0.85rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        margin-bottom: 0.5rem;
        display: inline-block;
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .product-name {
        font-size: 1.4rem;
        font-weight: 700;
        margin: 0.5rem 0 1rem 0;
        color: var(--dark-color);
        line-height: 1.3;
        transition: color 0.3s ease;
    }

    .product-card:hover .product-name {
        color: var(--primary-color);
    }

    .product-description {
        color: #666;
        font-size: 0.9rem;
        margin-bottom: 1.5rem;
        line-height: 1.5;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .product-footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: relative;
    }

    .price-container {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }

    .product-price-old {
        font-size: 1.2rem;
        font-weight: 600;
        color: #999;
        text-decoration: line-through;
        position: relative;
    }

    .product-price-old::before {
        content: '$';
        font-size: 0.7rem;
        position: relative;
        top: -6px;
        left: -2px;
    }

    .product-price {
        font-size: 1.6rem;
        font-weight: 800;
        color: var(--primary-color);
        position: relative;
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .product-price::before {
        content: '$';
        font-size: 0.8rem;
        position: relative;
        top: -8px;
        left: -2px;
    }

    /* Efecto de oferta en el precio */
    .product-price::after {
        content: '';
        position: absolute;
        bottom: -2px;
        left: 0;
        width: 100%;
        height: 2px;
        background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
        border-radius: 1px;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .product-card:hover .product-price::after {
        opacity: 1;
    }

    /* Estilos para descuentos */
    .discount-price {
        color: #e74c3c !important;
        background: linear-gradient(135deg, #e74c3c, #c0392b) !important;
        -webkit-background-clip: text !important;
        -webkit-text-fill-color: transparent !important;
        background-clip: text !important;
        animation: pricePulse 2s infinite;
    }

    @keyframes pricePulse {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.05); }
    }

    .discount-badge {
        background: linear-gradient(135deg, #e74c3c, #c0392b);
        color: white;
        padding: 4px 8px;
        border-radius: 12px;
        font-size: 0.7rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        box-shadow: 0 2px 8px rgba(231, 76, 60, 0.3);
        animation: badgeGlow 2s infinite alternate;
        margin-top: 4px;
    }

    @keyframes badgeGlow {
        0% { box-shadow: 0 2px 8px rgba(231, 76, 60, 0.3); }
        100% { box-shadow: 0 2px 12px rgba(231, 76, 60, 0.5); }
    }

    .btn-add-cart {
        background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
        color: white;
        border: none;
        padding: 14px 28px;
        border-radius: 50px;
        cursor: pointer;
        transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        font-weight: 700;
        font-size: 0.95rem;
        display: flex;
        align-items: center;
        gap: 8px;
        box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3);
        position: relative;
        overflow: hidden;
    }

    .btn-add-cart::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
        transition: left 0.5s ease;
    }

    .btn-add-cart:hover::before {
        left: 100%;
    }

    .btn-add-cart:hover {
        background: linear-gradient(135deg, var(--secondary-color), var(--primary-color));
        transform: translateY(-2px) scale(1.05);
        box-shadow: 0 8px 25px rgba(52, 152, 219, 0.4);
    }

    .btn-add-cart:active {
        transform: translateY(0) scale(0.98);
    }

    /* Elemento de urgencia para incentivar compras */
    .product-urgency {
        position: absolute;
        bottom: 80px;
        left: 15px;
        background: linear-gradient(135deg, #ff4757, #ff3838);
        color: white;
        padding: 6px 12px;
        border-radius: 15px;
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        box-shadow: 0 3px 10px rgba(255, 71, 87, 0.3);
        z-index: 2;
        animation: urgentPulse 1.5s infinite;
    }

    @keyframes urgentPulse {
        0%, 100% {
            transform: scale(1);
            opacity: 1;
        }
        50% {
            transform: scale(1.1);
            opacity: 0.8;
        }
    }

    /* Efecto de brillo en el borde de la tarjeta */
    .product-card::after {
        content: '';
        position: absolute;
        top: -2px;
        left: -2px;
        right: -2px;
        bottom: -2px;
        background: linear-gradient(45deg, var(--primary-color), var(--accent-color), var(--secondary-color), var(--primary-color));
        border-radius: 22px;
        z-index: -1;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .product-card:hover::after {
        opacity: 0.3;
    }

    /* ========== OFERTAS Y DESCUENTOS ========== */
    /* ========== OFFERS SECTION DEPORTIVA ========== */
    .offers-section {
        padding: 80px 0;
        background: linear-gradient(135deg, #0f1419 0%, #1a2332 50%, #2d3748 100%);
        position: relative;
        overflow: hidden;
    }

    .offers-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background:
            radial-gradient(circle at 20% 20%, rgba(52, 152, 219, 0.08) 0%, transparent 50%),
            radial-gradient(circle at 80% 80%, rgba(155, 89, 182, 0.08) 0%, transparent 50%),
            radial-gradient(circle at 50% 50%, rgba(46, 204, 113, 0.08) 0%, transparent 50%);
    }

    .offers-section::after {
        content: '';
        position: absolute;
        top: 50%;
        left: -100px;
        width: 300px;
        height: 300px;
        background: radial-gradient(circle, rgba(52, 152, 219, 0.1) 0%, transparent 70%);
        border-radius: 50%;
        animation: floatBubble 15s infinite;
    }

    @keyframes floatBubble {
        0%, 100% { transform: translate(0, 0); }
        50% { transform: translate(calc(100vw + 100px), -100px); }
    }

    .offers-header {
        text-align: center;
        margin-bottom: 4rem;
        position: relative;
        z-index: 2;
    }

    .badge-new {
        display: inline-block;
        background: linear-gradient(135deg, #ff6b6b, #ee5a24);
        color: white;
        padding: 0.75rem 2rem;
        border-radius: 30px;
        font-weight: 700;
        font-size: 0.9rem;
        letter-spacing: 2px;
        margin-bottom: 1.5rem;
        box-shadow: 0 8px 25px rgba(255, 107, 107, 0.4);
        animation: pulse 2s infinite;
        text-transform: uppercase;
    }

    @keyframes pulse {
        0%, 100% { transform: scale(1); }
        50% { transform: scale(1.05); }
    }

    .offers-header .section-title {
        color: white;
        font-size: clamp(2.5rem, 4vw, 3.5rem);
        margin-bottom: 0.5rem;
        text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
        font-weight: 900;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        text-transform: uppercase;
        letter-spacing: 2px;
        background: linear-gradient(135deg, #ffffff 0%, #e1e8ed 50%, #ffffff 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .offers-header .section-title i {
        animation: fireFlicker 1.5s infinite alternate;
        color: #FFD700;
        filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.5));
    }

    @keyframes fireFlicker {
        0% { opacity: 0.8; transform: scale(1); }
        100% { opacity: 1; transform: scale(1.1); }
    }

    .offers-subtitle {
        color: rgba(255, 255, 255, 0.8);
        font-size: 1.3rem;
        font-weight: 400;
        opacity: 0.9;
        margin-bottom: 2rem;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
        line-height: 1.6;
    }

    .offer-timer {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1rem;
        margin-top: 2rem;
        flex-wrap: wrap;
    }

    .timer-item {
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 50%, #ff8c42 100%);
        padding: 1.5rem 2rem;
        border-radius: 20px;
        box-shadow: 0 8px 25px rgba(255, 107, 107, 0.3);
        display: flex;
        flex-direction: column;
        align-items: center;
        min-width: 100px;
        position: relative;
        overflow: hidden;
    }

    .timer-item::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
        transition: left 0.8s ease;
    }

    .timer-item:hover::before {
        left: 100%;
    }

    .timer-value {
        font-size: 2.5rem;
        font-weight: 900;
        color: white;
        line-height: 1;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
        z-index: 2;
        position: relative;
    }

    .timer-label {
        font-size: 0.8rem;
        color: rgba(255, 255, 255, 0.9);
        margin-top: 0.5rem;
        text-transform: uppercase;
        letter-spacing: 1px;
        font-weight: 600;
        z-index: 2;
        position: relative;
    }

    .timer-separator {
        font-size: 2.5rem;
        color: #FFD700;
        font-weight: 700;
        text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
    }

    .offers-section .product-card {
        max-width: 320px;
        margin: 0 auto;
        background: rgba(255, 255, 255, 0.05);
        backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.1);
        transition: all 0.4s ease;
    }

    .offers-section .product-card:hover {
        transform: translateY(-10px) scale(1.02);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
        border-color: rgba(52, 152, 219, 0.3);
    }

    .offers-section .product-image {
        height: 220px;
        position: relative;
        overflow: hidden;
    }

    .offers-section .product-image::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: linear-gradient(135deg, rgba(52, 152, 219, 0.1) 0%, transparent 50%);
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .offers-section .product-card:hover .product-image::after {
        opacity: 1;
    }

    .offers-section .product-info {
        padding: 1.5rem 1.5rem;
        background: rgba(255, 255, 255, 0.02);
    }

    .offers-section .product-name {
        font-size: 1.2rem;
        margin-bottom: 0.5rem;
        color: white;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .offers-section .product-description {
        font-size: 0.9rem;
        margin-bottom: 1rem;
        color: rgba(255, 255, 255, 0.7);
        line-height: 1.5;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .offers-section .product-badge {
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 50%, #ff8c42 100%);
        box-shadow: 0 8px 25px rgba(255, 107, 107, 0.4);
        animation: urgentPulse 1.5s infinite;
        color: white;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    @keyframes urgentPulse {
        0%, 100% {
            transform: scale(1);
            box-shadow: 0 8px 25px rgba(255, 107, 107, 0.4);
        }
        50% {
            transform: scale(1.05);
            box-shadow: 0 12px 35px rgba(255, 107, 107, 0.6);
        }
    }

    .offers-section .swiper {
        width: 100%;
        padding: 2rem 0;
    }

    @media (max-width: 768px) {
        .offers-section {
            padding: 60px 0;
        }

        .offers-header {
            margin-bottom: 3rem;
        }

        .offers-header .section-title {
            font-size: 2.5rem;
        }

        .offers-subtitle {
            font-size: 1.1rem;
        }

        .offer-timer {
            gap: 0.5rem;
        }

        .timer-item {
            padding: 1rem 1.5rem;
            min-width: 80px;
        }

        .timer-value {
            font-size: 2rem;
        }

        .timer-label {
            font-size: 0.7rem;
        }
    }

    /* ========== CARRITO ========== */
    .cart-sidebar {
        position: fixed;
        right: -400px;
        top: 0;
        width: 400px;
        height: 100vh;
        background: white;
        box-shadow: -5px 0 20px rgba(0, 0, 0, 0.1);
        transition: var(--transition);
        z-index: 2000;
        display: flex;
        flex-direction: column;
    }

    .cart-sidebar.active {
        right: 0;
    }

    .cart-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1500;
        opacity: 0;
        visibility: hidden;
        transition: var(--transition);
    }

    .cart-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    .cart-header {
        padding: 1.5rem;
        border-bottom: 2px solid var(--light-color);
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .cart-header h3 {
        color: var(--dark-color);
        font-size: 1.5rem;
    }

    .close-cart {
        background: none;
        border: none;
        font-size: 1.5rem;
        cursor: pointer;
        color: var(--text-color);
        transition: var(--transition);
    }

    .close-cart:hover {
        color: var(--danger-color);
    }

    .cart-items {
        flex: 1;
        overflow-y: auto;
        padding: 1.5rem;
    }

    .empty-cart {
        text-align: center;
        color: #999;
        padding: 3rem 0;
    }

    .cart-item {
        display: flex;
        gap: 1rem;
        padding: 1rem;
        border-bottom: 1px solid var(--light-color);
        animation: slideInRight 0.3s ease;
    }

    @keyframes slideInRight {
        from {
            transform: translateX(100%);
            opacity: 0;
        }
        to {
            transform: translateX(0);
            opacity: 1;
        }
    }

    .cart-item-image {
        width: 80px;
        height: 80px;
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        border-radius: var(--border-radius);
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 2rem;
    }

    .cart-item-info {
        flex: 1;
    }

    .cart-item-name {
        font-weight: 600;
        color: var(--dark-color);
        margin-bottom: 0.5rem;
    }

    .cart-item-price {
        color: var(--primary-color);
        font-weight: bold;
        font-size: 1.1rem;
    }

    .cart-item-controls {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-top: 0.5rem;
        background: #f8f9fa;
        padding: 0.5rem;
        border-radius: 8px;
    }

    .quantity-btn {
        background: var(--primary-color);
        color: white;
        border: none;
        width: 35px;
        height: 35px;
        border-radius: 50%;
        cursor: pointer;
        transition: var(--transition);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.2rem;
    }

    .quantity-btn:hover {
        background: var(--primary-color-dark);
        transform: scale(1.1);
    }

    .quantity {
        padding: 0 15px;
        font-weight: 600;
        font-size: 1.1rem;
        min-width: 40px;
        text-align: center;
    }

    .remove-btn {
        background: none;
        border: none;
        color: var(--danger-color);
        cursor: pointer;
        margin-left: auto;
        font-size: 1.2rem;
        transition: var(--transition);
    }

    .remove-btn:hover {
        transform: scale(1.2);
    }

    .cart-footer {
        border-top: 2px solid var(--light-color);
        padding: 1.5rem;
    }

    .cart-total {
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 1.5rem;
        font-weight: bold;
        margin-bottom: 1rem;
    }

    .total-price {
        color: var(--primary-color);
    }

    .cart-shipping-info {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        background: var(--light-color);
        padding: 0.75rem;
        border-radius: var(--border-radius);
        margin-bottom: 1rem;
        font-size: 0.9rem;
        color: var(--text-color);
    }

    .cart-shipping-info i {
        color: var(--primary-color);
    }

    .btn-checkout {
        width: 100%;
        background: var(--success-color);
        color: white;
        border: none;
        padding: 15px;
        border-radius: var(--border-radius);
        font-size: 1.1rem;
        font-weight: 600;
        cursor: pointer;
        transition: var(--transition);
    }

    .btn-checkout:hover {
        background: #218838;
        transform: translateY(-2px);
        box-shadow: var(--box-shadow);
    }

    /* ========== FOOTER DEPORTIVO ========== */
    .footer {
        background: linear-gradient(135deg, #0f1419 0%, #1a2332 50%, #2d3748 100%);
        color: white;
        padding: 4rem 0 2rem;
        position: relative;
        overflow: hidden;
    }

    .footer::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background:
            radial-gradient(circle at 20% 30%, rgba(52, 152, 219, 0.05) 0%, transparent 50%),
            radial-gradient(circle at 80% 70%, rgba(155, 89, 182, 0.05) 0%, transparent 50%),
            radial-gradient(circle at 50% 50%, rgba(46, 204, 113, 0.05) 0%, transparent 50%);
    }

    .footer-content {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 3rem;
        margin-bottom: 3rem;
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
        padding: 0 2rem;
        position: relative;
        z-index: 2;
    }

    .footer-section h4 {
        font-size: 1.4rem;
        margin-bottom: 1.5rem;
        color: #FFD700;
        display: flex;
        align-items: center;
        gap: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1px;
        position: relative;
    }

    .footer-section h4::after {
        content: '';
        position: absolute;
        bottom: -5px;
        left: 0;
        width: 50px;
        height: 3px;
        background: linear-gradient(90deg, #FFD700, #FFA500);
        border-radius: 2px;
    }

    .footer-section ul {
        list-style: none;
        padding: 0;
    }

    .footer-section ul li {
        margin-bottom: 0.75rem;
    }

    .footer-section a {
        color: rgba(255, 255, 255, 0.8);
        text-decoration: none;
        transition: all 0.3s ease;
        font-weight: 400;
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
    }

    .footer-section a:hover {
        color: #FFD700;
        transform: translateX(5px);
    }

    .footer-section a i {
        font-size: 0.9rem;
        transition: transform 0.3s ease;
    }

    .footer-section a:hover i {
        transform: translateX(3px);
    }

    .social-links {
        display: flex;
        gap: 1rem;
        margin-top: 1.5rem;
        flex-wrap: wrap;
    }

    .social-links a {
        width: 50px;
        height: 50px;
        background: linear-gradient(135deg, #3498db 0%, #2980b9 100%);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all 0.3s ease;
        box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3);
        position: relative;
        overflow: hidden;
    }

    .social-links a::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
        transition: left 0.5s ease;
    }

    .social-links a:hover::before {
        left: 100%;
    }

    .social-links a:hover {
        background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
        transform: translateY(-5px) scale(1.1);
        box-shadow: 0 8px 25px rgba(231, 76, 60, 0.4);
    }

    .social-links a i {
        color: white;
        font-size: 1.2rem;
        z-index: 2;
        position: relative;
    }

    .newsletter-form {
        display: flex;
        margin-top: 1.5rem;
        background: rgba(255, 255, 255, 0.05);
        border-radius: 15px;
        padding: 5px;
        backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.1);
    }

    .newsletter-form input {
        flex: 1;
        padding: 12px 20px;
        border: none;
        border-radius: 10px;
        background: transparent;
        color: white;
        font-size: 1rem;
    }

    .newsletter-form input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    .newsletter-form input:focus {
        outline: none;
        box-shadow: 0 0 0 2px rgba(52, 152, 219, 0.3);
    }

    .newsletter-form button {
        background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
        border: none;
        padding: 12px 25px;
        color: #1a1a2e;
        cursor: pointer;
        border-radius: 10px;
        transition: all 0.3s ease;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        box-shadow: 0 4px 15px rgba(255, 215, 0, 0.3);
    }

    .newsletter-form button:hover {
        background: linear-gradient(135deg, #FFA500 0%, #FF8C00 100%);
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(255, 165, 0, 0.4);
    }

    .footer-bottom {
        text-align: center;
        padding-top: 2rem;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        color: rgba(255, 255, 255, 0.6);
        position: relative;
        z-index: 2;
    }

    .footer-bottom p {
        margin: 0;
        font-size: 0.95rem;
    }

    @media (max-width: 768px) {
        .footer {
            padding: 3rem 0 1.5rem;
        }

        .footer-content {
            grid-template-columns: 1fr;
            gap: 2rem;
            padding: 0 1rem;
        }

        .footer-section h4 {
            font-size: 1.2rem;
        }

        .social-links {
            justify-content: center;
        }

        .newsletter-form {
            flex-direction: column;
        }

        .newsletter-form input {
            border-radius: 10px;
            margin-bottom: 10px;
        }

        .newsletter-form button {
            border-radius: 10px;
        }
    }

    /* ========== RESPONSIVE ========== */
    @media (max-width: 768px) {
        body {
            padding-top: 80px; /* Ajuste para header más alto en móviles */
        }

        .header-content {
            padding: 0 1rem;
        }

        .logo h1 {
            font-size: 1.5rem;
        }

        .logo h1 i {
            font-size: 1.8rem;
        }

        .logo-image {
            height: 32px;
        }

        .logo p {
            font-size: 0.75rem;
            margin-left: 28px;
        }

        .nav-menu {
            display: none;
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
            flex-direction: column;
            gap: 0;
            padding: 1rem 0;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
            border-radius: 0 0 15px 15px;
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-top: none;
        }

        .nav-menu.active {
            display: flex;
        }

        .nav-menu li {
            width: 100%;
            text-align: center;
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        }

        .nav-menu li:last-child {
            border-bottom: none;
        }

        .nav-link {
            width: 100%;
            justify-content: center;
            padding: 15px 20px;
            border-radius: 0;
            margin: 0;
        }

        .nav-link:hover {
            background: rgba(255, 255, 255, 0.1);
            transform: none;
        }

        .nav-cart {
            margin: 0;
            padding: 0 1rem;
        }

        .cart-btn {
            width: 100%;
            justify-content: center;
            margin-bottom: 0.5rem;
        }

        .nav-toggle {
            display: flex;
        }

        .hero-title {
            font-size: 2.5rem;
        }

        .hero-subtitle {
            font-size: 1rem;
        }

        /* Estilos responsive para imágenes en sliders */
        .hero-slide.has-image {
            background-attachment: scroll !important; /* Mejor rendimiento en móviles */
            background-size: cover !important;
        }

        .hero-slide.has-image .hero-title {
            font-size: 2.2rem;
            padding: 0.4rem 0.8rem;
            margin-bottom: 0.8rem;
        }

        .hero-slide.has-image .hero-subtitle {
            font-size: 0.9rem;
            padding: 0.4rem 0.8rem;
            margin-bottom: 1.5rem;
        }

        .categories-grid {
            grid-template-columns: repeat(2, 1fr);
        }

        .swiper {
            padding: 1rem 0;
        }

        .cart-sidebar {
            width: 100%;
            right: -100%;
        }

        .footer-content {
            grid-template-columns: 1fr;
        }
    }

    @media (max-width: 480px) {
        .categories-grid {
            grid-template-columns: 1fr;
        }

        .filter-buttons {
            flex-direction: column;
        }
    }

    /* ========== BOTÓN ADMIN ========== */
    .admin-btn {
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.2);
        color: rgba(255, 255, 255, 0.7);
        padding: 10px 14px;
        border-radius: 20px;
        cursor: pointer;
        font-size: 0.8rem;
        font-weight: 500;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        gap: 6px;
        backdrop-filter: blur(10px);
    }

    .admin-btn:hover {
        background: rgba(255, 255, 255, 0.2);
        color: white;
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);
    }

    .admin-btn i {
        font-size: 0.9rem;
        transition: transform 0.3s ease;
    }

    .admin-btn:hover i {
        transform: rotate(90deg);
    }

    .admin-btn span {
        font-size: 0.8rem;
        font-weight: 500;
    }

    /* ========== PANEL DE ADMINISTRACIÓN ========== */
    .admin-modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 3000;
        display: none;
    }

    .admin-modal.active {
        display: block;
    }

    .admin-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.8);
    }

    .admin-panel {
        position: absolute;
        right: 0;
        top: 0;
        width: 90%;
        max-width: 800px;
        height: 100%;
        background: white;
        box-shadow: -5px 0 20px rgba(0, 0, 0, 0.2);
        display: flex;
        flex-direction: column;
        animation: slideInRight 0.3s ease;
    }

    .admin-header {
        padding: 1.5rem;
        border-bottom: 2px solid var(--light-color);
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: var(--dark-color);
        color: white;
    }

    .admin-header h2 {
        margin: 0;
        font-size: 1.5rem;
    }

    .admin-header-actions {
        display: flex;
        gap: 1rem;
        align-items: center;
    }

    .logout-btn {
        background: none;
        border: none;
        color: #ff6b6b;
        cursor: pointer;
        padding: 8px;
        border-radius: 50%;
        transition: var(--transition);
        font-size: 1.2rem;
    }

    .logout-btn:hover {
        background: rgba(255, 107, 107, 0.2);
        transform: scale(1.1);
    }

    .close-admin {
        background: none;
        border: none;
        font-size: 1.5rem;
        cursor: pointer;
        color: white;
        transition: var(--transition);
        padding: 8px;
        border-radius: 50%;
    }

    .close-admin:hover {
        background: rgba(255, 255, 255, 0.1);
    }

    .admin-content {
        flex: 1;
        overflow-y: auto;
        padding: 1.5rem;
    }

    /* ========== PANEL DE ADMINISTRACIÓN COMPLETO ========== */
    .admin-panel-full {
        min-height: 100vh;
        background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
        position: relative;
        overflow-x: hidden;
    }

    .admin-panel-full::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-image:
            radial-gradient(circle at 20% 80%, rgba(120, 119, 198, 0.1) 0%, transparent 50%),
            radial-gradient(circle at 80% 20%, rgba(255, 119, 198, 0.1) 0%, transparent 50%),
            radial-gradient(circle at 40% 40%, rgba(120, 219, 226, 0.1) 0%, transparent 50%);
        pointer-events: none;
    }

    .admin-content {
        position: relative;
        z-index: 1;
        padding: 2rem;
        max-width: 1400px;
        margin: 0 auto;
    }

    /* Header Deportivo */
    .header {
        background: linear-gradient(135deg, #0f1419 0%, #1a2332 50%, #2d3748 100%);
        border-bottom: 3px solid var(--primary-color);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
        position: relative;
        overflow: hidden;
    }

    .header::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="25" cy="25" r="1" fill="rgba(255,255,255,0.03)"/><circle cx="75" cy="75" r="1" fill="rgba(255,255,255,0.03)"/><circle cx="50" cy="10" r="0.5" fill="rgba(255,255,255,0.02)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');
        pointer-events: none;
    }

    .header-content {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1.5rem 2rem;
        position: relative;
        z-index: 1;
    }

    .logo h1 {
        color: white;
        font-size: 1.8rem;
        font-weight: 700;
        margin: 0;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .logo h1 i {
        color: var(--primary-color);
        font-size: 2rem;
        filter: drop-shadow(0 0 8px rgba(52, 152, 219, 0.3));
    }

    .logout-btn {
        background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
        color: white;
        border: none;
        padding: 12px 20px;
        border-radius: 25px;
        cursor: pointer;
        font-weight: 600;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        box-shadow: 0 4px 15px rgba(231, 76, 60, 0.3);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        font-size: 0.9rem;
    }

    .logout-btn:hover {
        background: linear-gradient(135deg, #c0392b 0%, #a93226 100%);
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(231, 76, 60, 0.4);
    }

    .logout-btn i {
        font-size: 1rem;
    }

    /* Tabs Deportivos */
    .admin-tabs {
        display: flex;
        gap: 0.5rem;
        margin-bottom: 2rem;
        background: rgba(255, 255, 255, 0.05);
        backdrop-filter: blur(10px);
        border-radius: 15px;
        padding: 0.5rem;
        border: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    }

    .admin-tab {
        background: transparent;
        border: none;
        padding: 15px 25px;
        cursor: pointer;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.7);
        border-radius: 12px;
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
        font-size: 1rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
    }

    .admin-tab::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
        transition: left 0.5s ease;
    }

    .admin-tab:hover::before {
        left: 100%;
    }

    .admin-tab.active {
        background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
        color: white;
        box-shadow: 0 4px 20px rgba(52, 152, 219, 0.3);
        transform: translateY(-2px);
    }

    .admin-tab.active::before {
        display: none;
    }

    .admin-tab i {
        font-size: 1.1rem;
    }

    /* Contenido de Tabs */
    .admin-tab-content {
        display: none;
        animation: fadeInUp 0.4s ease;
    }

    .admin-tab-content.active {
        display: block;
    }

    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    /* Secciones */
    .admin-section {
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(20px);
        border-radius: 20px;
        padding: 2rem;
        margin-bottom: 2rem;
        border: 1px solid rgba(255, 255, 255, 0.2);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
        position: relative;
        overflow: hidden;
    }

    .admin-section::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: linear-gradient(90deg, var(--primary-color), var(--secondary-color), #e74c3c);
    }

    .admin-section h3 {
        color: #2d3748;
        margin-bottom: 1.5rem;
        font-size: 1.5rem;
        font-weight: 700;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .admin-section h3 i {
        color: var(--primary-color);
        font-size: 1.3rem;
    }

    /* Botones Administrativos */
    .btn-admin {
        background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
        color: white;
        border: none;
        padding: 14px 28px;
        border-radius: 25px;
        cursor: pointer;
        font-weight: 600;
        transition: all 0.3s ease;
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 1rem;
        box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        font-size: 0.9rem;
        position: relative;
        overflow: hidden;
    }

    .btn-admin::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
        transition: left 0.5s ease;
    }

    .btn-admin:hover::before {
        left: 100%;
    }

    .btn-admin:hover {
        background: linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);
        transform: translateY(-3px);
        box-shadow: 0 8px 25px rgba(52, 152, 219, 0.4);
    }

    .btn-admin:active {
        transform: translateY(-1px);
    }

    .btn-admin i {
        font-size: 1rem;
    }

    .admin-tabs {
        display: flex;
        gap: 1rem;
        margin-bottom: 2rem;
        border-bottom: 2px solid var(--light-color);
    }

    .admin-tab {
        background: none;
        border: none;
        padding: 12px 24px;
        cursor: pointer;
        font-weight: 600;
        color: var(--text-color);
        border-bottom: 3px solid transparent;
        transition: var(--transition);
    }

    .admin-tab.active {
        color: var(--primary-color);
        border-bottom-color: var(--primary-color);
    }

    .admin-tab-content {
        display: none;
    }

    .admin-tab-content.active {
        display: block;
    }

    .admin-section h3 {
        color: var(--dark-color);
        margin-bottom: 1rem;
        font-size: 1.3rem;
    }

    .btn-admin {
        background: var(--primary-color);
        color: white;
        border: none;
        padding: 12px 24px;
        border-radius: var(--border-radius);
        cursor: pointer;
        font-weight: 600;
        transition: var(--transition);
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 1rem;
    }

    .btn-admin:hover {
        background: var(--secondary-color);
        transform: translateY(-2px);
    }

    .btn-warning {
        background: #ffc107 !important;
        color: #212529 !important;
    }

    .btn-warning:hover {
        background: #e0a800 !important;
    }

    /* Lista de productos en admin */
    .products-list {
        display: grid;
        gap: 1rem;
    }

    /* Lista de productos en admin */
    .products-list {
        display: grid;
        gap: 1rem;
    }

    .admin-product-item {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 1.5rem;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 15px;
        background: rgba(255, 255, 255, 0.9);
        backdrop-filter: blur(10px);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
    }

    .admin-product-item::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 4px;
        height: 100%;
        background: linear-gradient(180deg, var(--primary-color), var(--secondary-color));
    }

    .admin-product-item:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
        border-color: rgba(52, 152, 219, 0.3);
    }

    .admin-product-image {
        width: 70px;
        height: 70px;
        background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 1.8rem;
        box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3);
    }

    .admin-product-info {
        flex: 1;
    }

    .admin-product-name {
        font-weight: 700;
        color: #2d3748;
        margin-bottom: 0.5rem;
        font-size: 1.1rem;
    }

    .admin-product-details {
        color: #718096;
        font-size: 0.9rem;
        line-height: 1.4;
    }

    .admin-product-actions {
        display: flex;
        gap: 0.5rem;
    }

    .btn-edit, .btn-delete {
        background: none;
        border: none;
        padding: 10px;
        border-radius: 10px;
        cursor: pointer;
        transition: all 0.3s ease;
        font-size: 1rem;
    }

    .btn-edit {
        color: var(--primary-color);
        background: rgba(52, 152, 219, 0.1);
    }

    .btn-edit:hover {
        background: var(--primary-color);
        color: white;
        transform: scale(1.1);
        box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3);
    }

    .btn-delete {
        color: #e74c3c;
        background: rgba(231, 76, 60, 0.1);
    }

    .btn-delete:hover {
        background: #e74c3c;
        color: white;
        transform: scale(1.1);
        box-shadow: 0 4px 15px rgba(231, 76, 60, 0.3);
    }

    .btn-delete {
        color: var(--danger-color);
    }

    .btn-delete:hover {
        background: var(--danger-color);
        color: white;
    }

    /* Estilos para lista de banners */
    .banners-list {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .banner-item {
        animation: fadeIn 0.3s ease;
    }

    @keyframes fadeIn {
        from {
            opacity: 0;
            transform: translateY(10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .banner-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
        transition: all 0.3s ease;
    }

    /* Gestión de categorías */
    .categories-manager {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    .current-categories h4,
    .add-category h4 {
        color: var(--dark-color);
        margin-bottom: 1rem;
    }

    .category-tag {
        display: inline-block;
        background: var(--primary-color);
        color: white;
        padding: 6px 12px;
        border-radius: 20px;
        margin: 0.25rem;
        font-size: 0.85rem;
    }

    .add-category input {
        width: 100%;
        padding: 10px;
        border: 1px solid var(--light-color);
        border-radius: var(--border-radius);
        margin-bottom: 1rem;
    }

    /* Gestión de descuentos */
    .discounts-manager {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    .current-discounts h4,
    .add-discount h4 {
        color: var(--dark-color);
        margin-bottom: 1rem;
    }

    .discounts-list {
        display: grid;
        gap: 1rem;
    }

    .discount-item {
        padding: 1rem;
        border: 1px solid var(--light-color);
        border-radius: var(--border-radius);
        background: var(--light-color);
        position: relative;
    }

    .discount-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 0.5rem;
    }

    .discount-name {
        font-weight: 600;
        color: var(--dark-color);
    }

    .discount-status {
        padding: 4px 8px;
        border-radius: 12px;
        font-size: 0.8rem;
        font-weight: 500;
    }

    .discount-status.active {
        background: #28a745;
        color: white;
    }

    .discount-status.inactive {
        background: #6c757d;
        color: white;
    }

    .discount-status.scheduled {
        background: #ffc107;
        color: #212529;
    }

    .discount-details {
        color: #666;
        font-size: 0.9rem;
        margin-bottom: 0.5rem;
    }

    .discount-value {
        font-weight: 600;
        color: var(--primary-color);
        font-size: 1.1rem;
    }

    .discount-dates {
        color: #666;
        font-size: 0.8rem;
    }

    .discount-actions {
        position: absolute;
        top: 1rem;
        right: 1rem;
        display: flex;
        gap: 0.5rem;
    }

    .discount-form .form-group {
        margin-bottom: 1rem;
    }

    .discount-form label {
        display: block;
        margin-bottom: 0.5rem;
        font-weight: 600;
        color: var(--dark-color);
    }

    .discount-form input,
    .discount-form select,
    .discount-form textarea {
        width: 100%;
        padding: 10px;
        border: 1px solid var(--light-color);
        border-radius: var(--border-radius);
        font-size: 1rem;
    }

    .discount-form textarea {
        resize: vertical;
        min-height: 80px;
    }

    .discount-form small {
        color: #666;
        font-size: 0.8rem;
        margin-top: 0.25rem;
        display: block;
    }

    /* ========== MODAL DE AUTENTICACIÓN ========== */
    #authModal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 5000;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .auth-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.8);
    }

    .auth-modal {
        background: white;
        border-radius: var(--border-radius);
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
        max-width: 400px;
        width: 90%;
        position: relative;
        z-index: 5001;
        animation: modalFadeIn 0.3s ease;
    }

    @keyframes modalFadeIn {
        from {
            opacity: 0;
            transform: scale(0.9) translateY(-20px);
        }
        to {
            opacity: 1;
            transform: scale(1) translateY(0);
        }
    }

    .auth-header {
        padding: 2rem 2rem 1rem;
        text-align: center;
        border-bottom: 2px solid var(--light-color);
    }

    .auth-header h3 {
        margin: 0 0 0.5rem;
        color: var(--dark-color);
        font-size: 1.5rem;
    }

    .auth-header p {
        margin: 0;
        color: #666;
        font-size: 0.95rem;
    }

    .auth-content {
        padding: 2rem;
    }

    .password-input-container {
        text-align: center;
        margin-bottom: 2rem;
    }

    .password-input {
        width: 100%;
        max-width: 280px;
        padding: 12px 16px;
        font-size: 1.1rem;
        border: 2px solid var(--light-color);
        border-radius: 8px;
        outline: none;
        transition: var(--transition);
    }

    .password-input:focus {
        border-color: var(--primary-color);
        box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
    }

    .auth-instruction {
        margin: 0.5rem 0 0;
        color: #666;
        font-size: 0.9rem;
        font-weight: 500;
    }

    .auth-actions {
        display: flex;
        gap: 1rem;
        justify-content: center;
    }

    .btn-cancel {
        background: var(--light-color);
        color: var(--text-color);
        border: none;
        padding: 10px 20px;
        border-radius: 6px;
        cursor: pointer;
        font-weight: 500;
        transition: var(--transition);
    }

    .btn-cancel:hover {
        background: #e0e0e0;
    }

    .btn-auth {
        background: var(--primary-color);
        color: white;
        border: none;
        padding: 10px 20px;
        border-radius: 6px;
        cursor: pointer;
        font-weight: 500;
        transition: var(--transition);
    }

    .btn-auth:hover {
        background: var(--accent-color);
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(212, 175, 55, 0.3);
    }

    .auth-footer {
        margin-top: 1.5rem;
        padding-top: 1rem;
        border-top: 1px solid var(--light-color);
        text-align: center;
    }

    .auth-footer small {
        color: #666;
        font-size: 0.8rem;
        line-height: 1.4;
    }

    .auth-footer i {
        color: var(--primary-color);
        margin-right: 0.25rem;
    }

    .auth-instruction kbd {
        background: var(--light-color);
        border: 1px solid var(--primary-color);
        border-radius: 3px;
        padding: 2px 6px;
        font-family: monospace;
        color: var(--primary-color);
        font-weight: bold;
    }

    .auth-actions {
        text-align: center;
    }

    .btn-cancel {
        background: var(--light-color);
        color: var(--text-color);
        border: 1px solid var(--light-color);
        padding: 10px 30px;
        border-radius: var(--border-radius);
        cursor: pointer;
        font-weight: 600;
        transition: var(--transition);
    }

    .btn-cancel:hover {
        background: #f8f9fa;
        border-color: #dee2e6;
    }

    /* ========== CONTROLES DE ADMIN ========== */
    .admin-product-controls {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px;
        gap: 20px;
        flex-wrap: wrap;
    }

    .admin-filter {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .admin-filter label {
        font-weight: 600;
        color: var(--text-color);
        white-space: nowrap;
    }

    .admin-filter select {
        padding: 8px 12px;
        border: 2px solid var(--primary-color);
        border-radius: var(--border-radius);
        background: white;
        color: var(--text-color);
        font-size: 14px;
        cursor: pointer;
        transition: var(--transition);
        min-width: 180px;
    }

    .admin-filter select:focus {
        outline: none;
        border-color: var(--accent-color);
        box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
    }

    /* ========== DETALLE DEL PRODUCTO ========== */
    .product-detail {
        padding: 2rem 0;
        min-height: calc(100vh - 160px);
        background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    }

    .product-detail .container {
        max-width: 1400px;
    }

    .product-detail-layout {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
        align-items: start;
        margin-bottom: 4rem;
    }

    .product-gallery {
        position: relative;
    }

    .main-image-container {
        position: relative;
        border-radius: 25px;
        overflow: hidden;
        box-shadow: 0 25px 80px rgba(0, 0, 0, 0.15);
        background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
        height: 600px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 2rem;
    }

    .main-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s ease;
        cursor: zoom-in;
    }

    .main-image:hover {
        transform: scale(1.05);
    }

    .product-thumbnails {
        display: flex;
        gap: 1rem;
        overflow-x: auto;
        padding: 0.5rem 0;
        scrollbar-width: thin;
        scrollbar-color: var(--primary-color) transparent;
    }

    .product-thumbnails::-webkit-scrollbar {
        height: 6px;
    }

    .product-thumbnails::-webkit-scrollbar-track {
        background: #f1f1f1;
        border-radius: 10px;
    }

    .product-thumbnails::-webkit-scrollbar-thumb {
        background: var(--primary-color);
        border-radius: 10px;
    }

    .thumbnail {
        width: 80px;
        height: 80px;
        border-radius: 12px;
        overflow: hidden;
        cursor: pointer;
        border: 3px solid transparent;
        transition: all 0.3s ease;
        flex-shrink: 0;
    }

    .thumbnail.active {
        border-color: var(--primary-color);
        box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.2);
    }

    .thumbnail img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .product-info-enhanced {
        background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
        padding: 3rem;
        border-radius: 25px;
        box-shadow: 0 15px 50px rgba(0, 0, 0, 0.1);
        position: relative;
        overflow: hidden;
    }

    .product-info-enhanced::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 5px;
        background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
    }

    .product-category-badge {
        display: inline-flex;
        align-items: center;
        gap: 0.5rem;
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        color: white;
        padding: 0.75rem 1.5rem;
        border-radius: 30px;
        font-size: 0.9rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 1.5rem;
        box-shadow: 0 6px 20px rgba(212, 175, 55, 0.3);
    }

    .product-title {
        font-size: 3.5rem;
        font-weight: 800;
        background: linear-gradient(135deg, var(--secondary-color), #333);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        margin-bottom: 1.5rem;
        line-height: 1.1;
    }

    .product-rating {
        display: flex;
        align-items: center;
        gap: 1rem;
        margin-bottom: 2rem;
    }

    .stars {
        display: flex;
        gap: 0.25rem;
    }

    .star {
        color: #ffd700;
        font-size: 1.3rem;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    }

    .rating-text {
        color: #666;
        font-size: 0.95rem;
        font-weight: 500;
    }

    .product-price-section {
        margin-bottom: 2.5rem;
    }

    .current-price {
        font-size: 3.5rem;
        font-weight: 800;
        color: var(--primary-color);
        margin-bottom: 0.5rem;
        text-shadow: 0 2px 4px rgba(212, 175, 55, 0.2);
    }

    .original-price {
        font-size: 1.8rem;
        color: #999;
        text-decoration: line-through;
        margin-bottom: 0.5rem;
    }

    .discount-badge {
        display: inline-block;
        background: linear-gradient(135deg, #ff6b6b, #ee5a24);
        color: white;
        padding: 0.4rem 1rem;
        border-radius: 20px;
        font-size: 0.9rem;
        font-weight: 600;
        margin-left: 1rem;
        box-shadow: 0 4px 15px rgba(255, 107, 107, 0.3);
    }

    .product-description-enhanced {
        margin-bottom: 3rem;
    }

    .description-title {
        font-size: 2rem;
        font-weight: 700;
        color: var(--secondary-color);
        margin-bottom: 1.5rem;
        position: relative;
        padding-bottom: 1rem;
    }

    .description-title::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 60px;
        height: 4px;
        background: linear-gradient(90deg, var(--primary-color), var(--accent-color));
        border-radius: 2px;
    }

    .description-content {
        font-size: 1.15rem;
        line-height: 1.8;
        color: #555;
        margin-bottom: 1.5rem;
    }

    .product-features {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 1.5rem;
        margin-bottom: 3rem;
    }

    .feature-item {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 1.5rem;
        background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
        border-radius: 15px;
        border: 1px solid rgba(0, 0, 0, 0.05);
        transition: all 0.3s ease;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    }

    .feature-item:hover {
        transform: translateY(-3px);
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
    }

    .feature-icon {
        width: 50px;
        height: 50px;
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 1.3rem;
        box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
    }

    .feature-text h4 {
        font-size: 1rem;
        font-weight: 600;
        color: var(--secondary-color);
        margin-bottom: 0.25rem;
    }

    .feature-text p {
        font-size: 0.9rem;
        color: #666;
        margin: 0;
    }

    .quantity-selector {
        display: flex;
        align-items: center;
        gap: 1.5rem;
        margin-bottom: 2.5rem;
        padding: 2rem;
        background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
        border-radius: 20px;
        border: 1px solid rgba(0, 0, 0, 0.05);
        box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.05);
    }

    .quantity-label {
        font-weight: 600;
        color: var(--secondary-color);
        font-size: 1.2rem;
    }

    .quantity-controls {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        background: white;
        border-radius: 30px;
        padding: 0.75rem;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    }

    .quantity-btn {
        width: 45px;
        height: 45px;
        border: none;
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        color: white;
        border-radius: 50%;
        cursor: pointer;
        font-size: 1.2rem;
        font-weight: 600;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .quantity-btn:hover {
        transform: scale(1.1);
        box-shadow: 0 6px 20px rgba(212, 175, 55, 0.3);
    }

    .quantity-value {
        font-size: 1.4rem;
        font-weight: 700;
        color: var(--secondary-color);
        min-width: 50px;
        text-align: center;
    }

    .action-buttons {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 1.5rem;
        margin-bottom: 3rem;
    }

    .btn-primary-action {
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        color: white;
        border: none;
        padding: 1.5rem 3rem;
        border-radius: 20px;
        font-size: 1.3rem;
        font-weight: 700;
        cursor: pointer;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        box-shadow: 0 10px 30px rgba(212, 175, 55, 0.3);
    }

    .btn-primary-action:hover {
        transform: translateY(-4px);
        box-shadow: 0 15px 40px rgba(212, 175, 55, 0.4);
    }

    .btn-secondary-action {
        background: linear-gradient(135deg, #25D366, #128C7E);
        color: white;
        border: none;
        padding: 1.5rem 2rem;
        border-radius: 20px;
        font-size: 1.2rem;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        box-shadow: 0 10px 30px rgba(37, 211, 102, 0.3);
    }

    .btn-secondary-action:hover {
        transform: translateY(-4px);
        box-shadow: 0 15px 40px rgba(37, 211, 102, 0.4);
    }

    .product-meta-info {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
        gap: 1.5rem;
        margin-top: 3rem;
        padding-top: 3rem;
        border-top: 2px solid rgba(0, 0, 0, 0.1);
    }

    .meta-item {
        text-align: center;
        padding: 1.5rem;
        background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
        border-radius: 15px;
        border: 1px solid rgba(0, 0, 0, 0.05);
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    }

    .meta-icon {
        font-size: 2rem;
        color: var(--primary-color);
        margin-bottom: 0.75rem;
    }

    .meta-label {
        font-size: 0.85rem;
        color: #666;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        font-weight: 600;
        margin-bottom: 0.5rem;
    }

    .meta-value {
        font-size: 1rem;
        color: var(--secondary-color);
        font-weight: 700;
    }

    .related-products {
        margin-top: 5rem;
        padding-top: 4rem;
        border-top: 3px solid var(--primary-color);
    }

    .related-title {
        font-size: 3rem;
        font-weight: 800;
        text-align: center;
        color: var(--secondary-color);
        margin-bottom: 4rem;
        background: linear-gradient(135deg, var(--secondary-color), #333);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .related-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 2.5rem;
    }

    .related-card {
        background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
        border-radius: 25px;
        overflow: hidden;
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
        transition: all 0.4s ease;
        cursor: pointer;
        border: 1px solid rgba(0, 0, 0, 0.05);
    }

    .related-card:hover {
        transform: translateY(-8px) scale(1.02);
        box-shadow: 0 25px 60px rgba(0, 0, 0, 0.15);
    }

    .related-image {
        height: 220px;
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        overflow: hidden;
    }

    .related-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.4s ease;
    }

    .related-card:hover .related-image img {
        transform: scale(1.1);
    }

    .related-content {
        padding: 2rem;
    }

    .related-category {
        font-size: 0.85rem;
        color: var(--primary-color);
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        margin-bottom: 0.75rem;
    }

    .related-name {
        font-size: 1.3rem;
        font-weight: 700;
        color: var(--secondary-color);
        margin-bottom: 1rem;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-height: 1.4;
    }

    .related-price {
        font-size: 1.2rem;
        font-weight: 600;
        color: var(--primary-color);
    }

    .image-zoom-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.95);
        display: none;
        align-items: center;
        justify-content: center;
        z-index: 10000;
        backdrop-filter: blur(10px);
        cursor: zoom-out;
    }

    .zoom-image {
        max-width: 90%;
        max-height: 90%;
        object-fit: contain;
        border-radius: 20px;
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    }

    /* Responsive */
    @media (max-width: 1024px) {
        .product-detail-layout {
            grid-template-columns: 1fr;
            gap: 3rem;
        }

        .product-title {
            font-size: 2.5rem;
        }

        .current-price {
            font-size: 2.5rem;
        }

        .action-buttons {
            grid-template-columns: 1fr;
        }

        .product-features {
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        }
    }

    @media (max-width: 768px) {
        .product-info-enhanced {
            padding: 2rem;
        }

        .product-title {
            font-size: 2rem;
        }

        .current-price {
            font-size: 2rem;
        }

        .product-price-section {
            text-align: center;
        }

        .discount-badge {
            margin-left: 0;
            margin-top: 0.5rem;
        }

        .quantity-selector {
            flex-direction: column;
            gap: 1rem;
            text-align: center;
        }

        .action-buttons {
            grid-template-columns: 1fr;
            gap: 1rem;
        }

        .btn-primary-action,
        .btn-secondary-action {
            padding: 1.25rem 2rem;
            font-size: 1.1rem;
        }

        .product-meta-info {
            grid-template-columns: repeat(2, 1fr);
        }

        .related-grid {
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2rem;
        }

        .related-title {
            font-size: 2rem;
        }
    }

    @media (max-width: 480px) {
        .product-thumbnails {
            gap: 0.75rem;
        }

        .thumbnail {
            width: 60px;
            height: 60px;
        }

        .product-features {
            grid-template-columns: 1fr;
        }

        .product-meta-info {
            grid-template-columns: 1fr;
        }

        .related-grid {
            grid-template-columns: 1fr;
        }
    }

    /* ========== BREADCRUMB ========== */
    .breadcrumb {
        background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
        padding: 1.5rem 0;
        margin-bottom: 3rem;
        border-radius: 15px;
        box-shadow: inset 0 2px 10px rgba(0, 0, 0, 0.05);
    }

    .breadcrumb-list {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        font-size: 1rem;
        color: #6c757d;
        flex-wrap: wrap;
    }

    .breadcrumb-list a {
        color: var(--primary-color);
        text-decoration: none;
        transition: var(--transition);
        font-weight: 500;
    }

    .breadcrumb-list a:hover {
        color: var(--accent-color);
        text-decoration: underline;
    }

    .breadcrumb-list i {
        color: #adb5bd;
        font-size: 0.8rem;
    }

    /* ========== ESTILOS PARA VISTA PREVIA DE MÚLTIPLES IMÁGENES ========== */
    .preview-container {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        margin-top: 10px;
        padding: 10px;
        border: 1px solid #ddd;
        border-radius: 8px;
        background: #f9f9f9;
    }

    .preview-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
    }

    .preview-item img {
        border: 2px solid #e0e0e0;
        transition: border-color 0.3s ease;
    }

    .preview-item img:hover {
        border-color: var(--primary-color);
    }

    .preview-label {
        font-size: 0.8rem;
        color: #666;
        font-weight: 500;
        text-align: center;
    }

    .preview-label:first-child {
        color: var(--primary-color);
        font-weight: 600;
    }

    /* ========== CARRITO DE COMPRAS ========== */
    .cart-sidebar {
        position: fixed;
        top: 0;
        right: -400px;
        width: 400px;
        height: 100vh;
        background: white;
        box-shadow: -5px 0 25px rgba(0, 0, 0, 0.2);
        z-index: 2000;
        transition: right 0.3s ease;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .cart-sidebar.active {
        right: 0;
    }

    .cart-header {
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        color: white;
        padding: 1.5rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    }

    .cart-header h3 {
        margin: 0;
        font-size: 1.2rem;
        font-weight: 600;
    }

    .close-cart {
        background: none;
        border: none;
        color: white;
        font-size: 1.5rem;
        cursor: pointer;
        padding: 0.5rem;
        border-radius: 50%;
        transition: background-color 0.3s ease;
    }

    .close-cart:hover {
        background: rgba(255, 255, 255, 0.2);
    }

    .cart-items {
        flex: 1;
        overflow-y: auto;
        padding: 1rem;
    }

    .cart-item {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 1rem;
        border-bottom: 1px solid #f0f0f0;
        transition: background-color 0.3s ease;
    }

    .cart-item:hover {
        background: #f8f9fa;
    }

    .cart-item-image {
        width: 60px;
        height: 60px;
        border-radius: 8px;
        background: var(--light-color);
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        flex-shrink: 0;
    }

    .cart-item-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .cart-item-info {
        flex: 1;
        min-width: 0;
    }

    .cart-item-name {
        font-weight: 600;
        color: var(--text-color);
        margin-bottom: 0.25rem;
        font-size: 0.9rem;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .cart-item-price {
        color: var(--primary-color);
        font-weight: 600;
        font-size: 0.85rem;
    }

    .cart-item-controls {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-top: 0.5rem;
    }

    .quantity-btn {
        width: 25px;
        height: 25px;
        border: 1px solid #ddd;
        background: white;
        color: var(--text-color);
        border-radius: 4px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.8rem;
        transition: all 0.3s ease;
    }

    .quantity-btn:hover {
        background: var(--primary-color);
        color: white;
        border-color: var(--primary-color);
    }

    .quantity {
        min-width: 30px;
        text-align: center;
        font-weight: 600;
        font-size: 0.9rem;
    }

    .remove-btn {
        background: var(--danger-color);
        color: white;
        border: none;
        border-radius: 4px;
        width: 25px;
        height: 25px;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 0.8rem;
        transition: background-color 0.3s ease;
    }

    .remove-btn:hover {
        background: #c82333;
    }

    .cart-footer {
        border-top: 2px solid #f0f0f0;
        padding: 1.5rem;
        background: white;
    }

    .cart-total {
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 1.2rem;
        font-weight: 700;
        color: var(--text-color);
        margin-bottom: 1rem;
    }

    .cart-shipping-info {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        color: #666;
        font-size: 0.85rem;
        margin-bottom: 1rem;
        padding: 0.75rem;
        background: #f8f9fa;
        border-radius: 8px;
    }

    .btn-checkout {
        width: 100%;
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        color: white;
        border: none;
        padding: 1rem;
        border-radius: 8px;
        font-size: 1rem;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
    }

    .btn-checkout:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(212, 175, 55, 0.3);
    }

    .cart-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1999;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s ease;
    }

    .cart-overlay.active {
        opacity: 1;
        visibility: visible;
    }

    /* ========== RESPONSIVE ========== */
    @media (max-width: 768px) {
        .cart-sidebar {
            width: 100%;
            right: -100%;
        }

        .cart-item {
            padding: 0.75rem;
        }

        .cart-item-image {
            width: 50px;
            height: 50px;
        }
    }

    /* ========== PERSONALIZACIÓN DE PRODUCTOS ========== */
    .product-customization {
        background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
        border-radius: 15px;
        padding: 2rem;
        margin-bottom: 2rem;
        border: 1px solid rgba(0, 0, 0, 0.05);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    }

    .customization-section {
        margin-bottom: 2rem;
    }

    .customization-section:last-child {
        margin-bottom: 0;
    }

    .customization-title {
        font-size: 1.1rem;
        font-weight: 700;
        color: var(--secondary-color);
        margin-bottom: 1rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .customization-title::before {
        content: '⚙️';
        font-size: 1.2rem;
    }

    /* Selector de tallas */
    .size-selector {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
        gap: 0.5rem;
        max-width: 400px;
    }

    .size-btn {
        padding: 0.75rem 1rem;
        border: 2px solid #e0e0e0;
        background: white;
        border-radius: 8px;
        font-weight: 600;
        color: var(--secondary-color);
        cursor: pointer;
        transition: all 0.3s ease;
        text-align: center;
        min-height: 45px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .size-btn:hover {
        border-color: var(--primary-color);
        background: rgba(212, 175, 55, 0.05);
    }

    .size-btn.active {
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        color: white;
        border-color: var(--primary-color);
        box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
    }

    /* Botón de personalizar */
    .btn-customize {
        width: 100%;
        padding: 1rem;
        border: 2px solid var(--primary-color);
        border-radius: 8px;
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        color: white;
        font-size: 1rem;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
        text-align: center;
    }

    .btn-customize:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
    }

    .btn-customize:active {
        transform: translateY(0);
    }

    /* Botón para quitar personalización */
    .btn-remove-customization {
        width: 100%;
        padding: 0.75rem;
        border: 2px solid var(--danger-color);
        border-radius: 8px;
        background: white;
        color: var(--danger-color);
        font-size: 0.9rem;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
        margin-top: 1rem;
    }

    .btn-remove-customization:hover {
        background: var(--danger-color);
        color: white;
    }

    /* Selector de parches con radio buttons */
    .patch-selector {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .patch-option {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 1rem;
        border: 2px solid #e0e0e0;
        border-radius: 8px;
        background: white;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .patch-option:hover {
        border-color: var(--primary-color);
        background: rgba(212, 175, 55, 0.05);
    }

    .patch-radio {
        width: 20px;
        height: 20px;
        cursor: pointer;
        accent-color: var(--primary-color);
    }

    .patch-label {
        font-size: 1rem;
        color: var(--secondary-color);
        font-weight: 500;
        user-select: none;
    }

    .patch-option:has(.patch-radio:checked) {
        border-color: var(--primary-color);
        background: rgba(212, 175, 55, 0.1);
        box-shadow: 0 2px 8px rgba(212, 175, 55, 0.2);
    }

    /* Campos de nombre y número */
    .name-number-fields {
        margin-top: 1rem;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
    }

    .field-group {
        display: flex;
        flex-direction: column;
    }

    .field-group label {
        font-weight: 600;
        color: var(--secondary-color);
        margin-bottom: 0.5rem;
        font-size: 0.9rem;
    }

    .field-group input {
        padding: 0.75rem;
        border: 2px solid #e0e0e0;
        border-radius: 8px;
        font-size: 1rem;
        color: var(--secondary-color);
        transition: all 0.3s ease;
    }

    .field-group input:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
    }

    .field-group input::placeholder {
        color: #999;
    }

    /* Desglose de precios */
    .price-breakdown {
        margin-top: 2rem;
        padding: 1.5rem;
        background: white;
        border-radius: 12px;
        border: 1px solid rgba(0, 0, 0, 0.05);
    }

    .price-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.5rem 0;
        font-size: 0.95rem;
        color: var(--secondary-color);
    }

    .price-row:not(:last-child) {
        border-bottom: 1px solid #f0f0f0;
    }

    .total-row {
        border-top: 2px solid var(--primary-color) !important;
        margin-top: 0.5rem;
        padding-top: 1rem;
        font-size: 1.1rem;
        color: var(--primary-color);
    }

    .total-row span:first-child {
        font-weight: 800;
    }

    .total-row span:last-child {
        font-weight: 800;
        color: var(--primary-color);
    }

    /* ========== RESPONSIVE ========== */
    @media (max-width: 768px) {
        .product-customization {
            padding: 1.5rem;
        }

        .size-selector {
            grid-template-columns: repeat(4, 1fr);
            gap: 0.25rem;
        }

        .size-btn {
            padding: 0.5rem;
            font-size: 0.9rem;
            min-height: 40px;
        }

        .name-number-fields {
            grid-template-columns: 1fr;
            gap: 0.75rem;
        }

        .price-breakdown {
            padding: 1rem;
        }

        .price-row {
            font-size: 0.9rem;
        }
    }

    /* ========== CARRITO CON PERSONALIZACIÓN ========== */
    .cart-item-customization {
        font-size: 0.8rem;
        color: var(--primary-color);
        margin: 0.25rem 0;
        font-weight: 500;
        line-height: 1.3;
    }

    /* ========== PANEL DE ADMIN PÁGINA COMPLETA ========== */
    .admin-panel-full {
        min-height: calc(100vh - 80px);
        background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
        padding: 2rem 0;
    }

    .admin-panel-full .admin-content {
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 2rem;
    }

    /* ========== ESTILOS PARA GESTIÓN DE SLIDERS ========== */
    .admin-sliders-container {
        display: grid;
        grid-template-columns: 2fr 1fr;
        gap: 2rem;
        margin-top: 2rem;
    }

    .sliders-list {
        background: white;
        border-radius: var(--border-radius);
        padding: 1.5rem;
        box-shadow: var(--box-shadow);
    }

    .sliders-list h4 {
        margin-bottom: 1rem;
        color: var(--text-color);
        font-size: 1.2rem;
    }

    .slider-item {
        border-radius: 8px;
        margin-bottom: 1rem;
        overflow: hidden;
        transition: var(--transition);
        position: relative;
    }

    .slider-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 25px rgba(0, 0, 0, 0.15);
    }

    .slider-item .btn-admin {
        padding: 0.4rem 0.8rem;
        font-size: 0.8rem;
        margin: 0 0.25rem;
        border: none;
        border-radius: 4px;
        cursor: pointer;
        transition: var(--transition);
    }

    .slider-item .btn-admin:hover {
        transform: translateY(-1px);
    }

    .add-slider {
        background: white;
        border-radius: var(--border-radius);
        padding: 1.5rem;
        box-shadow: var(--box-shadow);
        height: fit-content;
    }

    .add-slider h4 {
        margin-bottom: 1rem;
        color: var(--text-color);
        font-size: 1.2rem;
    }

    .slider-form .form-group {
        margin-bottom: 1rem;
    }

    .slider-form label {
        display: block;
        margin-bottom: 0.5rem;
        font-weight: 500;
        color: var(--text-color);
    }

    .slider-form input,
    .slider-form textarea,
    .slider-form select {
        width: 100%;
        padding: 0.75rem;
        border: 2px solid #e9ecef;
        border-radius: 8px;
        font-size: 0.9rem;
        transition: var(--transition);
    }

    .slider-form input:focus,
    .slider-form textarea:focus,
    .slider-form select:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
    }

    .slider-form textarea {
        resize: vertical;
        min-height: 80px;
    }

    .slider-form .btn-admin {
        width: 100%;
        padding: 0.75rem;
        background: var(--primary-color);
        color: white;
        border: none;
        border-radius: 8px;
        font-size: 1rem;
        font-weight: 600;
        cursor: pointer;
        transition: var(--transition);
    }

    .slider-form .btn-admin:hover {
        background: var(--accent-color);
        transform: translateY(-1px);
        box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
    }

    /* ========== RESPONSIVE PARA SLIDERS ========== */
    @media (max-width: 768px) {
        .admin-sliders-container {
            grid-template-columns: 1fr;
            gap: 1rem;
        }

        .sliders-list,
        .add-slider {
            padding: 1rem;
        }

        .slider-item {
            margin-bottom: 0.75rem;
        }

        .slider-item .btn-admin {
            padding: 0.3rem 0.6rem;
            font-size: 0.75rem;
        }
    }

    /* ========== ESTILOS ADICIONALES PARA IMÁGENES DE SLIDERS ========== */
    .slider-form input[type="file"] {
        width: 100%;
        padding: 12px;
        border: 2px dashed #e9ecef;
        border-radius: 8px;
        font-size: 0.9rem;
        transition: var(--transition);
        background: #f8f9fa;
        cursor: pointer;
    }

    .slider-form input[type="file"]:hover {
        border-color: var(--primary-color);
        background: rgba(212, 175, 55, 0.05);
    }

    .slider-form input[type="file"]:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
    }

    .slider-form input[type="file"]::file-selector-button {
        background: var(--primary-color);
        color: white;
        border: none;
        padding: 8px 16px;
        border-radius: 6px;
        cursor: pointer;
        font-weight: 600;
        margin-right: 12px;
        transition: var(--transition);
    }

    .slider-form input[type="file"]::file-selector-button:hover {
        background: var(--accent-color);
        transform: translateY(-1px);
    }

    /* Estilos para la vista previa de sliders en admin */
    .slider-preview-image {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-size: cover;
        background-position: center;
        opacity: 0.3;
        z-index: 1;
    }

    .slider-item .image-indicator {
        position: absolute;
        top: 10px;
        right: 10px;
        background: rgba(0, 0, 0, 0.7);
        color: white;
        padding: 4px 8px;
        border-radius: 4px;
        font-size: 0.75rem;
        z-index: 3;
    }

    /* Estilos para el modal de edición de sliders */
    .edit-slider-modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.8);
        z-index: 10000;
        display: flex;
        align-items: center;
        justify-content: center;
        backdrop-filter: blur(5px);
    }

    .edit-slider-modal .modal-content {
        background: white;
        padding: 30px;
        border-radius: 12px;
        max-width: 500px;
        width: 90%;
        max-height: 90vh;
        overflow-y: auto;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
    }

    .edit-slider-modal h3 {
        margin-top: 0;
        color: #333;
        font-size: 1.5rem;
        margin-bottom: 20px;
    }

    .edit-slider-modal .form-group {
        margin-bottom: 20px;
    }

    .edit-slider-modal label {
        display: block;
        margin-bottom: 5px;
        font-weight: bold;
        color: #555;
    }

    .edit-slider-modal input[type="text"],
    .edit-slider-modal textarea,
    .edit-slider-modal input[type="file"] {
        width: 100%;
        padding: 10px;
        border: 2px solid #e9ecef;
        border-radius: 6px;
        font-size: 0.9rem;
        transition: border-color 0.3s ease;
    }

    .edit-slider-modal input[type="text"]:focus,
    .edit-slider-modal textarea:focus,
    .edit-slider-modal input[type="file"]:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
    }

    .edit-slider-modal textarea {
        min-height: 80px;
        resize: vertical;
    }

    .edit-slider-modal .modal-buttons {
        display: flex;
        gap: 10px;
        justify-content: flex-end;
        margin-top: 25px;
    }

    .edit-slider-modal .btn-cancel {
        padding: 10px 20px;
        background: #6c757d;
        color: white;
        border: none;
        border-radius: 6px;
        cursor: pointer;
        font-weight: 600;
        transition: background-color 0.3s ease;
    }

    .edit-slider-modal .btn-cancel:hover {
        background: #5a6268;
    }

    .edit-slider-modal .btn-save {
        padding: 10px 20px;
        background: var(--primary-color);
        color: white;
        border: none;
        border-radius: 6px;
        cursor: pointer;
        font-weight: 600;
        transition: all 0.3s ease;
    }

    .edit-slider-modal .btn-save:hover {
        background: var(--accent-color);
        transform: translateY(-1px);
    }

    .edit-slider-modal .btn-save:disabled {
        background: #ccc;
        cursor: not-allowed;
        transform: none;
    }

    /* ========== NUEVA INTERFAZ DE DESCUENTOS ========== */

    /* Header con estadísticas */
    /* Estadísticas de Descuentos */
    .discounts-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 2rem;
        flex-wrap: wrap;
        gap: 1rem;
    }

    .discounts-title {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    /* Corrección específica para textos invisibles en sección de descuentos */
    .discounts-title h3 {
        margin: 0;
        color: #2d3748 !important;
        font-size: 1.5rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .discounts-title i {
        color: var(--primary-color) !important;
    }

    /* Asegurar que todos los textos en la sección de descuentos sean visibles */
    .admin-section h3,
    .admin-section h4,
    .admin-section h5,
    .admin-section label,
    .admin-section p,
    .admin-section span,
    .admin-section div {
        color: #2d3748 !important;
    }

    /* Override específico para elementos que podrían estar heredando colores incorrectos */
    .discounts-header *,
    .discounts-title *,
    .admin-section .discounts-title * {
        color: inherit !important;
    }

    .discounts-title i {
        color: var(--primary-color);
        font-size: 1.3rem;
    }

    .discounts-stats {
        display: flex;
        gap: 1rem;
        flex-wrap: wrap;
    }

    .stat-card {
        background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
        backdrop-filter: blur(10px);
        border-radius: 15px;
        padding: 1.5rem;
        display: flex;
        align-items: center;
        gap: 1rem;
        border: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
        transition: all 0.3s ease;
        min-width: 120px;
    }

    .stat-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
    }

    .stat-icon {
        width: 50px;
        height: 50px;
        border-radius: 12px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        color: white;
    }

    .stat-icon.active {
        background: linear-gradient(135deg, #27ae60 0%, #2ecc71 100%);
        box-shadow: 0 4px 15px rgba(39, 174, 96, 0.3);
    }

    .stat-icon.scheduled {
        background: linear-gradient(135deg, #f39c12 0%, #e67e22 100%);
        box-shadow: 0 4px 15px rgba(243, 156, 18, 0.3);
    }

    .stat-icon.total {
        background: linear-gradient(135deg, #9b59b6 0%, #8e44ad 100%);
        box-shadow: 0 4px 15px rgba(155, 89, 182, 0.3);
    }

    .stat-info {
        text-align: center;
    }

    .stat-number {
        display: block;
        font-size: 2rem;
        font-weight: 700;
        color: white;
        line-height: 1;
        margin-bottom: 0.25rem;
    }

    .stat-label {
        font-size: 0.8rem;
        color: rgba(255, 255, 255, 0.8);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        font-weight: 600;
    }

    .btn-create-discount {
        background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
        color: white;
        border: none;
        padding: 14px 28px;
        border-radius: 25px;
        cursor: pointer;
        font-weight: 600;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        box-shadow: 0 4px 15px rgba(231, 76, 60, 0.3);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        font-size: 0.9rem;
    }

    .btn-create-discount:hover {
        background: linear-gradient(135deg, #c0392b 0%, #a93226 100%);
        transform: translateY(-3px);
        box-shadow: 0 8px 25px rgba(231, 76, 60, 0.4);
    }

    .btn-create-discount i {
        font-size: 1rem;
    }

    .stat-card {
        text-align: center;
        min-width: 100px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        transition: transform 0.3s ease;
    }

    .stat-card:hover {
        transform: translateY(-3px);
    }

    .stat-icon {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 0.5rem;
        font-size: 1.2rem;
    }

    .stat-icon.active {
        background: linear-gradient(135deg, #28a745, #20c997);
        color: white;
    }

    .stat-icon.scheduled {
        background: linear-gradient(135deg, #ffc107, #fd7e14);
        color: white;
    }

    .stat-icon.total {
        background: linear-gradient(135deg, #6f42c1, #e83e8c);
        color: white;
    }

    .stat-number {
        font-size: 1.8rem;
        font-weight: 800;
        display: block;
        margin-bottom: 0.25rem;
    }

    .stat-label {
        font-size: 0.85rem;
        opacity: 0.9;
        font-weight: 500;
    }

    /* Layout de paneles */
    /* Panel de Descuentos */
    .discounts-manager {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    .discounts-panel,
    .discount-form-panel {
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(20px);
        border-radius: 15px;
        border: 1px solid rgba(255, 255, 255, 0.2);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
        overflow: hidden;
    }

    .panel-header {
        background: linear-gradient(135deg, #2d3748 0%, #1a2332 100%);
        padding: 1.5rem;
        display: flex;
        justify-content: space-between;
        align-items: center;
        color: white;
    }

    .panel-header h4 {
        margin: 0;
        font-size: 1.2rem;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .panel-header h4 i {
        color: var(--primary-color);
    }

    .panel-actions {
        display: flex;
        gap: 0.5rem;
    }

    .btn-refresh,
    .btn-cancel-form {
        background: rgba(255, 255, 255, 0.1);
        border: none;
        color: white;
        padding: 8px;
        border-radius: 8px;
        cursor: pointer;
        transition: all 0.3s ease;
        font-size: 1rem;
    }

    .btn-refresh:hover,
    .btn-cancel-form:hover {
        background: rgba(255, 255, 255, 0.2);
        transform: scale(1.1);
    }

    /* Lista de descuentos mejorada */
    .discounts-list {
        max-height: 600px;
        overflow-y: auto;
        padding: 1rem;
    }

    .discount-item {
        background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
        border: 1px solid #e9ecef;
        border-radius: 12px;
        padding: 1.5rem;
        margin-bottom: 1rem;
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
    }

    .discount-item:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        border-color: var(--primary-color);
    }

    .discount-item::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 4px;
        height: 100%;
        background: var(--primary-color);
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .discount-item:hover::before {
        opacity: 1;
    }

    .discount-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 1rem;
    }

    .discount-name {
        font-weight: 700;
        color: #2d3436;
        font-size: 1.1rem;
    }

    .discount-status {
        padding: 0.25rem 0.75rem;
        border-radius: 20px;
        font-size: 0.8rem;
        font-weight: 600;
        text-transform: uppercase;
    }

    .discount-status.active {
        background: linear-gradient(135deg, #28a745, #20c997);
        color: white;
    }

    .discount-status.inactive {
        background: linear-gradient(135deg, #6c757d, #5a6268);
        color: white;
    }

    .discount-status.scheduled {
        background: linear-gradient(135deg, #ffc107, #fd7e14);
        color: #212529;
    }

    .discount-details {
        color: #636e72;
        font-size: 0.9rem;
        margin-bottom: 1rem;
        line-height: 1.5;
    }

    .discount-value {
        font-weight: 700;
        color: #e74c3c;
        font-size: 1.2rem;
        display: block;
        margin-bottom: 0.5rem;
    }

    .discount-dates {
        color: #636e72;
        font-size: 0.85rem;
    }

    .discount-actions {
        position: absolute;
        top: 1rem;
        right: 1rem;
        display: flex;
        gap: 0.5rem;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .discount-item:hover .discount-actions {
        opacity: 1;
    }

    .btn-edit, .btn-delete {
        background: none;
        border: none;
        padding: 0.5rem;
        border-radius: 8px;
        cursor: pointer;
        transition: all 0.3s ease;
        font-size: 0.9rem;
    }

    .btn-edit {
        color: var(--primary-color);
    }

    .btn-edit:hover {
        background: rgba(212, 175, 55, 0.1);
        transform: scale(1.1);
    }

    .btn-delete {
        color: #e74c3c;
    }

    .btn-delete:hover {
        background: rgba(231, 76, 60, 0.1);
        transform: scale(1.1);
    }

    /* Estado vacío */
    .empty-state {
        text-align: center;
        padding: 3rem 2rem;
        color: #6c757d;
    }

    .empty-state i {
        font-size: 4rem;
        color: #dee2e6;
        margin-bottom: 1rem;
        display: block;
    }

    .empty-state h5 {
        margin: 0 0 0.5rem;
        font-size: 1.2rem;
        color: #495057;
    }

    .empty-state p {
        margin: 0;
        font-size: 0.9rem;
    }

    /* Formulario mejorado */
    .discount-form-container {
        padding: 2rem;
        max-height: 600px;
        overflow-y: auto;
    }

    .discount-form {
        max-width: none;
    }

    .form-step {
        margin-bottom: 2rem;
        padding: 1.5rem;
        background: #f8f9fa;
        border-radius: 12px;
        border-left: 4px solid var(--primary-color);
    }

    .step-header {
        display: flex;
        align-items: center;
        gap: 1rem;
        margin-bottom: 1.5rem;
    }

    .step-number {
        width: 30px;
        height: 30px;
        border-radius: 50%;
        background: var(--primary-color);
        color: white;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 700;
        font-size: 0.9rem;
    }

    .step-header h5 {
        margin: 0;
        color: #2d3436;
        font-size: 1.1rem;
        font-weight: 600;
    }

    .form-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem;
        margin-bottom: 1.5rem;
    }

    .form-group {
        display: flex;
        flex-direction: column;
    }

    .form-group.full-width {
        grid-column: 1 / -1;
    }

    .form-group label {
        font-weight: 600;
        color: #2d3436;
        margin-bottom: 0.5rem;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.9rem;
    }

    .form-group label i {
        color: var(--primary-color);
        font-size: 0.8rem;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 0.75rem 1rem;
        border: 2px solid #e9ecef;
        border-radius: 8px;
        font-size: 0.95rem;
        transition: all 0.3s ease;
        background: white;
    }

    .form-group input:focus,
    .form-group select:focus,
    .form-group textarea:focus {
        outline: none;
        border-color: var(--primary-color);
        box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.1);
    }

    .form-group textarea {
        resize: vertical;
        min-height: 80px;
    }

    .field-help {
        font-size: 0.8rem;
        color: #6c757d;
        margin-top: 0.25rem;
        font-weight: 400;
    }

    /* Botones de acción */
    .form-actions {
        display: flex;
        gap: 1rem;
        justify-content: flex-end;
        padding-top: 1.5rem;
        border-top: 2px solid #e9ecef;
        margin-top: 2rem;
    }

    .btn-cancel, .btn-create {
        padding: 0.75rem 1.5rem;
        border: none;
        border-radius: 8px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.95rem;
    }

    .btn-cancel {
        background: #6c757d;
        color: white;
    }

    .btn-cancel:hover {
        background: #5a6268;
        transform: translateY(-2px);
    }

    .btn-create {
        background: linear-gradient(135deg, var(--primary-color), var(--accent-color));
        color: white;
        box-shadow: 0 4px 15px rgba(212, 175, 55, 0.3);
    }

    .btn-create:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4);
    }

    /* Responsive */
    @media (max-width: 1024px) {
        .discounts-manager {
            grid-template-columns: 1fr;
        }

        .discounts-stats {
            flex-wrap: wrap;
            gap: 1rem;
        }

        .stat-card {
            min-width: 80px;
        }
    }

    @media (max-width: 768px) {
        .discounts-header {
            flex-direction: column;
            gap: 1.5rem;
            text-align: center;
        }

        .form-row {
            grid-template-columns: 1fr;
        }

        .form-actions {
            flex-direction: column;
        }

        .btn-cancel, .btn-create {
            width: 100%;
            justify-content: center;
        }
    }

    /* Estilos para el modal de gestión de categorías */
    .categories-modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.8);
        z-index: 10000;
        display: flex;
        align-items: center;
        justify-content: center;
        backdrop-filter: blur(5px);
    }

    .categories-overlay {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .categories-form {
        background: white;
        padding: 30px;
        border-radius: 12px;
        max-width: 600px;
        width: 90%;
        max-height: 80vh;
        overflow-y: auto;
        position: relative;
        z-index: 10001;
    }

    .categories-form h3 {
        margin-top: 0;
        color: #333;
        border-bottom: 2px solid #f0f0f0;
        padding-bottom: 10px;
    }

    .categories-manager {
        display: flex;
        gap: 30px;
        margin-top: 20px;
    }

    .current-categories, .add-category {
        flex: 1;
    }

    .current-categories h4, .add-category h4 {
        margin-bottom: 15px;
        color: #555;
    }

    .categories-list-modal {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .category-tag {
        background: #007bff;
        color: white;
        padding: 5px 10px;
        border-radius: 20px;
        font-size: 0.9rem;
        display: inline-flex;
        align-items: center;
    }

    .add-category input {
        width: calc(100% - 120px);
        margin-bottom: 10px;
    }

    @media (max-width: 768px) {
        .categories-manager {
            flex-direction: column;
        }

        .add-category input {
            width: calc(100% - 100px);
        }
    }

    /* ========== SECCIÓN DE TESTIMONIOS ========== */
    /* ========== TESTIMONIALS SECTION DEPORTIVA ========== */
    .testimonials {
        padding: 80px 0;
        background: linear-gradient(135deg, #0f1419 0%, #1a2332 50%, #2d3748 100%);
        position: relative;
        overflow: hidden;
    }

    .testimonials::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background:
            radial-gradient(circle at 30% 20%, rgba(52, 152, 219, 0.08) 0%, transparent 50%),
            radial-gradient(circle at 70% 80%, rgba(155, 89, 182, 0.08) 0%, transparent 50%),
            radial-gradient(circle at 50% 60%, rgba(46, 204, 113, 0.08) 0%, transparent 50%);
    }

    .testimonials-header {
        text-align: center;
        margin-bottom: 60px;
        position: relative;
        z-index: 2;
    }

    .testimonials-header .section-title {
        color: white;
        font-size: clamp(2.5rem, 4vw, 3.5rem);
        margin-bottom: 1rem;
        font-weight: 900;
        text-transform: uppercase;
        letter-spacing: 2px;
        background: linear-gradient(135deg, #ffffff 0%, #e1e8ed 50%, #ffffff 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    }

    .testimonials-subtitle {
        color: rgba(255, 255, 255, 0.8);
        font-size: 1.3rem;
        margin: 0;
        font-weight: 400;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
        line-height: 1.6;
    }

    .testimonials-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
        gap: 2rem;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 2rem;
        position: relative;
        z-index: 2;
    }

    .testimonial-card {
        background: rgba(255, 255, 255, 0.05);
        backdrop-filter: blur(10px);
        padding: 2.5rem;
        border-radius: 20px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
        transition: all 0.4s ease;
        border: 1px solid rgba(255, 255, 255, 0.1);
        position: relative;
        overflow: hidden;
    }

    .testimonial-card::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(52, 152, 219, 0.1), transparent);
        transition: left 0.6s ease;
    }

    .testimonial-card:hover::before {
        left: 100%;
    }

    .testimonial-card:hover {
        transform: translateY(-10px) scale(1.02);
        box-shadow: 0 25px 50px rgba(0, 0, 0, 0.3);
        border-color: rgba(52, 152, 219, 0.3);
    }

    .testimonial-content {
        margin-bottom: 2rem;
        position: relative;
        z-index: 2;
    }

    .testimonial-stars {
        color: #FFD700;
        margin-bottom: 1.5rem;
        font-size: 1.3rem;
        filter: drop-shadow(0 0 5px rgba(255, 215, 0, 0.3));
    }

    .testimonial-content p {
        color: rgba(255, 255, 255, 0.9);
        font-size: 1.1rem;
        line-height: 1.7;
        margin: 0;
        font-style: italic;
        position: relative;
    }

    .testimonial-content p::before {
        content: '"';
        font-size: 3rem;
        color: rgba(52, 152, 219, 0.3);
        position: absolute;
        top: -10px;
        left: -20px;
        font-family: serif;
    }

    .testimonial-content p::after {
        content: '"';
        font-size: 3rem;
        color: rgba(52, 152, 219, 0.3);
        position: absolute;
        bottom: -30px;
        right: -20px;
        font-family: serif;
    }

    .testimonial-author {
        display: flex;
        align-items: center;
        gap: 1rem;
        position: relative;
        z-index: 2;
    }

    .author-avatar {
        width: 60px;
        height: 60px;
        background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 50%, #ff8c42 100%);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 1.5rem;
        box-shadow: 0 8px 25px rgba(255, 107, 107, 0.4);
        position: relative;
        z-index: 2;
    }

    .author-avatar::before {
        content: '';
        position: absolute;
        top: -2px;
        left: -2px;
        right: -2px;
        bottom: -2px;
        background: linear-gradient(135deg, #ff6b6b, #ee5a24, #ff8c42);
        border-radius: 50%;
        z-index: -1;
        opacity: 0.3;
    }

    .author-info h4 {
        margin: 0;
        color: white;
        font-size: 1.2rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .author-info span {
        color: rgba(255, 255, 255, 0.7);
        font-size: 1rem;
        font-weight: 400;
    }

    @media (max-width: 768px) {
        .testimonials {
            padding: 60px 0;
        }

        .testimonials-header {
            margin-bottom: 40px;
        }

        .testimonials-header .section-title {
            font-size: 2.5rem;
        }

        .testimonials-subtitle {
            font-size: 1.1rem;
        }

        .testimonials-grid {
            grid-template-columns: 1fr;
            gap: 1.5rem;
            padding: 0 1rem;
        }

        .testimonial-card {
            padding: 2rem;
        }

        .testimonial-content p {
            font-size: 1rem;
        }

        .author-info h4 {
            font-size: 1.1rem;
        }

        .author-info span {
            font-size: 0.9rem;
        }
    }

    @media (max-width: 768px) {
        .testimonials {
            padding: 60px 0;
        }

        .testimonials-header .section-title {
            font-size: 2rem;
        }

        .testimonials-grid {
            grid-template-columns: 1fr;
            gap: 20px;
        }

        .testimonial-card {
            padding: 25px;
        }
    }

    /* ========== FOOTER ========== */
    .footer {
        background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
        color: white;
        padding: 60px 0 20px;
        margin-top: 80px;
    }

    .footer-content {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 40px;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 2rem;
    }

    .footer-section h4 {
        color: #FFD700;
        margin-bottom: 20px;
        font-size: 1.2rem;
        font-weight: 600;
    }

    .footer-logo {
        display: flex;
        align-items: center;
        gap: 15px;
        margin-bottom: 20px;
    }

    .footer-logo-image {
        display: inline-block !important;
        height: 70px !important;
        width: auto !important;
        object-fit: contain;
        background: white !important;
        padding: 10px;
        border-radius: 12px;
        box-shadow: 0 4px 20px rgba(255, 215, 0, 0.4);
        border: 3px solid #FFD700;
        opacity: 1 !important;
        visibility: visible !important;
        filter: drop-shadow(0 2px 8px rgba(255, 215, 0, 0.3)) !important;
    }

    .footer-logo h3 {
        margin: 0;
        color: #FFD700;
        font-size: 1.5rem;
    }

    .footer-section p {
        color: rgba(255, 255, 255, 0.8);
        line-height: 1.6;
        margin-bottom: 20px;
    }

    .social-links {
        display: flex;
        gap: 15px;
    }

    .social-link {
        width: 40px;
        height: 40px;
        background: rgba(255, 255, 255, 0.1);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        text-decoration: none;
        transition: all 0.3s ease;
    }

    .social-link:hover {
        background: #FFD700;
        color: #333;
        transform: translateY(-3px);
    }

    .footer-links {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .footer-links li {
        margin-bottom: 10px;
    }

    .footer-links a {
        color: rgba(255, 255, 255, 0.8);
        text-decoration: none;
        transition: color 0.3s ease;
    }

    .footer-links a:hover {
        color: #FFD700;
    }

    .contact-info {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .contact-item {
        display: flex;
        align-items: center;
        gap: 10px;
        color: rgba(255, 255, 255, 0.8);
    }

    .contact-item i {
        color: #FFD700;
        width: 20px;
    }

    .footer-bottom {
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        margin-top: 40px;
        padding-top: 20px;
    }

    .footer-bottom-content {
        display: flex;
        justify-content: space-between;
        align-items: center;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 2rem;
    }

    .footer-bottom p {
        color: rgba(255, 255, 255, 0.6);
        margin: 0;
    }

    .footer-bottom-links {
        display: flex;
        gap: 20px;
    }

    .footer-bottom-links a {
        color: rgba(255, 255, 255, 0.6);
        text-decoration: none;
        font-size: 0.9rem;
        transition: color 0.3s ease;
    }

    .footer-bottom-links a:hover {
        color: #FFD700;
    }

    @media (max-width: 768px) {
        .footer {
            padding: 40px 0 20px;
        }

        .footer-content {
            grid-template-columns: 1fr;
            gap: 30px;
        }

        .footer-bottom-content {
            flex-direction: column;
            gap: 15px;
            text-align: center;
        }

        .footer-bottom-links {
            flex-wrap: wrap;
            justify-content: center;
        }
    }

    /* ========== BARRA DE CARACTERÍSTICAS ========== */
    /* ========== FEATURES BAR DEPORTIVA ========== */
    .features-bar {
        background: linear-gradient(135deg, #0f1419 0%, #1a2332 50%, #2d3748 100%);
        padding: 60px 0;
        position: relative;
        overflow: hidden;
    }

    .features-bar::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background:
            radial-gradient(circle at 20% 30%, rgba(52, 152, 219, 0.08) 0%, transparent 50%),
            radial-gradient(circle at 80% 70%, rgba(155, 89, 182, 0.08) 0%, transparent 50%),
            radial-gradient(circle at 60% 80%, rgba(46, 204, 113, 0.08) 0%, transparent 50%);
    }

    .features-wrapper {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: 2rem;
        max-width: 1200px;
        margin: 0 auto;
        padding: 0 2rem;
        position: relative;
        z-index: 2;
    }

    .feature-item {
        display: flex;
        align-items: center;
        gap: 1.5rem;
        padding: 2rem;
        background: rgba(255, 255, 255, 0.05);
        backdrop-filter: blur(10px);
        border-radius: 20px;
        transition: all 0.4s ease;
        border: 1px solid rgba(255, 255, 255, 0.1);
        position: relative;
        overflow: hidden;
    }

    .feature-item::before {
        content: '';
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 100%;
        background: linear-gradient(90deg, transparent, rgba(52, 152, 219, 0.1), transparent);
        transition: left 0.6s ease;
    }

    .feature-item:hover::before {
        left: 100%;
    }

    .feature-item:hover {
        background: rgba(255, 255, 255, 0.08);
        transform: translateY(-8px) scale(1.02);
        box-shadow:
            0 15px 35px rgba(0, 0, 0, 0.2),
            0 0 30px rgba(52, 152, 219, 0.15);
        border-color: rgba(52, 152, 219, 0.3);
    }

    .feature-icon {
        width: 70px;
        height: 70px;
        background: linear-gradient(135deg, #FFD700 0%, #FFA500 50%, #FF8C00 100%);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2rem;
        color: #1a1a2e;
        box-shadow: 0 8px 25px rgba(255, 215, 0, 0.4);
        animation: iconFloat 3s ease-in-out infinite;
        position: relative;
        z-index: 2;
    }

    @keyframes iconFloat {
        0%, 100% {
            transform: translateY(0) rotate(0deg);
        }
        25% {
            transform: translateY(-8px) rotate(2deg);
        }
        50% {
            transform: translateY(-15px) rotate(0deg);
        }
        75% {
            transform: translateY(-8px) rotate(-2deg);
        }
    }

    .feature-content {
        flex: 1;
        position: relative;
        z-index: 2;
    }

    .feature-content h4 {
        margin: 0 0 0.5rem 0;
        color: white;
        font-size: 1.3rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        background: linear-gradient(135deg, #ffffff 0%, #e1e8ed 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .feature-content p {
        margin: 0;
        color: rgba(255, 255, 255, 0.8);
        font-size: 1rem;
        line-height: 1.5;
        font-weight: 400;
    }

    @media (max-width: 768px) {
        .features-bar {
            padding: 40px 0;
        }

        .features-wrapper {
            grid-template-columns: 1fr;
            gap: 1.5rem;
            padding: 0 1rem;
        }

        .feature-item {
            padding: 1.5rem;
            gap: 1rem;
        }

        .feature-icon {
            width: 60px;
            height: 60px;
            font-size: 1.8rem;
        }

        .feature-content h4 {
            font-size: 1.2rem;
        }

        .feature-content p {
            font-size: 0.95rem;
        }
    }

    /* ========== ANIMACIONES Y EFECTOS DEPORTIVOS ADICIONALES ========== */

    /* Efecto de entrada para secciones */
    @keyframes slideInUp {
        from {
            opacity: 0;
            transform: translateY(50px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes slideInLeft {
        from {
            opacity: 0;
            transform: translateX(-50px);
        }
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }

    @keyframes slideInRight {
        from {
            opacity: 0;
            transform: translateX(50px);
        }
        to {
            opacity: 1;
            transform: translateX(0);
        }
    }

    /* Aplicar animaciones de entrada a secciones */
    .features-bar {
        animation: slideInUp 1s ease-out;
    }

    .offers-section {
        animation: slideInUp 1.2s ease-out;
    }

    .products {
        animation: slideInUp 1.4s ease-out;
    }

    .testimonials {
        animation: slideInUp 1.6s ease-out;
    }

    /* Efectos de hover mejorados para tarjetas */
    .product-card:hover .product-image img {
        transform: scale(1.1) rotate(2deg);
    }

    .testimonial-card:hover .author-avatar {
        transform: scale(1.1);
        box-shadow: 0 8px 25px rgba(255, 107, 107, 0.5);
    }

    /* Efectos de brillo para elementos destacados */
    @keyframes glow {
        0%, 100% {
            box-shadow: 0 0 20px rgba(52, 152, 219, 0.3);
        }
        50% {
            box-shadow: 0 0 30px rgba(52, 152, 219, 0.6);
        }
    }

    .btn-primary-hero {
        animation: glow 3s ease-in-out infinite;
    }

    /* Efectos de partículas flotantes */
    @keyframes float {
        0%, 100% {
            transform: translateY(0px) rotate(0deg);
            opacity: 0.7;
        }
        50% {
            transform: translateY(-20px) rotate(180deg);
            opacity: 1;
        }
    }

    /* Estilos para elementos decorativos */
    .sports-decoration {
        position: absolute;
        font-size: 2rem;
        color: rgba(52, 152, 219, 0.1);
        animation: float 6s ease-in-out infinite;
        pointer-events: none;
    }

    .sports-decoration:nth-child(1) {
        top: 10%;
        left: 10%;
        animation-delay: 0s;
    }

    .sports-decoration:nth-child(2) {
        top: 20%;
        right: 15%;
        animation-delay: 2s;
    }

    .sports-decoration:nth-child(3) {
        bottom: 20%;
        left: 15%;
        animation-delay: 4s;
    }

    /* Mejoras para el responsive */
    @media (max-width: 768px) {
        .hero-title {
            font-size: 2.5rem;
        }

        .hero-subtitle {
            font-size: 1rem;
        }

        .hero-buttons {
            flex-direction: column;
            gap: 1rem;
        }

        .btn-primary-hero,
        .btn-secondary-hero {
            width: 100%;
            justify-content: center;
        }

        .features-wrapper {
            padding: 0 1rem;
        }

        .offers-header .section-title {
            font-size: 2rem;
        }

        .timer-item {
            padding: 1rem;
        }

        .timer-value {
            font-size: 1.8rem;
        }
    }

    /* Estilos para modo oscuro/deportivo */
    body {
        background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);
    }

    /* Efectos de scroll suave */
    html {
        scroll-behavior: smooth;
    }

    /* Estilos para scrollbar personalizado */
    ::-webkit-scrollbar {
        width: 8px;
    }

    ::-webkit-scrollbar-track {
        background: #f1f1f1;
    }

    ::-webkit-scrollbar-thumb {
        background: linear-gradient(135deg, #3498db, #2980b9);
        border-radius: 4px;
    }

    ::-webkit-scrollbar-thumb:hover {
        background: linear-gradient(135deg, #2980b9, #1f5f99);
    }

    .step-header {
        margin-bottom: 1.5rem;
        padding-bottom: 0.5rem;
        border-bottom: 2px solid rgba(52, 152, 219, 0.2);
    }

    .step-number {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 30px;
        height: 30px;
        background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
        color: white;
        border-radius: 50%;
        font-weight: 700;
        font-size: 0.9rem;
        margin-right: 0.75rem;
    }

    .step-header h5 {
        color: #2d3748 !important;
        font-size: 1.1rem;
        font-weight: 700;
        margin: 0;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    /* Texto de ayuda */
    .field-help {
        font-size: 0.8rem;
        color: #718096 !important;
        margin-top: 0.25rem;
        font-weight: 400;
    }

    /* Panel headers */
    .panel-header h4 {
        color: white !important;
        margin: 0;
        font-size: 1.2rem;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .panel-header h4 i {
        color: var(--primary-color);
    }

    /* Texto adicional para asegurar visibilidad */
    .discount-form-container h4,
    .discount-form-container h5,
    .discount-form-container label,
    .discount-form-container p,
    .discount-form-container span,
    .discount-form-container div {
        color: #2d3748 !important;
    }

    /* Inputs específicos */
    #discountName,
    #discountValue,
    #discountStartDate,
    #discountEndDate,
    #discountDescription {
        color: #2d3748 !important;
    }

    #discountName::placeholder,
    #discountValue::placeholder,
    #discountStartDate::placeholder,
    #discountEndDate::placeholder,
    #discountDescription::placeholder {
        color: #718096 !important;
    }

    /* Selects específicos */
    #discountType,
    #discountStatus,
    #discountCategory,
    #discountSubcategory {
        color: #2d3748 !important;
    }

    /* Texto en paneles */
    .discounts-panel .panel-header h4,
    .discount-form-panel .panel-header h4 {
        color: white !important;
    }

    /* Asegurar que todo el texto en formularios sea visible */
    .admin-section .form-group *,
    .admin-section .step-header *,
    .admin-section .field-help,
    .admin-section .empty-state * {
        color: inherit !important;
    }

    /* Override específico para texto blanco problemático */
    .admin-section h5,
    .admin-section .form-row div,
    .admin-section .form-step > div:not(.form-row) {
        color: #2d3748 !important;
    }

    /* Estilos para sliders */
    .sliders-manager {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    .current-sliders, .add-slider {
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(20px);
        border-radius: 15px;
        padding: 2rem;
        border: 1px solid rgba(255, 255, 255, 0.2);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    }

    .current-sliders h4, .add-slider h4 {
        color: #2d3748;
        margin-bottom: 1.5rem;
        font-size: 1.3rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1px;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .current-sliders h4 i, .add-slider h4 i {
        color: var(--primary-color);
    }

    /* Responsive */
    @media (max-width: 768px) {
        .admin-content {
            padding: 1rem;
        }

        .admin-tabs {
            flex-direction: column;
            gap: 0.5rem;
        }

        .admin-tab {
            padding: 12px 20px;
        }

        .discounts-manager,
        .sliders-manager {
            grid-template-columns: 1fr;
            gap: 1rem;
        }

        .discounts-header {
            flex-direction: column;
            align-items: flex-start;
            gap: 1.5rem;
        }

        .discounts-stats {
            width: 100%;
            justify-content: space-around;
        }

        .stat-card {
            min-width: auto;
            flex: 1;
        }
    }

    /* Efectos de carga */
    .loading {
        display: inline-block;
        width: 20px;
        height: 20px;
        border: 3px solid rgba(255, 255, 255, 0.3);
        border-radius: 50%;
        border-top-color: var(--primary-color);
        animation: spin 1s ease-in-out infinite;
    }

    @keyframes spin {
        to { transform: rotate(360deg); }
    }

    /* Notificaciones deportivas */
    .admin-notification {
        position: fixed;
        top: 20px;
        right: 20px;
        background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
        color: white;
        padding: 1rem 1.5rem;
        border-radius: 12px;
        box-shadow: 0 8px 25px rgba(52, 152, 219, 0.3);
        z-index: 1000;
        animation: slideInRight 0.3s ease;
        font-weight: 600;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .admin-notification.success {
        background: linear-gradient(135deg, #27ae60 0%, #2ecc71 100%);
        box-shadow: 0 8px 25px rgba(39, 174, 96, 0.3);
    }

    .admin-notification.error {
        background: linear-gradient(135deg, #e74c3c 0%, #c0392b 100%);
        box-shadow: 0 8px 25px rgba(231, 76, 60, 0.3);
    }

    @keyframes slideInRight {
        from {
            transform: translateX(100%);
            opacity: 0;
        }
        to {
            transform: translateX(0);
            opacity: 1;
        }
    }

    /* Estilos para sliders clickeables */
    .hero-slide.clickable-slide {
        cursor: pointer;
        transition: all 0.3s ease;
        position: relative;
        overflow: hidden;
        border: 2px solid transparent;
    }

    .hero-slide.clickable-slide:hover {
        transform: scale(1.02);
        box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
        border-color: rgba(52, 152, 219, 0.5);
    }

    .hero-slide.clickable-slide:active {
        transform: scale(0.98);
    }

    /* Indicador visual de clickeable - versión sutil */
    .hero-slide.clickable-slide::after {
        content: '👆';
        position: absolute;
        top: 20px;
        right: 20px;
        background: rgba(52, 152, 219, 0.9);
        color: white;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1rem;
        opacity: 0;
        transform: scale(0.8);
        transition: all 0.3s ease;
        z-index: 2;
        backdrop-filter: blur(10px);
    }

    .hero-slide.clickable-slide:hover::after {
        opacity: 1;
        transform: scale(1);
    }

    /* Header Deportivo Admin */
    .admin-badge {
        background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
        color: white;
        padding: 0.5rem 1rem;
        border-radius: 20px;
        font-size: 0.8rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 1px;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-top: 0.5rem;
        box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3);
    }

    .admin-badge i {
        font-size: 0.9rem;
    }

    .admin-info {
        background: rgba(255, 255, 255, 0.1);
        color: white;
        padding: 0.75rem 1rem;
        border-radius: 25px;
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-right: 1rem;
        font-weight: 600;
        backdrop-filter: blur(10px);
        border: 1px solid rgba(255, 255, 255, 0.1);
    }

    .admin-info i {
        color: var(--primary-color);
        font-size: 1.1rem;
    }

    /* ===============================
    ESTILOS PARA PESTAÑA DE SEGURIDAD
    =============================== */

    .security-section {
        background: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(20px);
        border-radius: 15px;
        padding: 2rem;
        border: 1px solid rgba(255, 255, 255, 0.2);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    }

    .security-info {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 1.5rem;
        margin-bottom: 2rem;
    }

    .info-item {
        display: flex;
        align-items: flex-start;
        gap: 1rem;
        padding: 1.5rem;
        background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
        border-radius: 12px;
        border-left: 4px solid #007bff;
    }

    .info-item i {
        font-size: 2rem;
        color: #007bff;
        margin-top: 0.25rem;
    }

    .info-item h4 {
        margin: 0 0 0.5rem 0;
        color: #2c3e50;
        font-size: 1.1rem;
        font-weight: 600;
    }

    .info-item p {
        margin: 0;
        color: #6c757d;
        font-size: 0.9rem;
        line-height: 1.4;
    }

    .password-change-form {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        padding: 2rem;
        border-radius: 15px;
        box-shadow: 0 15px 35px rgba(102, 126, 234, 0.3);
    }

    .password-change-form h4 {
        margin-bottom: 1.5rem;
        font-size: 1.3rem;
        font-weight: 700;
        text-align: center;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    }

    .password-change-form .form-group {
        margin-bottom: 1.5rem;
    }

    .password-change-form label {
        display: block;
        margin-bottom: 0.5rem;
        font-weight: 600;
        font-size: 0.95rem;
    }

    .password-change-form input {
        width: 100%;
        padding: 12px 15px;
        border: 2px solid rgba(255, 255, 255, 0.3);
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.9);
        backdrop-filter: blur(10px);
        font-size: 1rem;
        color: #2c3e50;
        transition: all 0.3s ease;
        box-sizing: border-box;
    }

    .password-change-form input:focus {
        outline: none;
        border-color: #fff;
        box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
        background: rgba(255, 255, 255, 1);
    }

    .password-hint {
        display: block;
        margin-top: 0.5rem;
        font-size: 0.8rem;
        color: rgba(255, 255, 255, 0.8);
        font-style: italic;
    }

    .password-strength {
        margin: 1rem 0;
    }

    .strength-bar {
        width: 100%;
        height: 8px;
        background: rgba(255, 255, 255, 0.3);
        border-radius: 4px;
        overflow: hidden;
        margin-bottom: 0.5rem;
    }

    .strength-fill {
        height: 100%;
        width: 0%;
        transition: all 0.3s ease;
        border-radius: 4px;
    }

    .strength-text {
        font-size: 0.9rem;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.9);
    }

    .btn-security {
        background: linear-gradient(135deg, #28a745 0%, #20c997 100%) !important;
        border: none !important;
        color: white !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        box-shadow: 0 8px 25px rgba(40, 167, 69, 0.3) !important;
        transition: all 0.3s ease !important;
    }

    .btn-security:hover {
        transform: translateY(-2px) !important;
        box-shadow: 0 12px 35px rgba(40, 167, 69, 0.4) !important;
    }

    .btn-security i {
        margin-right: 0.5rem;
    }

    /* Responsive para seguridad */
    @media (max-width: 768px) {
        .security-info {
            grid-template-columns: 1fr;
        }

        .info-item {
            flex-direction: column;
            text-align: center;
        }

        .password-change-form {
            padding: 1.5rem;
        }

        .password-change-form h4 {
            font-size: 1.1rem;
        }

        .recovery-tools {
            margin-top: 1.5rem !important;
            padding-top: 1.5rem !important;
        }

        .recovery-tools .btn-admin {
            min-width: auto !important;
            margin-bottom: 0.5rem;
        }
    }

    /* ========== HEADER: Rediseño deportivo para index ========== */
    /* Regla final y específica para sobrescribir estilos anteriores */
    .index-page .header {
        background: linear-gradient(90deg, rgba(6,10,20,0.96) 0%, rgba(12,18,30,0.94) 100%) !important;
        border-bottom: 2px solid rgba(212,175,55,0.08) !important;
        box-shadow: 0 12px 30px rgba(2,6,23,0.5) !important;
        padding: 0.45rem 0 !important;
        position: fixed !important;
        top: var(--banner-height, 38px) !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 10001 !important;
        -webkit-backdrop-filter: blur(6px) !important;
        backdrop-filter: blur(6px) !important;
        transform: translateY(0) !important; /* asegurar visible */
    }

    .index-page .header .header-content {
        display: grid !important;
        grid-template-columns: auto 1fr auto !important;
        align-items: center !important;
        gap: 1rem !important;
        padding: 0.5rem 1.25rem !important;
    }

    .index-page .header .logo {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 10px !important;
    }

    .index-page .header .logo h1 {
        color: #FFFFFF !important;
        font-size: 1.2rem !important;
        font-weight: 800 !important;
        margin: 0 !important;
        letter-spacing: 0.6px !important;
    }

    .index-page .header .logo-image {
        height: 42px !important;
        width: auto !important;
        border-radius: 8px !important;
    }

    .index-page .header .logo p {
        margin: 0 !important;
        font-size: 0.66rem !important;
        color: rgba(255,255,255,0.78) !important;
        font-weight: 500 !important;
    }

    /* Ocultar el buscador en la vista de índice según solicitud del usuario */
    .index-page .search-bar {
        display: none !important;
    }

    /* Estilo de navegación más deportivo y compacto */
    .index-page .nav-menu {
        display: flex !important;
        gap: 0.6rem !important;
        align-items: center !important;
    }

    .index-page .nav-link {
        text-transform: uppercase !important;
        font-size: 0.88rem !important;
        padding: 8px 12px !important;
        border-radius: 10px !important;
        color: rgba(255,255,255,0.92) !important;
        background: transparent !important;
    }

    .index-page .nav-link:hover {
        background: rgba(255,255,255,0.06) !important;
        transform: translateY(-2px) !important;
    }

    /* Cart minimal look: mantener icono y contar, ocultar texto en pantallas pequeñas para aspecto deportivo */
    .index-page .cart-btn .cart-text {
        display: inline-block !important;
    }

    @media (max-width: 768px) {
        .index-page .header .header-content {
            grid-template-columns: 1fr !important;
            padding: 0.6rem 1rem !important;
        }
        .index-page .logo p { display: none !important; }
        .index-page .nav-menu { justify-content: center !important; gap: 0.5rem !important; }
    }

    /* Forzar que el estado comprimido no esconda el header */
    .index-page .header.scrolled {
        transform: translateY(0) !important;
    }
