/* Footer Geriatría — utiliza SOLO variables del :root existente. */
.ag-footer, .ag-footer * { box-sizing: border-box; }
.ag-footer { position:relative; overflow:hidden; padding:clamp(65px,7vw,110px) 0 0; isolation:isolate; background:linear-gradient(145deg,var(--color3),var(--careon-primary) 65%,var(--careon-white)); font-family:var(--careon-font); }
.ag-footer__bg-shape { opacity:.065 !important; }
.ag-footer__newsletter { position:relative; z-index:2; }
.ag-footer .site-footer__newsletter-inner.ag-footer__cta {
 position:relative; isolation:isolate; width:100%; min-height:400px; padding:clamp(42px,6vw,80px) clamp(23px,6vw,70px); display:flex; justify-content:center; align-items:center; text-align:center; overflow:hidden;
 border:1px solid rgba(var(--careon-white-rgb),.25); border-radius:34px 80px 34px 80px;
 /* IMPORTANTE: ruta original de foto intacta. Respecto a CSS dentro de assets/css/ */
 background-image:url('../../images/resources/contacto-geriatra-en-cdmx.jpg') !important;
 background-size:cover !important; background-position:center center !important; background-repeat:no-repeat !important; background-color:var(--color1) !important;
 box-shadow:0 28px 65px rgba(var(--careon-black-rgb),.16);
}
/* Oscurecimiento controlado, dejando ver la fotografía */
.ag-footer .ag-footer__cta::before {
 content:'';position:absolute;inset:0;z-index:0;border-radius:inherit;
 background:linear-gradient(95deg,rgba(var(--careon-black-rgb),.78) 0%,rgba(var(--careon-black-rgb),.59) 48%,rgba(var(--careon-black-rgb),.70) 100%) !important;
 pointer-events:none;
}
.ag-footer .ag-footer__cta::after {content:'';position:absolute;inset:14px;border:1px solid rgba(var(--careon-white-rgb),.21);border-radius:27px 70px 27px 70px;pointer-events:none;z-index:1;}
.ag-footer__cta-accent {position:absolute;top:-130px;right:-90px;width:330px;height:330px;border-radius:50%;border:1px solid rgba(var(--careon-white-rgb),.20);box-shadow:0 0 0 34px rgba(var(--careon-white-rgb),.045);pointer-events:none;}
.ag-footer__cta-content {position:relative !important;z-index:2;width:100%;max-width:950px;margin:0 auto;}
.ag-footer .ag-footer__cta-title {font-family:var(--careon-font) !important;font-size:clamp(31px,3.7vw,52px) !important;line-height:1.24 !important;font-weight:800 !important;letter-spacing:.012em;word-spacing:.055em;text-align:center !important;color:var(--careon-white) !important;margin:0 auto 24px !important;max-width:950px;text-shadow:0 4px 16px rgba(var(--careon-black-rgb),.34);}
.ag-footer .ag-footer__cta-title strong {font-weight:800;color:var(--careon-white);}
.ag-footer__cta-rule {display:block;margin:0 auto 29px;width:83px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--color2) 0 68%,var(--color6) 68% 100%);}
.ag-footer__actions {display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;}
.ag-footer .ag-footer__button-wrap {margin:0;display:flex;}
.ag-footer .ag-footer__button {position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:62px;min-width:245px;padding:12px 22px;border-radius:999px;overflow:hidden;text-decoration:none !important;cursor:pointer;border:1px solid rgba(var(--careon-white-rgb),.25);font-family:var(--careon-font);font-weight:800;font-size:16px;line-height:1.4;letter-spacing:.012em;color:var(--careon-white) !important;box-shadow:0 13px 28px rgba(var(--careon-black-rgb),.24);transition:transform .32s ease,box-shadow .32s ease,filter .32s ease;}
.ag-footer .ag-footer__button--whatsapp {background:linear-gradient(120deg,var(--color4) 0%,var(--color4) 72%,var(--careon-black) 160%) !important;}
.ag-footer .ag-footer__button--phone {background:linear-gradient(120deg,var(--color5) 0%,var(--color2) 55%,var(--color1) 100%) !important;}
.ag-footer .ag-footer__button::before {content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--careon-white-rgb),.17),transparent 70%);pointer-events:none;}
.ag-footer .ag-footer__button::after {content:'';position:absolute;top:0;left:-140%;width:65%;height:100%;background:linear-gradient(90deg,transparent,rgba(var(--careon-white-rgb),.26),transparent);transform:skewX(-18deg);transition:left .7s ease;}
.ag-footer .ag-footer__button:hover {transform:translateY(-5px);box-shadow:0 20px 37px rgba(var(--careon-black-rgb),.3);filter:saturate(1.08);}
.ag-footer .ag-footer__button:hover::after {left:145%;}
.ag-footer .ag-footer__button:focus-visible {outline:3px solid var(--careon-white);outline-offset:3px;}
.ag-footer__button-icon {position:relative;z-index:1;display:grid;place-items:center;width:37px;height:37px;flex:none;border-radius:50%;background:rgba(var(--careon-white-rgb),.20);color:var(--careon-white);}
.ag-footer__button-icon svg {display:block;stroke:currentColor;}
.ag-footer__button-arrow {position:relative;z-index:1;font-size:21px;line-height:1;opacity:.9;transition:transform .3s ease;}
.ag-footer .ag-footer__button:hover .ag-footer__button-arrow {transform:translate(3px,-3px);}
/* Footer info: cards armoniosas, sin alterar contenido PHP */
.ag-footer__top-inner {padding:clamp(65px,6vw,95px) 0 65px !important;}
.ag-footer__top-inner .row {row-gap:24px;}
.ag-footer__brand,.ag-footer__widget {height:100%;padding:30px 27px;border:1px solid rgba(var(--careon-black-rgb),.08);border-radius:24px;background:rgba(var(--careon-white-rgb),.88);box-shadow:0 12px 32px rgba(var(--careon-black-rgb),.055);transition:transform .3s ease,box-shadow .3s ease;}
.ag-footer__brand:hover,.ag-footer__widget:hover {transform:translateY(-4px);box-shadow:0 18px 36px rgba(var(--careon-black-rgb),.1);}
.ag-footer__brand img {max-width:100%;width:auto;height:auto;max-height:95px;object-fit:contain;}
.ag-footer__brand p,.ag-footer__widget p,.ag-footer__widget span,.ag-footer__widget a {font-family:var(--careon-font);font-size:16px;line-height:1.75;overflow-wrap:anywhere;}
.ag-footer__brand p {margin-top:20px;color:var(--careon-gray);}
.ag-footer .footer-widget__title {display:block;margin:0 0 26px;padding-bottom:14px;font-family:var(--careon-font);font-size:23px;line-height:1.4;color:var(--color1);border-bottom:2px solid var(--careon-primary);}
.ag-footer .footer-widget__contact-list li {display:flex;gap:14px;align-items:flex-start;margin:0 0 20px;}
.ag-footer .footer-widget__contact-icon {width:45px;height:45px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid rgba(var(--careon-base-rgb),.13);border-radius:14px;background:var(--careon-primary);color:var(--color2);font-size:19px;}
.ag-footer .footer-widget__contact-icon i {color:var(--color2);font-size:19px;}
.ag-footer .footer-widget__contact-content {flex:1;min-width:0;}
.ag-footer .footer-widget__contact-content > span {font-weight:700;color:var(--color1);}
.ag-footer .footer-widget__contact-text {font-size:16px !important;line-height:1.65 !important;margin:3px 0 0;color:var(--careon-gray);font-weight:500;}
.ag-footer .footer-widget__contact-text a {font-size:16px;color:var(--careon-gray);text-decoration:none;}
.ag-footer .footer-widget__contact-text a:hover {color:var(--color2);}
.ag-footer .footer-widget__page-link {margin-left:0 !important;}
.ag-footer .ag-footer__bottom-inner {padding:24px 28px;background:var(--careon-white);border:1px solid var(--careon-bdr-color);border-radius:22px 22px 0 0;gap:22px;}
.ag-footer .site-footer__copyright-text,.ag-footer .site-footer__bottom-menu a {font-size:16px;line-height:1.55;}
.ag-footer .site-footer__bottom-menu {gap:12px 20px;}
.ag-footer .site-footer__bottom-menu a:hover {color:var(--color2);}
/* Entrada sin penalizar usuarios que no ejecutan JS */
.ag-footer__cta.ag-footer__animate .ag-footer__cta-content {opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.ag-footer__cta.ag-footer__animate.ag-footer__in-view .ag-footer__cta-content {opacity:1;transform:translateY(0);}
@media(max-width:991px){.ag-footer__top-inner .row>div {margin-bottom:0}.ag-footer__cta-content{max-width:760px}}
@media(max-width:767px){.ag-footer {padding-top:65px}.ag-footer .site-footer__newsletter-inner.ag-footer__cta{min-height:410px;padding:55px 19px;border-radius:26px 52px 26px 52px}.ag-footer .ag-footer__cta::after{inset:10px;border-radius:20px 44px 20px 44px}.ag-footer .ag-footer__cta-title{font-size:clamp(28px,7vw,38px) !important}.ag-footer__actions{flex-direction:column;gap:14px}.ag-footer .ag-footer__button-wrap,.ag-footer .ag-footer__button{width:100%;max-width:340px}.ag-footer__brand,.ag-footer__widget{padding:25px 20px}.ag-footer .ag-footer__bottom-inner{display:flex;flex-direction:column;text-align:center;padding:25px 15px}.ag-footer .site-footer__bottom-menu{justify-content:center;}}
@media(prefers-reduced-motion:reduce){.ag-footer .ag-footer__button,.ag-footer .ag-footer__button::after,.ag-footer__cta.ag-footer__animate .ag-footer__cta-content {transition:none !important;transform:none !important;opacity:1 !important;}}


/* ===============================================================
   FOOTER PREMIUM V2: tarjetas con profundidad + legales en fila
   Estas reglas se cargan DESPUÉS del CSS base para sobreescribir
   los estilos globales del template sin modificar otras secciones.
   =============================================================== */
.ag-footer {
  background:
    radial-gradient(circle at 8% 35%, rgba(var(--careon-base-rgb), .07), transparent 30%),
    radial-gradient(circle at 93% 78%, rgba(var(--careon-base-rgb), .08), transparent 31%),
    linear-gradient(145deg, var(--color3) 0%, var(--careon-primary) 65%, var(--white) 100%);
}
.ag-footer .site-footer__newsletter-inner.ag-footer__cta {
  min-height: 440px;
  border-radius: 36px 78px 36px 78px;
  background-image: url('../../images/resources/contacto-geriatra-en-cdmx.jpg') !important;
  background-position: center 45% !important;
  box-shadow: 0 30px 75px rgba(var(--careon-black-rgb), .20),
              0 0 0 7px rgba(var(--careon-white-rgb), .7);
  transition: box-shadow .4s ease;
}
.ag-footer .ag-footer__cta::before {
  /* Foto visible, con contraste bajo el texto. */
  background: linear-gradient(100deg,
    rgba(var(--careon-black-rgb), .67) 0%,
    rgba(var(--careon-black-rgb), .49) 48%,
    rgba(var(--careon-black-rgb), .58) 100%) !important;
}
.ag-footer__cta-content {
  padding: 24px 20px;
  background: radial-gradient(ellipse at center, rgba(var(--careon-black-rgb), .20), transparent 73%);
  border-radius: 32px;
}
.ag-footer .ag-footer__cta-title {
  max-width: 910px;
  font-size: clamp(33px, 3.75vw, 54px) !important;
  line-height: 1.22 !important;
  letter-spacing: .014em !important;
  word-spacing: .07em !important;
  text-shadow: 0 4px 14px rgba(var(--careon-black-rgb), .48);
}
.ag-footer .ag-footer__cta-title strong {
  display: inline-block;
  margin-top: 8px;
  text-shadow: 0 5px 18px rgba(var(--careon-black-rgb), .5);
}
.ag-footer__cta-rule {
  height: 4px;
  width: 83px;
  box-shadow: 0 2px 9px rgba(var(--careon-white-rgb), .21);
}
.ag-footer .ag-footer__button {
  min-width: 258px;
  min-height: 66px;
  box-shadow: 0 16px 32px rgba(var(--careon-black-rgb), .25), inset 0 1px 0 rgba(var(--careon-white-rgb), .20);
}
.ag-footer .ag-footer__button--phone {
  background: linear-gradient(120deg, var(--color5), var(--color2) 52%, var(--color1)) !important;
}
.ag-footer .ag-footer__button--whatsapp {
  background: linear-gradient(115deg, var(--color4), var(--color4) 55%, var(--careon-black)) !important;
}
.ag-footer__top-inner {
  padding: clamp(75px, 7vw, 104px) 0 72px !important;
}
.ag-footer__top-inner .row { align-items: stretch; row-gap: 30px; }
.ag-footer__top-inner .row > [class*="col-"] { display: flex; }
.ag-footer .ag-footer__brand,
.ag-footer .ag-footer__widget {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 320px;
  overflow: hidden;
  margin: 0 !important;
  padding: clamp(25px, 2.8vw, 38px) !important;
  border: 1px solid rgba(var(--careon-base-rgb), .14);
  border-radius: 27px;
  background: linear-gradient(160deg, rgba(var(--careon-white-rgb), .97), rgba(var(--careon-primary-rgb), .81));
  box-shadow: 0 19px 43px rgba(var(--careon-black-rgb), .085),
              inset 0 1px 0 rgba(var(--careon-white-rgb), .95);
  transition: transform .33s ease, box-shadow .33s ease, border-color .33s ease;
}
.ag-footer .ag-footer__brand::before,
.ag-footer .ag-footer__widget::before {
  content: '';
  position: absolute;
  top: 0; left: 23px; right: 23px; height: 5px;
  background: linear-gradient(90deg, var(--color2) 0%, var(--color6) 68%, var(--careon-primary) 100%);
  border-radius: 0 0 12px 12px;
}
.ag-footer .ag-footer__brand::after,
.ag-footer .ag-footer__widget::after {
  content: '';
  position: absolute;
  bottom: -68px; right: -66px;
  width: 180px; height: 180px;
  border: 1px solid rgba(var(--careon-base-rgb), .10);
  border-radius: 50%; pointer-events: none;
  box-shadow: 0 0 0 23px rgba(var(--careon-primary-rgb), .27);
}
.ag-footer .ag-footer__brand:hover,
.ag-footer .ag-footer__widget:hover {
  transform: translateY(-7px);
  border-color: rgba(var(--careon-base-rgb), .26);
  box-shadow: 0 28px 50px rgba(var(--careon-black-rgb), .14);
}
.ag-footer .ag-footer__brand img {
  max-height: 200px;
  object-position: left center;
  filter: drop-shadow(0 4px 10px rgba(var(--careon-black-rgb), .05));
}
.ag-footer .ag-footer__brand p {
  margin: 19px 0 0;
  line-height: 1.85;
  color: var(--careon-gray);
}
.ag-footer .footer-widget__title {
  font-weight: 800;
  letter-spacing: .01em;
  border-bottom: 0;
  position: relative;
  padding: 0 0 20px;
  margin: 0 0 18px;
}
.ag-footer .footer-widget__title::after {
  content: '';
  position: absolute;
  left: 0; bottom: 2px; width: 76px; height: 4px;
  border-radius: 10px;
  background: linear-gradient(90deg, var(--color2) 0 68%, var(--color6) 68%);
}
.ag-footer .footer-widget__contact-list {
  margin: 0 !important;
  padding: 0 !important;
}
.ag-footer .footer-widget__contact-list li {
  position: relative;
  margin: 0 !important;
  gap: 14px;
  padding: 16px 0 !important;
  border-bottom: 1px solid rgba(var(--careon-base-rgb), .11);
}
.ag-footer .footer-widget__contact-list li:last-child { border-bottom: 0; }
.ag-footer .footer-widget__contact-icon {
  width: 47px; height: 47px;
  border-radius: 15px;
  background: linear-gradient(145deg, var(--careon-primary), var(--white));
  box-shadow: 0 7px 17px rgba(var(--careon-black-rgb), .055);
  transition: transform .28s ease, background .28s ease;
}
.ag-footer .footer-widget__contact-list li:hover .footer-widget__contact-icon {
  transform: translateY(-3px) rotate(-4deg);
  background: var(--careon-primary);
}
.ag-footer .footer-widget__contact-content > span {
  display: block;
  font-weight: 800;
  line-height: 1.45;
}
.ag-footer .footer-widget__contact-text { margin-top: 5px; }
.ag-footer .footer-widget__contact-text a {
  text-decoration: none;
  transition: color .2s ease;
}
/* Legal: créditos arriba; cuatro enlaces juntos en fila en escritorio. */
.ag-footer .site-footer__bottom { position: relative; }
.ag-footer .site-footer__bottom-inner.ag-footer__bottom-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 21px;
  width: 100%;
  padding: 29px 32px 35px !important;
  border: 1px solid rgba(var(--careon-base-rgb), .16);
  border-bottom: 0;
  border-radius: 27px 27px 0 0;
  background: linear-gradient(145deg, rgba(var(--careon-white-rgb), .96), var(--careon-primary));
  box-shadow: 0 -12px 35px rgba(var(--careon-black-rgb), .055);
}
.ag-footer .ag-footer__credits,
.ag-footer .ag-footer__legal-box {
  width: 100%;
  text-align: center;
  margin: 0;
}
.ag-footer .site-footer__copyright-text {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 0;
}
.ag-footer .site-footer__copyright-text img { max-height: 36px; width: auto; vertical-align: middle; }
.ag-footer .ag-footer__legal-box {
  border-top: 1px solid rgba(var(--careon-base-rgb), .13);
  padding-top: 22px;
}
.ag-footer .site-footer__bottom-menu.ag-footer__legal-links {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 12px !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.ag-footer .site-footer__bottom-menu.ag-footer__legal-links > li {
  display: flex !important;
  flex: 0 1 auto;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0;
}
.ag-footer .site-footer__bottom-menu.ag-footer__legal-links > li > a {
  display: inline-flex !important;
  justify-content: center;
  align-items: center;
  min-height: 47px;
  padding: 10px 15px;
  border: 1px solid rgba(var(--careon-base-rgb), .13);
  border-radius: 999px;
  background: var(--white);
  color: var(--color1);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  text-decoration: none;
  box-shadow: 0 7px 18px rgba(var(--careon-black-rgb), .045);
  transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}
.ag-footer .site-footer__bottom-menu.ag-footer__legal-links > li > a:hover,
.ag-footer .site-footer__bottom-menu.ag-footer__legal-links > li > a:focus-visible {
  color: var(--white);
  background: var(--color2);
  transform: translateY(-3px);
  box-shadow: 0 11px 19px rgba(var(--careon-black-rgb), .14);
}
@media (max-width: 1100px) {
  .ag-footer .site-footer__bottom-menu.ag-footer__legal-links { flex-wrap: wrap !important; }
}
@media (max-width: 767px) {
  .ag-footer .site-footer__newsletter-inner.ag-footer__cta { min-height: 420px; }
  .ag-footer__cta-content { padding: 12px 0; }
  .ag-footer .ag-footer__brand,
  .ag-footer .ag-footer__widget { min-height: 0; padding: 26px 22px !important; }
  .ag-footer .site-footer__bottom-inner.ag-footer__bottom-inner { padding: 26px 17px 29px !important; }
  .ag-footer .site-footer__bottom-menu.ag-footer__legal-links {
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  .ag-footer .site-footer__bottom-menu.ag-footer__legal-links > li { width: 100%; }
  .ag-footer .site-footer__bottom-menu.ag-footer__legal-links > li > a {
    width: 100%; white-space: normal; min-height: 48px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ag-footer .ag-footer__brand,
  .ag-footer .ag-footer__widget,
  .ag-footer .site-footer__bottom-menu.ag-footer__legal-links > li > a { transition: none !important; }
}
