:root {
  --cream: #FFF8F5;
  --warm-white: #FFFCFB;
  --sage: #C96A4A;
  --sage-light: #F9EDE8;
  --sage-dark: #7A2E47;
  --terra: #B85C78;
  --terra-light: #F9E8EE;
  --purple: #7A2E47;
  --purple-light: #F5E0E8;
  --purple-mid: #D4849C;
  --charcoal: #3D2B35;
  --gray: #9C7080;
  --border: rgba(200,106,120,0.18);
  --ff-display: 'Playfair Display', Georgia, serif;
  --ff-body: 'DM Sans', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--ff-body); background: var(--cream); color: var(--charcoal); overflow-x: hidden; }

.page { display: block; animation: fadein .3s ease both; }
@keyframes fadein { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }

/* ── NAV ── */
nav {
  position: fixed; top:0; left:0; right:0; z-index:100;
  height: 62px;
  background: rgba(250,247,242,.94); backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 2.5rem;
}
.nav-logo { font-family: var(--ff-display); font-size:25px; font-weight:700; color:var(--sage-dark); cursor:pointer; letter-spacing:-.4px; display:inline-flex; align-items:center; gap:10px; text-decoration:none; }
.nav-logo-icon { height:42px; width:auto; display:block; }
.nav-logo em { font-style:normal; color:var(--purple-mid); }
.nav-logo span { color:var(--terra); }
.nav-links { display:flex; align-items:center; gap:.2rem; }
.nbtn { background:none; border:none; cursor:pointer; font-family:var(--ff-body); font-size:16px; color:var(--charcoal); padding:7px 13px; border-radius:100px; transition:color .2s, background .2s; font-weight:500; text-decoration:none; display:inline-block; }
.nbtn:hover { color:var(--charcoal); background:rgba(61,43,53,0.06); }
.nbtn-about { color:var(--charcoal); }
.nbtn-about:hover { background:rgba(61,43,53,0.08); color:#1e141a; }
.nbtn-sanit { color:var(--sage); }
.nbtn-sanit:hover { background:var(--sage-light); color:#a34e32; }
.nbtn-mental, .nbtn.mental { color:var(--purple); }
.nbtn-mental:hover, .nbtn.mental:hover { background:var(--purple-light); color:#541b2e; }
.nbtn-mujer { color:var(--terra); }
.nbtn-mujer:hover { background:var(--terra-light); color:#963f59; }
.nbtn.cta { background:var(--terra); color:white; font-weight:500; }
.nbtn.cta:hover { background:#b05a38; }
.nav-back { display:none; align-items:center; gap:7px; background:var(--sage-light); border:1.5px solid var(--border); border-radius:100px; cursor:pointer; font-family:var(--ff-body); font-size:16px; font-weight:500; color:var(--sage-dark); transition:background .2s, color .2s; padding:7px 16px; text-decoration:none; }
.nav-back:hover { background:var(--sage); color:white; border-color:var(--sage); }
.nav-back svg { width:15px; height:15px; }

/* hamburger */
.ham { display:none; flex-direction:column; justify-content:center; gap:5px; width:38px; height:38px; background:none; border:none; cursor:pointer; padding:6px; border-radius:8px; transition:background .2s; }
.ham:hover { background:var(--sage-light); }
.ham span { display:block; height:1.5px; border-radius:2px; background:var(--charcoal); transition:transform .25s, opacity .2s; }
.ham.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.ham.open span:nth-child(2) { opacity:0; }
.ham.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
.mob-menu { display:none; position:fixed; top:62px; left:0; right:0; z-index:99; background:rgba(250,247,242,.98); backdrop-filter:blur(14px); border-bottom:1px solid var(--border); flex-direction:column; padding:.5rem 1rem 1rem; animation:slidedown .2s ease both; }
.mob-menu.open { display:flex; }
@keyframes slidedown { from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none} }
.mob-menu button, .mob-menu a { background:none; border:none; cursor:pointer; font-family:var(--ff-body); font-size:17px; color:var(--charcoal); padding:13px 12px; text-align:left; border-radius:10px; transition:background .15s; width:100%; text-decoration:none; display:block; box-sizing:border-box; }
.mob-menu button:hover { background:var(--sage-light); }
.mob-menu .mob-about { color:var(--charcoal); font-weight:500; }
.mob-menu .mob-sanit { color:var(--sage); font-weight:500; }
.mob-menu .mob-mental { color:var(--purple); font-weight:500; }
.mob-menu .mob-mujer { color:var(--terra); font-weight:500; }
.mob-menu .mob-cta { background:var(--terra); color:white; font-weight:500; text-align:center; margin-top:.4rem; border-radius:100px; }
.mob-menu .mob-cta:hover { background:#b05a38; }
.mob-divider { height:1px; background:var(--border); margin:.3rem 0; }

/* ── SHARED ── */
.btn { display:inline-flex; align-items:center; gap:8px; padding:12px 24px; border-radius:100px; font-size:16px; font-weight:500; font-family:var(--ff-body); cursor:pointer; border:none; transition:background .2s, transform .15s; text-decoration:none; }
.btn-terra { background:var(--terra); color:white; }
.btn-terra:hover { background:#b05a38; transform:translateY(-1px); }
.btn-sage { background:var(--purple-mid); color:white; }
.btn-sage:hover { background:var(--terra); transform:translateY(-1px); }
.btn-purple { background:var(--purple); color:white; }
.btn-purple:hover { background:#4a3a79; transform:translateY(-1px); }
.btn-outline { background:none; border:1.5px solid var(--border); color:var(--sage-dark); }
.btn-outline:hover { border-color:var(--sage); background:var(--sage-light); }

.label { font-size:13px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:var(--terra); margin-bottom:.6rem; }
.label.sage { color:var(--sage-dark); }
.label.purple { color:var(--purple); }
.h1 { font-family:var(--ff-display); font-size:clamp(2rem,3.5vw,3rem); font-weight:700; line-height:1.15; letter-spacing:-.02em; color:var(--charcoal); }
.h2 { font-family:var(--ff-display); font-size:clamp(1.7rem,2.5vw,2.2rem); font-weight:700; line-height:1.18; letter-spacing:-.02em; color:var(--charcoal); margin-bottom:.7rem; }
.h3 { font-family:var(--ff-display); font-size:1.05rem; font-weight:700; color:var(--charcoal); margin-bottom:.4rem; }
.desc { font-size:17px; color:var(--gray); line-height:1.72; }
.see-more { display:inline-flex; align-items:center; gap:6px; background:none; border:1.5px solid var(--border); color:var(--sage-dark); padding:9px 18px; border-radius:100px; font-size:16px; font-weight:500; cursor:pointer; font-family:var(--ff-body); transition:all .2s; text-decoration:none; }
.see-more:hover { border-color:var(--sage); background:var(--sage-light); }
.see-more.purple { color:var(--purple); }
.see-more.purple:hover { border-color:var(--purple-mid); background:var(--purple-light); }
.see-more.mt { margin-top:1.3rem; }

/* ── LINE BADGE ── */
.line-badge { display:inline-flex; align-items:center; gap:7px; padding:5px 14px; border-radius:100px; font-size:13px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; margin-bottom:1rem; }
.line-badge.sanit { background:var(--sage-light); color:var(--sage-dark); }
.line-badge.sanit::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--sage); display:block; }
.line-badge.mental { background:var(--purple-light); color:var(--purple); }
.line-badge.mental::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--purple); display:block; animation:blink 2s ease-in-out infinite; }
@keyframes blink { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(1.4)} }

/* ── SCROLL REVEAL (sutil, accesible) ── */
[data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1);
  will-change: opacity, transform;
}
[data-reveal="fade"] { transform: none; }
[data-reveal="left"] { transform: translateX(-22px); }
[data-reveal="right"] { transform: translateX(22px); }
[data-reveal="scale"] { transform: scale(.96); }
[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}
/* Stagger para grupos de tarjetas */
[data-reveal-group] > * {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1);
}
[data-reveal-group].is-visible > * { opacity: 1; transform: none; }
[data-reveal-group].is-visible > *:nth-child(1) { transition-delay: .00s; }
[data-reveal-group].is-visible > *:nth-child(2) { transition-delay: .08s; }
[data-reveal-group].is-visible > *:nth-child(3) { transition-delay: .16s; }
[data-reveal-group].is-visible > *:nth-child(4) { transition-delay: .24s; }
[data-reveal-group].is-visible > *:nth-child(5) { transition-delay: .32s; }
[data-reveal-group].is-visible > *:nth-child(6) { transition-delay: .40s; }
[data-reveal-group].is-visible > *:nth-child(7) { transition-delay: .48s; }
[data-reveal-group].is-visible > *:nth-child(8) { transition-delay: .56s; }

/* Respeto absoluto a quien prefiere menos movimiento (común en personas mayores
   o con sensibilidad vestibular). Mostramos todo de inmediato. */
@media (prefers-reduced-motion: reduce) {
  [data-reveal],
  [data-reveal-group] > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  html { scroll-behavior: auto; }
}

/* ── HOME HERO ── */
.hero-photo {
  position: relative;
  min-height: calc(100vh - 62px);
  display: flex;
  align-items: center;
  overflow: visible;
  background: var(--sage-dark);
}
.hero-photo-img {
  position: absolute; inset: 0;
  background-size: cover; background-position: center 30%;
  width: 100%; height: 100%;
  filter: brightness(.92) saturate(1);
}
.hero-photo-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(105deg, rgba(61,20,30,.58) 0%, rgba(61,20,30,.28) 55%, rgba(61,20,30,.05) 100%);
}
.hero-content {
  position: relative; z-index: 1;
  max-width: 1180px; margin: 0 auto; width: 100%;
  padding: 120px 2.5rem 80px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center;
}
.hero { min-height:calc(100vh - 62px); display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; max-width:1180px; margin:0 auto; padding:100px 2.5rem 70px; }
.hero-title { font-family:var(--ff-display); font-size:clamp(2.4rem,4vw,3.7rem); font-weight:700; line-height:1.1; letter-spacing:-.025em; margin-bottom:1.3rem; color: white; }
.hero-title em { font-style:normal; color:var(--purple); }
.hero-title span { color:var(--terra); }
.hero-desc { font-size:17px; color:rgba(255,255,255,.8); line-height:1.75; max-width:460px; margin-bottom:2rem; }
.hero-btns { display:flex; gap:.8rem; flex-wrap:wrap; align-items:center; }
.btn-hero { font-size:17px; padding:14px 30px; }
.hcard { background:white; border-radius:22px; padding:1.8rem; border:1px solid var(--border); box-shadow:0 6px 32px rgba(180,80,100,.08); }
.hcard-head { display:flex; align-items:center; gap:12px; margin-bottom:1.4rem; padding-bottom:1.4rem; border-bottom:1px solid var(--border); }
.avatar { width:46px; height:46px; border-radius:50%; background:linear-gradient(135deg,var(--sage-light),var(--sage)); display:flex; align-items:center; justify-content:center; font-family:var(--ff-display); font-size:17px; color:white; font-weight:700; flex-shrink:0; }

/* two-line preview in hero card */
.hcard-lines { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin-bottom:1.3rem; }
.hcard-line { border-radius:12px; padding:1rem; }
.hcard-line.sanit { background:var(--sage-light); }
.hcard-line.mental { background:var(--purple-light); }
.hcard-line-title { font-size:13px; font-weight:500; text-transform:uppercase; letter-spacing:.08em; margin-bottom:.5rem; }
.hcard-line.sanit .hcard-line-title { color:var(--sage-dark); }
.hcard-line.mental .hcard-line-title { color:var(--purple); }
.hcard-chips { display:flex; flex-wrap:wrap; gap:5px; }
.chip { font-size:13px; padding:3px 9px; border-radius:100px; }
.chip-sage { background:white; color:var(--sage-dark); border:1px solid rgba(200,106,120,.2); }
.chip-purple { background:white; color:var(--purple); border:1px solid rgba(91,74,138,.2); }
.stats { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
.stat { background:var(--cream); border-radius:12px; padding:12px; text-align:center; }
.stat-n { font-family:var(--ff-display); font-size:21px; font-weight:700; display:block; }
.stat-l { font-size:13px; color:var(--gray); }

/* trust */
.trust { background:var(--sage-dark); color:white; padding:1.1rem 2rem; display:flex; justify-content:center; gap:2.5rem; flex-wrap:wrap; }
.ti { display:flex; align-items:center; gap:8px; font-size:15px; opacity:.9; }
.ti-dot { width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.15); display:flex; align-items:center; justify-content:center; font-size:15px; }

/* ── SUMMARY SECTIONS ── */
.sum-sec { padding:68px 2.5rem; }
.sum-sec.alt { background:var(--warm-white); }
.sum-inner { max-width:1180px; margin:0 auto; }

/* Elena strip */
.elena-strip { display:grid; grid-template-columns:auto 1fr; gap:2rem; align-items:center; background:white; border:1px solid var(--border); border-radius:20px; padding:1.8rem 2rem; margin-bottom:1.6rem; }
.avatar-lg { width:84px; height:84px; border-radius:50%; background:linear-gradient(135deg,var(--sage-light),var(--sage)); display:flex; align-items:center; justify-content:center; font-family:var(--ff-display); font-size:30px; color:white; font-weight:700; flex-shrink:0; }
.elena-quote { font-family:var(--ff-display); font-style:italic; font-size:17px; color:var(--charcoal); line-height:1.6; margin-bottom:.7rem; }
.cred-pills { display:flex; flex-wrap:wrap; gap:6px; }
.cpill { font-size:13px; padding:3px 11px; border-radius:100px; background:var(--sage-light); color:var(--sage-dark); }

/* two-line summary grid */
.lines-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin-bottom:1.6rem; }
@media(max-width:980px){ .lines-grid { grid-template-columns:1fr; } }

/* gradient service cards (probado 2026-08-18) */
.gcard { position:relative; overflow:hidden; border-radius:22px; padding:2rem 2.2rem; border:2px solid transparent; transition:transform .25s ease, box-shadow .25s ease; }
.gcard:hover { transform:translateY(-5px) scale(1.015); box-shadow:0 18px 40px rgba(61,20,30,.14); }
.gcard.sage { background:linear-gradient(135deg,var(--sage-light) 0%,#F3DACC 100%); border-color:rgba(200,106,120,.22); }
.gcard.purple { background:linear-gradient(135deg,var(--purple-light) 0%,#E6D9F2 100%); border-color:rgba(91,74,138,.3); }
.gcard.terra { background:linear-gradient(135deg,var(--terra-light) 0%,#F7DCE6 100%); border-color:rgba(184,92,120,.28); }
.gcard-deco { position:absolute; right:-8px; bottom:-14px; font-size:80px; line-height:1; opacity:.13; pointer-events:none; transition:transform .3s ease; }
.gcard:hover .gcard-deco { transform:scale(1.08) rotate(4deg); }
.gcard-top-bar { display:flex; align-items:center; justify-content:space-between; gap:8px 12px; flex-wrap:wrap; margin-bottom:1.1rem; }
.gcard-top-bar .gcard-badge { margin-bottom:0; }
.gcard-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.6); backdrop-filter:blur(4px); padding:5px 14px; border-radius:100px; font-size:13px; font-weight:500; color:var(--charcoal); margin-bottom:1rem; width:fit-content; }
.gcard-badge-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; display:inline-block; }
.gcard-cta { display:inline-flex; align-items:center; gap:6px; font-size:15px; font-weight:600; margin-top:1.2rem; text-decoration:none; }
.gcard-cta .arrow { transition:transform .25s ease; display:inline-block; }
.gcard:hover .gcard-cta .arrow { transform:translateX(4px); }
.soon-badge { display:inline-flex; align-items:center; gap:6px; background:var(--sage-dark); color:white; font-size:12.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; padding:5px 14px; border-radius:100px; box-shadow:0 3px 10px rgba(122,46,71,.25); white-space:nowrap; }
.eir-badge { display:inline-flex; align-items:center; gap:6px; background:var(--purple); color:white; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:5px 12px; border-radius:100px; box-shadow:0 2px 8px rgba(122,46,71,.2); white-space:nowrap; }
.soon-pill { display:inline-block; background:var(--terra-light); color:var(--terra); font-size:12px; font-weight:600; padding:2px 9px; border-radius:100px; margin-left:6px; vertical-align:middle; text-transform:none; letter-spacing:0; }
.line-card { border-radius:20px; padding:1.8rem; border:2px solid transparent; transition:transform .2s, box-shadow .2s; cursor:pointer; }
.line-card:hover { transform:translateY(-3px); box-shadow:0 10px 28px rgba(0,0,0,.08); }
.line-card.sanit { background:var(--sage-light); border-color:rgba(200,106,120,.25); }
.line-card.mental { background:var(--purple-light); border-color:rgba(91,74,138,.25); }
.line-card-icon { font-size:28px; margin-bottom:.8rem; }
.line-card-title { font-family:var(--ff-display); font-size:1.2rem; font-weight:700; margin-bottom:.5rem; }
.line-card.sanit .line-card-title { color:var(--sage-dark); }
.line-card.mental .line-card-title { color:var(--purple); }
.line-card-desc { font-size:16px; line-height:1.6; color:var(--gray); margin-bottom:1rem; }
.line-card-items { display:flex; flex-direction:column; gap:5px; }
.lci { font-size:15px; color:var(--charcoal); display:flex; align-items:center; gap:7px; }
.lci::before { content:''; width:5px; height:5px; border-radius:50%; flex-shrink:0; }
.line-card.sanit .lci::before { background:var(--sage); }
.line-card.mental .lci::before { background:var(--purple-mid); }

/* area strip */
.area-strip { background:var(--sage-dark); border-radius:20px; padding:1.8rem 2rem; margin-bottom:1.6rem; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; flex-wrap:wrap; transition:transform .2s, box-shadow .2s; text-decoration:none; color:inherit; }
.area-strip:hover { transform:translateY(-3px); box-shadow:0 10px 28px rgba(0,0,0,.15); }
.zone-chips { display:flex; flex-wrap:wrap; gap:7px; margin-top:.8rem; }
.zchip { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.85); border-radius:100px; padding:4px 12px; font-size:14px; }
.zchip.online { background:rgba(201,106,69,.3); border-color:rgba(201,106,69,.5); color:#F4A07A; }

/* contact strip */
.contact-strip { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.6rem; }
.cstrip-item { background:var(--sage-light); border-radius:14px; padding:1rem 1.2rem; display:flex; align-items:center; gap:12px; }
.cs-lbl { font-size:13px; color:var(--sage-dark); font-weight:500; text-transform:uppercase; letter-spacing:.07em; }
.cs-val { font-size:16px; color:var(--charcoal); }

/* ── DETAIL PAGES ── */
.detail { padding:62px 0 0; min-height:100vh; }
.dheader { padding:3.5rem 2.5rem 3rem; }
.dheader.sage { background:var(--sage-dark); }
.dheader.purple { background:var(--purple); }
.dheader.terra { background:var(--terra); }
.dheader-inner { max-width:900px; margin:0 auto; }
.dheader .label { color:rgba(255,255,255,.5); }
.dheader h1 { font-family:var(--ff-display); font-size:clamp(2rem,3.5vw,3rem); font-weight:700; color:white; line-height:1.15; letter-spacing:-.02em; margin-bottom:.7rem; }
.dheader h1 em { font-style:italic; color:rgba(255,255,255,.7); }
.dheader p { font-size:17px; color:rgba(255,255,255,.65); line-height:1.7; max-width:540px; }
.dbody { max-width:960px; margin:0 auto; padding:3rem 2.5rem 5rem; }

/* servicios */
.svc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.2rem; }
.svc-card { background:white; border:1px solid var(--border); border-radius:18px; padding:1.5rem; transition:transform .2s, box-shadow .2s; }
.svc-card:hover { transform:translateY(-3px); box-shadow:0 10px 28px rgba(180,80,100,.08); }
.svc-card h3 { font-family:var(--ff-display); font-size:1rem; font-weight:700; color:var(--charcoal); margin-bottom:.5rem; }
.svc-card p { font-size:15px; color:var(--gray); line-height:1.6; margin-bottom:.9rem; }
.icon-box { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:.9rem; }
.icon-sage { background:var(--sage-light); }
.icon-purple { background:var(--purple-light); }
.icon-terra { background:var(--terra-light); }
.svc-tags { display:flex; flex-wrap:wrap; gap:5px; }
.stag { font-size:13px; padding:3px 9px; border-radius:100px; border:1px solid var(--border); color:var(--gray); }

/* steps */
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; position:relative; margin-bottom:3rem; }
.steps::before { content:''; position:absolute; top:26px; left:12%; width:76%; height:1px; background:var(--border); z-index:0; }
.step { text-align:center; position:relative; z-index:1; }
.step-n { width:52px; height:52px; border-radius:50%; background:white; border:1.5px solid var(--border); display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; font-family:var(--ff-body); line-height:1; font-size:19px; font-weight:700; color:var(--sage-dark); }
.step-n.on { background:var(--sage); border-color:var(--sage); color:white; }
.step h4 { font-size:15px; font-weight:500; color:var(--charcoal); margin-bottom:4px; }
.step p { font-size:14px; color:var(--gray); line-height:1.5; }

/* salud mental */
.sm-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.sm-summary-item { background:white; border:1px solid var(--border); border-radius:14px; padding:1.3rem 1rem; min-height:104px; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; font-size:16px; font-weight:700; color:var(--charcoal); cursor:pointer; transition:border-color .2s, background .2s; }
.sm-summary-item:hover { border-color:var(--purple-mid); background:var(--purple-light); }
.sm-summary-item .label { min-width:0; overflow-wrap:break-word; }
.sm-summary-item .icon { font-size:26px; }
.sm-cards { display:flex; flex-direction:column; gap:1.1rem; margin-bottom:2.5rem; }
.sm-card { background:white; border:1px solid var(--border); border-radius:16px; padding:1.5rem; display:flex; gap:1.2rem; align-items:flex-start; }
.sm-card h3 { font-family:var(--ff-display); font-size:1rem; font-weight:700; color:var(--charcoal); margin-bottom:4px; }
.sm-card p { font-size:16px; color:var(--gray); line-height:1.65; }
.para-quien { display:grid; grid-template-columns:1fr 1fr; gap:9px; background:var(--purple-light); border-radius:20px; padding:1.8rem; margin-bottom:1.5rem; }
.pq-title { grid-column:1/-1; font-size:13px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--purple-mid); margin-bottom:.2rem; }
.pq { background:white; border-radius:11px; padding:10px 13px; font-size:15px; color:var(--charcoal); display:flex; align-items:center; gap:9px; }
.sm-note { background:var(--purple); border-radius:14px; padding:1.1rem 1.4rem; display:flex; gap:11px; align-items:flex-start; }
.sm-note p { font-size:14px; color:rgba(255,255,255,.7); line-height:1.65; }

/* elena */
.elena-layout { display:grid; grid-template-columns:280px 1fr; gap:4rem; align-items:start; }
.elena-sidebar { background:var(--sage-light); border-radius:22px; padding:2rem; position:sticky; top:80px; text-align:center; }
.avatar-xl { width:100px; height:100px; border-radius:50%; background:linear-gradient(135deg,var(--sage),var(--sage-dark)); display:flex; align-items:center; justify-content:center; font-family:var(--ff-display); font-size:36px; color:white; font-weight:700; margin:0 auto 1.1rem; overflow:hidden; }
.avatar-xl img { width:100%; height:100%; object-fit:cover; object-position:center 15%; }
.ename { font-family:var(--ff-display); font-size:1.3rem; font-weight:700; color:var(--charcoal); margin-bottom:3px; }
.esub { font-size:15px; color:var(--gray); margin-bottom:1.3rem; }
.cred-list { display:flex; flex-direction:column; gap:7px; text-align:left; }
.cred { background:white; border-radius:9px; padding:9px 12px; font-size:14px; font-weight:500; color:var(--sage-dark); display:flex; align-items:center; gap:8px; }
.bio p { font-size:17px; line-height:1.8; color:var(--charcoal); margin-bottom:1.1rem; }
.bio p:first-child { font-family:var(--ff-display); font-size:18px; font-style:italic; }
.bio strong { color:var(--sage-dark); font-weight:500; }
.bio-list { list-style:none; display:flex; flex-direction:column; gap:.9rem; margin:0 0 1.3rem; }
.bio-list li { font-size:17px; line-height:1.8; color:var(--charcoal); padding-left:1.3rem; position:relative; }
.bio-list li::before { content:''; position:absolute; left:0; top:.55rem; width:7px; height:7px; border-radius:50%; background:var(--sage); }
.sidebar-btns { margin-top:1rem; display:flex; flex-direction:column; gap:.6rem; }
.btn-full { width:100%; justify-content:center; }
.bio-actions { margin-top:1.5rem; display:flex; gap:1rem; flex-wrap:wrap; }

/* area */
.area-layout { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.zone-list { display:flex; flex-direction:column; gap:9px; }
.zone-item { display:flex; align-items:center; gap:11px; padding:11px 14px; background:white; border:1px solid var(--border); border-radius:11px; }
.zdot { width:8px; height:8px; border-radius:50%; background:var(--sage); flex-shrink:0; }
.zdot.online { background:var(--terra); }
.zname { font-size:16px; color:var(--charcoal); }
.znote { font-size:13px; color:var(--gray); margin-left:auto; }
.map-box { background:var(--sage-dark); border-radius:20px; padding:1.8rem; text-align:center; }
.online-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(201,106,69,.25); border:1px solid rgba(201,106,69,.4); color:#F4A07A; padding:7px 15px; border-radius:100px; font-size:15px; margin-top:.9rem; }

/* online */
.online-layout { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.online-feats { display:flex; flex-direction:column; gap:.9rem; margin-bottom:2rem; }
.ofeat { display:flex; align-items:flex-start; gap:13px; padding:1.1rem 1.3rem; background:white; border-radius:14px; border:1px solid var(--border); }
.ofeat h4 { font-size:16px; font-weight:500; color:var(--charcoal); margin-bottom:3px; }
.ofeat p { font-size:15px; color:var(--gray); }
.ofeat-icon { font-size:20px; flex-shrink:0; margin-top:2px; }
.modalities { display:flex; flex-direction:column; gap:8px; }
.modality { display:flex; align-items:center; gap:10px; padding:10px 14px; background:var(--terra-light); border-radius:11px; font-size:15px; color:var(--charcoal); }

/* contacto */
.contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.contact-items { display:flex; flex-direction:column; gap:.9rem; }
.citem { background:var(--sage-light); border-radius:12px; padding:12px 15px; display:flex; gap:12px; align-items:center; }
.ci-icon-wa { display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ci-lbl { font-size:13px; color:var(--sage-dark); font-weight:500; text-transform:uppercase; letter-spacing:.07em; }
.ci-val { font-size:16px; color:var(--charcoal); }
.cform { background:white; border:1px solid var(--border); border-radius:20px; padding:1.8rem; }
.cf-title { font-family:var(--ff-display); font-size:1.2rem; font-weight:700; color:var(--charcoal); margin-bottom:1.3rem; }
.fg { margin-bottom:.85rem; }
.fg label { display:block; font-size:13px; font-weight:500; color:var(--gray); margin-bottom:5px; text-transform:uppercase; letter-spacing:.06em; }
.fg input,.fg textarea,.fg select { width:100%; padding:10px 13px; border:1px solid var(--border); border-radius:10px; font-family:var(--ff-body); font-size:16px; color:var(--charcoal); background:var(--cream); outline:none; transition:border-color .2s; }
.fg input:focus,.fg textarea:focus,.fg select:focus { border-color:var(--sage); background:white; }
.fg textarea { min-height:90px; resize:vertical; }
.fg-row { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.cf-submit { width:100%; background:var(--terra); color:white; border:none; padding:13px; border-radius:100px; font-size:16px; font-weight:500; font-family:var(--ff-body); cursor:pointer; transition:background .2s; margin-top:.3rem; }
.cf-submit:hover { background:#b05a38; }
.form-type-label { font-weight:600; font-size:16px; }
.form-type-label.sage { color:var(--sage-dark); }
.form-type-label.purple { color:var(--purple); }

/* footer */
footer { background:var(--charcoal); padding:2.5rem; }
.footer-inner { max-width:1100px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.flogo { font-family:var(--ff-display); font-size:17px; font-weight:700; color:white; display:inline-flex; align-items:center; gap:7px; }
.flogo-icon { height:24px; width:auto; display:block; filter:brightness(0) invert(1); opacity:.92; }
.flogo em { font-style:normal; color:#A8A0CC; }
.flogo span { color:var(--terra); }
.flinks { display:flex; gap:1.3rem; flex-wrap:wrap; }
.flinks a { text-decoration:none; color:rgba(255,255,255,.4); font-size:15px; cursor:pointer; transition:color .2s; }
.flinks a:hover { color:white; }
.fcopy { font-size:14px; color:rgba(255,255,255,.3); }

/* ── MOBILE ── */
.two-col-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }

@media(max-width:768px){
  nav { padding:0 1.2rem; }
  .nav-links { display:none !important; }
  .ham { display:flex; }
  .hero { grid-template-columns:1fr; padding:80px 1.2rem 50px; gap:2rem; min-height:unset; }
  .hero-content { grid-template-columns:1fr; padding:80px 1.2rem 60px; gap:2rem; }
  .hero-title { font-size:1.9rem; line-height:1.15; }
  .hcard { display:none; }
  .hcard-lines { grid-template-columns:1fr; gap:.7rem; }
  .trust { gap:.8rem; padding:.9rem 1.2rem; justify-content:flex-start; }
  .ti { font-size:13px; }
  .sum-sec { padding:40px 1.2rem; }
  .lines-grid { grid-template-columns:1fr; }
  .elena-strip { grid-template-columns:1fr !important; text-align:center; gap:1.2rem; padding:1.4rem !important; }
  .cred-pills { justify-content:center; }
  .contact-strip { grid-template-columns:1fr; gap:.8rem; }
  .two-col-grid { grid-template-columns:1fr; gap:2rem; }
  .dheader { padding:2rem 1.2rem 1.8rem; }
  .dheader h1 { font-size:1.7rem; line-height:1.2; }
  .dheader p { font-size:16px; }
  .dbody { padding:1.8rem 1.2rem 3.5rem; }
  .detail div[style*="min-height:52vh"] { min-height:38vh !important; }
  .detail div[style*="min-height:52vh"] > div[style*="padding:0 2.5rem"] { padding:0 1.2rem 2rem !important; }
  .steps { grid-template-columns:1fr 1fr; gap:1rem; }
  .steps::before { display:none; }
  .svc-grid { grid-template-columns:1fr; }
  .elena-layout { grid-template-columns:1fr; gap:2rem; }
  .elena-sidebar { position:static; }
  .sm-card { flex-direction:column; gap:.8rem; }
  .sm-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .para-quien { grid-template-columns:1fr; }
  .area-layout,.online-layout,.contact-layout { grid-template-columns:1fr; gap:2rem; }
  #mapa-cobertura { height:300px !important; }
  .fg-row { grid-template-columns:1fr; }
  div[style*="margin:-64px auto 0"] { margin:-28px auto 0 !important; padding:0 1.2rem !important; }
  div[style*="margin:-64px auto 0"] > div { grid-template-columns:1fr !important; gap:.8rem !important; }
  div[style*="grid-template-columns:1fr 1fr 1fr"] { grid-template-columns:1fr !important; }
  div[style*="grid-template-columns:1fr 1fr;gap:4rem"] { grid-template-columns:1fr !important; gap:1.5rem !important; }
  div[style*="grid-template-columns:1fr 1fr;gap:3rem"] { grid-template-columns:1fr !important; gap:1.5rem !important; }
  div[style*="grid-template-columns:1fr 1.6fr"] { grid-template-columns:1fr !important; gap:1.5rem !important; }
  div[style*="padding:160px 2.5rem 140px"] { padding:90px 1.2rem 100px !important; }
  /* Badge EIR en card de salud mental del home: en móvil pasa a estático */
  .home-card-mental { padding:1.4rem 1.4rem !important; }
  .home-card-mental .eir-badge { position:static !important; display:inline-block; margin-bottom:.9rem; }
  .home-card-mental-label { font-size:9px !important; letter-spacing:.06em !important; }
  .footer-inner { flex-direction:column; align-items:flex-start; gap:1.2rem; }
  .flinks { gap:.8rem; }
}
@media(max-width:500px){
  .hero-title { font-size:1.7rem; }
  .dheader h1 { font-size:1.5rem; }
  .line-card-title { font-size:1.05rem; }
}

/* ── FLOATING CARDS ── */
.fcard { background:white; border-radius:18px; padding:1.5rem 1.6rem; box-shadow:0 6px 28px rgba(0,0,0,.1); cursor:pointer; transition:transform .2s, box-shadow .2s; text-decoration:none; color:inherit; display:block; }
.fcard:hover { transform:translateY(-4px); box-shadow:0 14px 40px rgba(0,0,0,.14); }
.fcard-icon { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:.9rem; }
.fcard-title { font-family:var(--ff-display); font-size:16px; font-weight:700; margin-bottom:.4rem; }
.fcard-desc { font-size:15px; color:var(--gray); line-height:1.55; }

/* mobile fcard */
@media(max-width:768px) {
  .fcard { padding:1.2rem; }
}
@media(max-width:768px) {
  div[style*="grid-template-columns:1fr 1fr 1fr"] { grid-template-columns: 1fr !important; }
  div[style*="grid-template-columns:1fr 1fr;gap:4rem"] { grid-template-columns: 1fr !important; gap: 2rem !important; }
  div[style*="grid-template-columns:1fr 1.6fr"] { grid-template-columns: 1fr !important; gap: 2rem !important; }
  div[style*="padding:160px 2.5rem 140px"] { padding: 100px 1.2rem 110px !important; }
  div[style*="margin:-64px auto 0"] { margin: -40px auto 0 !important; }
}

/* ── COOKIE BANNER ── */
.cookie-banner { position:fixed; left:0; right:0; bottom:0; z-index:300; display:none; padding:1rem; }
.cookie-banner.show { display:block; animation:cookieUp .3s ease both; }
@keyframes cookieUp { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
.cookie-banner-inner { max-width:980px; margin:0 auto; background:white; border:1px solid var(--border); border-radius:18px; box-shadow:0 12px 40px rgba(0,0,0,.18); padding:1.4rem 1.6rem; display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.cookie-banner-text strong { font-family:var(--ff-display); font-size:16px; color:var(--charcoal); display:block; margin-bottom:4px; }
.cookie-banner-text p { font-size:15px; color:var(--gray); line-height:1.55; max-width:620px; }
.cookie-banner-actions { display:flex; gap:.6rem; flex-wrap:wrap; margin-left:auto; flex-shrink:0; }
.cookie-btn { padding:10px 18px; border-radius:100px; font-size:15px; font-weight:500; font-family:var(--ff-body); cursor:pointer; border:none; transition:background .2s, transform .15s; white-space:nowrap; }
.cookie-btn-outline { background:none; border:1.5px solid var(--border); color:var(--charcoal); }
.cookie-btn-outline:hover { border-color:var(--sage); background:var(--sage-light); }
.cookie-btn-accept { background:var(--sage-dark); color:white; }
.cookie-btn-accept:hover { background:#5e1f32; transform:translateY(-1px); }

@media(max-width:768px){
  .cookie-banner-inner { flex-direction:column; align-items:stretch; padding:1.2rem; }
  .cookie-banner-actions { margin-left:0; }
  .cookie-btn { flex:1; }
}

/* ── COOKIE SETTINGS MODAL ── */
.cookie-modal-overlay { display:none; position:fixed; inset:0; z-index:400; background:rgba(61,20,30,.45); backdrop-filter:blur(2px); align-items:center; justify-content:center; padding:1.2rem; }
.cookie-modal-overlay.show { display:flex; }
.cookie-modal { background:white; border-radius:20px; max-width:480px; width:100%; max-height:85vh; overflow-y:auto; box-shadow:0 20px 60px rgba(0,0,0,.25); animation:cookieModalIn .25s ease both; }
@keyframes cookieModalIn { from{opacity:0;transform:scale(.96)} to{opacity:1;transform:none} }
.cookie-modal-head { display:flex; align-items:center; justify-content:space-between; padding:1.4rem 1.6rem 1rem; border-bottom:1px solid var(--border); }
.cookie-modal-head h3 { font-family:var(--ff-display); font-size:1.15rem; font-weight:700; color:var(--charcoal); }
.cookie-modal-close { background:none; border:none; font-size:22px; line-height:1; color:var(--gray); cursor:pointer; padding:4px 8px; border-radius:8px; }
.cookie-modal-close:hover { background:var(--sage-light); color:var(--sage-dark); }
.cookie-modal-body { padding:1.2rem 1.6rem; display:flex; flex-direction:column; gap:1.3rem; }
.cookie-cat-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:.4rem; gap:1rem; }
.cookie-cat-title { font-size:16px; font-weight:700; color:var(--charcoal); }
.cookie-locked { font-size:13px; font-weight:500; color:var(--sage-dark); background:var(--sage-light); padding:3px 10px; border-radius:100px; }
.cookie-cat p { font-size:15px; color:var(--gray); line-height:1.6; }
.cookie-modal-actions { display:flex; gap:.7rem; padding:1.2rem 1.6rem; border-top:1px solid var(--border); flex-wrap:wrap; }
.cookie-modal-actions .cookie-btn { flex:1; }

/* toggle switch */
.cookie-switch { position:relative; display:inline-block; width:42px; height:24px; flex-shrink:0; }
.cookie-switch input { opacity:0; width:0; height:0; }
.cookie-slider { position:absolute; cursor:pointer; inset:0; background:var(--border); border-radius:100px; transition:background .2s; }
.cookie-slider::before { content:''; position:absolute; width:18px; height:18px; left:3px; top:3px; background:white; border-radius:50%; transition:transform .2s; box-shadow:0 1px 3px rgba(0,0,0,.25); }
.cookie-switch input:checked + .cookie-slider { background:var(--sage); }
.cookie-switch input:checked + .cookie-slider::before { transform:translateX(18px); }

/* ── LEGAL PAGES (Aviso legal / Privacidad) ── */
.legal-content { max-width:760px; }
.legal-updated { font-size:14px; color:var(--gray); text-transform:uppercase; letter-spacing:.08em; margin-bottom:2rem; }
.legal-content h2 { font-family:var(--ff-display); font-size:1.2rem; font-weight:700; color:var(--charcoal); margin:2rem 0 .8rem; }
.legal-content h2:first-of-type { margin-top:0; }
.legal-content p { font-size:16px; line-height:1.75; color:var(--charcoal); margin-bottom:1rem; }
.legal-content ul { list-style:none; display:flex; flex-direction:column; gap:.5rem; margin-bottom:1rem; }
.legal-content li { font-size:16px; line-height:1.65; color:var(--charcoal); padding-left:1.2rem; position:relative; }
.legal-content li::before { content:''; position:absolute; left:0; top:.6rem; width:6px; height:6px; border-radius:50%; background:var(--sage); }
.legal-content strong { color:var(--sage-dark); font-weight:500; }
.legal-note { background:var(--sage-light); border-radius:14px; padding:1.1rem 1.4rem; display:flex; gap:11px; align-items:flex-start; margin-top:2.5rem; }
.legal-note p { font-size:15px; color:var(--gray); line-height:1.65; margin-bottom:0; }

/* ── TARIFAS ── */
.price-section-title { display:flex; align-items:center; gap:12px; margin-bottom:.6rem; }
.price-section-title span { font-size:26px; }
.price-section-title h2 { font-family:var(--ff-display); font-size:1.5rem; font-weight:700; color:var(--charcoal); }
.price-section-desc { font-size:16px; color:var(--gray); line-height:1.7; margin-bottom:1.6rem; max-width:640px; }
.price-subhead { font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--terra); margin:1.6rem 0 1rem; }
.price-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.1rem; margin-bottom:.5rem; }
.price-card { background:white; border:1px solid var(--border); border-radius:16px; padding:1.4rem 1.5rem; transition:transform .2s, box-shadow .2s; }
.price-card:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(180,80,100,.08); }
.price-card.mental { border-color:rgba(91,74,138,.2); }
.price-card.terra { border-color:rgba(184,92,120,.25); }
.price-card.terra .price-card-price { color:var(--terra); }
.price-card-title { font-family:var(--ff-display); font-size:1rem; font-weight:700; color:var(--charcoal); margin-bottom:.5rem; }
.price-card-price { font-family:var(--ff-display); font-size:1.5rem; font-weight:700; color:var(--sage-dark); margin-bottom:.6rem; }
.price-card.mental .price-card-price { color:var(--purple); }
.price-card-price span { font-size:15px; font-weight:400; color:var(--gray); font-family:var(--ff-body); }
.price-card-desc { font-size:15px; color:var(--gray); line-height:1.65; margin-bottom:.7rem; }
.price-card-note { font-size:11.5px; color:var(--gray); font-style:italic; line-height:1.5; }
.price-highlight { background:var(--purple-light); border:1.5px solid rgba(91,74,138,.25); border-radius:16px; padding:1.4rem 1.6rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; justify-content:space-between; margin-bottom:1.6rem; }
.price-highlight-title { font-family:var(--ff-display); font-size:1.05rem; font-weight:700; color:var(--purple); margin-bottom:.2rem; }
.price-highlight-desc { font-size:15px; color:var(--gray); max-width:420px; }
.price-highlight-tag { background:var(--purple); color:white; font-size:14px; font-weight:600; padding:6px 16px; border-radius:100px; white-space:nowrap; }

.zone-table { display:flex; flex-direction:column; gap:.8rem; margin-top:1rem; }
.zone-row { display:flex; align-items:center; gap:1rem; background:white; border:1px solid var(--border); border-radius:14px; padding:1rem 1.3rem; }
.zone-row-tag { flex-shrink:0; font-size:14px; font-weight:700; padding:5px 14px; border-radius:100px; white-space:nowrap; }
.zone-row-tag.z0 { background:var(--sage-light); color:var(--sage-dark); }
.zone-row-tag.z1 { background:var(--terra-light); color:var(--terra); }
.zone-row-tag.z2 { background:var(--purple-light); color:var(--purple); }
.zone-row-desc { font-size:16px; color:var(--charcoal); line-height:1.5; }
.zone-row-desc strong { color:var(--sage-dark); }

.faq-item { background:white; border:1px solid var(--border); border-radius:14px; padding:1.3rem 1.5rem; margin-bottom:.9rem; }
.faq-q { font-family:var(--ff-display); font-size:16px; font-weight:700; color:var(--charcoal); margin-bottom:.5rem; }
.faq-a { font-size:16px; color:var(--gray); line-height:1.7; }

/* ── MODO EN CONSTRUCCIÓN / PREVIEW BAR ── */
.construction-bar {
  position: fixed; top: 0; left: 0; right: 0;
  height: 38px;
  background: var(--charcoal);
  color: rgba(255,255,255,.92);
  font-size: 13px;
  font-weight: 400;
  font-family: var(--ff-body);
  display: flex; align-items: center; justify-content: center;
  padding: 0 1.5rem;
  z-index: 105;
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
  border-bottom: 1px solid rgba(255,255,255,.1);
}
.construction-bar.preview {
  background: #245235;
}
.construction-bar-inner {
  display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; text-align: center;
}
.cbar-badge {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
  background: rgba(255,255,255,.18); color: white;
  padding: 2px 9px; border-radius: 100px; display: inline-flex; align-items: center; gap: 4px;
}
.cbar-btn {
  font-size: 11.5px; font-weight: 600; color: white;
  background: rgba(255,255,255,.2); border: 1px solid rgba(255,255,255,.35);
  padding: 2px 10px; border-radius: 100px; text-decoration: none;
  transition: background .2s; display: inline-block;
}
.cbar-btn:hover { background: rgba(255,255,255,.35); color: white; }

body.has-construction-bar {
  padding-top: 38px;
}
body.has-construction-bar nav {
  top: 38px;
}
body.has-construction-bar .mob-menu {
  top: 100px;
}
@media (max-width: 680px) {
  .construction-bar {
    height: auto; min-height: 40px; padding: 6px 1rem; font-size: 12px;
  }
  body.has-construction-bar {
    padding-top: 46px;
  }
  body.has-construction-bar nav {
    top: 46px;
  }
  body.has-construction-bar .mob-menu {
    top: 108px;
  }
}

/* ── BOTÓN FLOTANTE DE WHATSAPP ── */
.wa-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 98;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  background: #25D366;
  color: white;
  padding: 6px 16px 6px 7px;
  border-radius: 100px;
  box-shadow: 0 4px 18px rgba(37, 211, 102, 0.38);
  transition: transform .25s ease, box-shadow .25s ease, background .2s;
  cursor: pointer;
}
.wa-float:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 8px 26px rgba(37, 211, 102, 0.52);
  background: #20ba5a;
  color: white;
}
.wa-float-icon {
  width: 40px;
  height: 40px;
  background: white;
  color: #25D366;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
}
.wa-float-text {
  font-family: var(--ff-body);
  font-size: 14.5px;
  font-weight: 600;
  color: white;
  white-space: nowrap;
  letter-spacing: .01em;
}
@media (max-width: 680px) {
  .wa-float {
    right: 18px;
    bottom: 18px;
    padding: 0;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    justify-content: center;
  }
  .wa-float-text {
    display: none;
  }
  .wa-float-icon {
    width: 100%;
    height: 100%;
    background: transparent;
    color: white;
    box-shadow: none;
  }
}
