/* ===== TuMicroneedling — Home ===== */
:root{
  --tmn-teal:#14A08C; --tmn-teal-osc:#0D6B5E; --tmn-salmon:#DCB4A0;
  --tmn-crema:#FAF7F2; --tmn-negro:#0F0C08;
}
.hm-btn{display:inline-block;background:var(--tmn-teal);color:#fff;text-decoration:none;
  padding:14px 30px;border-radius:11px;font-weight:700;font-size:.98rem;transition:background .15s;}
.hm-btn:hover{background:var(--tmn-teal-osc);color:#fff;}
.hm-btn--ghost{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.75);}
.hm-btn--ghost:hover{background:#fff;color:var(--tmn-negro);}
.hm-link{color:var(--tmn-teal-osc);font-weight:700;text-decoration:none;white-space:nowrap;}
.hm-link:hover{text-decoration:underline;}

.hm-band{width:100%;}
.hm-band--white{background:#fff;}
.hm-band--crema{background:var(--tmn-crema);}
.hm-band--dark{background:var(--tmn-negro);}
.hm-band--pro{background:linear-gradient(135deg,#0D6B5E,#0a4f45);}
.hm-inner{max-width:1080px;margin:0 auto;padding:58px 20px;}

/* HERO */
.hm-hero{width:100%;background-size:cover;background-position:center;color:#fff;}
.hm-hero-inner{max-width:1080px;margin:0 auto;padding:110px 20px;}
.hm-kicker{display:inline-block;color:var(--tmn-salmon);font-weight:700;font-size:.8rem;
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;}
.hm-kicker--dark{color:var(--tmn-salmon);}
.hm-hero h1{margin:0 0 18px;font-size:3.2rem;line-height:1.08;font-weight:800;color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.5);}
.hm-hero p{color:#fff;font-size:1.18rem;line-height:1.6;max-width:560px;margin:0 0 28px;
  text-shadow:0 1px 10px rgba(0,0,0,.45);}
.hm-hero-cta{display:flex;gap:12px;flex-wrap:wrap;}
@media(max-width:640px){.hm-hero h1{font-size:2.1rem;}.hm-hero-inner{padding:72px 20px;}}

/* Pilares */
.hm-pilares{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
@media(max-width:760px){.hm-pilares{grid-template-columns:1fr;}}
.hm-pilar{text-align:center;}
.hm-pilar span{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;
  background:rgba(20,160,140,.1);color:var(--tmn-teal);border-radius:50%;font-size:1.5rem;margin-bottom:14px;}
.hm-pilar h3{margin:0 0 8px;font-size:1.15rem;color:var(--tmn-negro);}
.hm-pilar p{margin:0;color:#666;line-height:1.55;font-size:.94rem;}

/* Cómo funciona */
.hm-como{text-align:center;}
.hm-como h2, .hm-zonas h2{font-size:1.9rem;color:var(--tmn-negro);margin:0 0 8px;}
.hm-sub{color:#666;margin:0 auto 32px;max-width:560px;}
.hm-pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:760px){.hm-pasos{grid-template-columns:1fr;}}
.hm-paso span{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;
  background:var(--tmn-teal);color:#fff;border-radius:50%;font-weight:800;font-size:1.3rem;margin-bottom:14px;}
.hm-paso h3{margin:0 0 6px;font-size:1.15rem;color:var(--tmn-negro);}
.hm-paso p{margin:0;color:#666;font-size:.94rem;line-height:1.55;}
.hm-como-cta{margin-top:34px;}

/* Head row (título + ver todos) */
.hm-head-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:22px;gap:12px;}
.hm-head-row h2{font-size:1.9rem;color:var(--tmn-negro);margin:0;}

/* Grid centros (reutiliza dir-card) */
.dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;}
.dir-card{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;
  text-decoration:none;color:inherit;box-shadow:0 6px 22px rgba(15,12,8,.08);border:1px solid var(--tmn-teal);
  transition:transform .15s,box-shadow .15s;}
.dir-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(15,12,8,.14);}
.dir-card-img{height:160px;background-size:cover;background-position:center;position:relative;}
.dir-card-img.is-ph{background:linear-gradient(135deg,var(--tmn-teal),var(--tmn-teal-osc));}
.dir-badge{position:absolute;left:10px;bottom:10px;background:var(--tmn-teal);color:#fff;
  font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:999px;}
.dir-card-body{padding:16px;}
.dir-tipo{display:inline-block;background:var(--tmn-crema);border:1px solid var(--tmn-salmon);
  color:#8a5a3f;font-size:.68rem;font-weight:700;padding:2px 9px;border-radius:999px;margin-bottom:8px;}
.dir-card-nombre{margin:0 0 4px;font-size:1.05rem;line-height:1.25;color:var(--tmn-negro);}
.dir-card-meta{margin:0 0 6px;color:#777;font-size:.86rem;}
.dir-card-rating{margin:0;color:var(--tmn-teal-osc);font-weight:700;font-size:.88rem;}
.dir-card-rating small{color:#aaa;font-weight:400;}

/* Zonas (chips) */
.hm-zonas{text-align:center;}
.hm-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px;}
.hm-chip{background:#fff;border:1px solid #e6e0d8;color:var(--tmn-negro);text-decoration:none;
  padding:9px 16px;border-radius:999px;font-size:.9rem;font-weight:600;transition:all .15s;}
.hm-chip:hover{border-color:var(--tmn-teal);color:var(--tmn-teal-osc);}

/* Cupón */
.hm-cupon{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;}
.hm-cupon strong{display:block;color:#fff;font-size:1.25rem;}
.hm-cupon span{display:block;color:#cfc8bf;font-size:.92rem;margin-top:4px;}

/* Profesionales */
.hm-pro{color:#fff;}
.hm-pro-txt{max-width:640px;}
.hm-pro h2{font-size:2rem;margin:0 0 14px;color:#fff;line-height:1.15;}
.hm-pro p{color:#e3efec;line-height:1.6;margin:0 0 16px;}
.hm-pro-checks{list-style:none;margin:0 0 24px;padding:0;}
.hm-pro-checks li{padding:6px 0 6px 28px;position:relative;color:#f0f7f5;}
.hm-pro-checks li::before{content:'✓';position:absolute;left:0;color:var(--tmn-salmon);font-weight:800;}
.hm-pro .hm-btn{background:#fff;color:var(--tmn-teal-osc);}
.hm-pro .hm-btn:hover{background:var(--tmn-salmon);color:var(--tmn-negro);}

/* FAQ (compartida) */
.faq-wrap{max-width:820px;margin:0 auto;}
.faq-wrap details{background:#fff;border-radius:12px;padding:15px 18px;margin-bottom:10px;box-shadow:0 4px 14px rgba(15,12,8,.05);}
.faq-wrap summary{font-weight:600;cursor:pointer;color:#0F0C08;font-family:'DM Sans',sans-serif;}
.faq-wrap details p{margin:10px 0 0;color:#666;line-height:1.55;}
.cup-faq{padding:20px 18px 10px;}
