/* ============================================================
   index.css — Estilos específicos de la página de inicio
   ============================================================ */

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}
.hero__bg{
  position:absolute;inset:0;
  background:url('/fondo.jpg') center/cover no-repeat;
  background-color:var(--rosa-claro);
  transform:scale(1.05);
  animation:heroZoom 14s ease-out forwards;
}
@keyframes heroZoom{to{transform:scale(1)}}
.hero__overlay{
  position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(247,238,232,.92) 0%,rgba(243,222,218,.78) 42%,rgba(201,139,139,.28) 100%);
}
.hero__inner{position:relative;z-index:2;padding-top:90px}
.hero__content{max-width:660px}
.hero h1{margin-bottom:1.2rem}
.hero h1::after{content:'';display:block;width:90px;height:3px;background:linear-gradient(90deg,var(--dorado),var(--rosa-principal));margin-top:1rem;border-radius:3px}
.hero__lead{font-size:clamp(1.05rem,1.6vw,1.22rem);color:var(--texto);max-width:560px}
.hero__script{font-size:clamp(2rem,4vw,2.8rem);margin:.4rem 0 1.8rem;line-height:1}
.hero__cta{display:flex;gap:1rem;flex-wrap:wrap}
.hero__scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2}
.hero__scroll span{display:block;width:26px;height:42px;border:2px solid var(--rosa-principal);border-radius:14px;position:relative}
.hero__scroll span::after{content:'';position:absolute;top:7px;left:50%;transform:translateX(-50%);width:4px;height:9px;background:var(--rosa-principal);border-radius:3px;animation:scrollDot 1.8s infinite}
@keyframes scrollDot{0%{opacity:1;top:7px}70%{opacity:0;top:22px}100%{opacity:0}}

/* ---------- INTRO + FOTO PROFESIONAL ---------- */
.intro__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.intro__photo{position:relative}
.intro__photo-frame{
  position:relative;border-radius:var(--radio-lg);overflow:hidden;
  box-shadow:var(--sombra);aspect-ratio:4/5;
  border:6px solid var(--marfil);
}
.intro__photo-frame::after{content:'';position:absolute;inset:0;border-radius:var(--radio-lg);box-shadow:inset 0 0 0 1px var(--dorado-claro)}
.intro__photo-frame img{width:100%;height:100%;object-fit:cover}
.intro__badge{
  position:absolute;bottom:-18px;right:-10px;
  background:var(--rosa-principal);color:#fff;
  font-family:var(--script);font-size:1.5rem;
  padding:.4rem 1.6rem;border-radius:50px;
  box-shadow:var(--sombra-suave);
}
.intro__signature{font-size:1.9rem;margin-top:.6rem}
@media(max-width:820px){
  .intro__grid{grid-template-columns:1fr;gap:3.2rem}
  .intro__photo-frame{max-width:380px;margin-inline:auto}
  .intro__badge{right:30px}
}

/* ---------- FEATURES ---------- */
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:1.6rem;margin-top:3rem}
.feature{
  background:var(--marfil);border-radius:var(--radio-lg);padding:2.4rem 1.6rem;
  box-shadow:var(--sombra-suave);transition:var(--trans);
  border:1px solid rgba(201,166,107,.18);
}
.feature:hover{transform:translateY(-8px);box-shadow:var(--sombra)}
.feature__icon{
  width:66px;height:66px;margin:0 auto 1.2rem;border-radius:50%;
  background:linear-gradient(135deg,var(--rosa-claro),var(--rosa-palido));
  display:grid;place-items:center;
}
.feature__icon svg{width:30px;height:30px;fill:var(--marron)}
.feature h3{font-size:1.2rem;margin-bottom:.6rem}
.feature p{font-size:.9rem;margin-bottom:0;color:var(--texto-suave)}
@media(max-width:880px){.features{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.features{grid-template-columns:1fr}}

/* ---------- LIFTING DESTACADO ---------- */
.lifting{background:linear-gradient(160deg,var(--crema),var(--marfil))}
.lifting__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.lifting__media{position:relative;border-radius:var(--radio-lg);overflow:hidden;box-shadow:var(--sombra);aspect-ratio:1/1}
.lifting__media img{width:100%;height:100%;object-fit:cover}
.lifting__tag{
  position:absolute;top:18px;left:18px;background:rgba(252,248,245,.95);
  color:var(--marron);font-weight:600;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.5rem 1.1rem;border-radius:50px;box-shadow:var(--sombra-suave);
}
.lifting__list{margin:1.4rem 0 2rem}
.lifting__list li{padding:.55rem 0;font-size:1rem;border-bottom:1px dashed var(--rosa-palido);display:flex;gap:.7rem;align-items:center}
.lifting__list .heart{font-size:1.1rem}
@media(max-width:820px){.lifting__grid{grid-template-columns:1fr;gap:2.5rem}}

/* ---------- SECCIÓN SERVICIOS / CATEGORÍAS ---------- */
.section__intro{max-width:680px;margin:0 auto;color:var(--texto-suave)}
.cat-block{
  display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,4vw,3.5rem);
  align-items:center;margin-top:4rem;
}
.cat-block--rev{direction:rtl}
.cat-block--rev>*{direction:ltr}
.cat-block__media{border-radius:var(--radio-lg);overflow:hidden;box-shadow:var(--sombra);aspect-ratio:5/4}
.cat-block__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.cat-block__media:hover img{transform:scale(1.05)}
.cat-block__num{font-family:var(--serif);font-size:3.4rem;color:var(--rosa-claro);font-weight:700;line-height:.8;display:block;margin-bottom:.4rem}
.cat-block__text h2{margin-bottom:1rem}
.cat-block__text p{color:var(--texto-suave)}
@media(max-width:820px){
  .cat-block,.cat-block--rev{grid-template-columns:1fr;direction:ltr;gap:1.8rem}
}

/* ---------- GALERÍA ---------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2.6rem}
.gallery__item{border-radius:var(--radio);overflow:hidden;aspect-ratio:3/4;box-shadow:var(--sombra-suave)}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.gallery__item:hover img{transform:scale(1.08)}
@media(max-width:780px){.gallery{grid-template-columns:repeat(2,1fr)}}

/* ---------- RESEÑAS ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:2.8rem}
.review{
  background:var(--crema);border-radius:var(--radio-lg);padding:2.2rem;
  box-shadow:var(--sombra-suave);position:relative;border:1px solid var(--rosa-palido);
}
.review::before{content:'“';position:absolute;top:6px;right:22px;font-family:var(--serif);font-size:4.5rem;color:var(--rosa-claro);line-height:1}
.review__stars{color:var(--dorado);letter-spacing:.15em;margin-bottom:.8rem}
.review p{font-size:.95rem;font-style:italic;color:var(--texto)}
.review__name{font-weight:600;color:var(--marron);font-size:.9rem}
@media(max-width:820px){.reviews{grid-template-columns:1fr;max-width:520px;margin-inline:auto}}

/* ---------- UBICACIÓN ---------- */
.ubicacion__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.ubicacion__data{margin:1.4rem 0 2rem}
.ubicacion__data li{padding:.5rem 0;border-bottom:1px solid var(--rosa-palido);font-size:.95rem}
.ubicacion__data strong{color:var(--marron)}
.ubicacion__map{border-radius:var(--radio-lg);overflow:hidden;box-shadow:var(--sombra);line-height:0}
.ubicacion__map iframe{width:100%;height:430px;border:0}
@media(max-width:820px){.ubicacion__grid{grid-template-columns:1fr;gap:2.5rem}.ubicacion__map iframe{height:340px}}

/* ---------- CTA FINAL ---------- */
.cta-final{
  background:linear-gradient(135deg,var(--rosa-principal),var(--marron));
  padding:clamp(3.5rem,7vw,5.5rem) 0;text-align:center;color:#fff;
  position:relative;overflow:hidden;
}
.cta-final::before,.cta-final::after{content:'♥';position:absolute;font-size:9rem;color:rgba(255,255,255,.07);font-family:var(--serif)}
.cta-final::before{top:-20px;left:6%}
.cta-final::after{bottom:-40px;right:6%}
.cta-final h2{color:#fff;margin-bottom:.6rem}
.cta-final p{color:rgba(255,255,255,.9);max-width:560px;margin:0 auto 2rem;position:relative;z-index:2}
.cta-final .btn{position:relative;z-index:2;font-size:1.1rem;padding:1.1rem 2.6rem}
