/* =======================================================

   VECTORGRAPHICS.PRO - ESTILOS MAESTROS (VERSIÓN INTEGRAL)

   ======================================================= */



/* 1. VARIABLES Y PALETA DE COLORES */

:root {

    --racing-red: #DC0000;

    --text-main: #333333;

    --text-muted: #666666;

    --bg-body: #f8f9fa;

    --bg-card: #ffffff;

    --bg-nav: #ffffff;

    --border-color: #dee2e6;

    --pattern-color: #dee2e6;

    --shadow-color: rgba(0,0,0,0.1);

    --grid-opacity: 0.05;

}



/* === MODO OSCURO (OPTIMIZADO Y CORREGIDO) === */

html[data-theme="dark"] {

    --text-main: #f0f0f0 !important;

    --text-muted: #aaaaaa !important;

    --bg-body: #121212 !important;

    --bg-card: #1E1E1E !important;

    --bg-nav: #1A1A1D !important;

    --border-color: #333 !important;

    --pattern-color: #222 !important;

    --shadow-color: rgba(0,0,0,0.5) !important;

    --grid-opacity: 0.02 !important;

}



/* FORZAR CONTRASTE EN BOOTSTRAP Y MENÚS */

html[data-theme="dark"] body { background-color: var(--bg-body) !important; color: var(--text-main) !important; }

html[data-theme="dark"] .bg-white, html[data-theme="dark"] .bg-light { background-color: var(--bg-body) !important; }

html[data-theme="dark"] .card { background-color: var(--bg-card) !important; border-color: var(--border-color) !important; }

html[data-theme="dark"] .navbar { background-color: var(--bg-nav) !important; border-bottom: 1px solid var(--border-color); }

html[data-theme="dark"] .dropdown-menu { background-color: var(--bg-card) !important; border: 1px solid var(--border-color); }

html[data-theme="dark"] .dropdown-item { color: var(--text-main) !important; }

html[data-theme="dark"] .dropdown-item:hover { background-color: var(--racing-red) !important; color: #fff !important; }



/* Corrección de legibilidad en modo oscuro */

html[data-theme="dark"] p, html[data-theme="dark"] small, html[data-theme="dark"] .text-muted { 

    color: var(--text-muted) !important; 

    font-weight: 400 !important; 

}

html[data-theme="dark"] .product-card .card-title { color: #ffffff !important; font-weight: 700; }



/* Visibilidad de iconos de tema en modo oscuro */

html[data-theme="dark"] .theme-switcher svg { fill: #ffffff !important; color: #ffffff !important; }



/* Transiciones suaves */

body, .card, .navbar, h1, h2, h3, p, span, a, svg, path {

    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, fill 0.3s ease;

}



/* === 2. ESTILOS GENERALES Y PATRONES === */

body {

    font-family: 'Montserrat', sans-serif;

    background-color: var(--bg-body);

    color: var(--text-main);

    background-image: radial-gradient(var(--pattern-color) 1px, transparent 1px);

    background-size: 20px 20px;

    overflow-x: hidden;

}



h1, h2, h3, h4, h5, .navbar-brand { font-family: 'Russo One', sans-serif; color: var(--text-main); }



/* === 3. HERO SECTION (BLUEPRINT) === */

.hero-section {

    background-color: #111;

    color: white !important;

    padding: 80px 0;

    position: relative;

    overflow: hidden;

    background-image: 

        linear-gradient(rgba(255, 255, 255, var(--grid-opacity)) 1px, transparent 1px),

        linear-gradient(90deg, rgba(255, 255, 255, var(--grid-opacity)) 1px, transparent 1px);

    background-size: 50px 50px;

}

.hero-section h1, .hero-section p { color: white !important; }

.hero-section::after {

    content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0;

    background: radial-gradient(circle at 80% 20%, rgba(220, 53, 69, 0.15) 0%, transparent 40%);

    pointer-events: none;

}



/* === 4. NAVBAR FIJA Y SÓLIDA === */

.navbar-racer { 

    background-color: var(--bg-nav) !important; 

    box-shadow: 0 2px 10px rgba(0,0,0,0.1); 

    padding: 10px 0;

    z-index: 1050;

}

.navbar-nav .nav-link { font-weight: 600; text-transform: uppercase; font-size: 0.9rem; color: var(--text-main); }

.navbar-nav .nav-link:hover { color: var(--racing-red); }

.badge-cart { font-size: 0.65rem; }

.theme-switcher { text-decoration: none; color: var(--text-main); cursor: pointer; border: none; background: none; }



/* === 5. TARJETAS DE PRODUCTO Y CLICS === */

.product-card {

    border: 1px solid var(--border-color);

    background: var(--bg-card);

    transition: transform 0.3s, box-shadow 0.3s;

    position: relative !important;

    overflow: hidden;

}

.product-card:hover {

    transform: translateY(-5px);

    box-shadow: 0 15px 30px var(--shadow-color) !important;

    border-color: var(--racing-red);

}



.product-img-box {

    width: 100%; height: 220px; overflow: hidden;

    background: #ffffff !important; 

    display: flex; align-items: center; justify-content: center;

    border-bottom: 1px solid var(--border-color);

    padding: 15px;

}

.img-contain { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }



/* Lógica de clics fantasmas */

.product-card img, .product-card .card-body, .product-card h5, .product-card small { 

    pointer-events: none; 

    user-select: none;

}

.stretched-link::after { 

    position: absolute; top: 0; right: 0; bottom: 0; left: 0; 

    z-index: 10; content: ""; pointer-events: auto; 

}

.product-card a:not(.stretched-link), .product-card .badge { 

    position: relative; z-index: 20; pointer-events: auto; 

}



/* === 6. SECCIÓN DE CONFIANZA E ICONOS === */

.trust-section { background-color: var(--bg-card); border-top: 1px solid var(--border-color); padding: 60px 0; }

.trust-section h5 { font-weight: normal !important; margin-bottom: 10px; }

.trust-section p { font-weight: 400 !important; color: var(--text-muted) !important; font-size: 0.95rem; }



.feature-icon, .trust-icon { 

    width: 50px !important; height: 50px !important; 

    fill: var(--racing-red) !important; margin-bottom: 15px; 

}

.feature-icon path, .trust-icon path { fill: var(--racing-red) !important; }



/* === 7. EXTRAS === */

.sticky-summary { top: 90px; position: sticky; z-index: 900; }

.img-suggested { height: 200px; object-fit: cover; }



/* === 8. FOOTER PREMIUM UNIFICADO === */

.footer-pro { 

    background-color: #1A1A1D !important; 

    color: #bbbbbb !important; 

    padding-top: 3rem; 

}

.footer-pro h5 { color: #ffffff !important; margin-bottom: 20px; font-family: 'Russo One'; }

.footer-link, .footer-pro a { color: #999999 !important; text-decoration: none; transition: color 0.3s; }

.footer-link:hover { color: var(--racing-red) !important; }



.footer-bottom { 

    background-color: transparent !important; /* Unificado con el fondo del footer */

    padding: 20px 0; 

    border-top: 1px solid #333; 

    margin-top: 2rem;

}

.footer-bottom small { color: #666 !important; }