/* ===========================================================
   Elena Fernández · Fisioterapia a domicilio
   Hoja de estilos global
   =========================================================== */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}

:root{
  --cream:#f5f1e8; --surface:#fffdf8; --ink:#2c322d; --muted:#6f7670;
  --line:#e7e1d3; --brand:#4d6151; --brand-deep:#3a4a3e; --brand-soft:#e8ece2;
  --accent:#b08968;
}

body{
  background:var(--cream);
  color:var(--ink);
  font-family:Mulish,sans-serif;
  -webkit-font-smoothing:antialiased;
}

.menu-btn{display:none}

/* Carrusel de reseñas: scroll horizontal infinito */
.reviews-marquee{position:relative; width:100%; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%)}
.reviews-track{display:flex; width:max-content; gap:24px; padding:6px 0;
  animation:reviews-scroll 70s linear infinite; will-change:transform}
.reviews-marquee:hover .reviews-track{animation-play-state:paused}
@keyframes reviews-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media(prefers-reduced-motion:reduce){
  .reviews-track{animation:none; overflow-x:auto}
  .reviews-marquee{-webkit-mask-image:none; mask-image:none}
}
.review-card{flex:0 0 auto; width:360px}

/* ===========================================================
   Páginas legales (privacidad, aviso legal)
   =========================================================== */
.legal-wrap{max-width:820px; margin:0 auto; padding:64px 40px 88px}
.legal-eyebrow{font-size:12.5px; letter-spacing:2.5px; text-transform:uppercase; color:var(--brand); font-weight:600}
.legal-title{font-family:Spectral,serif; font-weight:500; font-size:44px; line-height:1.1; letter-spacing:-0.5px; margin:14px 0 10px; color:var(--brand-deep)}
.legal-updated{font-size:13.5px; color:var(--muted); margin:0 0 40px}
.legal-body h2{font-family:Spectral,serif; font-weight:500; font-size:26px; line-height:1.2; color:var(--brand-deep); margin:44px 0 14px}
.legal-body h3{font-size:17px; font-weight:700; color:var(--brand-deep); margin:26px 0 8px}
.legal-body p{font-size:16px; line-height:1.75; color:var(--ink); margin:0 0 16px}
.legal-body ul{margin:0 0 18px; padding-left:20px}
.legal-body li{font-size:16px; line-height:1.7; color:var(--ink); margin:0 0 8px}
.legal-body a{color:var(--brand); text-decoration:underline; text-underline-offset:2px}
.legal-body strong{font-weight:600}
.legal-card{background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:24px 26px; margin:0 0 26px}
.legal-card p{margin:0 0 6px; font-size:15px; line-height:1.6}
.legal-card p:last-child{margin:0}
.back-link{display:inline-flex; align-items:center; gap:8px; font-size:14.5px; font-weight:600; color:var(--brand-deep); text-decoration:none; margin-bottom:8px}
.back-link:hover{color:var(--brand)}

/* ===========================================================
   Responsive
   =========================================================== */
@media(max-width:880px){
  .desktop-nav{display:none !important}
  .menu-btn{display:flex !important}
  .hero-grid{grid-template-columns:1fr !important}
  .hero-photo{order:-1; min-height:340px !important}
  .about-grid{grid-template-columns:1fr !important}
  .two-col{grid-template-columns:1fr !important}
  .svc-grid{grid-template-columns:1fr !important}
  .pad-x{padding-left:22px !important; padding-right:22px !important}
  .h1{font-size:42px !important}
  .h2{font-size:30px !important}
  .review-card{width:290px}
  .legal-wrap{padding:44px 22px 64px}
  .legal-title{font-size:34px}
}

.credit-link,
.credit-link:hover{color:var(--cream) !important}