* {
  box-sizing: border-box;
}

html,
body {
  position: relative;
  height: 100%;
}

body {
  background: #222;
  font-family: sans-serif;
  line-height: 1.35;
  margin: 0;
  padding: 0;
}
/* Estilo para el contenedor del botón */
.comenzar {
    position: absolute;
    top: 10px;  /* Ajusta la distancia desde la parte superior */
    left: 10px;  /* Ajusta la distancia desde la parte izquierda */
    transform: translate(0, 0);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 30px;
    z-index: 3;

}

/* Estilo para el botón */
.comenzar .btn {
    background-color: #C98C34;  /* Dorado más oscuro */
    color: black;
    font-size: 1.1rem;
    padding: 10px 20px;
    border-radius: 8px;  /* Bordes más redondeados para un look moderno */
    border: 2px solid #D4AF37;  /* Borde dorado más oscuro */
    cursor: pointer;
    font-weight: bold;
    text-align:center;
    transition: all 0.3s ease;  /* Transición suave para todos los cambios */
    box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4);  /* Sombra suave dorada */
     white-space: nowrap;
}
/* Efecto hover para el botón */
.comenzar .btn:hover {
    background-color: #D4AF37;  /* Un dorado aún más oscuro */
    color: #ffffff;  /* Mantiene el texto blanco */
    transform: scale(1.1);  /* Aumenta ligeramente el tamaño del botón */
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.6);  /* Sombra más intensa en hover */
    border-color: #C98C34;  /* Cambia el borde al mismo color que el fondo */
}
/* Asegurarse de que el carrusel no tape el botón */
.hero__fullsize {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;  /* Coloca las imágenes debajo del botón */
}
/* Hacer visible el swiper solo cuando se inicie */
.swiper {
    visibility: hidden;  /* Oculta el swiper inicialmente */
}

.swiper.swiper-initialized {
    visibility: visible;  /* Muestra el swiper cuando esté inicializado */
}
.card-slider-section { --border-radius: 10px; --transition-duration: 1000ms; height: calc(100vh);    position: relative; width: 100%; display: flex; align-items: self-start; overflow: hidden; justify-content: flex-end; }
.hero__fullsize { position: absolute; top: 0;  left: 0;  width: 100%;  height: 100%;  overflow: hidden;  z-index: 0;}
.swiper-slide.card-slide .content__text { display: none; }
.content__text h2.content__title { max-width: 770px; color:white; margin: 0 0 30px; font-size: 40px; font-weight: 700; font-family: 'Libre Baskerville', serif; font-size: 4rem; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); }
.content__text.container { max-width: 1200px; }
.hero__content {  position: absolute; top: 0;  left: 0;  width: 100%;  height: 100%;  overflow: hidden; transition:   top var(--transition-duration),     left var(--transition-duration),     width var(--transition-duration),     height var(--transition-duration),    border-radius var(--transition-duration),    transform var(--transition-duration),    opacity var(--transition-duration); }
.hero__content--hidden { visibility: hidden;  transition: none; transform: none; opacity: 1;  z-index: 0; } 
.hero__content--bottom { opacity: 0; transform: scale(1.5);  z-index: 1; }
.hero__content--top { left: 0;  top: 0;  width: 100%;  height: 100%;  border-radius: 0;  z-index: 2; }
.hero__content--show-text::before { transform: translateX(0);  transition: transform 900ms; }
.hero__content--grow::before { transform: translateX(-100%);   transition: none; }
.hero__content--show-text .content__title { transform: translateY(0);  transition: transform 900ms; }
.hero__content--show-text .content__title .word { clip-path: inset(0);  transition: clip-path 300ms; }
.hero__content--grow .content__title { visibility: hidden;  transform: translateY(48px); transition: none; }
.hero__content--grow .content__title .word { clip-path: inset(0 0 48px); transition: none;  } 
.hero__content--show-text .content__desc { transform: translateY(0px);  transition: transform 900ms; }
.hero__content--show-text .content__desc .word { clip-path: inset(0); transition: clip-path 300ms; }
.hero__content--grow .content__desc { visibility: hidden; transform: translateY(18px); transition: none; }
.hero__content--grow .content__desc .word { clip-path: inset(0 0 18px);  transition: none; }
.hero__swiper { aspect-ratio: 0.21; max-width: 270px; padding: 0; position: relative; width: 100%;    z-index: 1;    float: right;  margin: 42px 60px 0 0; }
.swiper { --swiper-navigation-size: 20px;  visibility: hidden; }
.swiper.swiper-initialized { visibility: visible; }

.swiper-slide { display: flex; }
.content { display: flex;  position: relative;  width: 100%; overflow: hidden;  z-index: 0; }
.content--slide { position: relative; border-radius: var(--border-radius, 0); }
.content__text { display: flex;  flex-direction: column;  justify-content: center; align-items: center; text-align: center; padding: 0 20px; position: relative; z-index: 2;  color: white; font-family: 'Libre Baskerville', serif; font-size: 1.9rem; font-weight: bold; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); }
.content__desc { margin: 0; font-family: Poppins; max-width: 800px; line-height: normal; overflow-y: auto; padding-right: 20px; }
.content__desc ul { padding-left: 20px; margin:20px 0; }
.content__desc ul, .content__desc ul li { font-family: Poppins; font-size: 18px;    line-height: normal; }
.content__desc ul li { margin: 10px 0; }
.content__desc::-webkit-scrollbar { width: 2px; }
.content__desc::-webkit-scrollbar-track { background:#FFD700;  }
.content__desc::-webkit-scrollbar-thumb { background:#FFD700;  }
.swiper-slide.card-slide.swiper-slide-active { display: none; }

.content--slide .content__title { font-size: 12px;  margin: auto 0 0;  padding: 0.35em 0.75em;  background-color: #0007; }
.content--slide .content__desc { position: absolute;  left: 0; visibility: hidden; }
.content--hero { padding: 42px 60px; position: absolute;  border-radius: 0; }
.content__image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;  z-index: -2; background-size: cover; background-repeat: no-repeat; background-position: center; filter: brightness(85%); }
.card-slider-arrow { position: absolute; top: 50%; right: 372px; transform: translateY(-50%); min-height: 140px; width: 50px; display: flex; flex-flow: column; justify-content: space-between; }
.card-slider-arrow > div:after {  display:none; }
.card-slider-arrow > div { position: static; width: 50px; height: 50px;  margin: 0; transform: none; } 
.card-slider-arrow svg { fill: transparent; }
.content--hero .content__image.overlay:before { content: ""; background-color: rgba(0, 0, 0, .5); position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.swiper-slide.card-slide { height: 300px !important; cursor: grab; }
.card-container { width: 100%; }
.content__desc p:last-child { margin: 0; }



@media(max-width:1350px) {
	 .content__desc { max-width: 680px; }
}

/* Tamaños y fuentes para móviles */
@media (max-width: 1260px) {
  .hero__swiper {
    opacity: 1; /* mostramos el swiper */
    visibility: visible !important;
    max-width: 90%; /* ocupa la mayor parte del ancho */
    margin: 20px auto; /* centrado */
    float: none; /* eliminamos float */
    padding: 0;
  }

  .content--hero {
    padding: 20px 10px 60px; /* reducimos padding */
  }

  .content__desc {
    max-width: 100%; /* ocupa todo el ancho */
    font-size: 1rem; /* fuente más legible en móvil */
    overflow-y: visible; /* sin scroll interno */
    padding-right: 10px;
  }

  .content__text h2.content__title {
    font-size: 2rem; /* título más pequeño */
    margin-bottom: 15px;
    text-align: center;
  }

  .card-slider-arrow {
    top: auto;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    flex-flow: row;
    min-height: 30px;
  }

  .card-slider-arrow > div.swiper-button-prev,
  .card-slider-arrow > div.swiper-button-next {
    transform: rotate(0deg); /* flechas horizontales */
  }

  .card-slider-arrow svg {
    width: 35px;
    height: 35px;
    fill: #FFD700; /* dorado para visibilidad */
  }

  .hero__fullsize,
  .swiper-slide {
    height: auto; /* altura adaptable */
  }
}

@media (max-width: 991px) {
  .content__desc {
    max-width: 100%; /* Mejor que 680px en pantallas pequeñas */
    padding: 0 10px;
  }

  .content--hero {
    padding: 42px 20px 100px;
  }
}

@media (max-width: 767px) {
  .hero__swiper {
    max-width: 100%;
    aspect-ratio: auto; /* ✅ esto evita que se achique verticalmente */
    height: auto;       /* ✅ permite crecer según el contenido */
    margin: 10px auto;
  }

  .hero__fullsize,
  .swiper-slide {
    height: auto;       /* ✅ asegura que el slide crezca con el contenido */
    min-height: 300px;  /* ✅ agrega una altura mínima para que se vea la imagen */
  }

  .content__image {
    object-fit: cover;
    height: 100%;
    min-height: 300px;
  }
}

