/* =====================================================
   LANDING ALISADO ÁCIDO HIALURÓNICO
   Estilos adicionales — NO modifica styles.css
   Donde Ana Peluquería · dondeanapeluqueria.es
   MOBILE FIRST — base para móvil, escala a desktop
===================================================== */


/* ─────────────────────────────────────────────────────
   HERO  (ID cambiado a #inicio para no colisionar con
   #hero de styles.css que fuerza text-align:center)
───────────────────────────────────────────────────── */

.landing-hero {
  background: var(--cream);
  position: relative;
  overflow: hidden;
  padding: 5.5rem 1.2rem 3rem;
}

/* Anula herencia de centrado que pueda venir del CSS base 
.landing-hero,
.landing-hero .landing-hero-inner,
.landing-hero .landing-hero-text,
.landing-hero .hero-desc,
.landing-hero .hero-actions,
.landing-hero .hero-trust {
  text-align: left;
}
*/

.landing-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;        /* columna en móvil */
  gap: 2rem;
}

/* TEXTO — primero en móvil */
.landing-hero-text { order: 1; }

.landing-hero-text h1 {
  font-size: clamp(1.7rem, 7.5vw, 4.5rem);
  margin-top: .35rem;
  line-height: 1.15;
}

.landing-hero-text .hero-desc {
  font-size: .93rem;
  color: var(--text-muted);
  line-height: 1.8;
  margin-top: .9rem;
  max-width: 100%;
  text-align: left;
}

/* IMAGEN — debajo en móvil */
.landing-hero-img { order: 2; }

.landing-hero-img-wrap { position: relative; }

.landing-hero-img-wrap img {
  width: 100%;
  height: auto;                  /* proporción natural: 580×600 ≈ 1:1 */
  display: block;
  border-radius: var(--radius-md);
  object-fit: initial;
  box-shadow: var(--shadow-lg);
}

.landing-hero-badge {
  position: absolute;
  bottom: -.8rem;
  right: .5rem;
  background: var(--blue-deep);
  color: var(--white);
  padding: .65rem .9rem;
  border-radius: var(--radius-md);
  text-align: center;
  box-shadow: var(--shadow-md);
  line-height: 1.1;
}

.landing-hero-badge .badge-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--white);
  display: block;
}

.landing-hero-badge .badge-label {
  font-family: 'DM Sans', sans-serif;
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
  display: block;
}

/* CTAs: columna, ancho completo en móvil */
.hero-actions {
  display: flex;
  flex-direction: column;
  gap: .7rem;
  margin-top: 1.6rem;
  align-items: stretch;
  justify-content: flex-start;
}

.hero-actions .btn-wa,
.hero-actions .btn-outline {
  justify-content: center;
  text-align: center;
  width: 100%;
}

/* Trust badges: 2×2 en móvil */
.hero-trust {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
  margin-top: 1.6rem;
  padding-top: 1.3rem;
  border-top: 1px solid rgba(56,182,255,.15);
}

.trust-item {
  display: flex;
  align-items: center;
  gap: .35rem;
  font-size: .75rem;
  color: var(--text-muted);
}

.trust-icon { font-size: .85rem; flex-shrink: 0; }


/* ─────────────────────────────────────────────────────
   PROBLEMA / SOLUCIÓN
───────────────────────────────────────────────────── */

.landing-problem { background: var(--white); }

.landing-problem-inner {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.problem-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin-top: 1.6rem;
}

.problem-list li {
  display: flex;
  gap: .85rem;
  align-items: flex-start;
  padding: .8rem .9rem;
  background: var(--cream);
  border-radius: var(--radius-sm);
  border-left: 3px solid var(--blue-light);
}

.problem-icon {
  font-size: 1rem;
  color: var(--blue-mid);
  flex-shrink: 0;
  width: 1.2rem;
  text-align: center;
  margin-top: .1rem;
}

.problem-list li strong {
  display: block;
  font-size: .87rem;
  font-weight: 500;
  color: var(--dark);
  margin-bottom: .1rem;
}

.problem-list li p {
  font-size: .78rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin: 0;
}

.solution-card {
  background: var(--beige);
  border: 1px solid rgba(56,182,255,.18);
  border-radius: var(--radius-lg);
  padding: 1.6rem 1.3rem;
  box-shadow: var(--shadow-md);
  display: flex;
  flex-direction: column;
  gap: .85rem;
}

.solution-tag {
  font-size: .65rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--white);
  background: var(--blue-deep);
  padding: .28rem .8rem;
  border-radius: var(--radius-xl);
  display: inline-block;
  font-weight: 500;
  width: fit-content;
}

.solution-card h3 { font-size: 1.3rem; color: var(--dark); margin: 0; }

.solution-card p {
  font-size: .86rem;
  color: var(--text);
  line-height: 1.8;
  margin: 0;
}

.solution-card .btn-primary {
  align-self: flex-start;
  font-size: .88rem;
}

.solution-img {
  display: block;
  width: 100%;
  height: auto;                  /* proporción natural: 480×300 = 8:5 */
  border-radius: var(--radius-md);
  object-fit: initial;
  margin-top: .25rem;
  box-shadow: var(--shadow-sm);
}


/* ─────────────────────────────────────────────────────
   BENEFICIOS
───────────────────────────────────────────────────── */

.landing-benefits {
  background: var(--beige);
  border-top: 1px solid rgba(56,182,255,.1);
  border-bottom: 1px solid rgba(56,182,255,.1);
}

.benefits-header { text-align: center; margin-bottom: 1.75rem; }

/* 1 columna + tarjeta horizontal en móvil */
.benefits-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .65rem;
}

.benefit-card {
  background: var(--white);
  border: 1px solid rgba(56,182,255,.1);
  border-radius: var(--radius-md);
  padding: .9rem 1rem;
  display: flex;
  align-items: center;
  gap: .9rem;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}

.benefit-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
  border-color: rgba(56,182,255,.3);
}

.benefit-icon { font-size: 1.4rem; flex-shrink: 0; line-height: 1; }

.benefit-card h3 {
  font-family: 'DM Sans', sans-serif;
  font-size: .88rem;
  font-weight: 500;
  color: var(--dark);
  margin-bottom: .15rem;
  line-height: 1.25;
}

.benefit-card p {
  font-size: .76rem;
  color: var(--text-muted);
  line-height: 1.6;
  margin: 0;
}

/* Imagen panorámica: visible en móvil */
.benefits-img-row {
  display: block;
  margin-top: 1.5rem;
}

.benefits-img-row img {
  width: 100%;
  height: auto;                  /* proporción natural: 1100×420 ≈ 21:9 */
  border-radius: var(--radius-md);
  object-fit: initial;
  box-shadow: var(--shadow-sm);
}


/* ─────────────────────────────────────────────────────
   PASOS / CÓMO FUNCIONA
───────────────────────────────────────────────────── */

.landing-steps { background: var(--cream); }

.steps-inner {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.steps-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  margin-top: 1.6rem;
}

.step-item {
  display: flex;
  gap: .9rem;
  padding: 1rem 0;
  border-bottom: 1px solid rgba(56,182,255,.1);
}

.step-item:last-child { border-bottom: none; }

.step-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.65rem;
  font-weight: 500;
  color: var(--blue-deep);
  line-height: 1;
  flex-shrink: 0;
  width: 2rem;
  text-align: right;
  padding-top: .05rem;
}

.step-title {
  font-family: 'DM Sans', sans-serif;
  font-size: .88rem;
  font-weight: 500;
  color: var(--dark);
  margin-bottom: .2rem;
}

.step-desc {
  font-size: .78rem;
  color: var(--text-muted);
  line-height: 1.7;
  margin: 0;
}

/* Imagen lateral: visible en móvil debajo de los pasos */
.steps-img-col {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 1.5rem;
}

.steps-img-wrap { border-radius: var(--radius-md); overflow: hidden; }

.steps-img-wrap img {
  width: 100%;
  height: auto;                  /* proporción natural: 480×600 = 4:5 */
  display: block;
  object-fit: initial;
  box-shadow: var(--shadow-md);
  border-radius: var(--radius-md);
}

.steps-aside-quote {
  background: var(--white);
  border: 1px solid rgba(56,182,255,.15);
  border-left: 4px solid var(--blue);
  border-radius: var(--radius-md);
  padding: 1.1rem 1.2rem;
  box-shadow: var(--shadow-sm);
}

.steps-aside-quote p {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  font-style: italic;
  color: var(--dark);
  line-height: 1.6;
  margin: 0;
}

.steps-aside-quote cite {
  display: block;
  margin-top: .55rem;
  font-size: .7rem;
  letter-spacing: .12em;
  color: var(--blue-deep);
  text-transform: uppercase;
}


/* ─────────────────────────────────────────────────────
   PRECIO
───────────────────────────────────────────────────── */

.landing-price { background: var(--beige2); }

.price-card {
  background: linear-gradient(135deg, var(--blue-deep) 0%, var(--blue) 100%);
  border-radius: var(--radius-lg);
  padding: 1.8rem 1.4rem;
  box-shadow: 0 16px 50px rgba(36,121,223,.3);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.price-includes {
  display: flex;
  flex-direction: column;
  gap: .4rem;
  margin: 1rem 0;
}

.price-include-item {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .82rem;
  color: rgba(255,255,255,.9);
}

.price-include-item span { color: var(--white); font-weight: 700; flex-shrink: 0; }

/* Botón precio: ancho completo en móvil */
.btn-price {
  font-family: 'Titan One', sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  background: var(--white);
  color: var(--blue-deep);
  padding: .85rem 1.3rem;
  border-radius: var(--radius-xl);
  font-size: .9rem;
  letter-spacing: .03em;
  text-decoration: none;
  transition: all .25s;
  box-shadow: 0 4px 20px rgba(0,0,0,.15);
  font-weight: 400;
  width: 100%;
}

.btn-price:hover {
  background: var(--beige);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(0,0,0,.2);
}

/* Badge precio + duración en fila (móvil) */
.price-badge-col {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.2rem;
}

.price-big-badge {
  background: rgba(255,255,255,.12);
  border: 2px solid rgba(255,255,255,.25);
  border-radius: var(--radius-md);
  padding: .9rem 1.2rem;
  text-align: center;
  backdrop-filter: blur(6px);
  flex-shrink: 0;
}

.price-from {
  display: block;
  font-size: .63rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
  margin-bottom: .15rem;
}

.price-amount {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 2.6rem;
  font-weight: 400;
  color: var(--white);
  line-height: 1;
}

.price-note {
  display: block;
  font-size: .6rem;
  color: rgba(255,255,255,.4);
  margin-top: .2rem;
  letter-spacing: .07em;
}

.price-duration {
  font-size: .8rem;
  color: rgba(255,255,255,.75);
  letter-spacing: .05em;
  line-height: 1.4;
}


/* ─────────────────────────────────────────────────────
   POR QUÉ NOSOTRAS
───────────────────────────────────────────────────── */

.landing-why { background: var(--white); }

.why-header { text-align: center; margin-bottom: 1.75rem; }

/* 1 columna + tarjeta horizontal en móvil */
.why-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .65rem;
}

.why-card {
  background: var(--cream);
  border: 1px solid rgba(56,182,255,.1);
  border-radius: var(--radius-md);
  padding: .9rem 1rem;
  display: flex;
  align-items: center;
  gap: .9rem;
  transition: transform .25s, box-shadow .25s, border-color .25s;
}

.why-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-sm);
  border-color: rgba(56,182,255,.3);
}

.why-icon { font-size: 1.4rem; flex-shrink: 0; line-height: 1; }

.why-card h3 {
  font-family: 'DM Sans', sans-serif;
  font-size: .88rem;
  font-weight: 500;
  color: var(--dark);
  margin-bottom: .15rem;
  line-height: 1.25;
}

.why-card p {
  font-size: .76rem;
  color: var(--text-muted);
  line-height: 1.65;
  margin: 0;
}


/* ─────────────────────────────────────────────────────
   TESTIMONIOS
───────────────────────────────────────────────────── */

.landing-testimonials {
  background: var(--beige);
  border-top: 1px solid rgba(56,182,255,.1);
  border-bottom: 1px solid rgba(56,182,255,.1);
}

/* 1 columna en móvil (sobreescribe el grid del CSS base) */
.landing-testimonials .test-grid {
  grid-template-columns: 1fr;
  gap: .9rem;
}

.test-cta { text-align: center; margin-top: 2rem; }

.test-cta .btn-primary {
  width: 100%;
  justify-content: center;
}


/* ─────────────────────────────────────────────────────
   FAQ
───────────────────────────────────────────────────── */

.landing-faq { background: var(--cream); }

.faq-header { text-align: center; margin-bottom: 1.75rem; }

.faq-list {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: .4rem;
}

.faq-item {
  background: var(--white);
  border: 1px solid rgba(56,182,255,.12);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color .25s;
}

.faq-item[open] { border-color: rgba(56,182,255,.4); }

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .7rem;
  padding: 1rem 1.1rem;
  cursor: pointer;
  font-family: 'DM Sans', sans-serif;
  font-size: .87rem;
  font-weight: 500;
  color: var(--dark);
  list-style: none;
  transition: background .2s;
  user-select: none;
  line-height: 1.4;
}

.faq-question::-webkit-details-marker { display: none; }
.faq-question::marker               { display: none; }
.faq-question:hover { background: var(--cream); }

/* Chevron animado */
.faq-chevron {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  position: relative;
}

.faq-chevron::before,
.faq-chevron::after {
  content: '';
  position: absolute;
  top: 50%;
  height: 2px;
  width: 9px;
  background: var(--blue-deep);
  border-radius: 2px;
  transition: transform .28s ease;
}

.faq-chevron::before {
  left: 1px;
  transform: translateY(-50%) rotate(45deg) translateX(2px);
}

.faq-chevron::after {
  right: 1px;
  transform: translateY(-50%) rotate(-45deg) translateX(-2px);
}

.faq-item[open] .faq-chevron::before {
  transform: translateY(-50%) rotate(-45deg) translateX(2px);
}

.faq-item[open] .faq-chevron::after {
  transform: translateY(-50%) rotate(45deg) translateX(-2px);
}

.faq-answer { padding: 0 1.1rem 1rem; }

.faq-answer p {
  font-size: .83rem;
  color: var(--text-muted);
  line-height: 1.85;
  margin: 0;
}


/* ─────────────────────────────────────────────────────
   CONTACTO / CIERRE
───────────────────────────────────────────────────── */

.landing-contact {
  background: var(--beige);
  border-top: 1px solid rgba(56,182,255,.1);
}

.contact-landing-inner {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* Botones: columna, 100% en móvil */
.contact-landing-btns {
  display: flex;
  flex-direction: column;
  gap: .65rem;
  margin-top: 1.6rem;
}

.contact-landing-btns .btn-wa,
.contact-landing-btns .btn-primary,
.contact-landing-btns .btn-outline {
  justify-content: center;
  text-align: center;
  width: 100%;
}

.contact-info-card {
  background: var(--white);
  border: 1px solid rgba(56,182,255,.15);
  border-radius: var(--radius-lg);
  padding: 1.4rem 1.2rem;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}


/* ─────────────────────────────────────────────────────
   FOOTER
───────────────────────────────────────────────────── */

.site-footer {
  background: var(--dark);
  padding: 2.5rem 1.2rem 1.5rem;
}

.footer-inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 1100px;
  margin: 0 auto;
}

.footer-brand { display: flex; flex-direction: column; gap: .8rem; }

.footer-logo img {
  width: 48px; height: 48px;
  border-radius: 50%;
  border: 2px solid rgba(56,182,255,.25);
}

.footer-brand p {
  font-size: .81rem;
  color: rgba(255,255,255,.48);
  line-height: 1.75;
  max-width: 320px;
  margin: 0;
}

.footer-address {
  font-size: .77rem;
  color: rgba(255,255,255,.36);
  line-height: 1.7;
  font-style: normal;
}

.footer-address a { color: var(--blue-light); text-decoration: none; }

.footer-social { display: flex; gap: .65rem; }

.footer-social a {
  width: 33px; height: 33px;
  border-radius: 50%;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
  display: flex; align-items: center; justify-content: center;
  font-size: .88rem; text-decoration: none;
  transition: background .2s;
}

.footer-social a:hover { background: rgba(56,182,255,.2); }

.footer-col h4 {
  font-family: 'DM Sans', sans-serif;
  font-size: .67rem; letter-spacing: .2em; text-transform: uppercase;
  color: rgba(255,255,255,.3); margin-bottom: .8rem; font-weight: 500;
}

.footer-col ul { list-style: none; display: flex; flex-direction: column; gap: .5rem; }

.footer-col ul li,
.footer-col ul li a {
  font-size: .78rem; color: rgba(255,255,255,.46);
  text-decoration: none; transition: color .2s; line-height: 1.5;
}

.footer-col ul li a:hover { color: var(--blue-light); }

.footer-bottom {
  margin: 2rem auto 0;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(255,255,255,.07);
  text-align: center;
  max-width: 1100px;
}

.footer-bottom p { font-size: .7rem; color: rgba(255,255,255,.25); margin: 0; }
.footer-bottom a { color: var(--blue-light); text-decoration: none; }


/* ─────────────────────────────────────────────────────
   BOTÓN FLOTANTE WHATSAPP (solo móvil)
───────────────────────────────────────────────────── */

.wa-float {
  position: fixed;
  bottom: 1.3rem; right: 1.1rem;
  width: 50px; height: 50px;
  background: #25D366; color: var(--white);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 18px rgba(37,211,102,.4);
  z-index: 9000;
  transition: transform .25s, box-shadow .25s, opacity .3s;
  text-decoration: none;
}

.wa-float:hover {
  transform: scale(1.08);
  box-shadow: 0 8px 28px rgba(37,211,102,.5);
}


/* =====================================================
   560px+ — TELÉFONOS GRANDES
===================================================== */

@media (min-width: 560px) {

  /* CTAs Hero en fila */
  .hero-actions {
    flex-direction: row;
    align-items: center;
  }

  .hero-actions .btn-wa,
  .hero-actions .btn-outline {
    width: auto;
    flex: 1;
  }

  /* Contacto: botones en fila */
  .contact-landing-btns {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .contact-landing-btns .btn-wa,
  .contact-landing-btns .btn-primary,
  .contact-landing-btns .btn-outline {
    width: auto; flex: none;
  }

  /* CTA testimonios */
  .test-cta .btn-primary { width: auto; display: inline-flex; }

  /* Botón precio */
  .btn-price { width: auto; display: inline-flex; }
}


/* =====================================================
   640px+ — TABLET PEQUEÑA
===================================================== */

@media (min-width: 640px) {

  /* Benefits: 2 col, tarjetas verticales */
  .benefits-grid {
    grid-template-columns: 1fr 1fr;
    gap: .8rem;
  }

  .benefit-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 1.2rem 1rem;
  }

  .benefit-icon { margin-bottom: .45rem; }

  /* Why: 2 col, tarjetas verticales */
  .why-grid {
    grid-template-columns: 1fr 1fr;
    gap: .8rem;
  }

  .why-card {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 1.2rem 1rem;
  }

  .why-icon { margin-bottom: .45rem; }
}


/* =====================================================
   820px+ — TABLET GRANDE / ESCRITORIO
===================================================== */

@media (min-width: 820px) {

  /* ── Hero: dos columnas ── */
  .landing-hero {
    min-height: 92svh;
    display: flex;
    align-items: center;
    padding: 7rem 2rem 4rem;
  }

  .landing-hero-inner {
    flex-direction: row;
    align-items: center;
    gap: 3.5rem;
  }

  .landing-hero-text { order: 1; flex: 1; }

  .landing-hero-img {
    order: 2;
    flex: 0 0 44%;
    max-width: 460px;
  }

  .landing-hero-badge { padding: .95rem 1.2rem; }
  .landing-hero-badge .badge-num { font-size: 2rem; }

  .hero-actions { flex-direction: row; align-items: center; }
  .hero-actions .btn-wa,
  .hero-actions .btn-outline { width: auto; flex: none; }

  /* ── Padding de secciones ── */
  .landing-problem,
  .landing-benefits,
  .landing-steps,
  .landing-price,
  .landing-why,
  .landing-testimonials,
  .landing-faq,
  .landing-contact {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .site-footer { padding: 3.5rem 2rem 2rem; }

  /* ── Problema / Solución: 2 col ── */
  .landing-problem-inner {
    flex-direction: row;
    align-items: flex-start;
    gap: 3rem;
  }

  .problem-col, .solution-col { flex: 1; }

  /* ── Benefits: 3 col ── */
  .benefits-grid { grid-template-columns: 1fr 1fr 1fr; }

  .benefits-img-row { margin-top: 2rem; }

  /* ── Pasos: 2 col ── */
  .steps-inner {
    flex-direction: row;
    align-items: flex-start;
    gap: 4rem;
  }

  .steps-col { flex: 1.2; }

  .steps-img-col {
    flex-direction: column;
    gap: 1.4rem;
    flex: 0 0 35%;
    margin-top: 0;
  }

  /* ── Precio: fila ── */
  .price-card {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 2.5rem;
    padding: 2.5rem;
  }

  .price-left { flex: 1; }
  .btn-price  { width: auto; display: inline-flex; }

  .price-badge-col {
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    gap: .7rem;
  }

  .price-big-badge { padding: 1.6rem 2rem; }
  .price-amount    { font-size: 3.5rem; }

  /* ── Why: 3 col ── */
  .why-grid { grid-template-columns: 1fr 1fr 1fr; }

  /* ── Testimonios: 3 col ── */
  .landing-testimonials .test-grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.1rem;
  }

  /* ── Contacto: 2 col ── */
  .contact-landing-inner {
    flex-direction: row;
    align-items: flex-start;
    gap: 3rem;
  }

  .contact-landing-text { flex: 1; }
  .contact-landing-info { flex: 0 0 42%; }

  /* ── Footer: 3 col ── */
  .footer-inner { grid-template-columns: 1.5fr 1fr 1fr; }

  /* ── Botón flotante: oculto en desktop ── */
  .wa-float { display: none; }
}


/* =====================================================
   1100px+ — ESCRITORIO ANCHO
===================================================== */

@media (min-width: 1100px) {

  .landing-hero { padding: 8rem 2rem 5rem; }

  .landing-problem,
  .landing-benefits,
  .landing-steps,
  .landing-price,
  .landing-why,
  .landing-testimonials,
  .landing-faq,
  .landing-contact {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}