 
        /* Paleta de Colores y Tipografía */
        :root {
            --color-bg: #f9f9f9; /* Crema */
            --color-green: #dba400; /* Verde principal */
            --color-red: #6e6ab9; /* Rojo principal */
            --color-text: #333;
            --color-light: #fff;
            --bs-nav-link-color:#000;
        }
        .pilsener-pie{
background: #ffcf40;
}

.ads{ 
    width: 300px;
    margin: 0 auto; 
    color: #000;
    padding: 15PX;
}



.nav-link {
    color: #0b151a;
    font-weight: 600;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    transition: background-color 0.2s ease, transform 0.15s ease;
}
.navbar-custom .nav-link:hover {
    background-color: #000000;
    transform: translateY(-1px);
   color: #ffd351;
}
.navbar-custom .nav-link:focus {
    outline: none;
    box-shadow: 0 0 0 .2rem rgb(0 0 0 / 25%);
}

        .badge{
    background-color: #e364bc;
    position: absolute;
    display: ruby;
    padding: 5px !important;
    margin: 15px;
    z-index: 9999;
}
 
 @media (min-width: 992px) {
    .justify-content-lg-start
 
 {
        justify-content: flex-start !important;
        align-items: anchor-center;
    }
}

        .btn-ver-mas-pesebre {
    margin-top: 1rem;
}

         .elcomerciocom{
    background-color: rgb(36 156 216) !important; 
         }

         .blanco {
    filter: invert(1) brightness(2);
}

.nav-item{
    /*margin: 2px;
    border: 2px solid #000000;*/
    border-radius: 18px;
    color: #000;

}

        html {
            scroll-behavior: smooth; /* scroll animado entre secciones */
        }

        body {
            background-color: var(--color-bg);
            color: var(--color-text);
            font-family: Arial, sans-serif;
            overflow-x: hidden;
        }

        .merriweather {
            font-family: 'Merriweather', serif;
        }

        /* --------------------------- */
        /* 1. Decoraciones Navideñas (CSS & JS) */
        /* --------------------------- */
        .bgfondo {
            background: linear-gradient(180deg, var(--color-bg) 0%, #fff 100%);
            position: relative; 
              overflow-x: hidden;
              overflow-y: auto; 
        }
        
        .bgfondo {
          overflow: auto;
        }

        
        /* Snow effect (pure CSS simulation) */
       .snow-container { 
        display: none; 
         }

        .snowflake {
            position: absolute;
            width: 10px;
            height: 10px;
            background: white;
            border-radius: 50%;
            opacity: 0.8;
            animation: fall linear infinite;
        }
        
        @keyframes fall {
            0% { transform: translateY(-10vh); opacity: 0; }
            100% { transform: translateY(100vh); opacity: 1; }
        }

        /* Nav y Titular */
        .navbar-custom {
           background: linear-gradient(90deg, #ffc107, #ffd65c);
            border-bottom: 1px solid rgba(0, 0, 0, 0.08);
            backdrop-filter: blur(8px);
}
        .navbar-brand {
            color: var(--color-light) !important;
            font-weight: bold;
        }
        
        /* Estilo del Header Intro mejorado */
        #intro {
            background: radial-gradient(circle at top, rgb(88 76 78 / 20%) 0%, rgba(249, 249, 249, 0) 70%);
        }
        .main-title {
            color: var(--color-green);
            font-weight: 900;
        }

        /* --------------------------- */
        /* Animación entre secciones (fade + slide) */
        /* --------------------------- */
        .section-animate {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.6s ease-out, transform 0.6s ease-out;
        }

        .section-animate.visible {
            opacity: 1;
            transform: translateY(0);
        }

        /* --------------------------- */
        /* 2. Flip Card (Historias y Fotos) */
        /* --------------------------- */
        .flip-card-container {
            perspective: 1000px;
            height: 300px;
            cursor: pointer;
        }
        .flip-card {
            width: 100%;
            height: 100%;
            transition: transform 0.8s;
            transform-style: preserve-3d;
            position: relative;
        }
        .flip-card-container:hover .flip-card,
        .flip-card-container.flipped .flip-card {
            transform: rotateY(180deg);
        }
        .flip-card-front, .flip-card-back {
            position: absolute;
            width: 100%;
            height: 100%;
            backface-visibility: hidden;
            border-radius: 12px;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        }
        .flip-card-front {
            background-color: var(--color-light);
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }
        .flip-card-back {
            background-color: #dba400;
            color: var(--color-light);
            transform: rotateY(180deg);
           padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
        .flip-card-front img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 12px;
        }
        .flip-card-corner-btn {
           position: absolute;
              top: 10px;
              right: 200px;
              width: 25px;
              height: 25px;
              border-radius: 50%;
              background-color: var(--color-green);
              color: var(--color-light);
              display: flex;
              align-items: center;
              justify-content: center;
              font-size: 1.5rem;
              z-index: 10;
        }

        /* --------------------------- */
        /* 3. Banda Sonora (Playlist) */
        /* --------------------------- */
        .playlist-card {
            background-color: var(--color-green);
            color: var(--color-light);
            border: none;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
        }
        .playlist-item {
            background-color: rgba(255, 255, 255, 0.1);
            margin-bottom: 5px;
            border-radius: 8px;
            transition: background-color 0.2s;
        }
        .playlist-item:hover, .playlist-item.active {
            background-color: rgba(245, 60, 87, 0.5); /* Hover Red */
        }
        .playlist-play-btn {
            color: var(--color-light);
            border: none;
            background: none;
            font-size: 1.2rem;
        }
        .playlist-play-btn:hover {
            color: #e364bc;
        }
        .playlist-cover-sm {
            width: 50px;
            height: 50px;
            object-fit: cover;
            border-radius: 6px;
            margin-right: 15px;
        }
        .current-cover-lg {
            width: 80px;
            height: 80px;
            object-fit: cover;
            border-radius: 8px;
            margin-right: 15px;
        }
        
        /* Wave/Equalizer Animation */
        .eq {
            display: flex;
            gap: 2px;
            align-items: flex-end;
            height: 20px;
            width: 60px;
        }
        .eq .bar {
            width: 4px;
            background: #e364bc;
            border-radius: 2px;
            height: 4px;
            opacity: 0.85;
        }
        .eq.playing .bar {
            animation: bounce 600ms infinite ease-in-out;
        }
        .eq.playing .bar:nth-child(2) { animation-delay: .1s; }
        .eq.playing .bar:nth-child(3) { animation-delay: .2s; }
        .eq.playing .bar:nth-child(4) { animation-delay: .3s; }
        .eq.playing .bar:nth-child(5) { animation-delay: .4s; }
        @keyframes bounce {
            0%, 100% { height: 4px; }
            50% { height: 20px; }
        }
        
        /* Karaoke */
        .karaoke-panel {
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 8px;
            height: 200px;
            overflow-y: auto;
            padding: 15px;
            margin-top: 15px;
            font-family: monospace;
            font-size: 1rem;
            line-height: 1.6;
        }
        .karaoke-panel p {
            margin-bottom: 0;
            transition: color 0.3s, font-weight 0.3s;
        }
        .karaoke-panel p.highlight {
            color: #e364bc;
            font-weight: bold;
            transform: scale(1.05);
        }

        /* --------------------------- */
        /* 4. Trivia */
        /* --------------------------- */
        .trivia-container {
            background-color: var(--color-light);
            border-radius: 12px;
            padding: 30px;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        }
        .trivia-option {
            cursor: pointer;
            transition: background-color 0.2s, transform 0.1s;
            border: 2px solid #ddd;
        }
        .trivia-option:hover {
            background-color: #f0f0f0;
            transform: translateY(-2px);
        }
        .trivia-option.correct {
            background-color: #d4edda;
            border-color: #007a5f;
            font-weight: bold;
        }
        .trivia-option.incorrect {
            background-color: #f8d7da;
            border-color: #f53c57;
            font-weight: bold;
        }
        .trivia-img {
            max-height: 250px;
            width: 100%;
            object-fit: cover;
            border-radius: 8px;
        }
        .trivia-title {
            color: #e364bc;
            font-weight: 700;
        }

        /* --------------------------- */
        /* Menú inferior móvil tipo app */
        /* --------------------------- */
        .mobile-bottom-nav {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            height: 64px;
            background-color: #ffffff;
            border-top: 1px solid #ddd;
            display: flex;
            justify-content: space-around;
            align-items: center;
            z-index: 1050;
            box-shadow: 0 -3px 10px rgba(0,0,0,0.08);
        }

        .mobile-nav-item {
            flex: 1;
            text-align: center;
            text-decoration: none;
            color: #777;
            font-size: 0.75rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 2px;
        }

        .mobile-nav-item i {
            font-size: 1.2rem;
        }

        .mobile-nav-item.active {
            color: var(--color-green);
            font-weight: 600;
        }

        .mobile-nav-item.active i {
            color: #e364bc;
        }

        /* --------------------------- */
        /* Responsive */
        /* --------------------------- */
        @media (max-width: 767.98px) {
            /* Ocultar navbar superior en móvil para dejar solo el menú inferior */

            .navbar-toggler{
              display: none;
            }

            body {
                padding-bottom: 72px; /* espacio para el menú inferior */
            }
        }

        @media (min-width: 768px) {
            /* Ocultar menú inferior en pantallas más grandes */
            .mobile-bottom-nav {
                display: none;
            }
            /* centrar logo en movil  */
         


        }

        .nav-item { 
    width: auto;
}
.navbar-custom .nav-item + .nav-item {
    margin-left: .35rem;
}

@media (max-width: 480px) {
  /* móviles pequeños */
     .sticky-top {
           text-align: center;
            }

     .w-25 {
    width: 40% !important;   
         }

         .trivia-img {
    max-height: 170px;
    width: 100%;
    object-fit: cover;
    border-radius: 8px;
}




}
     
/* 1. Fondo Oscuro para la Sección */
.section-navidad {
    background-color: #fff; /* Un color muy oscuro o negro */
    color: #f8f9fa; /* Color de texto claro */
    padding-top: 1rem !important;
    padding-bottom: 3rem !important;
  padding-left: 15%;
    padding-right: 15%;
}

/* 2. Etiqueta Pequeña Arriba */
.etiqueta-especial {
   color: #026f57;
    font-size: 0.8rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    display: inline-block;
    padding: 0.25rem 0.5rem;
    background-color: rgb(7 109 255 / 10%);
    border-radius: 4px;
}

/* 3. Título Principal */
.main-title {
    font-size: 3rem; /* Ajusta según el tamaño de pantalla */
    font-weight: 700;
    line-height: 1.1;
}

/* 4. Texto Secundario (Lead) */
.lead {
    color: #adb5bd; /* Gris claro para el texto secundario */
}

/* 5. Botón Principal (Verde) */
.btn-principal-navidad {
    background-color: #1abc9c; /* Un verde vibrante */
    border-color: #1abc9c;
    color: #0b151a; /* Texto oscuro en el botón */
    font-weight: 700;
    padding: 0.75rem 1.5rem;
    border-radius: 8px; /* Bordes ligeramente redondeados */
    text-transform: uppercase;
    transition: background-color 0.3s ease;
}
.btn-principal-navidad:hover {
    background-color: #16a085;
    border-color: #16a085;
    color: #0b151a;
}

/* 6. Enlace Secundario */
.btn-secundario-navidad {
    color: #1abc9c; /* Mismo color verde que el botón principal */
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
}
.btn-secundario-navidad:hover {
    color: #16a085;
    text-decoration: underline;
}

/* 7. Texto Inferior Pequeño */
.texto-secundario {
    font-size: 0.9rem;
    color: #6c757d;
    margin-top: 1.5rem;
}

/* Opcional: Para simular el gráfico si no usas una imagen real */
 
    .grafico-arbol-navidad {
    width: 400px;
    height: 450px;
    background-size: cover;
    background-image: url(img/navidad-home.webp);
    border-radius: 12px;
    position: relative;
}
 
 .main-title span {
    background: linear-gradient(120deg, var(--ec-amarillo), var(--ec-rojo));
    -webkit-background-clip: text;
    color: transparent;
}

  :root {
      --ec-blanco: #f9f9f9;
      --ec-crema: #f7ebda;
      --ec-verde: #007a5f;
      --ec-amarillo: #fbc02d;
      --ec-rojo: #f53c57;
      --ec-texto: #1f2933;
      --ec-bg-oscuro: #0f172a;
      --radius-xl: 1.5rem;
      --shadow-soft: 0 16px 40px rgba(15, 23, 42, 0.2);
    }

/* ========================================= */
/* SLIDER HORIZONTAL PARA STORIES Y TU FOTO  */
/* ========================================= */

.cards-slider {
    display: flex;                /* ya es flex por .row, pero lo reforzamos */
    flex-wrap: nowrap !important; /* NO permite salto de fila */
    overflow-x: auto;             /* scroll horizontal */
    overflow-y: visible;
    gap: 1.5rem;                  /* separación entre tarjetas */
    padding-bottom: 4rem;
    padding-top: 4rem;
    scroll-snap-type: x mandatory; /* alineación suave por tarjeta */
    -webkit-overflow-scrolling: touch; /* scroll suave en mobile */
}

/* Scrollbar más discreto en desktop */
.cards-slider::-webkit-scrollbar {
    height: 8px;
}
.cards-slider::-webkit-scrollbar-track {
    background: rgba(0,0,0,0.05);
}
.cards-slider::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.25);
    border-radius: 4px;
}

/* Cada .col se comporta como un “slide” */
.cards-slider > .col {
    scroll-snap-align: start;
    flex: 0 0 calc(25% - 1rem);   /* ≈ 4 tarjetas completas por vista en desktop */
    max-width: calc(25% - 1rem);
}

/* Tablet: puedes mostrar 2 por vista si quieres que respiren mejor */
@media (max-width: 991.98px) {
    .cards-slider > .col {
        flex: 0 0 calc(33.333% - 1rem); /* 3 visibles aprox */
        max-width: calc(33.333% - 1rem);
    }
}

/* Mobile: 1 tarjeta completa + media tarjeta a la derecha */
@media (max-width: 767.98px) {
    .cards-slider {
        padding-left: 1rem; /* margen lateral para que no quede pegado */
    }

    .cards-slider > .col {
        flex: 0 0 80%;   /* 80% del ancho visible → se ve una completa y un pedacito de la siguiente */
        max-width: 80%;
    }
}

/* Estilos necesarios para el Carrusel con Fade */
.grafico-felino {
    /* Contenedor principal que define el tamaño visible */
    max-width: 500px; /* Ajusta el ancho máximo según tu diseño */
    width: 100%;
    /* Altura fija o relativa si todas las imágenes tienen el mismo aspect ratio */
    padding-top: 100%; /* Ejemplo: si quieres una imagen cuadrada (1:1) */
    position: relative; 
    overflow: hidden;
}

.minchisfelices {
    /* Estilos base para todas las diapositivas */
    position: absolute; /* Superpone las imágenes */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0; /* Oculta todas las diapositivas inicialmente */
    
    /* ESTO GENERA EL FADE: transición suave de 0.5 segundos */
    transition: opacity 0.5s ease-in-out; 
}

.minchisfelices.active {
    /* Muestra la diapositiva activa */
    opacity: 1; 
}

.minchisfelices img {
    /* Asegura que la imagen ocupe todo el espacio de su contenedor */
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ajusta la imagen sin distorsionarla y cubriendo el área */
    display: block;
    border-radius: 8px; /* Opcional */
}

.banner {
  display: flex;
  justify-content: center;
}

/* PC / Desktop */
.banner img {
  width: 728px;
  height: 90px;
}

/* Móvil */
@media (max-width: 768px) {
  .banner img {
    content: url("../img/banner-320x100.png");
    width: 320px;
    height: 100px;
  }
}

/* ADS LATERALES */
.adslaterales{
  position: fixed;
  top: 120px;              /* ajusta según tu header */
  width: 160px;            /* típico 160x600 */
  z-index: 999;
}

#adslaterales_left{
  left: 16px;
}

#adslaterales_right{
  right: 16px;
}

.adslaterales a, .adslaterales img{
display: block;
    width: 85%;
    height: auto;
}

/* Ocultar en móvil (y en pantallas pequeñas) */
@media (max-width: 991.98px){
  .adslaterales{ display: none !important; }
}

/* Opcional: ocultar también si la ventana es demasiado angosta para el contenido */
@media (max-width: 1200px){
  .adslaterales{ display: none !important; }
}
@media (min-width: 1200px){
  .container{
    max-width: 1140px; /* el de Bootstrap */
  }
}

.top-bar {
    background: #2c9bd6;
    padding: 6px 0;
}

section[id] {
  scroll-margin-top: 120px; /* navbar (110px) + aire */
}

@media (max-width: 767.98px) {
  .navbar-custom {
    height: auto;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}
