        :root {
            --vinotinto: #630E16;
            --oro: #C5A059;
            --verde-armero: #00843D;
            --blanco: #FFFFFF;
            --oscuro: #0a0a0a;
            --transition: all 0.4s ease;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { font-family: 'Montserrat', sans-serif; background: var(--oscuro); color: var(--blanco); scroll-behavior: smooth; }

        /* --- NAV --- */
        nav {
            position: fixed; top: 0; width: 100%; padding: 15px 5%; display: flex; justify-content: space-between; align-items: center;
            background: rgba(0,0,0,1); backdrop-filter: blur(10px); z-index: 2000; border-bottom: 2px solid var(--oro);
        }
        .nav-links { display: flex; list-style: none; gap: 20px; }
        .nav-links a { text-decoration: none; color: white; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; }
        .lang-btn { background: var(--vinotinto); color: var(--oro); border: 1px solid var(--oro); padding: 5px 8px; cursor: pointer; border-radius: 30px; font-weight: bold; }

        /* --- HERO SLIDER --- */
        .hero-container { height: 100vh; width: 100%; position: relative; }
        .swiper-hero { width: 100%; height: 100%; }
        .swiper-slide { background-size: cover; background-position: center; display: flex; align-items: center; justify-content: center; }
        .swiper-slide::after { content: ''; position: absolute; width: 100%; height: 100%; background: rgba(0,0,0,0.4); }
        
        .hero-content { position: absolute; z-index: 10; text-align: center; width: 100%; pointer-events: none; }
        .hero-content h1 { font-family: 'Cinzel', serif; font-size: 4rem; color: var(--oro); pointer-events: auto; }
        .hero-content p { font-size: 1.2rem; margin-bottom: 20px; pointer-events: auto; }

        /* --- SECCIONES --- */
        .section-padding { padding: 80px 10%; }
        .title-gold { font-family: 'Cinzel', serif; color: var(--oro); text-align: center; margin-bottom: 40px; font-size: 2.5rem; }

        /* --- GRID CATEGORÍAS --- */
        .grid-tours { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 25px; }
        .card { background: #111; border-radius: 15px; overflow: hidden; border: 1px solid #333; transition: var(--transition); }
        .card:hover { border-color: var(--oro); transform: translateY(-10px); }
        .card img { width: 100%; height: 200px; object-fit: cover; }
        .card-body { padding: 20px; }
        .card-body h3 { color: var(--oro); margin-bottom: 10px; }

        /* --- VR BUTTONS --- */
        .vr-box { background: var(--vinotinto); padding: 40px; border-radius: 20px; display: flex; justify-content: space-around; flex-wrap: wrap; gap: 20px; text-align: center; }
        .vr-item i { font-size: 3rem; color: var(--oro); display: block; margin-bottom: 10px; }

        /* --- GALERÍA LITHBOX --- */
        .gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
        .gallery-item { height: 200px; overflow: hidden; border-radius: 8px; }
        .gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: 0.3s; }
        .gallery-item:hover img { transform: scale(1.1); filter: brightness(0.6); }

        /* --- CULTURA ANCESTRAL --- */
        .ancestral-bg { 
          background: linear-gradient(rgba(0,0,0,0.8), rgba(0,0,0,0.8)), url('https://elirreverenteibague.com/public/img/noticias/2526359/interna.jpg'); 
          background-size: cover; background-attachment: fixed; text-align: center; }

        /* --- MERCH --- */
        .merch-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
        .merch-item { background: white; color: black; padding: 15px; border-radius: 10px; text-align: center; }
        .merch-item img { width: 100%; border-radius: 5px; }
/* --- FOOTER & CONTACT --- */
        footer {
            background: var(--oscuro);
            padding: 50px 10%;
            border-top: 1px solid var(--oro);
            text-align: center;
        }
        @media (max-width: 768px) { .gallery-grid { grid-template-columns: repeat(2, 1fr); } .hero-content h1 { font-size: 2.5rem; } }