   /*------------------------------------------------------------------
VARIABLES
-------------------------------------------------------------------*/

   :root {
       /* Solo colores */
       --blue: #248ED8;
       --blanco: #ffff;
       --negro: #000;
       --light: #FCFAFA;
       --reel-radius: 20px;
       --reel-shadow: 0 14px 30px rgba(0, 0, 0, .22);
       --brand-blue: #1e40af;
       /* azul de hover para botones */
   }

   body {
       height: 100%;
       -webkit-font-smoothing: antialiased;
       -moz-osx-font-smoothing: grayscale;
       font-smoothing: antialiased;
       /*font-family: 'Open Sans', sans-serif;*/
       font-family: "Playfair Display", sans-serif;
       font-weight: 400;
   }

   h1,
   h2,
   h3,
   h4,
   h5,
   h6,
   blockquote {

       font-family: "Playfair Display", sans-serif;

   }


   p {
       font-size: 20px;
       font-weight: 400;
   }

   .text-blue {
       color: var(--blue);
   }

   .bg-blue {
       background-color: var(--blue);
       min-height: 20vh;
   }

   .bg-black {
       background-color: var(--negro);
       min-height: 20vh;
   }

   /*------------------------------------------------------------------
ZAFIRO
-------------------------------------------------------------------*/

   .text-header {
       font-size: 80px;
   }

   /* ====== Layout y base ====== */
   .scene-wrapper {
       position: relative;
       height: 100vh;
       /* pantalla completa */
       display: flex;
       flex-direction: column;
       justify-content: center;
       align-items: center;
       overflow: hidden;
   }

   .agave-scene,
   .botella-scene {
       position: absolute;
       max-width: min(80vw, 400px);
       transition: transform 0.6s ease, opacity 0.6s ease;
   }

   .agave-scene {
       z-index: 1;
       transform: scale(1);
       /* antes era 0.8 */
       opacity: 0.6;
       transition: transform 0.6s ease, opacity 0.6s ease;
   }


   .botella-scene {
       z-index: 2;
       transform: translateY(40px) scale(0.9);
       opacity: 0;
   }

   .halo {
       position: absolute;
       width: 600px;
       height: 600px;
       border-radius: 50%;
       background: radial-gradient(circle, rgba(0, 150, 136, 0.3), transparent 70%);
       filter: blur(60px);
       z-index: 0;
       opacity: 0;
       transition: opacity 0.6s ease, transform 0.6s ease;
   }

   /* Responsividad */
   @media (max-width: 768px) {
       .halo {
           width: 350px;
           height: 350px;
       }

       .agave-scene,
       .botella-scene {
           max-width: 75vw;
       }
   }

   /*------------------------------------------------------------------
ZAFIRO
-------------------------------------------------------------------*/

   /* ---- Card/Reel ---- */
   .reel-card {
       background: #121319;
       border: 1px solid rgba(255, 255, 255, .06);
       border-radius: 16px;
       overflow: hidden;
       box-shadow: 0 8px 24px rgba(0, 0, 0, .35)
   }

   /* Contenedor con relación 9:16 — OJO: quitaremos el "padding hack" para evitar doble altura */
   .reel-media {
       position: relative;
       width: 100%;
       background: #0a0b0f
   }

   .reel-media-inner {
       position: relative;
       display: grid;
       place-items: center;
       overflow: hidden;
       border-bottom: 1px solid rgba(255, 255, 255, .06)
   }

   /* Solo una capa controla el 9:16 */
   .reel-viewport {
       width: min(420px, 100%);
       aspect-ratio: 9/16;
       border-radius: 12px;
       overflow: hidden;
       background: #000;
       box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06)
   }

   .reel-viewport iframe,
   .reel-viewport img {
       display: block;
       width: 100%;
       height: 100%;
       border: 0;
       object-fit: cover;
       pointer-events: auto
   }

   /* ---- Meta / perfil ---- */
   .reel-meta {
       padding: 16px;
       display: flex;
       align-items: center;
       justify-content: space-between;
       gap: 12px
   }

   .profile {
       display: flex;
       align-items: center;
       gap: 12px;
       min-width: 0
   }

   .avatar {
       width: 40px;
       height: 40px;
       border-radius: 50%;
       overflow: hidden;
       flex-shrink: 0;
       border: 1px solid rgba(255, 255, 255, .08)
   }

   .avatar img {
       width: 100%;
       height: 100%;
       object-fit: cover
   }

   .handle {
       display: flex;
       flex-direction: column;
       font-size: 14px;
       line-height: 1.25;
       white-space: nowrap;
       overflow: hidden;
       text-overflow: ellipsis
   }

   .handle .name {
       color: #fff;
       font-weight: 600
   }

   .handle .user {
       color: #acacac
   }

   .btn-outline {
       display: inline-flex;
       align-items: center;
       gap: 8px;
       padding: 10px 14px;
       font-size: 14px;
       border-radius: 999px;
       border: 1px solid rgba(255, 255, 255, .16);
       color: #eaeaea;
       text-decoration: none;
       transition: transform .18s ease, border-color .18s ease, background .18s ease;
       background: transparent
   }

   .btn-outline:hover {
       transform: translateY(-1px);
       border-color: rgba(111, 183, 255, .6);
       background: rgba(111, 183, 255, .08)
   }

   .ig-icon {
       width: 16px;
       height: 16px;
       display: inline-block
   }

   /* ---- Swiper ---- */
   #reels .swiper {
       position: relative;
       padding: 16px 54px
   }

   /* posición relativa para anclar botones */
   #reels .swiper-slide {
       height: auto
   }

   /* ---- Botones circulares Prev/Next ---- */
   .reel-nav-btn {
       position: absolute;
       top: 50%;
       transform: translateY(-50%);
       width: 42px;
       height: 42px;
       border-radius: 50%;
       display: grid;
       place-items: center;
       background: var(--blue);
       border: 1px solid rgba(255, 255, 255, .1);
       box-shadow: 0 6px 18px rgba(0, 0, 0, .4);
       cursor: pointer;
       z-index: 5;
       transition: transform .18s ease, border-color .18s ease, background .18s ease
   }

   .reel-nav-btn:hover {
       transform: translateY(-50%) scale(1.05);
       border-color: rgba(111, 183, 255, .6);
       background: var(--blue);
   }

   .reel-nav-btn svg {
       width: 18px;
       height: 18px;
       stroke: #eaeaea
   }

   .reel-prev {
       left: 8px
   }

   .reel-next {
       right: 8px
   }

   /* ---- Responsive ---- */
   @media (min-width:768px) {
       h2 {
           font-size: 34px
       }

       #reels .swiper {
           padding: 24px 72px
       }

       .reel-nav-btn {
           width: 46px;
           height: 46px
       }

       .reel-nav-btn svg {
           width: 20px;
           height: 20px
       }
   }

   /*------------------------------------------------------------------
ZAFIRO
-------------------------------------------------------------------*/

   /* ===== Parallax sin JS ===== */
   .parallax-section {
       /* Usa tu imagen aquí */
       --bg: url("../img/background-cocktail.webp");

       position: relative;
       min-height: 50vh;
       display: grid;
       place-items: center;
       text-align: center;
       color: #fff;

       /* Parallax clásico */
       background-image:
           /* Degradado integrado para legibilidad, sin “cajas” extras */
           linear-gradient(to bottom, rgba(0, 0, 0, .50), rgba(0, 0, 0, .65) 45%, rgba(0, 0, 0, .45)),
           var(--bg);
       background-size: cover;
       background-position: center;
       background-repeat: no-repeat;
       background-attachment: fixed;
       /* efecto parallax */
   }

   /* Contenido */
   .parallax-content {
       padding-inline: 1rem;
   }

   .parallax-title {
       font-size: clamp(2rem, 3.8vw, 3rem);
       line-height: 1.1;
       font-weight: 700;
       letter-spacing: .2px;
       margin: 0 0 .5rem 0;
       /* sutil brillo para contraste sin caja */
       text-shadow: 0 2px 20px rgba(0, 0, 0, .35);
   }

   .parallax-subtitle {
       font-size: clamp(1rem, 2vw, 1.25rem);
       margin: 0;
       opacity: .95;
       text-shadow: 0 1px 12px rgba(0, 0, 0, .35);
   }

   /* Opcional: enlace minimalista sin caja */
   .parallax-link {
       display: inline-block;
       margin-top: 1rem;
       color: #fff;
       text-decoration: none;
       border-bottom: 1px solid rgba(255, 255, 255, .6);
       padding-bottom: 2px;
       transition: opacity .25s ease;
   }

   .parallax-link:hover {
       opacity: .8;
   }

   /* ===== Fallbacks ===== */
   /* iOS/Android suelen ignorar fixed: lo degradamos a scroll */
   @supports (-webkit-overflow-scrolling: touch) {
       .parallax-section {
           background-attachment: scroll;
       }
   }

   /* Si el usuario prefiere menos movimiento, desactiva fixed */
   @media (prefers-reduced-motion: reduce) {
       .parallax-section {
           background-attachment: scroll;
       }
   }

   /* Ajustes de altura en móviles */
   @media (max-width: 768px) {
       .parallax-section {
           min-height: 60vh;
       }
   }

   /*------------------------------------------------------------------
ZAFIRO
-------------------------------------------------------------------*/










































   /* -----------------------------------------
   Navbar elegante con cambio al hacer scroll
--------------------------------------------*/


   .navbar-elegante {
       background-color: transparent;
       transition: background-color .3s ease, box-shadow .3s ease, padding .3s ease;
       padding-block: 1.1rem;
       padding-top: 40px;
       padding-bottom: 40px;
   }

   .navbar-elegante.scrolled {
       background-color: #ffffff;
       box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
       padding-block: 3.2rem;
   }

   /* Logo centrado */
   .navbar-brand-center {
       position: absolute;
       /* left: 50%; */
       display: flex;
       align-items: center;
       gap: .5rem;
       text-decoration: none;
       color: var(--blue);
   }

   .navbar-brand-center img {
       height: 90px;
       width: auto;
       transition: filter .3s ease, transform .3s ease, opacity .3s ease;
   }

   /* Cuando se hace scroll: logo oscuro */
   .navbar-elegante.scrolled .navbar-brand-center img {
       filter: none;
   }

   /* Links base */
   .navbar-elegante .nav-link {
       color: #000;
       position: relative;
       margin-left: 1rem;
       letter-spacing: .3px;
       transition: color .25s ease;
   }

   .navbar-elegante .nav-link:hover,
   .navbar-elegante .nav-link:focus {
       color: var(--blue);
       /* mantiene blanco */
   }

   /* Subrayado blue */
   .navbar-elegante .nav-link::after {
       content: "";
       position: absolute;
       left: 0;
       bottom: -4px;
       width: 0;
       height: 2px;
       background-color: var(--blue);
       transition: width .25s ease;
   }

   .navbar-elegante .nav-link:hover::after,
   .navbar-elegante .nav-link:focus::after {
       width: 100%;
   }

   /* ---- Cambios visuales cuando está scrolled ---- */
   .navbar-elegante.scrolled .nav-link {
       color: #000000;
       /* negro */
   }

   .navbar-elegante.scrolled .nav-link:hover,
   .navbar-elegante.scrolled .nav-link:focus {
       color: var(--blue);
       /* blue en hover */
   }

   .navbar-elegante.scrolled .nav-link::after {
       background-color: var(--blue);
   }

   /* Toggler blue sobre fondo transparente/negro */
   .navbar-toggler {
       border-color: var(--blue);
       z-index: 1052;
       /* por encima del overlay */
   }

   .navbar-toggler:focus {
       box-shadow: 0 0 0 .2rem rgba(207, 166, 90, .35);
   }

   .navbar-toggler-icon {
       background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23cfa65a' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
   }

   /* ---------- Overlay móvil elegante ---------- */
   @media (max-width: 991.98px) {

       .navbar-brand-center img {
           height: auto;
           width: auto;
           transition: filter .3s ease, transform .3s ease, opacity .3s ease;
       }

       /* El contenedor colapsado se vuelve overlay full-screen */
       .overlay-menu {
           position: fixed;
           inset: 0;
           background: rgba(0, 0, 0, 0.88);
           -webkit-backdrop-filter: blur(6px);
           backdrop-filter: blur(6px);
           display: none;
           /* Bootstrap manipula .show -> display:block */
           opacity: 0;
           transform: translateY(-6px);
           transition: opacity .25s ease, transform .25s ease;
           padding: 96px 24px 24px;
           /* deja espacio para el header */
           z-index: 1051;
           color: #fff;
       }

       .overlay-menu.show {
           display: block;
           opacity: 1;
           transform: translateY(0);
       }

       .menu-list {
           list-style: none;
           padding: 0;
           margin: 0;
           display: grid;
           gap: 20px;
           text-align: left;
       }

       .menu-list .nav-link {
           font-size: 1.35rem;
           padding: .25rem 0;
           margin-left: 0;
       }

       /* Línea guía sutil a la izquierda en móvil */
       .menu-list .nav-link::before {
           content: "";
           position: absolute;
           left: -12px;
           top: 50%;
           width: 4px;
           height: 0;
           background: var(--blue);
           transform: translateY(-50%);
           transition: height .25s ease;
       }

       .menu-list .nav-link:hover::before {
           height: 60%;
       }

       /* Logo en overlay (mantiene blanco) */
       .navbar-brand-center img {
           filter: brightness(0) invert(1);
       }
   }

   @media (max-width: 991.98px) {
       .navbar-elegante.scrolled .nav-link {
           color: #ffffff !important;
           /* fuerza blanco en móvil */
       }

       .navbar-elegante.scrolled .nav-link:hover,
       .navbar-elegante.scrolled .nav-link:focus {
           color: #ffffff !important;
           /* mantiene blanco al hover */
       }

       .navbar-elegante.scrolled .nav-link::after {
           background-color: var(--blue);
           /* conserva subrayado blue si lo deseas */
       }
   }

   /* Preferencia de menos movimiento */
   @media (prefers-reduced-motion: reduce) {

       .navbar-elegante,
       .overlay-menu {
           transition: 2s;
       }
   }

   .navbar-elegante .nav-item.dropdown .nav-link::after {
       display: none !important;
   }



   /* -----------------------------------------
   HEADER
--------------------------------------------*/
   .hero-section {
       position: relative;
       height: 85vh;
       min-height: 500px;
       color: var(--blanco);
       opacity: 0;
       animation: fadeInHero 1.5s ease forwards;
       overflow: hidden;
   }

   /* Capa oscura encima del fondo */
   .hero-overlay {
       position: absolute;
       inset: 0;
       background: rgba(0, 0, 0, 0.43);
       /* controla qué tan oscuro se ve */
       z-index: 1;
   }

   /* --- VIDEO BACKGROUND --- */
   .hero-video {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       object-fit: cover;
       z-index: 0;
       filter: brightness(0.85);
   }


   .hero-section .container {
       position: relative;
       z-index: 2;
   }


   /* Contenido sobre el overlay */
   .hero-section .container {
       position: relative;
       z-index: 2;
   }

   @keyframes fadeInHero {
       to {
           opacity: 1;
       }
   }

   /* Texto */
   .hero-title {
       font-size: 3.2rem;
       font-weight: 700;
       color: var(--blanco);
   }

   .hero-text {
       font-size: 1.1rem;
       color: var(--blanco);
       opacity: 0.95;
       line-height: 1.6;
   }



   /* Responsividad */
   @media (max-width: 768px) {
       .hero-title {
           font-size: 2rem;
       }

       .hero-text {
           font-size: 1rem;
       }

       .hero-section {
           text-align: center;
       }
   }

   /* -----------------------------------------
   DETALLE DE PRODUCTOS
--------------------------------------------*/

   .product-detail-2 {
       min-height: 70vh;
       background-image: url('../img/background-agave.webp');
       background-position: center;
       background-repeat: no-repeat;
       /* fondo negro elegante */
       overflow: hidden;
   }

   .product-detail-3 {
       min-height: 70vh;
       background-image: url('../img/background-agave-derecha-2.webp');
       background-position: center;
       background-repeat: no-repeat;
       /* fondo negro elegante */
       overflow: hidden;
   }

   .product-detail {
       min-height: 70vh;
       /* fondo negro elegante */
       overflow: hidden;
   }

   .product-text {
       flex: 1 1 50%;
   }

   .product-media {
       position: relative;
       flex: 1 1 50%;
       min-height: 50vh;
   }

   .product-media img {
       position: absolute;
       inset: 0;
       width: 100%;
       height: 100%;
       object-fit: contain;
       /* llena sin deformarse */
       object-position: var(--position);
       /* centra el foco */
       filter: brightness(0.9);
       /* leve oscurecido para contraste */
       transition: transform .6s ease;
   }

   .product-media:hover img {
       transform: scale(1.03);
   }

   /* Responsivo */
   @media (max-width: 991.98px) {
       .product-detail {
           min-height: unset;
       }

       .product-media {
           min-height: 40vh;
           /* alto cómodo en móviles */
       }
   }

   /* -----------------------------------------
   BOTONES
--------------------------------------------*/
   .margin-top-150 {
       margin-top: 150px;
   }

   /* -----------------------------------------
   BOTONES
--------------------------------------------*/

   .btn-members {
       background: var(--blue);
       color: var(--blanco);
       font-weight: 600;
       padding: 0.75rem 1.5rem;
       border-radius: 0;
       text-transform: uppercase;
       transition: all 4s ease;
       border: solid 2px #ffff;
   }

   .btn-hero {
       background: transparent;
       color: var(--blanco);
       font-weight: 600;
       padding: 0.75rem 1.5rem;
       border-radius: 0;
       text-transform: uppercase;
       transition: all 4s ease;
       border: solid 2px #ffff;
   }

   .btn-hero:hover {
       background: var(--blanco);
       color: var(--negro);
       box-shadow: 0 0 10px rgba(212, 175, 55, 0.6);
       transition: 5s;
       border: solid 2px #ffff;
   }

   .btn-persiana {
       position: relative;
       display: inline-block;
       padding: 15px 30px;
       background-color: transparent;
       color: var(--blue);
       border: 2px solid var(--blue);
       font-weight: 600;
       text-transform: uppercase;
       overflow: hidden;
       cursor: pointer;
       transition: color 0.3s ease 0.1s;
       /* leve retraso para que cambie después del fondo */
   }

   /* Capa del efecto persiana */
   .btn-persiana::before {
       content: "";
       position: absolute;
       top: 0;
       left: -100%;
       width: 100%;
       height: 100%;
       background-color: var(--blue);
       z-index: 0;
       transition: left 0.4s ease;
       border: 2px solid var(--blue);

   }

   /* Texto encima de todo */
   .btn-persiana span {
       position: relative;
       z-index: 1;
       font-weight: 800;
   }

   /* Hover */
   .btn-persiana:hover::before {
       left: 0;
       border: 2px solid var(--blue);

   }

   .btn-persiana:hover {
       color: #fff !important;
   }


   .btn-persiana-2 {
       position: relative;
       display: inline-block;
       padding: 15px 30px;
       background-color: transparent;
       color: var(--blanco);
       border: 2px solid var(--blanco);
       font-weight: 600;
       text-transform: uppercase;
       overflow: hidden;
       cursor: pointer;
       transition: color 0.3s ease 0.1s;
       /* leve retraso para que cambie después del fondo */
   }

   /* Capa del efecto persiana-2 */
   .btn-persiana-2::before {
       content: "";
       position: absolute;
       top: 0;
       left: -100%;
       width: 100%;
       height: 100%;
       background-color: var(--blue);
       z-index: 0;
       transition: left 0.4s ease;
       border: 2px solid var(--blue);

   }

   /* Texto encima de todo */
   .btn-persiana-2 span {
       position: relative;
       z-index: 1;
       font-weight: 800;
   }

   /* Hover */
   .btn-persiana-2:hover::before {
       left: 0;
       border: 2px solid var(--blue);

   }

   .btn-persiana-2:hover {
       color: #fff;
   }



   /* -----------------------------------------
   FOOTER
--------------------------------------------*/
   /* -----------------------------------------
   FOOTER
--------------------------------------------*/
   .footer {
       position: relative;
       background: #e3e2e2;
       color: #fff;
       text-align: center;
       padding: 60px 20px 30px;
   }

   .footer-gradient {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 80px;
   }

   /* Logo */
   .footer-logo img {
       position: relative;
       z-index: 1;
   }

   /* Contacto */
   .footer-contact {
       font-size: 14px;
       line-height: 1.6;
       font-family: 'Open Sans', sans-serif;
   }

   .footer-contact .iconify {
       color: var(--blue, #16708e);
       margin-right: 6px;
       font-size: 18px;
       vertical-align: middle;
   }

   .footer-contact a {
       color: #000;
       text-decoration: none;
       transition: color 0.3s ease;
   }

   .footer-contact a:hover {
       color: var(--blue, #16708e);
   }

   /* Redes */
   .footer-social a {
       color: #000;
       margin: 0 8px;
       font-size: 26px;
       transition: color 0.3s ease;
   }

   .footer-social a:hover {
       color: var(--blue, #16708e);
   }

   /* Enlaces */
   .footer-links {
       margin-top: 25px;
       font-size: 14px;
       font-family: 'Open Sans', sans-serif;
   }

   .footer-links a {
       color: #000;
       text-decoration: none;
       transition: color 0.3s ease;
       font-weight: 500;
   }

   .footer-links a:hover {
       color: var(--blue, #16708e);
   }

   /* Legal */
   .footer-legal {
       font-size: 12px;
       color: #000;
       line-height: 1.6;
       max-width: 800px;
       margin: 0 auto;
       font-family: 'Open Sans', sans-serif;
   }

   /* Responsivo */
   @media (max-width: 767.98px) {
       .footer {
           text-align: center;
       }

       .footer-logo,
       .footer-contact,
       .footer-social {
           text-align: center !important;
       }
   }

   /* -----------------------------------------
   DETALLES DE PRODUCTO - PAGINA DE PRODUCTO
--------------------------------------------*/
   .product-info-section {
       position: relative;
       overflow: hidden;
       margin-top: 50px;
   }

   .product-title {
       font-size: 2rem;
       font-weight: 700;
   }

   .product-subtitle {
       font-size: 1.1rem;
       font-weight: 700;
       color: var(--blue, #16708e);
       text-transform: uppercase;
       letter-spacing: 1px;
   }


   /* Imagen */
   .product-info-section img {
       border-radius: 10px;
       transition: transform 0.5s ease, filter 0.5s ease;
       filter: brightness(0.95);
   }

   .product-info-section img:hover {
       transform: scale(1.03);
       filter: brightness(1);
   }

   /* Responsivo */
   @media (max-width: 991.98px) {
       .product-info-section {
           text-align: center;
       }

       .product-title {
           font-size: 1.8rem;
       }
   }

   /* -----------------------------------------
   COLLAGE IMAGENES DE PRODUCTO
--------------------------------------------*/
   .image-collage {
       overflow: hidden;
       position: relative;
   }

   .image-grid {
       display: flex;
       align-items: stretch;
       justify-content: center;
       gap: 12px;
       padding: 0 12px;
   }

   .image-main {
       flex: 1 1 55%;
   }

   .image-side {
       flex: 1 1 40%;
       display: flex;
       flex-direction: column;
       gap: 12px;
   }

   /* Ítems */
   .image-item {
       overflow: hidden;
       position: relative;
   }

   /* Unifica estilos para IMG y VIDEO */
   .image-item img,
   .image-item video {
       display: block;
       width: 100%;
       height: 100%;
       object-fit: cover;
       /* recorte elegante */
       transition: transform 1.2s ease, filter 0.8s ease;
       filter: brightness(0.9);
       border: 0;
   }

   /* Hover */
   .image-item:hover img,
   .image-item:hover video {
       transform: scale(1.05);
       filter: brightness(1);
   }

   /* Animación AOS */
   [data-aos="fade-up"] {
       opacity: 0;
       transform: translateY(30px);
       transition: opacity .8s ease, transform .8s ease;
   }

   [data-aos="fade-up"].aos-animate {
       opacity: 1;
       transform: translateY(0);
   }

   /* Responsivo */
   @media (max-width: 991.98px) {
       .image-grid {
           flex-direction: column;
       }

       .image-side {
           flex-direction: column;
       }
   }

   /* Ajuste para cuando haya 3 elementos */
   .image-side.three-columns {
       display: grid;
       grid-template-columns: repeat(3, 1fr);
       gap: 12px;
   }

   /* Asegurar mismo estilo en imágenes y videos */
   .image-side.three-columns .image-item img,
   .image-side.three-columns .image-item video {
       width: 100%;
       height: 100%;
       object-fit: cover;
   }

   /* Responsivo */
   @media (max-width: 991.98px) {
       .image-side.three-columns {
           grid-template-columns: 1fr;
       }
   }



   /*ABOUT*/

   /* Espaciado extra para pantallas grandes */
   @media (min-width: 992px) {
       .py-lg-6 {
           padding-top: 5rem;
           padding-bottom: 5rem;
       }
   }


   /* --- SECCIÓN TABS ELEGANTE CLARA --- */
   .notes-tabs-light {
       background-color: #fff;
       color: #222;
   }

   /* Tabs */
   .notes-tabs-light .nav-tabs {
       border-bottom: 1px solid #ddd;
       gap: 1.5rem;
       flex-wrap: wrap;
   }

   .notes-tabs-light .nav-tabs .nav-link {
       border: none;
       border-bottom: 2px solid transparent;
       color: #555;
       background: none;
       font-weight: 600;
       text-transform: uppercase;
       letter-spacing: 0.08em;
       font-size: 0.95rem;
       transition: all 0.25s ease;
       padding: 0.75rem 0;
   }

   .notes-tabs-light .nav-tabs .nav-link:hover {
       color: #000;
       border-color: #e1e1e1;
   }

   .notes-tabs-light .nav-tabs .nav-link.active {
       color: #cfa65a;
       /* blue sutil */
       border-color: #cfa65a;
   }

   /* Texto de cada tab */
   .note-text {
       color: #333;
       max-width: 650px;
       line-height: 1.8;
       animation: fadeUp 0.4s ease;
   }

   @keyframes fadeUp {
       from {
           opacity: 0;
           transform: translateY(6px);
       }

       to {
           opacity: 1;
           transform: translateY(0);
       }
   }

   /* Responsivo */
   @media (max-width: 768px) {
       .notes-tabs-light .nav-tabs {
           gap: 1rem;
           justify-content: flex-start;
           overflow-x: auto;
           white-space: nowrap;
           scrollbar-width: none;
       }

       .notes-tabs-light .nav-tabs::-webkit-scrollbar {
           display: none;
       }

       .notes-tabs-light .nav-tabs .nav-link {
           font-size: 0.9rem;
           padding: 0.5rem 0;
       }
   }




   /* -----------------------------------------
   MODAL DE AGE
--------------------------------------------*/
   /* MODAL AGE */
   /* Cerrado por defecto */
   .age-modal {
       position: fixed;
       inset: 0;
       background: rgba(0, 0, 0, 0.90);
       display: none;
       /* <--- oculto */
       align-items: center;
       justify-content: center;
       z-index: 999999;
   }

   /* Abierto */
   .age-modal.is-open {
       display: flex;
       /* <--- visible solo al abrir */
   }

   /* Solo bloquea scroll cuando el modal está abierto */
   body.agegate-open {
       overflow: hidden;
   }

   /* Resto de tus estilos igual */
   .age-modal-content {
       background: #fff;
       padding: 2.5rem 3rem;
       text-align: center;
       box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
       max-width: 400px;
       width: 90%;
   }

   .age-modal-content h2 {
       font-size: 1.5rem;
       margin-bottom: 1.5rem;
       color: #222;
   }

   .age-buttons {
       display: flex;
       justify-content: space-around;
       gap: 1rem;
   }

   .age-buttons button {
       flex: 1;
       padding: 0.8rem;
       border: none;
       font-size: 1rem;
       cursor: pointer;
       transition: all 0.3s ease;
   }

   #btnYes {
       background: var(--blue);
       color: #fff;
   }

   #btnYes:hover {
       background: var(--blue);
   }

   #btnNo {
       background: #ccc;
       color: #222;
   }

   #btnNo:hover {
       background: #999;
       color: #fff;
   }


   /* -----------------------------------------
   MODAL DE MEMBERS
--------------------------------------------*/

   .modal-content {
       background: #fff;
       border-radius: 1rem;
   }

   .modal-header {
       background: linear-gradient(135deg, #248ED8, #1e40af);
   }

   .form-control:focus {
       border-color: #0d6efd;
       box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, .25);
   }

   /* -----------------------------------------
   MODAL DE NEWSLETTER
--------------------------------------------*/

   /* Overlay */
   .nl-overlay {
       position: fixed;
       inset: 0;
       display: none;
       /* toggled to flex */
       align-items: center;
       justify-content: center;
       background: rgba(0, 0, 0, .5);
       backdrop-filter: blur(6px);
       z-index: 9999;
   }

   .nl-overlay.is-open {
       display: flex;
   }

   /* Dialog */
   .nl-dialog {
       width: min(92vw, 560px);
       border-radius: 16px;
       background: #0f1117;
       /* elegante oscuro */
       color: #e8eaf0;
       border: 1px solid rgba(255, 255, 255, .08);
       box-shadow: 0 20px 60px rgba(0, 0, 0, .45);
       transform: translateY(12px) scale(.98);
       opacity: 0;
       transition: transform .35s ease, opacity .35s ease;
   }

   .nl-overlay.is-open .nl-dialog {
       transform: translateY(0) scale(1);
       opacity: 1;
   }

   @media (prefers-reduced-motion: reduce) {
       .nl-dialog {
           transition: none;
       }
   }

   .nl-content {
       padding: 28px;
   }

   .nl-close {
       position: absolute;
       top: 10px;
       right: 12px;
       font-size: 28px;
       line-height: 1;
       border: 0;
       background: transparent;
       color: #c9ceda;
       cursor: pointer;
   }

   .nl-close:hover {
       color: #fff;
   }

   .nl-content h2 {
       margin: 0 0 10px;
       font-size: 1.6rem;
       letter-spacing: .2px;
   }

   .nl-content p {
       margin: 0 0 18px;
       color: #c9ceda;
   }