/* Footer Sery Tu Espacio Seguro — usa exclusivamente 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-en-psicologia-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; }

}

/* =============================================================
   SERY · AJUSTES DE IDENTIDAD (sin crear ni modificar :root)
   Conserva las tres tarjetas, los enlaces y el esquema del footer.
   ============================================================= */
.ag-footer {
  background: linear-gradient(140deg, var(--color3) 0%, var(--careon-primary) 58%, var(--white) 100%);
}
.ag-footer .site-footer__newsletter-inner.ag-footer__cta {
  background-color: var(--color1) !important;
  border-color: var(--color6);
}
.ag-footer .ag-footer__cta::before {
  background: linear-gradient(115deg, rgba(var(--careon-gray-rgb), .48), rgba(var(--careon-base-rgb), .30)) !important;
}
.ag-footer .ag-footer__cta-title,
.ag-footer .ag-footer__cta-title strong { color: var(--white) !important; }
.ag-footer__cta-rule { background: linear-gradient(90deg,var(--color1) 0%,var(--color2) 50%,var(--color7) 100%); }
.ag-footer .ag-footer__button {
  font-size: 16px !important;
  line-height: 1.5;
  min-height: 59px;
  text-shadow: none;
  border: 1px solid rgba(var(--careon-white-rgb), .26);
}
.ag-footer .ag-footer__button--whatsapp {
  background: linear-gradient(115deg,var(--color4) 0%,var(--color4) 74%,var(--color2) 165%) !important;
}
.ag-footer .ag-footer__button--phone {
  background: linear-gradient(110deg,var(--color5) 0%,var(--color5) 50%,var(--color2) 100%) !important;
}
.ag-footer .ag-footer__button > span:not(.ag-footer__button-icon) { position: relative; z-index: 2; color: var(--white); }
.ag-footer .ag-footer__button-icon { background: rgba(var(--careon-white-rgb),.18); }
.ag-footer .ag-footer__brand, .ag-footer .ag-footer__widget {
  background: linear-gradient(155deg, var(--white), var(--careon-primary));
  border-color: var(--color6);
}
.ag-footer .footer-widget__title { color: var(--color1); }
.ag-footer .footer-widget__contact-icon { color: var(--color2); }
.ag-footer .footer-widget__contact-content > span { color: var(--color1); }
.ag-footer .site-footer__bottom-menu.ag-footer__legal-links > li > a {
  color: var(--color2); border-color: var(--color6); background: var(--white);
}
.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 {
  background: var(--color2); color: var(--white);
}
@media (max-width:767px) {
  .ag-footer .ag-footer__actions { align-items:center; }
  .ag-footer .ag-footer__button { justify-content:center; }
}
