/* =========================================================
   MÉDICA RENACER — Sistema de diseño
   Tipografía: Kumbh Sans (headings) / Mulish (body) — autohospedadas
   Paleta derivada del logo real del cliente (rojo/azul), estructura
   inspirada en avada.website/business
   ========================================================= */

@font-face {
  font-family: 'Kumbh Sans';
  src: url('kumbhsans-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Kumbh Sans';
  src: url('kumbhsans-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mulish';
  src: url('mulish-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mulish';
  src: url('mulish-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Mulish';
  src: url('mulish-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root{
  --font-heading:'Kumbh Sans',Arial,Helvetica,sans-serif;
  --font-body:'Mulish',Arial,Helvetica,sans-serif;

  --color-primary:#D43854;      /* rojo del logo — CTA / acento principal */
  --color-primary-dark:#B22B44;
  --color-secondary:#1078BC;    /* azul del logo — secundario / links */
  --color-dark:#0B2A45;         /* azul oscuro derivado — header/hero/footer */
  --color-dark-2:#0E3557;
  --color-text:#22253D;
  --color-muted:#6B7290;
  --color-muted-light:#AAB8CE;
  --color-card-bg:#F4F6FA;
  --color-card-bg-2:#EDF1FA;
  --color-border:#E3E7F0;
  --color-whatsapp:#25D366;

  /* Familia de color para íconos — ciclo de acentos (más visual, no todo monocromo rojo) */
  --icon-bg-1:#FDE7EB; --icon-fg-1:#D43854;   /* rojo */
  --icon-bg-2:#E3F1FB; --icon-fg-2:#1078BC;   /* azul */
  --icon-bg-3:#E4F7EE; --icon-fg-3:#1E9E6B;   /* verde salud */
  --icon-bg-4:#FFF2DE; --icon-fg-4:#E08A1E;   /* ámbar */

  --radius-pill:100px;
  --radius-card:20px;
  --radius-sm:10px;
  --shadow-card:0 10px 30px rgba(11,42,69,.08);
  --shadow-btn:0 8px 20px rgba(212,56,84,.25);
  --container:1300px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-text);
  font-size:19px;
  line-height:1.7;
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--color-secondary);text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.2;margin:0 0 18px;color:var(--color-text);}
h1{font-size:48px;}
h2{font-size:40px;}
h3{font-size:26px;}
p{margin:0 0 18px;}
ul{margin:0;padding:0;}
.container{max-width:var(--container);margin:0 auto;padding:0 32px;}
.section{padding:80px 0;}
.section--tight{padding:52px 0;}
.section--dark{background:var(--color-dark);color:#fff;}
.section--dark h2,.section--dark h3{color:#fff;}
.section--dark p{color:var(--color-muted-light);}
.section--card{background:var(--color-card-bg);}
.eyebrow{
  display:inline-block;color:var(--color-primary);font-weight:700;
  font-size:15px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px;
  border-bottom:2px dotted var(--color-primary);padding-bottom:6px;
}
.section--dark .eyebrow{color:#FF8FA3;}
.section-head{max-width:720px;margin:0 auto 44px;text-align:center;}
.section-head.left{margin:0 0 44px;text-align:left;}

/* ---------- Botones ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-heading);font-weight:600;font-size:17px;
  padding:17px 34px;border-radius:var(--radius-pill);border:2px solid transparent;
  cursor:pointer;transition:.2s ease;white-space:nowrap;
}
.btn svg{width:19px;height:19px;flex:none;}
.btn--primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-btn);}
.btn--primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);}
.btn--outline{background:transparent;border-color:rgba(255,255,255,.55);color:#fff;}
.btn--outline:hover{background:rgba(255,255,255,.12);}
.btn--outline-dark{background:transparent;border-color:var(--color-dark);color:var(--color-dark);}
.btn--outline-dark:hover{background:var(--color-dark);color:#fff;}
.btn--whatsapp{background:var(--color-whatsapp);color:#fff;}
.btn--whatsapp:hover{background:#1fb958;transform:translateY(-2px);}
.btn--sm{padding:13px 24px;font-size:15.5px;}
.btn--block{width:100%;justify-content:center;}

/* ---------- Top header bar (3.1) ---------- */
.top-bar{
  background:var(--color-dark-2);color:var(--color-muted-light);font-size:14.5px;
}
.top-bar__inner{
  max-width:var(--container);margin:0 auto;padding:9px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.top-bar a{color:#fff;font-weight:600;}
.top-bar__phone{display:flex;align-items:center;gap:8px;color:#fff;font-weight:700;}
.top-bar__keyword{color:var(--color-muted-light);text-align:center;flex:1;}
.top-bar__brand{font-weight:700;color:#fff;}
@media(max-width:780px){
  .top-bar{display:none;}
}

/* ---------- Credenciales COFEPRIS (3.11) ---------- */
.cred-strip{
  display:flex;flex-wrap:wrap;gap:10px 22px;font-size:13.5px;color:var(--color-muted-light);
}
.cred-strip strong{color:#fff;font-weight:700;}
.cred-strip--footer{color:var(--color-muted-light);}
.cred-strip--footer strong{color:#fff;}
.cred-strip--light{color:var(--color-muted);}
.cred-strip--light strong{color:var(--color-text);}

/* ---------- Nav principal (sticky, 3.2) ---------- */
.main-nav{
  position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--color-border);
  transition:box-shadow .2s ease;
}
.main-nav.is-scrolled{box-shadow:0 6px 24px rgba(11,42,69,.08);}
.main-nav__inner{
  max-width:var(--container);margin:0 auto;padding:8px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
}
.main-nav__logo{display:flex;align-items:center;}
.main-nav__logo img{height:72px;width:auto;display:block;}
.main-nav__links{display:flex;align-items:center;gap:30px;list-style:none;}
.main-nav__links > li{position:relative;display:flex;align-items:center;}
.main-nav__links a{
  font-family:var(--font-heading);font-weight:600;font-size:17px;color:var(--color-text);
  padding:10px 2px;display:flex;align-items:center;gap:6px;line-height:1;
}
.main-nav__links a:hover,.main-nav__links a.is-active{color:var(--color-primary);}
.main-nav__links .caret{
  display:inline-flex;flex:none;width:8px;height:8px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);
}
.submenu{
  position:absolute;top:100%;left:0;background:#fff;min-width:240px;
  box-shadow:0 16px 40px rgba(11,42,69,.14);border-radius:var(--radius-sm);
  padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:.18s ease;list-style:none;
}
.has-submenu:hover .submenu{opacity:1;visibility:visible;transform:translateY(0);}
.submenu a{padding:12px 16px;border-radius:6px;display:block;font-size:16px;}
.submenu a:hover{background:var(--color-card-bg);}
.main-nav__cta{display:flex;align-items:center;gap:14px;}
.main-nav__phone{
  display:flex;align-items:center;gap:8px;font-family:var(--font-heading);font-weight:700;
  color:var(--color-dark);border:2px solid var(--color-border);border-radius:var(--radius-pill);
  padding:11px 20px;font-size:16px;white-space:nowrap;
}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.hamburger span{width:26px;height:3px;background:var(--color-dark);border-radius:2px;}
.mobile-menu{display:none;}
@media(max-width:1080px){
  .main-nav__links,.main-nav__cta{display:none;}
  .hamburger{display:flex;}
  .mobile-menu{
    display:none;flex-direction:column;background:#fff;border-top:1px solid var(--color-border);
    padding:10px 24px 20px;
  }
  .mobile-menu.is-open{display:flex;}
  .mobile-menu a{padding:12px 0;font-family:var(--font-heading);font-weight:600;color:var(--color-text);border-bottom:1px solid var(--color-border);}
  .mobile-menu .mobile-sub{padding-left:14px;}
  .mobile-menu .mobile-sub a{border-bottom:none;font-weight:500;color:var(--color-muted);}
}

/* ---------- Hero (max 650px, 3.3) ---------- */
.hero{
  position:relative;background:var(--color-dark);color:#fff;
  min-height:560px;max-height:650px;height:650px;display:flex;overflow:hidden;
}
.hero__bg{position:absolute;inset:0;z-index:0;}
.hero__bg img{width:100%;height:100%;object-fit:cover;}
.hero__overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg, rgba(11,42,69,.94) 0%, rgba(11,42,69,.86) 38%, rgba(11,42,69,.55) 68%, rgba(11,42,69,.30) 100%);
}
.hero__content{
  position:relative;z-index:2;max-width:var(--container);margin:0 auto;padding:28px 24px;
  width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;
}
.hero__text{max-width:640px;}
.hero h1{color:#fff;font-size:46px;margin-bottom:14px;}
.hero__subtitle{font-size:19px;color:#EAF0FA;max-width:560px;margin-bottom:22px;}
.hero__ctas{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:0;}
.hero__cred{
  border-top:1px solid rgba(255,255,255,.18);margin-top:22px;padding-top:16px;flex:none;
}
@media(max-width:780px){
  .hero{min-height:auto;max-height:none;height:auto;padding-bottom:24px;}
  .hero h1{font-size:32px;}
  .hero__content{padding-top:32px;height:auto;}
}

/* ---------- Barra de confianza (3.16) ---------- */
.trust-bar{
  background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-card);
  margin-top:-46px;position:relative;z-index:5;
  display:flex;flex-wrap:wrap;
}
.trust-bar__item{
  flex:1 1 200px;padding:26px 28px;border-left:3px solid var(--color-primary);
}
.trust-bar__item h4{font-family:var(--font-heading);font-size:16px;margin:0 0 4px;color:var(--color-text);}
.trust-bar__item p{margin:0;font-size:13.5px;color:var(--color-muted);}

/* ---------- Diferenciadores strip (3.12) ---------- */
.diff-strip{display:flex;flex-wrap:wrap;gap:14px;}
.diff-chip{
  display:flex;align-items:center;gap:12px;background:var(--color-card-bg);
  border-radius:var(--radius-pill);padding:14px 22px;font-size:16px;font-weight:700;color:var(--color-text);
  flex:1 1 auto;
}
.diff-chip .dot{width:11px;height:11px;border-radius:50%;background:var(--color-primary);flex:none;}
.diff-chip:nth-child(4n+1) .dot{background:var(--icon-fg-1);}
.diff-chip:nth-child(4n+2) .dot{background:var(--icon-fg-2);}
.diff-chip:nth-child(4n+3) .dot{background:var(--icon-fg-3);}
.diff-chip:nth-child(4n+4) .dot{background:var(--icon-fg-4);}

/* ---------- Banda de diferenciadores (destacada, 3.12) ---------- */
.diff-band{background:linear-gradient(180deg,#FFF7F4 0%,#FFFFFF 100%);}
.diff-band .cards-grid{gap:24px;}
.diff-card{
  background:#fff;border-radius:var(--radius-card);padding:32px 26px;
  box-shadow:var(--shadow-card);border:1px solid var(--color-border);
  display:flex;flex-direction:column;height:100%;
}
.diff-card .card__icon{margin-bottom:16px;width:64px;height:64px;font-size:29px;}
.diff-card:nth-child(5n+1) .card__icon{background:var(--icon-bg-1);color:var(--icon-fg-1);}
.diff-card:nth-child(5n+2) .card__icon{background:var(--icon-bg-2);color:var(--icon-fg-2);}
.diff-card:nth-child(5n+3) .card__icon{background:var(--icon-bg-3);color:var(--icon-fg-3);}
.diff-card:nth-child(5n+4) .card__icon{background:var(--icon-bg-4);color:var(--icon-fg-4);}
.diff-card:nth-child(5n+5) .card__icon{background:#FDEFE3;color:var(--color-primary);}
.diff-card h3{font-size:21px;margin-bottom:10px;}
.diff-card p{color:var(--color-muted);font-size:16.5px;margin:0;}
.diff-band-grid{grid-template-columns:repeat(5,1fr);}
@media(max-width:1080px){
  .diff-band-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:860px){
  .diff-band-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .diff-band-grid{grid-template-columns:1fr;}
}

/* ---------- Texto + Foto (3.9 simetría) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch;}
.split__media{
  border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card);
  height:100%;min-height:420px;
}
.split__media img{width:100%;height:100%;object-fit:cover;object-position:center 25%;}
.split__text{display:flex;flex-direction:column;justify-content:center;min-height:380px;}
.split.reverse{direction:rtl;}
.split.reverse > *{direction:ltr;}
@media(max-width:860px){
  .split{grid-template-columns:1fr;gap:28px;}
  .split__media{min-height:260px;}
}

/* ---------- Tarjetas ---------- */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.cards-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.cards-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.card{
  background:var(--color-card-bg);border-radius:var(--radius-card);padding:34px 28px;
  border-bottom:4px solid var(--color-primary);transition:.2s ease;
}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card);}
.card__icon{
  width:68px;height:68px;border-radius:50%;background:var(--icon-bg-1);color:var(--icon-fg-1);display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;box-shadow:0 6px 16px rgba(11,42,69,.10);font-size:30px;
}
.card:nth-child(4n+1) .card__icon{background:var(--icon-bg-1);color:var(--icon-fg-1);}
.card:nth-child(4n+2) .card__icon{background:var(--icon-bg-2);color:var(--icon-fg-2);}
.card:nth-child(4n+3) .card__icon{background:var(--icon-bg-3);color:var(--icon-fg-3);}
.card:nth-child(4n+4) .card__icon{background:var(--icon-bg-4);color:var(--icon-fg-4);}
.card h3{font-size:21px;margin-bottom:10px;}
.card p{color:var(--color-muted);font-size:16.5px;margin-bottom:18px;}
@media(max-width:860px){
  .cards-grid,.cards-grid.cols-2,.cards-grid.cols-4{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .cards-grid,.cards-grid.cols-2,.cards-grid.cols-4{grid-template-columns:1fr;}
}

/* ---------- Precios / paquetes ---------- */
.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.price-card{
  background:#fff;border:2px solid var(--color-border);border-radius:var(--radius-card);
  padding:30px 24px;text-align:center;transition:.2s ease;
}
.price-card.featured{border-color:var(--color-primary);box-shadow:var(--shadow-card);transform:scale(1.03);position:relative;}
.price-card__badge{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--color-primary);color:#fff;font-size:11px;font-weight:700;padding:5px 14px;border-radius:var(--radius-pill);
}
.price-card h3{font-family:var(--font-heading);font-size:17px;color:var(--color-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em;}
.price-card .price{font-family:var(--font-heading);font-size:34px;font-weight:700;color:var(--color-primary);margin-bottom:2px;}
.price-card .per-session{font-size:12.5px;color:var(--color-muted);margin-bottom:18px;}
@media(max-width:860px){.pricing-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.pricing-grid{grid-template-columns:1fr;} .price-card.featured{transform:none;}}

/* ---------- Stats ---------- */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.stat-item .num{font-family:var(--font-heading);font-size:38px;font-weight:700;color:var(--color-primary);}
.section--dark .stat-item .num{color:#fff;}
.stat-item .label{font-size:14px;color:var(--color-muted);}
.section--dark .stat-item .label{color:var(--color-muted-light);}
@media(max-width:700px){.stats-grid{grid-template-columns:1fr 1fr;gap:28px;}}

/* ---------- Acordeón (FAQ / Mitos y realidades) ---------- */
.accordion{max-width:820px;margin:0 auto;}
.acc-item{border-bottom:1px solid var(--color-border);}
.acc-item__q{
  width:100%;text-align:left;background:none;border:none;padding:22px 4px;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-family:var(--font-heading);font-weight:600;font-size:17px;color:var(--color-text);
}
.acc-item__q .plus{width:22px;height:22px;flex:none;position:relative;}
.acc-item__q .plus::before,.acc-item__q .plus::after{content:"";position:absolute;background:var(--color-primary);}
.acc-item__q .plus::before{left:0;top:50%;width:100%;height:2px;transform:translateY(-50%);}
.acc-item__q .plus::after{top:0;left:50%;width:2px;height:100%;transform:translateX(-50%);transition:.2s;}
.acc-item.is-open .plus::after{transform:translateX(-50%) scaleY(0);}
.acc-item__a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.acc-item.is-open .acc-item__a{max-height:600px;}
.acc-item__a-inner{padding:0 4px 22px;color:var(--color-muted);font-size:15.5px;}

/* ---------- Mitos y realidades ---------- */
.myth-card{background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:26px 28px;margin-bottom:18px;}
.myth-card .myth{color:var(--color-primary);font-weight:700;font-family:var(--font-heading);margin-bottom:6px;}
.myth-card .reality{color:var(--color-text);}
.myth-card .reality strong{color:var(--color-secondary);}

/* ---------- Reviews ---------- */
.reviews-head{display:flex;align-items:center;gap:14px;justify-content:center;margin-bottom:36px;flex-wrap:wrap;}
.reviews-head img{width:34px;height:34px;}
.reviews-head .score{font-family:var(--font-heading);font-weight:700;font-size:22px;}
.stars{color:#FBBC05;font-size:18px;letter-spacing:2px;}
.review-card{background:var(--color-card-bg);border-radius:var(--radius-card);padding:26px;height:100%;}
.review-card .stars{margin-bottom:10px;}
.review-card p{color:var(--color-text);font-size:15px;margin-bottom:16px;}
.review-card .author{display:flex;align-items:center;gap:10px;}
.review-card .avatar{width:38px;height:38px;border-radius:50%;background:var(--color-secondary);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;}
.review-card .author-name{font-weight:700;font-size:14px;}
.review-card .author-meta{font-size:12px;color:var(--color-muted);}
.review-disclaimer{font-size:12.5px;color:var(--color-muted);text-align:center;margin-top:18px;}

/* ---------- Mapa ---------- */
.map-wrap{border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card);}
.map-wrap iframe{width:100%;height:420px;border:0;display:block;}

/* ---------- Señales de alerta ---------- */
.alert-box{background:#FFF4F0;border:1px solid #FBD9CE;border-radius:var(--radius-card);padding:36px;}
.alert-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;list-style:none;margin-top:22px;}
.alert-list li{display:flex;gap:12px;background:#fff;border-radius:var(--radius-sm);padding:16px 18px;font-size:15px;}
.alert-list li .bullet{color:var(--color-primary);font-weight:700;flex:none;}
@media(max-width:700px){.alert-list{grid-template-columns:1fr;}}

/* ---------- CTA banda ---------- */
.cta-band{
  background:linear-gradient(120deg,var(--color-dark) 0%,var(--color-dark-2) 100%);
  color:#fff;border-radius:var(--radius-card);padding:52px 48px;
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
  position:relative;overflow:hidden;
}
.cta-band h2{color:#fff;font-size:28px;margin-bottom:10px;}
.cta-band p{color:var(--color-muted-light);margin:0;}
.cta-band__actions{display:flex;gap:14px;flex-wrap:wrap;position:relative;z-index:2;}
.cta-band__content{position:relative;z-index:2;}
.cta-band--photo{background:var(--color-dark);}
.cta-band__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.32;
}
.cta-band--photo::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(120deg,rgba(11,42,69,.92) 0%,rgba(11,42,69,.75) 100%);
}

/* ---------- Sección con foto de fondo (stats) ---------- */
.section--photo{position:relative;overflow:hidden;}
.section--photo__img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:.28;
}
.section--photo::before{
  content:"";position:absolute;inset:0;z-index:1;background:var(--color-dark);opacity:.72;
}
.section--photo .container{position:relative;z-index:2;}

/* ---------- Formulario ---------- */
.form-wrap{
  background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-card);
  padding:40px;max-width:640px;margin:0 auto;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.form-field{display:flex;flex-direction:column;gap:6px;}
.form-field.full{grid-column:1 / -1;}
.form-field label{font-size:13.5px;font-weight:700;color:var(--color-text);}
.form-field input,.form-field select,.form-field textarea{
  border:1.5px solid var(--color-border);border-radius:var(--radius-sm);padding:13px 14px;
  font-family:var(--font-body);font-size:15px;color:var(--color-text);background:#fff;
}
.form-field textarea{resize:vertical;min-height:100px;}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--color-secondary);border-color:var(--color-secondary);}
.form-privacy{font-size:12.5px;color:var(--color-muted);margin-top:14px;}
.form-alt-cta{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;}

/* ---------- Footer ---------- */
.site-footer{background:var(--color-dark);color:var(--color-muted-light);padding-top:64px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.12);}
.footer-grid h4{color:#fff;font-family:var(--font-heading);font-size:15px;margin-bottom:18px;}
.footer-grid ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.footer-grid a{color:var(--color-muted-light);font-size:14.5px;}
.footer-grid a:hover{color:#fff;}
.footer-logo img{height:64px;margin-bottom:16px;}
.footer-social{display:flex;gap:10px;margin-top:16px;}
.footer-social a{width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
.footer-social a:hover{background:var(--color-primary);}
.footer-cred{padding:26px 0;border-bottom:1px solid rgba(255,255,255,.12);}
.footer-bottom{
  padding:22px 0 30px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  font-size:13px;color:var(--color-muted-light);
}
.agency-signature{font-size:13px;color:var(--color-muted-light);}
.agency-signature a{color:#fff;font-weight:700;}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* ---------- WhatsApp placeholder flotante (3.13 — SOLO visual, no funcional real) ---------- */
.fab-placeholder{
  position:fixed;right:24px;bottom:24px;z-index:900;display:flex;flex-direction:column;gap:12px;
}
.fab-placeholder .fab{
  width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 26px rgba(11,42,69,.25);
}
.fab-placeholder .fab img{width:30px;height:30px;}
.fab-whatsapp{background:var(--color-whatsapp);}
.fab-call{background:var(--color-secondary);display:none;}
@media(max-width:780px){.fab-call{display:flex;}}

/* ---------- Utilidades ---------- */
.text-center{text-align:center;}
.mt-0{margin-top:0;}
.badge{
  display:inline-flex;align-items:center;gap:8px;background:var(--color-card-bg);color:var(--color-text);
  font-size:13px;font-weight:700;padding:8px 16px;border-radius:var(--radius-pill);
}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:10px 16px;z-index:2000;}
.skip-link:focus{left:16px;}
.back-to-top{position:fixed;bottom:24px;left:24px;z-index:899;}
