/* SECCION DE INICIO */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

section {
  scroll-margin-top: 100px; /* altura del header */
}

html {
  scroll-behavior: smooth;
}

html, body {
  overflow-x: hidden;
  max-width: 100%;
}

body {
  font-family: 'Poppins', sans-serif;
  color: #fff;
}

/* HEADER */
.header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  background: rgba(20, 20, 20, 0.9);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.header__container {
  max-width: 1800px; /* antes 1200 */
  margin: auto;
  padding: 17px 40px; /* MÁS ESPACIO */
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* LOGO */
.header__brand {
  display: flex;
  align-items: center;
  gap: 14px; /* más separación logo-texto */
}

.header__logo {
  width: 60px;
  height: 60px;
  border-radius: 50%; /* refuerza el círculo */
}

.header__name {
  font-weight: 900;
  letter-spacing: 3px; /* más elegante */
  font-size: 16px;
  font-family: 'Cinzel', serif;
}

/* NAV */
.header__nav {
  display: flex;
  align-items: center;
  gap: 25px; /* 👈 MÁS ESPACIO ENTRE SECCIONES */
}

.header__nav a {
  text-decoration: none;
  color: #ffffff;
  font-size: 14px;
  letter-spacing: 0px;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 6px;
  font-weight: 510;
}

.header__nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: #E1062C;
  transition: width 0.3s ease;
}

.header__nav a:hover::after,
.header__nav a.active::after {
  width: 100%;
}

.header__nav a.active {
  color: #dc2c2c;
  font-weight: 900;
}


.hero {
  height: 100vh;
  position: relative;
  display: flex;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.hero__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
}


/* OVERLAY */
.hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.105);
  z-index: 1;
}

/* CONTENIDO */
.hero__content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  padding: 0 20px;
}

.hero__content h1 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 20px;
}

.hero__content p {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 32px;
  color: #f1f1f1;
}

/* BOTÓN */
.hero__btn {
  display: inline-block;
  padding: 14px 34px;
  background: #E1062C;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  border-radius: 30px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hero__btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px rgba(225, 6, 44, 0.4);
}

.menu-toggle {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background: white;
  margin: 5px 0;
}


@media (max-width: 768px) {

@media (max-width: 768px) {
  .header__container {
    padding: 16px 20px;
  }
}
  /* Mostrar hamburguesa */
  .menu-toggle {
    display: block;
  }

  /* Ocultar menú por defecto */
  .header__nav {
    position: absolute;
    top: 64px;
    right: 20px;
    background: rgba(0, 0, 0, 0.087);
    width: 220px;
    padding: 20px;
    display: none;
    flex-direction: column;
    gap: 16px;
  }

  /* Menú visible */
  .header__nav.active {
    display: flex;
  }

  .header__nav a {
    font-size: 14px;
  }
}



/* RESPONSIVE */
@media (max-width: 768px) {
  .header__nav {
    display: none;
  }

  .hero__content h1 {
    font-size: 34px;
  }

  .hero__content p {
    font-size: 16px;
  }
}


/* ESTADO INICIAL (oculto) */
.hero__content h1,
.hero__content p,
.hero__content .hero__btn {
  opacity: 0;
  transform: translateY(20px);
  animation-fill-mode: forwards;
}

/* ANIMACIONES */
.hero__content h1 {
  animation: fadeUp 0.8s ease-out 0.2s forwards;
}

.hero__content p {
  animation: fadeUp 0.8s ease-out 0.4s forwards;
}

.hero__content .hero__btn {
  animation: fadeUp 0.8s ease-out 0.6s forwards;
}

/* KEYFRAMES */
@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero__img {
  animation: heroZoom 8s ease-out forwards;
}

@keyframes heroZoom {
  from {
    transform: scale(1.10);
  }
  to {
    transform: scale(1);
  }
}


@media (max-width: 768px) {

  .menu-toggle {
    display: block;
    z-index: 1001;
  }

  /* PANEL MOBILE */
  .header__nav {
    position: fixed;
    top: 90px;                 /* debajo del header */
    left: 0;
    width: 100%;
    height: calc(100vh - 90px); /* ocupa TODO el resto */

    background-color: #1f1f1f;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 32px 24px;
    gap: 12px;

    /* 🔥 animación */
    transform: translateY(-20px);
    opacity: 0;
    pointer-events: none;

    transition:
      transform 0.45s ease,
      opacity 0.45s ease;

    box-sizing: border-box;
    overflow-y: auto;
    z-index: 1000;
  }

  /* MENÚ ABIERTO */
  .header__nav.active {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .header__nav a {
    font-size: 15px;
    font-weight: 600;
  }

  /* DROPDOWN */
  .nav-dropdown__menu {
    display: none;
    flex-direction: column;
    gap: 0px;
    padding-left: 16px;
  }

  .nav-dropdown.active .nav-dropdown__menu {
    display: flex;
  }
}









.menu-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease;
  z-index: 999;
}

.menu-overlay.active {
  opacity: 1;
  visibility: visible;
}



/* SECCION FOOTER*/

/* FOOTER */
.footer {
  position: relative;
  color: #fff;
  overflow: hidden;
}

.footer__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.footer__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.78);
  z-index: 1;
}

.footer__container {
  position: relative;
  z-index: 2; 
  max-width: 1200px;
  margin: auto;
  padding: 10px 20px 12px;
}

/* FRASE + REDES */
.footer__top {
  text-align: center;
  margin-bottom: 40px;
}

.footer__top p {
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.footer__social {
  display: flex;
  justify-content: center;
  gap: 22px;
}

.footer__social a {
  font-size: 22px;
  color: #fff;
  text-decoration: none;
  opacity: 0.85;
}

.footer__social a:hover {
  opacity: 1;
}

/* DIVISOR */
.footer__divider {
  border: none;
  border-top: 1px solid  #E1062C;
  margin-bottom: 50px;
}

/* COLUMNAS */
.footer__content {
  display: grid;
  grid-template-columns: 1.2fr 1fr; /* izquierda más ancha */
  gap: 450px;
  margin-bottom: 50px;
}

.footer__col h4 {
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

.footer__col p {
  font-size: 14px;
  line-height: 1.7;
  color: #e0e0e0;
  margin-bottom: 10px;
}

/* LINKS */
.footer__links {
  list-style: none;
  padding: 0;
  margin-bottom: 30px;
}

.footer__links li {
  margin-bottom: 10px;
}

.footer__links a {
  color: #e0e0e0;
  text-decoration: none;
  font-size: 14px;
}

.footer__links a:hover {
  text-decoration: underline;
}

/* BOTÓN CTA */
.footer__cta {
  display: inline-block;
  padding: 14px 28px;
  background: #E1062C;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  border-radius: 30px;
}

.footer__divider {
  border: none;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    #E1062C,
    transparent
  );
}

/* COPYRIGHT */
.footer__bottom {
  text-align: center;
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  border-top: 1px solid rgba(255,255,255,0.15);
  padding-top: 18px;
  margin-top: 0px;
}

.footer__social {
  display: flex;  
  justify-content: center;
  gap: 18px;
  margin-top: 20px;
}

.footer__social a {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.footer__social a:hover {
  background: #E1062C;
  border-color: #E1062C;
  transform: translateY(-2px);
}

.footer__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
  margin-top: 20px;
}

.footer__logo img {
  width: 70px;
  height: 70px;
  border-radius: 50%;
}


/* RESPONSIVE */
@media (max-width: 768px) {
  .footer__content {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .footer__cta {
    margin: auto;
  }
}










































/* ================= SECCION SOBRE NOSOTROS  ================= */

.about-hero {
  position: relative;
  height: 100vh;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  margin-bottom: 0;
}

/* Imagen */
.about-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

/* Overlay */
.about-hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.386);
  z-index: 1;
}

/* Contenido */
.about-hero__content {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1800px;
  margin: auto;
  padding: 0 40px 90px;
}

/* Título (MISMA TIPOGRAFÍA QUE LA WEB) */
.about-hero__title {
  font-family: 'Poppins', sans-serif; /* 👈 IMPORTANTE */
  font-size: 45px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #ffff;
  transition: all 0.8s ease;
  z-index: 4;
  position: relative;
  margin-bottom: 12px;
}

/* Animación activa */
.about-hero__title.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .about-hero__content {
    padding: 0 20px 70px;
  }

  .about-hero__title {
    font-size: 30px;
  }
}

/* META INFO HERO */
.about-hero__meta {
  margin-top: 14px;
  max-width: 550px;
}

.about-hero__meta span {
  font-size: 16px;
}

/* País en rojo */
.about-hero__country {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #E1062C;
  text-transform: uppercase;
  margin-bottom: 6px;
}

/* Texto descriptivo */
.about-hero__description {
  font-size: 16px;
  font-weight: 400;
  color: #f1f1f1;
  opacity: 0.9;
}

/* ANIMACIÓN GENERAL DE LA SECCIÓN */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.9s ease;
}

/* CUANDO ES VISIBLE */
.animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}







/*SECCION NUSETRA HISTORIA*/
/* ================= SECCIÓN WHY US ================= */
.why-us {
  background: #ffffff;
  padding: 60px 20px 100px;
  text-align: center;
  padding-top: 45px;
}

.why-us__header {
  max-width: 700px;
  margin: 0 auto 70px;
}

.why-us__header h2 {
  font-size: 32px;
  font-weight: 650;
  color: #1A1A1A;
  margin-bottom: 12px;  
}

.why-us__header p {
  font-size: 16px;
  color: #555;
}

/* GRID */
.why-us__grid {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px;
}

/* ITEM */
.why-us__item {
  max-width: 340px;
  margin: auto;
}

.why-us__icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 24px;
  border-radius: 50%;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.why-us__icon i {
  font-size: 26px;
  color: #E1062C;
}

.why-us__item p {
  font-size: 15px;
  line-height: 1.7;
  color: #555;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .why-us__grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }
}




/* ================= POR QUÉ ELEGIRNOS ================= */
.why-choose {
  background: #ffffff;
  padding: 100px 20px;
  padding-top: 20px;
}

.why-choose__header {
  max-width: 750px;
  margin: 0 auto 70px;
  text-align: center;
}

.why-choose__header h2 {
  font-size: 32px;
  font-weight: 650;
  color: #1A1A1A;
  margin-bottom: 14px;
}

.why-choose__header p {
  font-size: 16px;
  color: #555;
  line-height: 1.6;
}

/* GRID */
.why-choose__grid {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 70px 50px;
}

/* ITEM */
.why-choose__item {
  text-align: center;
  max-width: 320px;
  margin: auto;
}

.why-choose__icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 24px;
  border-radius: 50%;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.why-choose__icon i {
  font-size: 26px;
  color: #E1062C;
}

.why-choose__item h3 {
  font-size: 17px;
  font-weight: 800;
  color: #1A1A1A;
  margin-bottom: 12px;
}

.why-choose__item p {
  font-size: 15px;
  color: #555;
  line-height: 1.7;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .why-choose__grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }
}



/* ================= MISIÓN VISIÓN FILOSOFÍA ================= */
.mvf {
  background: #ffffff;
  padding: 80px 20px;
  padding-bottom: 20px;
}

.mvf__container {
  max-width: 1100px;
  margin: auto;
}

/* BLOQUE */
.mvf__block {
  margin-bottom: 70px;
}

/* TÍTULO */
.mvf__title {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.mvf__icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #E1062C;
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mvf__title h3 {
  font-size: 25px;
  font-weight: 800;
  color: #1A1A1A;
}

/* TEXTO */
.mvf__block p {
  font-size: 16px;
  line-height: 1.7;
  color: #555;
  max-width: 850px;
}

/* LISTA MISIÓN */
.mvf__list {
  list-style: none;
  padding: 0;
  margin-top: 20px;
}

.mvf__list li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
  font-size: 15px;
  color: #555;
}

.mvf__list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #E1062C;
  font-weight: bold;
}

.mvf__values {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
  margin-top: 30px;
}

.mvf__value {
  background: #fff;
  border: 1px solid #eee;
  padding: 30px 20px;
  text-align: center;
  font-weight: 700;
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;

  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.mvf__value i {
  font-size: 32px;
  color: #E1062C;
}

.mvf__value span {
  font-size: 15px;
  font-weight: 700;
  color: #1A1A1A;
}

.mvf__value:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .mvf__values {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 500px) {
  .mvf__values {
    grid-template-columns: 1fr;
  }
}
  


/* ================= SECCIÓN COMPROMISO PARALLAX ================= */
.commitment {
  position: relative;
  overflow: hidden;
  padding: 90px 20px;
  color: #fff;
}

/* IMAGEN */
.commitment__bg {
  position: absolute;
  top: -15%;
  left: 0;
  width: 100%;
  height: 140%; /* MÁS ALTA */
  object-fit: cover;
  will-change: transform;
  z-index: 1;
}

/* OSCURECER */
.commitment__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.54);
  z-index: 2;
}

/* CONTENIDO */
.commitment__container {
  position: relative;
  z-index: 3;
  max-width: 900px;
  margin: auto;
}

/* TEXTO */
.commitment__header h2 {
  font-size: 35px;
  font-weight: 650;
  margin-bottom: 10px;
}

.commitment__header p {
  font-size: 16px;
  line-height: 1.6;
  color: #e0e0e0;
  margin-bottom: 40px;
}

/* LISTA */
.commitment__list {
  list-style: none;
  padding: 0;
}

.commitment__list li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 16px;
  font-size: 16px;
}

.commitment__list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #E1062C;
  font-weight: bold;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .commitment {
    padding: 100px 20px;
  }

  .commitment__header h2 {
    font-size: 28px;
  }
}































































/* ================= SECCION NUESTRAS AVENTURAS ================= */


.philosophy__claim {
  margin-top: 30px;
  text-align: center;
  font-size: 18px;
  font-weight: 550;
  line-height: 1.4;
  color: #111;
  letter-spacing: 0.3px;
}

/* Responsive */
@media (max-width: 768px) {
  .philosophy__claim {
    font-size: 18px;
    line-height: 1.5;
    margin-top: 24px;
  }
}
.nav-dropdown {
  position: relative;
}

.nav-dropdown__toggle {
  background: none;
  border: none;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff; /* 👈 BLANCO */
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  padding-bottom: 5px;
}

.nav-dropdown__toggle i {
  font-size: 11px;
  transition: transform 0.3s ease;
}

/* MENU */
.nav-dropdown__menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: #111111; /* 👈 NEGRO COMO EL HEADER */
  min-width: 260px;
  padding: 14px 0;
  box-shadow: 0 15px 40px rgba(0,0,0,0.35);
  border-radius: 0 0 6px 6px;

  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;

  z-index: 9999; /* 👈 MUY IMPORTANTE */
}

.nav-dropdown__menu a {
  display: block;
  padding: 12px 22px;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff; /* 👈 BLANCO */
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: all 0.3s ease;
}

.nav-dropdown__menu a:hover {
  background: #1a1a1a;
  color: #E1062C; /* 👈 ROJO CORPORATIVO */
}

/* HOVER DESKTOP */
.nav-dropdown:hover .nav-dropdown__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nav-dropdown:hover .nav-dropdown__toggle i {
  transform: rotate(180deg);
}

/* MOBILE DROPDOWN */
@media (max-width: 900px) {
  .nav-dropdown__menu {
    position: static;
    transform: none;
    opacity: 1;
    visibility: visible;
    box-shadow: none;
    border-radius: 0;
    display: none;
  }

  .nav-dropdown.open .nav-dropdown__menu {
    display: block;
  }
}


/* ================= TRIPS / CARDS ================= */

.trips {
  background: #ffffff;
  padding: 50px 20px;
}

.trips__header {
  max-width: 900px;
  margin: 0 auto 70px;
  text-align: center;
}

.trips__header h2 {
  font-size: 30px;
  font-weight: 650;
  color: #1A1A1A;
  margin-bottom: 30px;
}

.trips__header p {
  font-size: 16px;
  line-height: 1.65;
  color: #555;
}

/* GRID */
.trips__grid {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

/* CARD */
.trip-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 10px 30px 30px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.trip-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.12);
}

/* IMAGE */
.trip-card__image {
  position: relative;
  height: 220px;
}

.trip-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* DAYS BADGE */
.trip-card__days {
  position: absolute;
  top: 14px;
  right: 14px;
  background: #fff;
  color: #0b4d7a;
  text-align: center;
  font-weight: 700;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 13px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}

.trip-card__days span {
  display: block;
  font-size: 20px;
}

/* CONTENT */
.trip-card__content {
  padding: 26px;
}

.trip-card__content h3 {
  font-size: 18px;
  font-weight: 800;
  color: #1A1A1A;
  margin-bottom: 12px;
}

.trip-card__content p {
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  margin-bottom: 18px;
}

/* PRICE */
.trip-card__price {
  font-size: 15px;
  margin-bottom: 16px;
  color: #1A1A1A;
}

/* DETAILS */
.trip-card__details {
  list-style: none;
  padding: 0;
  margin: 0;
}

.trip-card__details li {
  font-size: 13px;
  color: #666;
  margin-bottom: 6px;
}

.trip-card__details i {
  color: #E1062C;
  margin-right: 6px;
}

/* ================= CTA WHATSAPP CARD ================= */

.adventure-card__cta {
  display: block;
  margin-top: 24px;
  padding: 14px 18px;
  text-align: center;

  background: #E1062C;
  color: #ffffff;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;

  border-radius: 10px;

  transition: all 0.3s ease;
  box-shadow: 0 8px 22px rgba(225, 6, 44, 0.35);
}

.adventure-card__cta:hover {
  background: #c90526;
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(225, 6, 44, 0.45);
}

/* RESPONSIVE */
@media (max-width: 1000px) {
  .trips__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 650px) {
  .trips__grid {
    grid-template-columns: 1fr;
  }
}


/* ===============================
   SECTION: GALLERY WITH DATES
================================ */

.section-gallery-dates {
  padding: 100px 20px;
  background: #ffffff;
  display: flex;
  justify-content: center;
}

/* CONTENEDOR GENERAL */
.gallery-dates__wrapper {
  position: relative;
  max-width: 700px;
  width: 100%;
}

/* VIEWPORT */
.gallery-dates__viewport {
  overflow: hidden;
  border-radius: 12px;
}

/* TRACK */
.gallery-dates__track {
  display: flex;
  transition: transform 0.6s ease;
}

/* ITEM */
.gallery-dates__item {
  min-width: 100%;
  position: relative;
  overflow: hidden;
}

/* IMAGEN */
.gallery-dates__item img {
  width: 100%;
  height: 700px;
  object-fit: cover;
  transition: transform 0.6s ease;
}

/* HOVER ZOOM */
.gallery-dates__item:hover img {
  transform: scale(1.06);
}

/* FECHA */
.gallery-dates__date {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #ffffff;
  color: #111;
  font-weight: 800;
  font-size: 14px;
  padding: 10px 14px;
  border-radius: 6px;
  z-index: 2;
  box-shadow: 0 6px 20px rgba(0,0,0,0.15);
}

/* FLECHAS */
.gallery-dates__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.6);
  color: #fff;
  border: none;
  font-size: 28px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}

.gallery-dates__nav:hover {
  background: #E1062C;
}

.gallery-dates__prev {
  left: -60px;
}

.gallery-dates__next {
  right: -60px;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .gallery-dates__item img {
    height: 420px;
  }

  .gallery-dates__prev {
    left: 10px;
  }

  .gallery-dates__next {
    right: 10px;
  }
}
  
/* ================= SECCIÓN UNA EXPERIENCIA PENSADA PARA VOS ================= */

.section-audience-centered {
  background: #111111;
  color: #ffffff;
  padding: 60px 20px;
}

.section-audience-centered__container {
  max-width: 800px;
  margin: auto;
}

/* TEXTO GENERAL */
.section-audience-centered__subtitle,
.section-audience-centered__text,
.section-audience-centered__list {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

/* SUBTÍTULO */
.section-audience-centered__subtitle {
  font-size: 32px;
  font-weight: 650;
  margin-bottom: 18px;
}

/* TEXTO */
.section-audience-centered__text {
  font-size: 16px;
  line-height: 1.65;
  color: #d0d0d0;
  margin-bottom: 44px;
}

/* LISTA */
.section-audience-centered__list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.section-audience-centered__list li {
  position: relative;
  padding-left: 36px;
  margin-bottom: 22px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}

/* ÍCONO */
.section-audience-centered__list li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 2px;
  color: #E1062C;
  font-size: 18px;
  font-weight: 700;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .section-audience-centered {
    padding: 70px 20px;
  }

  .section-audience-centered__subtitle {
    font-size: 26px;
  }

  .section-audience-centered__list li {
    font-size: 15px;
  }
}

/* ================= TRUST SECTION ================= */

.trust-section {
  background: #ffffff;
  padding: 55px 20px;
  padding-bottom: 100px;
}

.trust-section__header {
  max-width: 800px;
  margin: 0 auto 80px;
  text-align: center;
}

.trust-section__header h2 {
  font-size: 30px;
  font-weight: 650;
  color: #1A1A1A;
  margin-bottom: 25px;
}

.trust-section__header p {
  font-size: 16px;
  line-height: 1.7;
  color: #555;
}

/* GRID */
.trust-section__grid {
  max-width: 1100px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}

/* CARD */
.trust-card {
  text-align: center;
  padding: 40px 30px;
  background: #FAFAFA;
  border-radius: 12px;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.trust-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.1);
}

.trust-card i {
  font-size: 38px;
  color: #E1062C;
  margin-bottom: 22px;
}

.trust-card h3 {
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 14px;
  color: #1A1A1A;
}

.trust-card p {
  font-size: 15px;
  line-height: 1.7;
  color: #555;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .trust-section__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}





/* ================= CTA FINAL AVENTURA ================= */

/* ================= CTA FINAL ================= */

.final-cta {
  position: relative;
  color: #ffffff;
  overflow: hidden;
}

/* Fondo */
.final-cta__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

/* Overlay */
.final-cta__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  z-index: 2;
}

/* Contenedor principal */
.final-cta__container {
  position: relative;
  z-index: 3;
  max-width: 1300px;
  margin: auto;
  padding: 100px 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

/* Lado izquierdo */
.final-cta__title {
  font-size: 40px;
  font-weight: 800;
  line-height: 1.2;
}

.final-cta__title strong {
  display: block;
}

.final-cta__title span {
  color: #e1062c;
}

/* Lado derecho */
.final-cta__right p {
  font-size: 16px;
  line-height: 1.7;
  color: #e5e5e5;
  margin-bottom: 18px;
}

.final-cta__quote {
  font-style: italic;
  font-weight: 600;
  color: #ffffff;
}

/* Barra de contacto */
.final-cta__contact {
  position: relative;
  z-index: 4;
  background: #ffffff;
  display: flex;
  justify-content: center;
  gap: 80px;
  padding: 24px 20px;
}

.final-cta__contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #1a1a1a;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.3s ease;
}

.final-cta__contact-item i {
  font-size: 18px;
}

.final-cta__contact-item:hover {
  color: #e1062c;
}

/* Responsive */
@media (max-width: 900px) {
  .final-cta__container {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 40px;
  }

  .final-cta__title {
    font-size: 30px;
  }

  .final-cta__contact {
    flex-direction: column;
    gap: 20px;
  }
}



























/* =========================
    SECCION SEGURIDAD Y LOGÍSTICA (1 + 2)
========================= */

.safety {
  background: #ffffff;
  padding: 45px 20px;
}
.safety__container {
  max-width: 1150px;
  margin: 0 auto;
}

/* INTRO */
.safety__intro {
  text-align: center;
  max-width: 820px;
  margin: 0 auto 55px;
}

.safety__kicker {
  display: inline-block;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 14px;
  color: #111111;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.65);
  border: 1px solid rgba(0,0,0,0.08);
  margin-bottom: 14px;
}

.safety__title {
  font-size: 30px;
  font-weight: 650;
  color: #111111;
  margin-bottom: 14px;
}

.safety__lead {
  font-size: 16px;
  line-height: 1.75;
  color: #444;
}

/* GRID */
.safety__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

/* CARD */
.safety-card {
  background: #ffffff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 16px 38px rgba(0,0,0,0.10);
  border: 1px solid rgba(0,0,0,0.06);
  transform: translateY(0);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
  display: flex;
  flex-direction: column;
}

.safety-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 55px rgba(0,0,0,0.14);
  border-color: rgba(225, 6, 44, 0.22);
}

/* MEDIA (imagen arriba) */
.safety-card__media {
  position: relative;
  height: 185px;
  background: #111111;
  height: 140px; /* antes estaba muy alto */
}

.safety-card__media h3 {
  font-size: 16px;
  line-height: 1.3;
  padding: 18px;
}

.safety-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  transition: transform 0.6s ease;
}

.safety-card:hover .safety-card__media img {
  transform: scale(1.08);
}

/* Badge */
.safety-card__badge {
  position: absolute;
  left: 14px;
  bottom: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 12px;
  color: #111111;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 10px 25px rgba(0,0,0,0.18);
  font-size: 11px;
}

.safety-card__badge i {
  color: #E1062C;
  font-size: 14px;
}

/* BODY (texto abajo) */
.safety-card__body {
  padding: 22px 24px 26px;
}

.section-divider {
  height: 120px;
  background: linear-gradient(
    to bottom,
    #E0E0E0 0%,
    #ffffff 100%
  );
}

.safety-card__title {
  font-size: 16px;
  font-weight: 900;
  color: #111111;
  margin-bottom: 10px;
}

.safety-card__text {
  font-size: 14px;
  line-height: 1.7;
  color: #555;
  margin-bottom: 14px;
}

/* bullets */
.safety-card__bullets {
  list-style: none;
  padding: 0;
  margin: 0;
}

.safety-card__bullets li {
  position: relative;
  padding-left: 26px;
  font-size: 13px;
  color: #5a5a5a;
  line-height: 1.6;
  margin-bottom: 8px;
}

.safety-card__bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: #E1062C;
  box-shadow: 0 6px 18px rgba(225, 6, 44, 0.25);
}

/* CTA */
.safety__cta {
  margin-top: 50px;
  text-align: center;
}

.safety__cta-text {
  margin: 0 0 14px;
  color: #333;
  font-weight: 600;
}

.safety__cta-btn {
  display: inline-block;
  padding: 14px 18px;
  border-radius: 12px;
  text-decoration: none;
  font-weight: 800;
  color: #ffffff;
  background: #E1062C;
  box-shadow: 0 14px 34px rgba(225, 6, 44, 0.30);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.safety__cta-btn:hover {
  background: #c90526;
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(225, 6, 44, 0.40);
}

/* RESPONSIVE */
@media (max-width: 1100px) {
  .safety__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .safety-card__media {
    height: 200px;
  }
}

@media (max-width: 650px) {
  .safety {
    padding: 75px 18px;
  }
  .safety__title {
    font-size: 28px;
  }
  .safety__grid {
    grid-template-columns: 1fr;
  }
  .safety-card__media {
    height: 220px;
  }
}

/* =========================
   ANIMACIONES on-scroll (compatible con tu clase animate-on-scroll)
========================= */
.animate-on-scroll {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.7s ease, transform 0.7s ease;
  will-change: opacity, transform;
}

.animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Respeta usuarios con reducción de movimiento */
@media (prefers-reduced-motion: reduce) {
  .animate-on-scroll {
    transition: none;
    transform: none;
    opacity: 1;
  }
}


.section-separator {
  height: 100px; /* 👈 este es el espacio que marcaste */
  background: linear-gradient(
    to bottom,
    #ffffff 0%,
    #ffffff 100%
  );
}


/* =========================
    SECCIÓN EDITORIAL (intermedia)
========================= */

.safety-editorial {
  padding: 45px 20px;
  background: #ffffff;
  position: relative;
}

/* Separación suave visual (opcional, pero queda premium) */
.safety-editorial::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 70px;
  background: linear-gradient(to bottom, rgba(233, 233, 233, 0.65), rgba(72, 55, 55, 0));
  pointer-events: none;
}

.safety-editorial__container {
  max-width: 1100px;
  margin: 0 auto;
}

.safety-editorial__header {
  max-width: 880px;
  margin: 0 auto 55px;
  text-align: center;
}

.safety-editorial__pill {
  display: inline-block;
  padding: 10px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #111111;
  background: rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.08);
  margin-bottom: 14px;
}

.safety-editorial__title {
  font-size: 30px;
  font-weight: 650;
  color: #111111;
  margin-bottom: 16px;
}

.safety-editorial__lead {
  font-size: 16px;
  line-height: 1.8;
  color: #555;
}

.safety-editorial__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 45px;
}

.safety-editorial__block {
  background: #FAFAFA;
  border-radius: 16px;
  padding: 26px 24px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 18px 45px rgba(0,0,0,0.06);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
}

.safety-editorial__block:hover {
  transform: translateY(-5px);
  box-shadow: 0 26px 65px rgba(0,0,0,0.10);
  border-color: rgba(225, 6, 44, 0.18);
}

.safety-editorial__block h3 {
  font-size: 17px;
  font-weight: 900;
  color: #111111;
  margin-bottom: 12px;
  line-height: 1.35;
}

.safety-editorial__block h3::after {
  content: "";
  display: block;
  width: 54px;
  height: 3px;
  background: #E1062C;
  border-radius: 999px;
  margin-top: 12px;
  opacity: 0.9;
}

.safety-editorial__block p {
  font-size: 14px;
  line-height: 1.8;
  color: #555;
  margin: 12px 0 0;
}

.safety-editorial__note {
  max-width: 880px;
  margin: 0 auto;
  padding: 22px 22px;
  background: #111111;
  color: #ffffff;
  border-radius: 16px;
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 22px 55px rgba(0,0,0,0.12);
}

.safety-editorial__note p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255,255,255,0.88);
}

.safety-editorial__cta {
  flex: 0 0 auto;
  display: inline-block;
  text-decoration: none;
  font-weight: 900;
  padding: 14px 16px;
  border-radius: 12px;
  background: #E1062C;
  color: #ffffff;
  box-shadow: 0 14px 34px rgba(225, 6, 44, 0.30);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.safety-editorial__cta:hover {
  background: #c90526;
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(225, 6, 44, 0.40);
}

@media (max-width: 980px) {
  .safety-editorial__grid {
    grid-template-columns: 1fr;
  }
  .safety-editorial__note {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 700px) {
  .safety-editorial {
    padding: 75px 18px;
  }
  .safety-editorial__title {
    font-size: 28px;
  }
}

.animate-on-scroll {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.7s ease, transform 0.7s ease;
  will-change: opacity, transform;
}
.animate-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .animate-on-scroll {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* ================= CÓMO CUIDAMOS CADA SALIDA ================= */

.process {
  background: #ffffff;
  padding: 15px 22px;
}

.process__container {
  max-width: 1000px;
  margin: auto;
}

.process__header {
  max-width: 760px;
  margin: 0 auto 60px;
  text-align: center;
}

.process__header h2 {
  font-size: 30px;
  font-weight: 650;
  color: #1A1A1A;
  margin-bottom: 15px;
}

.process__header p {
  font-size: 16px;
  line-height: 1.7;
  color: #555;
  padding-bottom: 0px;
}

/* STEPS */
.process__steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* STEP */
.process-step {
  background: #ffffff;
  padding: 36px 28px;
  border-radius: 16px;
  text-align: center;
  box-shadow: 0 16px 38px rgba(0,0,0,0.10);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.process-step:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 60px rgba(0,0,0,0.14);
}

.process-step__number {
  display: inline-block;
  width: 52px;
  height: 52px;
  line-height: 52px;
  border-radius: 50%;
  background: #E1062C;
  color: #ffffff;
  font-weight: 800;
  font-size: 18px;
  margin-bottom: 20px;
}

.process-step h3 {
  font-size: 17px;
  font-weight: 800;
  margin-bottom: 12px;
  color: #1A1A1A;
}

.process-step p {
  font-size: 14px;
  line-height: 1.6;
  color: #555;
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .process__steps {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}






































/* =========================
   RESERVÁ TU AVENTURA – SECCIÓN 1 y 2
========================= */

.reserve-hero {
  background: #ffffff;
  color: #111111;
  padding: 110px 20px 120px;
  position: relative;
  overflow: hidden;
  margin-bottom: 0;
  padding-bottom: 30px;
  padding-top: 50px;
}

.reserve-hero__container {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}

/* TITULO */
.reserve-hero__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 25px;
  color: #111111;
}

.reserve-hero__subtitle {
  font-size: 18px;
  line-height: 1.6;
  color: #444444;
  max-width: 900px;
  margin: 0 auto 42px;
}

/* CTA */
.reserve-hero__cta {
  margin-bottom: 36px;
}

.reserve-hero__btn {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 18px 28px;
  border-radius: 14px;
  background: #E1062C;
  color: #ffffff;
  font-weight: 800;
  font-size: 17px;
  text-decoration: none;
  box-shadow: 0 18px 44px rgba(225, 6, 44, 0.45);
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.reserve-hero__btn i {
  font-size: 22px;
}

.reserve-hero__btn:hover {
  background: #c90526;
  transform: translateY(-3px);
  box-shadow: 0 24px 60px rgba(225, 6, 44, 0.55);
}

/* MICRO TEXTO */
.reserve-hero__micro {
  margin-top: 25px;
  font-size: 14px;
  color: #000000;
  font-weight: 650;
}

/* MICRO CONFIANZA */
.reserve-hero__trust {
  display: flex;
  justify-content: center;
  gap: 26px;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
}

.reserve-hero__trust li {
  font-size: 14px;
  color: #111111;
  font-weight: 600;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .reserve-hero {
    padding: 90px 18px 100px;
  }

  .reserve-hero__title {
    font-size: 34px;
  }

  .reserve-hero__subtitle {
    font-size: 16px;
  }

  .reserve-hero__trust {
    gap: 14px;
  }
}







/* =========================
   GALERÍA RESERVA
========================= */

.reserve-gallery {
  background: #ffffff;
  padding: 70px 0 90px;
  overflow: hidden;
  width: 100%;
}

.reserve-gallery__header {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 40px;
  padding: 0 20px;
}

.reserve-gallery__header h3 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 14px;
  color: #111111;
}

.reserve-gallery__header p {
  font-size: 16px;
  color: #555555;
  line-height: 1.6;
}

/* Slider */
.reserve-gallery__slider {
  scrollbar-width: none;
  padding: 0 20px;
}

.reserve-gallery__slider::-webkit-scrollbar {
  display: none;
}

.reserve-gallery__track {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 26px;
  max-width: 1200px;
  margin: 0 auto; /* 👈 centra TODA la galería */
  justify-items: center; /* 👈 centra cada imagen */
}

/* Imagen */
.reserve-gallery__item {
  flex: 0 0 280px;
  height: 190px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 16px 38px rgba(0,0,0,0.45);
  transition: transform 0.35s ease;
  width: 100%;
  max-width: 280px;

}

.reserve-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reserve-gallery__item:hover {
  transform: translateY(-6px);
}

/* Responsive */
@media (max-width: 600px) {
  .reserve-gallery__item {
    flex: 0 0 240px;
    height: 170px;
  }
}

@media (max-width: 768px) {
  .reserve-gallery__track {
    justify-content: flex-start;
  }
}










/* =========================
   FAQs RESERVA
========================= */

.reserve-faq {
  background: #111111;
  padding: 60px 20px 70px;
  color: #ffffff;
}

.reserve-faq__container {
  max-width: 820px;
  margin: auto;
}

.reserve-faq__header {
  text-align: center;
  margin-bottom: 40px;
}

.reserve-faq__header h3 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 12px;
}

.reserve-faq__header p {
  font-size: 15px;
  color: #cfcfcf;
}

/* FAQ ITEM */
.faq-item {
  border-bottom: 1px solid rgba(255,255,255,0.12);
}

.reserve-hero,
.reserve-hero * {
  border: none !important;
}
.faq-question {
  width: 100%;
  background: none;
  border: none;
  color: #ffffff;
  padding: 18px 0;
  font-size: 16px;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.faq-icon {
  font-size: 22px;
  transition: transform 0.3s ease;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}

.faq-answer p {
  font-size: 14px;
  color: #cfcfcf;
  line-height: 1.6;
  padding-bottom: 18px;
}

/* ACTIVO */
.faq-item.active .faq-answer {
  max-height: 200px;
}

.faq-item.active .faq-icon {
  transform: rotate(45deg);
}

/* CTA FINAL */
.reserve-faq__cta {
  text-align: center;
  margin-top: 60px;
}

.reserve-faq__cta p {
  font-size: 16px;
  margin-bottom: 18px;
}

.reserve-faq__btn {
  display: inline-block;
  padding: 16px 26px;
  border-radius: 14px;
  background: #E1062C;
  color: #ffffff;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 18px 44px rgba(225, 6, 44, 0.45);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.reserve-faq__btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 26px 60px rgba(225, 6, 44, 0.55);
}


/* =========================
   BLOQUE MAPA – RESERVA
========================= */

.reserve-map{
  background:#ffffff;
  padding: 30px 20px;
  padding-bottom: 100px;
}

.reserve-map__container{
  max-width: 1150px;
  margin: 0 auto;
}

/* Grid general */
.reserve-map__grid{
  display:grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 90px;
  align-items: center;
}

/* Texto */
.reserve-map__kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  letter-spacing:0.10em;
  text-transform:uppercase;
  font-size:12px;
  color:#111111;
  padding:10px 14px;
  border-radius:999px;
  background: rgba(17,17,17,0.04);
  border: 1px solid rgba(0,0,0,0.06);
  margin-bottom: 16px;
}

.reserve-map__kicker i{
  color:#E1062C;
  font-size:14px;
}

.reserve-map__title{
  font-size: 32px;
  font-weight: 800;
  line-height: 1.15;
  color:#111111;
  margin: 0 0 14px;
}

.reserve-map__text{
  font-size: 16px;
  line-height: 1.75;
  color:#444;
  margin: 0 0 18px;
  max-width: 620px;
}

/* Chips */
.reserve-map__chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin: 18px 0 26px;
}

.reserve-map__chip{
  display:inline-flex;
  align-items:center;
  padding: 10px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  color:#111111;
  background:#fff;
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 10px 24px rgba(0,0,0,0.06);
}

/* Botones */
.reserve-map__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.reserve-map__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 14px 18px;
  border-radius: 14px;
  text-decoration:none;
  font-weight: 800;
  font-size: 14px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.reserve-map__btn--primary{
  background:#E1062C;
  color:#fff;
  box-shadow: 0 18px 44px rgba(225,6,44,0.28);
}

.reserve-map__btn--primary:hover{
  background:#c90526;
  transform: translateY(-2px);
  box-shadow: 0 26px 60px rgba(225,6,44,0.35);
}

.reserve-map__btn--ghost{
  background:#ffffff;
  color:#111111;
  border: 1px solid rgba(0,0,0,0.10);
  box-shadow: 0 16px 38px rgba(0,0,0,0.10);
}

.reserve-map__btn--ghost:hover{
  transform: translateY(-2px);
  border-color: rgba(225,6,44,0.25);
  box-shadow: 0 22px 52px rgba(0,0,0,0.14);
}

/* Card del mapa */
.reserve-map__card{
  border-radius: 18px;
  overflow:hidden;
  background:#ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 18px 46px rgba(0,0,0,0.12);
  margin-right: -80px;
}

/* Top bar del card */
.reserve-map__card-top{
  display:flex;
  align-items:center;
  gap:12px;
  padding: 16px 18px;
  background: linear-gradient(to right, rgba(225,6,44,0.08), rgba(0,0,0,0.02));
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

.reserve-map__pin{
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#E1062C;
  color:#fff;
  box-shadow: 0 14px 34px rgba(225,6,44,0.25);
}

.reserve-map__place strong{
  display:block;
  font-size: 14px;
  color:#111111;
}

.reserve-map__place span{
  display:block;
  font-size: 12px;
  color:#555;
}

/* Iframe */
.reserve-map__iframe{
  width:100%;
  height: 360px;
  background:#f5f5f5;
}

.reserve-map__iframe iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

/* Responsive */
@media (max-width: 980px){
  .reserve-map__grid{
    grid-template-columns: 1fr;
  }
  .reserve-map__iframe{
    height: 320px;
  }
}

@media (max-width: 520px){
  .reserve-map{
    padding: 70px 18px;
  }
  .reserve-map__title{
    font-size: 28px;
  }
  .reserve-map__actions{
    flex-direction: column;
  }
  .reserve-map__btn{
    width:100%;
  }
}
