/* ============================================================
   NOVO HAIR — HOME.CSS
   Estilos específicos del Home. Todo lo compartido con otras
   páginas (colores, tipografía, botones, eyebrow, section-title)
   vive en global.css — acá solo lo que es propio de esta página.
   Mobile-first: la base es mobile, los @media agrandan a desktop.
   ============================================================ */


/* ============================================================
   HERO
   ============================================================ */

.hero {
  position: relative;
  min-height: 600px;
  height: 90vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.hero__image {
  position: absolute;
  inset: 0;
  background-image: url('/assets/img/home/hero.jpg');
  background-size: cover;
  background-position: right -100px center;
}

/* Degradé oscuro sobre la foto, para que el texto blanco
   se lea bien encima (tomado del Figma: de transparente
   a un marrón oscuro semi-opaco, de derecha a izquierda) */
.hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(30, 24, 20, 0.45);
}



.hero__container {
  position: relative;
  z-index: 1;
  padding-block: var(--space-2xl) var(--space-lg);
}

.hero__contenido {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  max-width: 520px;
}

/* Título del hero: es el <h1> de la página (SEO). Ahora usa
   el tamaño real de la escala "H1" (72px) en desktop — en
   mobile se achica para que no desborde el ancho de pantalla. */
.hero__titulo {
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 400;
  font-size: 40px;
  line-height: 1.15;
  color: var(--color-off-white);
  margin-bottom: 20px;
}

.hero__descripcion{
    color: #FFFFFF;
    font-weight: 300;
    font-size: 15px;
}


.hero__descripcion strong {
  font-weight: 700;
}

.btn-hero{
  padding: 10px 20px;
  max-width: 220px;
}


/* ============================================================
   HERO — DESKTOP
   ============================================================ */

@media (min-width: 1024px) {
  .hero {
    height: 100vh;
  }

  .hero__image {
  background-position: center;
}

.hero__overlay {
  background: linear-gradient(
    to left,
    rgba(30, 24, 20, 0) 43%,
    rgba(30, 24, 20, 0.25) 59%,
    rgba(30, 24, 20, 0.65) 100%
  );
}

  .hero__container {
    padding-block: 0;
  }

  .hero__titulo {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line-height);
  }
}


/* ============================================================
   BARRA DE CONFIANZA
   ============================================================ */

.confianza {
  background-color: var(--color-off-white);
  padding-block: var(--space-lg);
}

.confianza__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  text-align: center;
}

.confianza__item {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.confianza__dato {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 32px;
  color: var(--color-brown);
}

/* Variante para el dato que es texto y no número
   ("Médica UBA"), un poco más chico para que entre bien */
.confianza__dato--text {
  font-size: 26px;
}

.confianza__label {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--text-body-large-size);
  color: var(--color-brown);
}


/* ============================================================
   BARRA DE CONFIANZA — DESKTOP
   ============================================================ */

@media (min-width: 1024px) {
  .confianza__container {
    flex-direction: row;
    justify-content: center;
    gap: 0;
  }

  .confianza__item {
    flex: 1;
  }

  .confianza__dato {
    font-size: 40px;
  }

  .confianza__dato--text {
    font-size: 32px;
  }
}


/* ============================================================
   SOBRE NOVO HAIR
   ============================================================ */

.eyebrow{
  color: var(--color-gold);
  font-weight: 700;
}

.section-title{
  color: var(--color-brown);
}

.sobre-novo {
  padding-block: var(--space-xl);
}

.sobre-novo__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.sobre-novo__imagen img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: var(--radius-lg);
}

.sobre-novo__contenido {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.sobre-novo__link {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 14px;
  color: var(--color-gold);
}

.sobre-novo__link:hover {
  color: var(--color-brown);
}


/* ============================================================
   SOBRE NOVO HAIR — DESKTOP
   ============================================================ */

@media (min-width: 1024px) {
  .sobre-novo {
    padding-block: var(--space-2xl);
  }

  .sobre-novo__container {
    flex-direction: row;
    align-items: center;
    gap: var(--space-xl);
  }

  .sobre-novo__imagen {
    flex-shrink: 0;
    width: 520px;
  }

  .sobre-novo__imagen img {
    height: 560px;
  }

  .sobre-novo__link {
    font-size: 20px;
  }
}


/* ============================================================
   TRATAMIENTOS (preview en el Home)
   ============================================================ */

.tratamientos-home {
  background-color: var(--color-off-white);
  padding-block: var(--space-xl);
}

.tratamientos-home__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.tratamientos-home__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.tratamientos-home__main {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

/* --- Menú de links (lista de nombres) --- */
.tratamientos-home__menu li {
  border-bottom: 1px solid var(--color-gold-light);
}

.tratamientos-home__menu a {
  display: block;
  padding-block: var(--space-sm);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--text-body-large-size);
  color: var(--color-black);
  transition: color var(--transition-fast);
}

.tratamientos-home__menu a:hover {
  color: var(--color-gold);
}

/* --- Cards con imagen --- */
.tratamientos-home__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-sm);
}

.tratamiento-card {
  position: relative;
  display: block;
  background-color: var(--color-white);
  border-radius: var(--radius-md);
  overflow: hidden;
}

.tratamiento-card img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.tratamiento-card__texto {
  padding: var(--space-sm);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 15px;
  color: var(--color-brown);
}

/* Overlay del hover: cubre toda la card en marrón,
   con el título y resumen en blanco */
.tratamiento-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-xs);
  padding: var(--space-md);
  background-color: var(--color-brown);
  opacity: 0;
  transition: opacity var(--transition-fast);
}

.tratamiento-card:hover .tratamiento-card__overlay {
  opacity: 1;
}

.tratamiento-card__overlay-titulo {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--text-body-large-size);
  color: var(--color-off-white);
  margin-bottom: 10px;
}

.tratamiento-card__overlay-texto {
  font-family: var(--font-body);
  font-size: var(--text-label-button-size);
  line-height: 1.4;
  color: var(--color-off-white);
}

/* ============================================================
   TRATAMIENTOS — DESKTOP
   ============================================================ */

@media (min-width: 1024px) {
  .tratamientos-home {
    padding-block: var(--space-2xl);
  }

  .tratamientos-home__main {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--space-lg);
  }

  .tratamientos-home__menu {
    flex-shrink: 0;
    width: 280px;
  }

  .tratamientos-home__cards {
    flex: 1;
    grid-template-columns: repeat(4, 1fr);
  }

  .tratamiento-card img {
    height: 280px;
  }
}


/* ============================================================
   PROGRAMA CHILE
   ============================================================ */

.programa-chile {
  background-color: var(--color-brown);
  padding-block: var(--space-xl);
}

.title-home-chile{
  color: var(--color-off-white);
}

.text-home-chile{
  color: var(--color-off-white);
}

.programa-chile__container {
  display: flex;
  flex-direction: column-reverse; /* en mobile, imagen abajo del texto */
  gap: var(--space-lg);
}

.programa-chile__contenido {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.programa-chile__imagen img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: var(--radius-lg);
}

.programa-chile__incluye {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--text-body-large-size);
  color: var(--color-off-white);
}

.programa-chile__link {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--text-body-large-size);
  color: var(--color-gold-light);
}

.programa-chile__link:hover {
  color: var(--color-off-white);
}


/* ============================================================
   PROGRAMA CHILE — DESKTOP
   ============================================================ */

@media (min-width: 1024px) {
  .programa-chile {
    padding-block: var(--space-2xl);
  }

  .programa-chile__container {
    flex-direction: row;
    align-items: center;
    gap: var(--space-xl);
  }

  .programa-chile__contenido {
    flex: 1;
  }

  .programa-chile__imagen {
    flex-shrink: 0;
    width: 520px;
  }

  .programa-chile__imagen img {
    height: 560px;
  }
}


/* ============================================================
   CASOS REALES
   ============================================================ */

.casos {
  background-color: var(--color-off-white);
  padding-block: var(--space-xl);
}

.casos__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.casos__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

/* Carrusel con scroll-snap: en mobile se ve una card por vez,
   deslizando; en desktop entran las 2 juntas (no hace falta
   scroll a menos que se sumen más casos en el futuro) */
.casos__carousel {
  display: flex;
  gap: var(--space-md);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none; /* Firefox */
}

.casos__carousel::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
}

.caso-card {
  flex: 0 0 100%;
  scroll-snap-align: start;
  border-radius: var(--radius-md);
  overflow: hidden;
}

.caso-card__comparacion {
  display: flex;
  height: 300px;
}

.caso-card__antes,
.caso-card__despues {
  position: relative;
  flex: 1;
  overflow: hidden;
}

.caso-card__antes img,
.caso-card__despues img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.caso-card__label {
  position: absolute;
  top: var(--space-sm);
  left: var(--space-sm);
  padding: 7px 12px;
  border-radius: 20px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--text-label-button-size);
}

.caso-card__label--antes {
  background-color: rgba(247, 247, 247, 0.8);
  color: var(--color-gold);
}

.caso-card__label--despues {
  background-color: rgba(204, 146, 41, 0.8);
  color: var(--color-off-white);
}

.caso-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space-sm) var(--space-md);
  background-color: var(--color-white);
}

.caso-card__titulo {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--text-body-large-size);
  color: var(--color-brown);
}

.caso-card__detalle {
  font-family: var(--font-body);
  font-size: var(--text-body-large-size);
  color: var(--color-gold-light);
}

.caso-card__arrow {
  font-size: 24px;
  color: var(--color-brown);
}

.casos__nav {
  display: flex;
  justify-content: center;
  gap: var(--space-xs);
}

/* ============================================================
   CASOS REALES — DESKTOP
   ============================================================ */

@media (min-width: 1024px) {
  .casos {
    padding-block: var(--space-2xl);
  }

  .caso-card {
    flex: 0 0 calc(50% - 12px); /* 2 cards visibles, con el gap */
  }

  .caso-card__comparacion {
    height: 360px;
  }
}


/* ============================================================
   TESTIMONIOS
   ============================================================ */

.testimonios {
  background-color: var(--color-white);
  padding-block: var(--space-xl);
}

.testimonios__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.testimonios__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

/* En mobile: carrusel simple, una card a la vez */
.testimonios__carousel {
  display: flex;
  gap: var(--space-md);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  border-radius: var(--radius-lg);
}

.testimonios__carousel::-webkit-scrollbar {
  display: none;
}

.testimonio-card {
  flex: 0 0 100%;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: var(--space-sm);
  padding: var(--space-md);
  background-color: var(--color-off-white);
  border-radius: var(--radius-lg);
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
}

.testimonio-card__comilla {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: 100px;
  line-height: 1;
  color: rgba(155, 154, 151, 0.5);
}

.testimonio-card__texto {
  font-family: var(--font-body);
  font-size: var(--text-body-large-size);
  color: var(--color-black);
}

.testimonio-card__autor {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: var(--text-body-large-size);
  color: var(--color-gold);
}

.testimonio-card__autor span {
  font-weight: 400;
}

/* La card "principal" tiene fondo blanco en vez de off-white,
   como distinción visual (así está en el Figma)  salvo en mobile el blanco se aplica en @media*/
.testimonio-card--principal {
  background-color: var(--color-off-white);
}

.testimonios__nav {
  display: flex;
  justify-content: center;
  gap: var(--space-xs);
}


/* ============================================================
   TESTIMONIOS — DESKTOP
   Acá el carrusel deja de ser "deslizable" y pasa a ser un
   collage fijo de 3 cards superpuestas, como en el Figma.
   Por eso el nav de flechas se oculta en desktop.
   ============================================================ */

@media (min-width: 1024px) {
  .testimonios {
    padding-block: var(--space-2xl);
  }

  .testimonios__nav {
    display: none;
  }

  .testimonios__carousel {
    position: relative;
    height: 340px;
    overflow: visible;
  }

  .testimonio-card {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 560px;
    height: 300px;
    flex: none;
    cursor: pointer;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
    min-height: 320px;
  }

  .testimonio-card--left {
    transform: translate(-50%, -50%) translateX(-260px) translateY(-10px) rotate(-3deg);
    z-index: 1;
  }

  .testimonio-card--right {
    transform: translate(-50%, -50%) translateX(260px) translateY(-5px) rotate(3deg);
    z-index: 1;
  }

  .testimonio-card--principal {
    width: 620px;
    transform: translate(-50%, -50%);
    z-index: 3;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
  }
    .testimonio-card--principal {
    background-color: var(--color-white);
  }
}


/* ============================================================
   CONTACTO (CTA final)
   ============================================================ */

.contacto-cta {
  background-color: var(--color-brown);
  padding-block: var(--space-xl);
}

.contacto-cta__contenido {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-sm);
  text-align: center;
}


/* ============================================================
   CONTACTO — DESKTOP
   ============================================================ */

@media (min-width: 1024px) {
  .contacto-cta {
    padding-block: var(--space-2xl);
  }

  .contacto-cta__contenido {
    max-width: 600px;
    margin-inline: auto;
  }
}


/* Fix puntual: asegura los colores claros en el CTA final,
   sin importar qué otra regla exista en el archivo */
.contacto-cta__contenido .eyebrow {
  color: var(--color-gold-light);
}

.contacto-cta__contenido .section-title {
  color: var(--color-off-white);
}

.contacto-cta__contenido .body-large {
  color: var(--color-off-white);
}

/* Fix puntual: el botón necesita un border en hover en esta
   sección puntual, porque el fondo marrón coincide con el
   color de hover normal del botón y se pierde visualmente */
.contacto-cta__contenido .btn-primary {
  border: 1px solid transparent;
}

.contacto-cta__contenido .btn-primary:hover {
  border-color: var(--color-gold-light);
}