/* =====================================================================
   ESTILOS ESPECÍFICOS: EL IMPOSTOR (Color Base: Rojo)
   ===================================================================== */

/* Sobrescribimos el color primario global SÓLO para esta página */
:root {
    --primary: #ef4444; /* ROJO IMPOSTOR */
    --primary-glow: rgba(239, 68, 68, 0.4);
}

/* NAV ESPECÍFICO DE PRODUCTO */
.product-nav { border-bottom: 1px solid var(--glass-border); padding: 15px 0; position: sticky; top: 0; background: rgba(10, 15, 25, 0.6); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); z-index: 100; transform: translateZ(0); will-change: backdrop-filter;}
.product-logo { font-weight: 800; font-size: 24px; color: var(--text-main); display: flex; align-items: center; gap: 8px; }
.back-link { font-size: 15px; color: var(--text-muted); font-weight: 600; display: flex; align-items: center; gap: 8px; transition: 0.3s;}
.back-link:hover { color: var(--text-main); transform: translateX(-5px); }

/* BOTONES */
.btn-outline { background: var(--glass-bg); border: 1px solid var(--glass-border); color: var(--text-main); padding: 10px 22px; border-radius: 50px; font-size: 14px; font-weight: 600; backdrop-filter: blur(10px); cursor: pointer; transition: 0.3s;}
.btn-outline:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.2); }

/* Sobrescribimos el tamaño del botón primario global */
.product-btn { padding: 15px 35px !important; font-size: 16px !important; }

.btn-text { display: inline-flex; align-items: center; gap: 8px; color: var(--text-muted); font-weight: 600; padding: 15px 10px; font-size: 15px;}
.btn-text:hover { color: var(--text-main); }

/* ESTRUCTURA UNIFICADA ABOVE THE FOLD */
.unified-product { padding: 40px 0 60px; flex-grow: 1; display: flex; align-items: center; position: relative; z-index: 10;}
.product-header { display: flex; align-items: center; gap: 50px; margin-bottom: 50px; }

.hero-text { flex: 1; }
.tag { display: inline-block; font-size: 12px; font-weight: 700; text-transform: uppercase; padding: 5px 12px; border-radius: 20px; letter-spacing: 1px; margin-bottom: 20px; }
.tag-danger { background: rgba(239, 68, 68, 0.2); color: #fca5a5; border: 1px solid rgba(239, 68, 68, 0.3); }

.hero-text h1 { font-size: 48px; font-weight: 800; margin: 0 0 20px 0; line-height: 1.1; letter-spacing: -1px; text-shadow: 0 4px 20px rgba(0, 0, 0, 0.9);}
.hero-text h1 span { color: var(--primary); } 
.hero-text p { font-size: 16px; color: var(--text-muted); line-height: 1.6; font-weight: 300; max-width: 550px; margin: 0; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9);}

/* VISUAL SHOWCASE */
.hero-visual { flex: 1; display: flex; justify-content: flex-end; perspective: 1000px; }
.showcase-item { position: relative; width: 100%; max-width: 260px; border-radius: 20px; overflow: hidden; background: rgba(20, 25, 35, 0.6); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid var(--glass-border); box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5); transition: all 0.4s ease; transform: rotateY(-10deg) rotateX(5deg) translateZ(0); animation: floatShowcase 6s ease-in-out infinite alternate; will-change: transform, box-shadow;}
.showcase-item img { width: 100%; height: auto; display: block; opacity: 0.95; transition: 0.4s; }
.glass-reflection { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, transparent 50%, transparent 100%); pointer-events: none; z-index: 4; }

.showcase-item:hover { transform: translateY(-10px) rotateY(0) rotateX(0) translateZ(0); border-color: rgba(239, 68, 68, 0.4); box-shadow: 0 30px 60px rgba(239, 68, 68, 0.25); }
.showcase-item:hover img { opacity: 1; }

@keyframes floatShowcase { 0% { transform: translateY(0) rotateY(-10deg) rotateX(5deg) translateZ(0); } 100% { transform: translateY(-15px) rotateY(-5deg) rotateX(2deg) translateZ(0); } }

/* FEATURES COMPACTOS */
.features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; position: relative; z-index: 10;}
.feature-card { background: rgba(20, 25, 35, 0.5); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); border: 1px solid var(--glass-border); border-radius: 16px; padding: 25px; transition: 0.4s; transform: translateZ(0); will-change: transform, backdrop-filter;}
.feature-card:hover { transform: translateY(-8px) translateZ(0); border-color: rgba(255,255,255,0.15); box-shadow: 0 15px 35px rgba(0,0,0,0.5); }
.icon-box { width: 50px; height: 50px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 20px; background: rgba(255,255,255,0.03); border: 1px solid var(--glass-border); box-shadow: inset 0 0 20px rgba(255,255,255,0.02); }
.icon-box.red { color: #ef4444; }
.icon-box.yellow { color: #f59e0b; }
.icon-box.green { color: #10b981; }

.feature-card h3 { font-size: 18px; margin: 0 0 10px 0; font-weight: 700; color: var(--text-main); text-shadow: 0 2px 10px rgba(0,0,0,0.8);}
.feature-card p { color: #e2e8f0; font-size: 14px; line-height: 1.6; margin: 0; font-weight: 300; text-shadow: 0 2px 8px rgba(0,0,0,0.8);}

/* RESPONSIVE MÓVIL */
@media (max-width: 992px) {
    .unified-product { padding: 40px 0; display: block; }
    .product-header { flex-direction: column; text-align: center; gap: 40px; }
    .hero-text h1 { font-size: 38px; }
    .hero-text p { margin: 0 auto; }
    .action-buttons { justify-content: center; }
    .hero-visual { justify-content: center; width: 100%; margin-top: 20px; }
    .showcase-item { transform: none; animation: none; }
}

@media (max-width: 768px) {
    /* Optimización de recursos móviles */
    .feature-card, .showcase-item { backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }

    /* =========================================
       ARREGLO: BARRA DE NAVEGACIÓN (HEADER)
       ========================================= */
    .nav-container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
    }

    /* 1. Escondemos el texto largo y dejamos solo la flecha para ganar espacio */
    .back-link {
        font-size: 0 !important; /* Oculta el texto */
    }
    .back-link i {
        font-size: 22px !important; /* Mantiene la flecha grande y visible */
    }

    /* 2. Reducimos el logo un poco para hacer hueco */
    .product-logo {
        font-size: 18px !important;
    }

    /* 3. Evitamos que el botón de la derecha se parta en dos líneas */
    .nav-cta a, .nav-cta .btn-glass {
        padding: 8px 15px !important;
        font-size: 12px !important;
        white-space: nowrap !important; /* La magia para que no se desborde */
    }
}