:root {
            --color-primary: #3e2723; /* Café profundo */
            --color-secondary: #d7ccc8; /* Beige suave */
            --color-accent: #c5a059; /* Dorado/Cobre */
            --font-heading: 'Playfair Display', serif;
            --font-body: 'Plus Jakarta Sans', sans-serif;
        }

        body { font-family: var(--font-body); color: #444; overflow-x: hidden; }
        h1, h2, h3, h4, h5 { font-family: var(--font-heading); color: var(--color-primary); }
        
        
        /* Navbar */
        .navbar { transition: all 0.3s; background-color: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); }
        .nav-link { font-weight: 600; font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1px; color: var(--color-primary) !important; }
        .btn-cart { position: relative; color: var(--color-primary); }
        .badge-cart { position: absolute; top: -5px; right: -5px; background: var(--color-accent); color: #fff; font-size: 0.7rem; }

        /* Hero */
        .hero {
            height: 95vh;
            background: linear-gradient(rgba(0,0,0,0.4), rgba(0,0,0,0.2)), url('../img/hero-bg.jpg');
            background-size: cover;
            background-position: center;
            background-attachment: fixed; /* Efecto Parallax */
            display: flex;
            align-items: center;
            color: white;
        }
        .hero h1 { font-size: 4.5rem; text-shadow: 2px 2px 10px rgba(0,0,0,0.5); color: white; }
        
        /* Corrección para Headers sobre fondos oscuros */
        .bg-dark h1, .bg-dark h2, .bg-dark h3,
        .text-white h1, .text-white h2, .text-white h3 {
            color: white !important; /* Forzamos el color blanco en estos contextos */
        }

        /* Secciones */
        .section-padding { padding: 100px 0; }
        .bg-cream { background-color: #fcfbf9; }

        /* Producto Destacado */
        .product-showcase img { 
            filter: drop-shadow(0px 20px 30px rgba(0,0,0,0.3)); 
            transition: transform 0.5s;
            max-height: 500px;
        }
        .product-showcase:hover img { transform: scale(1.05) rotate(2deg); }

        /* Botones Dorados (A prueba de balas) */
        .btn-gold {
            background-color: #c5a059 !important; /* Fallback Hex */
            background-color: var(--color-accent) !important;
            color: #ffffff !important;
            border: 2px solid #c5a059 !important;
            border: 2px solid var(--color-accent) !important;
            
            /* Estilos de forma */
            border-radius: 50px;
            padding: 12px 35px;
            text-transform: uppercase;
            letter-spacing: 1px;
            font-weight: 600;
            transition: all 0.3s;
        }

        /* Hover: Fondo Transparente, Texto Dorado */
        .btn-gold:hover { 
            background-color: transparent !important; 
            color: #c5a059 !important; /* <--- ESTO FALTABA (Override del blanco) */
            color: var(--color-accent) !important;
            transform: translateY(-3px); 
        }

        /* Botón Borde Dorado */
        .btn-outline-gold {
            border: 2px solid #c5a059 !important;
            border: 2px solid var(--color-accent) !important;
            color: #c5a059 !important;
            color: var(--color-accent) !important;
            border-radius: 50px;
            padding: 12px 35px;
            font-weight: 600;
            text-transform: uppercase;
        }
        .btn-outline-gold:hover { 
            background-color: #c5a059 !important;
            background-color: var(--color-accent) !important; 
            color: #ffffff !important; 
        }

        /* Banners B2B */
        .b2b-card {
            height: 400px;
            background-size: cover;
            background-position: center;
            position: relative;
            border-radius: 20px;
            overflow: hidden;
            display: flex;
            align-items: end;
            padding: 30px;
            transition: transform 0.3s;
            color: white;
        }
        .b2b-card::before {
            content: ''; position: absolute; top:0; left:0; right:0; bottom:0;
            background: linear-gradient(to top, rgba(0,0,0,0.8), transparent);
            transition: background 0.3s;
        }
        .b2b-card:hover { transform: translateY(-10px); }
        .b2b-card:hover::before { background: linear-gradient(to top, rgba(62, 39, 35, 0.9), transparent); }
        .b2b-content { position: relative; z-index: 2; width: 100%; }

        /* Textos B2B (Empresas y Socios) - Blanco Puro */
        .b2b-content h3, 
        .b2b-content p {
            color: #ffffff !important;
            text-shadow: 1px 1px 3px rgba(0,0,0,0.8); /* Sombra suave para leer sobre fotos */
        }

        /* Historia */
        .history-img { border-radius: 20px; object-fit: cover; height: 100%; min-height: 500px; }
        
        /* Contacto */
        .form-control { padding: 15px; border-radius: 10px; border: 1px solid #eee; background: #f9f9f9; }
        .form-control:focus { border-color: var(--color-accent); box-shadow: none; background: white; }

        /* Footer */
        footer { background: var(--color-primary); color: rgba(255,255,255,0.7); }
        footer h5 { color: white; }
        footer a { color: rgba(255,255,255,0.7); text-decoration: none; transition: 0.3s; }
        footer a:hover { color: var(--color-accent); }

        /* WhatsApp Float */
        .wa-float {
            position: fixed; bottom: 30px; right: 30px; background: #25d366; color: white;
            width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center;
            justify-content: center; font-size: 30px; box-shadow: 0 5px 20px rgba(0,0,0,0.3);
            z-index: 1000; transition: all 0.3s;
        }
        .wa-float:hover { transform: scale(1.1); color: white; }

        /* Clase para forzar texto blanco y legible sobre imágenes */
.text-white-shadow {
    color: white !important; /* El !important asegura que gane la batalla */
    text-shadow: 1px 1px 5px rgba(0,0,0,0.7);
}