 /* FUENTE GLOBAL DEL SITIO */
 :root {
  --header-altura: 160px; /* logo + nav */
  --color-primario: #102d33;
      --color-acento: #164551;
      --gris-suave: #f4f4f4;
      --texto: #2c2c2c;
}

    /* ---------------- HERO NUEVO ---------------- */
    .contenedor {
      width: 90%;
      max-width: 1200px;
      margin: 0 auto;
      animation: fadeIn 1.2s ease;
    }

    /* BLOQUE DE CONTENIDO */
    .bloque {
      background: var(--gris-suave);
      padding: 30px;
      border-radius: 18px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      align-items: center;
      width: 100%;
      margin: 0 auto 70px;
      box-shadow: 0 5px 12px rgba(0,0,0,0.15);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .bloque:hover {
      transform: translateY(-6px);
      box-shadow: 0 10px 22px rgba(0,0,0,0.25);
    }

    .bloque img {
      width: 100%;
      height: 500px;
      object-fit: cover;
      border-radius: 16px;
      box-shadow: 0 4px 10px rgba(0,0,0,0.2);
      transition: transform .3s ease;
    }

    .bloque img:hover {
      transform: scale(1.03);
    }

    /* RESPONSIVE */
    @media (max-width: 900px) {
      .bloque {
        grid-template-columns: 1fr;
        text-align: center;
      }

      .bloque img {
        height: 280px;
      }
    }



/* ===============================================
   🟢 AJUSTE GLOBAL DE SECCIONES
   =============================================== */
.story-content {
  text-align: left !important;
}

.story-content h3 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 18px;
}

.story-content p {
  margin-bottom: 18px;
  line-height: 1.6;
}

.icon-text h5 {
  margin-top: 20px !important;
  margin-bottom: 12px !important;
  font-size: 1.2rem;
}

ul li {
  margin-bottom: 10px;
}


/* ================= HERO ================= */

    /* ORDEN DE IMAGEN Y TEXTO */
    .bloque.izquierda img { order: 1; }
    .bloque.izquierda .story-content { order: 2; }

    .bloque.derecha img { order: 2; }
    .bloque.derecha .story-content { order: 1; }

    /* TEXTOS */
    .story-content h3 {
      font-size: 1.5rem;
      font-weight: 700;
      color: var(--color-acento);
      margin: 0 0 10px;
    }

    .story-content h4 {
      font-size: 1.1rem;
      font-weight: 300;
      color: #454545;
      margin-bottom: 8px;
      letter-spacing: 0.5px;
    }

    .story-content h5 {
      color: #104c5b;
      font-weight: 100;
      font-size: 1.1rem;
      margin-top: 15px;
    }

    .story-content p {
      line-height: 1.6;
      color: #333;
      margin-bottom: 12px;
    }

    .icon-text i {
      color: var(--color-acento);
      margin-right: 8px;
    }

    ul { list-style: none; padding: 0; }
    ul li { margin-bottom: 8px; }

    /* SUB-LISTA */
    .sub-lista {
      list-style: disc;
      margin-left: 24px;
      padding-left: 6px;
    }

    /* TÍTULOS */
    .encabezado-tradicion { margin-bottom: 30px; }

    .etiqueta-tradicion {
      background: #e8e8e8;
      padding: 6px 18px;
      border-radius: 20px;
      font-size: 0.9rem;
      color: #418aa5d3;
      font-weight: 600;
      display: inline-block;
      margin-bottom: 8px;
   
    }

    .titulo-tradicion {
      font-size: 1.8rem;
      font-weight: 700;
      margin: 0;
      display: flex;
      gap: 8px;
      font-family: sans-serif;
    }

    .t-black { color: #0d2c37; }
    .t-blue { color: #357e90; }

    /* LÍNEA ELEGANTE (VERSIÓN CORTA) */
 .linea-titulo {
  width: 180px;
  max-width: 100%;
  height: 4px;
  background: linear-gradient(to right, #0d2c37, #08a4cc);
  border-radius: 4px;
  margin-top: 6px;
}

 /* --- CONSEJO BOX PREMIUM AZUL (VERSIÓN MÁS PEQUEÑA Y LARGA) --- */
.consejo-box {
  padding: 12px 16px;            /* MÁS PEQUEÑO */
  background: #f9f9f9;
  border-radius: 12px;

  /* Bordes asimétricos */
  border-left: 7px solid #0a4561;   /* azul fuerte grueso */
  border-right: 3px solid #6fb7de;  /* azul claro delgado */

  max-width: 320px;              /* MÁS LARGO */
  width: 100%;                   /* SE EXTIENDE HORIZONTAL */
  margin-top: 18px;
  margin-left: auto;
margin-right: 0;

}

/* HEADER MÁS PEQUEÑO */
.consejo-header {
  display: flex;
  align-items: center;
  gap: 8px;                      /* MENOS ESPACIO */
  margin-bottom: 8px;
}

.consejo-header i {
  font-size: 1.1rem;             /* ICONO MÁS PEQUEÑO */
  color: #0a4561;
}

.consejo-header span {
  font-size: 1rem;               /* TEXTO MÁS PEQUEÑO */
  font-weight: 600;
  color: #0a4561;
  font-family: sans-serif;
}

/* LISTA MÁS FINA Y DELGADA */
.consejo-lista {
  margin: 0;
  padding-left: 20px;
  list-style: disc;
}

.consejo-lista li {
  font-family: sans-serif;
  font-size: 0.85rem;            /* MÁS PEQUEÑA */
  font-style: italic;
  font-weight: 300;
  color: #11546c;
  margin-bottom: 5px;
}


/* ALINEACIÓN DERECHA DE TRADICIONES */

.titulo-principal,
.titulo-principal2 {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 30px auto;
  padding: 0 20px;
}



.encabezado-tradicion {
  display: flex;
  flex-direction: column;
  width: fit-content;
}



/* INTRODUCCIÓN GENERAL ESTILIZADA */
.intro-tradiciones {
  max-width: 900px;
  margin: 70px auto 90px auto;
  text-align: center;
  padding: 30px 30px 50px;
  background: #ffffffee;
  border-radius: 18px;

  position: relative;
  overflow: hidden;
}


/* TÍTULO */
.intro-tradiciones h2 {
  font-size: 2.2rem;
  font-weight: 700;
  color: #1f4c57;
  margin-bottom: 20px;
}

/* PÁRRAFOS */
.intro-tradiciones p {
  font-size: 1.2rem;
  line-height: 1.7;
  color: #093956;
  margin-bottom: 18px;
}



/* Asegúrate de que este bloque esté solo una vez y al final del archivo */
.intro-tradiciones {
  max-width: 900px;
  margin: 40px auto 60px auto; /* menos espacio debajo (12px) */
  text-align: center;
  padding: 24px 24px 28px; /* más compacto */
  background: #ffffffee;
  border-radius: 18px;
  position: relative;
  overflow: hidden;
}

/* ANIMACIÓN SUAVE DE APARICIÓN */
.fade-up {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 0.9s ease-out forwards;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-box {
  max-width: 1200px;
  margin: 80px auto;
  padding: 70px 40px;
  border-radius: 30px;

  background: linear-gradient(
    135deg,
    #5a5a5a,
    #3f4f52
  );

  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.btn {
  padding: 14px 32px;
  border-radius: 40px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
}

/* Botón blanco */
.btn-light {
  background: white;
  color: #555;
}

.btn-light:hover {
  background: #f0f0f0;
}

/* Botón con borde */
.btn-outline {
  border: 2px solid white;
  color: white;
}

.btn-outline:hover {
  background: white;
  color: #444;
}


/* ==================== RESPONSIVE MOBILE ==================== */
@media (max-width: 768px) {

  /* INTRO TITULO */
  .intro-content h2 {
    font-size: 1.7rem !important;
  }


  .intro-content p {
    font-size: 1rem;
  }

  /* CONTENIDO HISTORIA */
  .story-content h3 {
    font-size: 1.4rem !important;
  }

  .story-content h4 {
    font-size: 1.1rem;
  }

  .story-content p {
    font-size: 0.95rem;
    text-align: justify;
  }

  /* IMÁGENES */
  .hero-image img {
    border-radius: 16px;
    margin-bottom: 15px;
  }

  /* CAJAS MISION */
  .mission-box {
    flex-direction: row;
    gap: 12px;
    padding: 12px;
  }

  .mission-text h4 {
    font-size: 14px;
  }

  .mission-text p {
    font-size: 13px;
  }

  /* TARJETAS */
  .feature-card {
    height: 220px;
  }

  .feature-front .front-text h4 {
    font-size: 15px;
  }

  .feature-front .front-text p {
    font-size: 13px;
  }

  .feature-back ul {
    padding-left: 16px;
  }

  .feature-back li {
    font-size: 13px;
    margin-bottom: 6px;
  }

  /* SECCIONES GRIS */
  .section-gray {
    padding: 40px 15px !important;
  }

  /* CTA FINAL */
  .cta-content h3 {
    font-size: 1.4rem;
  }

  .cta-content p {
    font-size: 0.95rem;
  }

  .cta-buttons {
    flex-direction: column;
    gap: 12px;
  }

  /* FOOTER */
  .footer h4 {
    font-size: 1.1rem;
  }

  .footer p {
    font-size: 0.9rem;
  }

  .footer-links ul li a {
    font-size: 0.9rem;
  }

}



/* ==================== RESPONSIVE MOBILE ==================== */

* {
  box-sizing: border-box;
 
}

body {
  margin: 0;
  background: #fff;
}
/* FORZAR TEXTO BLANCO EN CTA */
.cta-box h2,
.cta-box p {
  color: #ffffff !important;
}

/* Contenedor general */
.cta-wrapper {
  padding: 60px 20px;
}

/* Recuadro principal */
.cta-box {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 50px;
  border-radius: 32px;

  background: linear-gradient(
    135deg,
    #6b6b6b 0%,
    #3f5458 100%
  );

  color: #fff;
  text-align: center;
}

/* Título */
.cta-box h2 {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 15px;
}

/* Texto */
.cta-box p {
  font-size: 1.3rem;
  max-width: 1000px;
  margin: 0 auto 35px;
  opacity: 0.95;
  text-align: center;
}



/* Responsive */
@media (max-width: 768px) {
  .cta-box {
    padding: 45px 25px;
  }

  .cta-box h2 {
    font-size: 1.6rem;
  }
}

@media (max-width: 576px) {
  .cta-buttons {
    flex-direction: column;
  }
}



/* =========================
   🔵 FIX RESPONSIVE GLOBAL
   ========================= */
@media (max-width: 768px) {

  body {
    overflow-x: hidden;
  }


  /* CONTENEDOR GENERAL */
  .contenedor {
    width: 92%;
  }

  /* BLOQUES DE TRADICIÓN */
  .bloque {
    grid-template-columns: 1fr !important;
    padding: 20px;
    gap: 20px;
    text-align: center;
  }

  .bloque img {
    height: 260px;
  }

  .story-content {
    text-align: left;
  }

  .story-content h3 {
    font-size: 1.3rem;
  }

  .story-content h4 {
    font-size: 1rem;
  }

  .story-content p {
    font-size: 0.95rem;
    line-height: 1.6;
  }

  /* TÍTULOS DE SECCIÓN */
  .titulo-tradicion {
    font-size: 1.4rem;
    flex-wrap: wrap;
  }

  .linea-titulo {
    width: 120px;
  }

  /* INTRODUCCIÓN */
  .intro-tradiciones {
    padding: 20px;
    margin: 40px auto;
  }

  .intro-tradiciones h2 {
    font-size: 1.6rem;
  }

  .intro-tradiciones p {
    font-size: 0.95rem;
  }

  /* CONSEJO BOX */
  .consejo-box {
    max-width: 100%;
    margin-left: 0;
  }

  /* CTA FINAL */
  .cta-wrapper {
    padding: 40px 16px;
  }

  .cta-box {
    padding: 40px 20px;
  }

  .cta-box h2 {
    font-size: 1.5rem;
    line-height: 1.3;
  }

  .cta-box p {
    font-size: 0.95rem;
  }

  .cta-buttons {
    flex-direction: column !important;
    gap: 12px;
  }

  .cta-buttons .btn {
    width: 100%;
    max-width: 280px;
  }


}

/* ===== BOTÓN HAMBURGUESA ===== */
.menu-btn {
  position: fixed;
  top: 22px;
  right: 20px;
  z-index: 1200;
  background: none;
  border: none;
  font-size: 2.2rem;
  color: #000;
  display: none;
}

/* ===============================
   ESCALA GLOBAL (COMO 90% ZOOM)
   =============================== */

body{
  zoom: 0.9;
}

/* En celulares mejor no reducir tanto */
@media (max-width: 768px){
  body{
    zoom: 1;
  }
}