.elementor-32 .elementor-element.elementor-element-fb54dba{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-29e69bf{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-a43c290{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-07efaac{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-28b703b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-f41f62d{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-6f70ac0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-58877dc{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-f84ca08{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-ce9146c{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-ab90913{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:1;}.elementor-32 .elementor-element.elementor-element-ab90913::before, .elementor-32 .elementor-element.elementor-element-ab90913 > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-ab90913 > .e-con-inner > .elementor-background-video-container::before, .elementor-32 .elementor-element.elementor-element-ab90913 > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-ab90913 > .e-con-inner > .elementor-background-slideshow::before, .elementor-32 .elementor-element.elementor-element-ab90913 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-primary );--background-overlay:'';}.elementor-32 .elementor-element.elementor-element-723feec{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-6a8ad43{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-7611252{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-f51d7ee{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-fd85494{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-129a21c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-7a8570a{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-3ff325c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-f655652{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-4d4ad3d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-20bea29{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-1d22b66{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-1d22b66:not(.elementor-motion-effects-element-type-background), .elementor-32 .elementor-element.elementor-element-1d22b66 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-32 .elementor-element.elementor-element-672f59b{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-61cfbc5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-61cfbc5:not(.elementor-motion-effects-element-type-background), .elementor-32 .elementor-element.elementor-element-61cfbc5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:radial-gradient(at top left, var( --e-global-color-primary ) 72%, var( --e-global-color-b59e552 ) 100%);}.elementor-32 .elementor-element.elementor-element-cd9b02e{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-77fc1f9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-739e956{width:100%;max-width:100%;}.elementor-32 .elementor-element.elementor-element-4e5adae{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-32 .elementor-element.elementor-element-8ceea28{width:100%;max-width:100%;}body.elementor-page-32:not(.elementor-motion-effects-element-type-background), body.elementor-page-32 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-6a5cf9e );}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-29e69bf */.gl-hero-cali,
.gl-hero-cali *,
.gl-hero-cali *::before,
.gl-hero-cali *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.gl-hero-cali {
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height: 1.6;
  width: 100%;
  position: relative;
  background: #FFFFFF;
  overflow: hidden;
}

.gl-hero-cali a {
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.gl-hero-cali svg {
  display: block;
  flex-shrink: 0;
}

.gl-hero__h1-seo {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.gl-hero__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.04;
}

.gl-hero__bg-logo {
  width: 120%;
  max-width: none;
  height: auto;
  object-fit: contain;
}

.gl-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 16px 36px;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: 28px;
}

.gl-hero__content {
  text-align: center;
  max-width: 640px;
}

.gl-hero__badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #0197AF;
  background: #F5F5F5;
  border: 1px solid #0197AF;
  padding: 5px 16px;
  border-radius: 50px;
  margin-bottom: 16px;
}

.gl-hero__title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 28px;
  font-weight: 800;
  color: #02153D;
  line-height: 1.15;
  margin-bottom: 14px;
  letter-spacing: -0.01em;
}

.gl-hero__title-accent {
  color: #0197AF;
  display: inline;
}

.gl-hero__subtitle {
  font-size: 15px;
  color: #1A1A1A;
  line-height: 1.7;
  margin-bottom: 24px;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}

.gl-hero__ctas {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  margin-bottom: 24px;
}

.gl-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 28px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 700;
  font-family: 'Lato', sans-serif;
  cursor: pointer;
  border: none;
  transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease, color 0.3s ease;
  white-space: nowrap;
  -webkit-tap-highlight-color: transparent;
  width: 100%;
  max-width: 300px;
}

.gl-hero__btn-icon {
  width: 18px;
  height: 18px;
}

.gl-hero__btn--primary {
  background: #25D366;
  color: #FFFFFF;
  box-shadow: 0 6px 24px rgba(37, 211, 102, 0.3);
}

.gl-hero__btn--primary:hover {
  background: #1ebe5d;
  transform: translateY(-2px);
  box-shadow: 0 10px 32px rgba(37, 211, 102, 0.4);
  color: #FFFFFF;
}

.gl-hero__btn--primary:active {
  transform: translateY(0);
}

.gl-hero__btn--secondary {
  background: #F5F5F5;
  color: #02153D;
  border: 2px solid #02153D;
}

.gl-hero__btn--secondary:hover {
  background: #02153D;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(2, 21, 61, 0.2);
}

.gl-hero__btn--secondary:active {
  transform: translateY(0);
}

.gl-hero__trust {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
}

.gl-hero__trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #1A1A1A;
}

.gl-hero__trust-item svg {
  width: 14px;
  height: 14px;
  color: #0197AF;
  flex-shrink: 0;
}

.gl-hero__trust-item a {
  color: #0197AF;
  font-weight: 700;
  transition: color 0.3s ease;
}

.gl-hero__trust-item a:hover {
  color: #4B227A;
}

.gl-hero__visual {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.gl-hero__photo-frame {
  position: relative;
  width: 160px;
  height: 160px;
}

.gl-hero__photo-clip {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  z-index: 2;
  border: 3px solid #FFFFFF;
  box-shadow: 0 8px 32px rgba(2, 21, 61, 0.12);
}

.gl-hero__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.gl-hero__photo-ring {
  position: absolute;
  top: -6px;
  left: -6px;
  right: -6px;
  bottom: -6px;
  border-radius: 50%;
  border: 2px solid #0197AF;
  z-index: 1;
  animation: gl-hero-ring-pulse 3s ease-in-out infinite;
}

@keyframes gl-hero-ring-pulse {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.8; transform: scale(1.03); }
}

.gl-hero__credentials {
  text-align: center;
}

.gl-hero__credential-name {
  display: block;
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 16px;
  font-weight: 700;
  color: #02153D;
  line-height: 1.3;
}

.gl-hero__credential-title {
  display: block;
  font-size: 11px;
  font-weight: 600;
  color: #0197AF;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 2px;
}

.gl-hero__services {
  position: relative;
  z-index: 2;
  background: #F5F5F5;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  padding: 16px 0;
}

.gl-hero__services-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.gl-hero__services-inner::-webkit-scrollbar {
  display: none;
}

.gl-hero__service-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 50px;
  font-size: 12px;
  font-weight: 600;
  color: #1A1A1A;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
}

.gl-hero__service-pill svg {
  width: 14px;
  height: 14px;
  color: #0197AF;
  transition: color 0.3s ease;
}

.gl-hero__service-pill:hover {
  background: #FFFFFF;
  border-color: #0197AF;
  color: #0197AF;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(1, 151, 175, 0.15);
}

.gl-hero__service-pill:hover svg {
  color: #0197AF;
}

.gl-hero__service-pill--highlight {
  background: #0197AF;
  border-color: #0197AF;
  color: #FFFFFF;
}

.gl-hero__service-pill--highlight svg {
  color: #FFFFFF;
}

.gl-hero__service-pill--highlight:hover {
  background: #017d93;
  border-color: #017d93;
  color: #FFFFFF;
  box-shadow: 0 4px 16px rgba(1, 151, 175, 0.3);
}

.gl-hero__service-pill--highlight:hover svg {
  color: #FFFFFF;
}

.gl-hero__service-pill--featured {
  border-color: #4B227A;
  color: #4B227A;
}

.gl-hero__service-pill--featured svg {
  color: #4B227A;
}

.gl-hero__service-pill--featured:hover {
  border-color: #4B227A;
  color: #4B227A;
  box-shadow: 0 4px 16px rgba(75, 34, 122, 0.15);
}

.gl-hero__service-pill--featured:hover svg {
  color: #4B227A;
}

.gl-hero__service-pill--new {
  border-color: #00EED0;
  position: relative;
}

.gl-hero__service-pill--all {
  background: #F5F5F5;
  border-color: #02153D;
  color: #02153D;
  font-weight: 700;
}

.gl-hero__service-pill--all:hover {
  background: #02153D;
  color: #FFFFFF;
  border-color: #02153D;
}

.gl-hero__pill-badge {
  display: inline-block;
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: #00EED0;
  color: #02153D;
  padding: 2px 7px;
  border-radius: 3px;
  line-height: 1.4;
}

@media (min-width: 768px) {
  .gl-hero__inner {
    flex-direction: row;
    padding: 48px 20px 40px;
    gap: 32px;
    text-align: left;
    align-items: center;
  }

  .gl-hero__content {
    text-align: left;
    flex: 1;
    min-width: 0;
  }

  .gl-hero__subtitle {
    margin-left: 0;
    font-size: 14px;
    max-width: 420px;
  }

  .gl-hero__title {
    font-size: 32px;
  }

  .gl-hero__ctas {
    flex-direction: row;
    justify-content: flex-start;
  }

  .gl-hero__btn {
    width: auto;
    padding: 12px 24px;
    font-size: 13px;
  }

  .gl-hero__trust {
    align-items: flex-start;
  }

  .gl-hero__visual {
    flex-shrink: 0;
    max-width: 220px;
  }

  .gl-hero__photo-frame {
    width: 200px;
    height: 200px;
  }

  .gl-hero__services-inner {
    padding: 0 20px;
    justify-content: center;
    flex-wrap: wrap;
  }
}

@media (min-width: 1024px) {
  .gl-hero__inner {
    padding: 72px 24px 56px;
    gap: 56px;
  }

  .gl-hero__title {
    font-size: 46px;
    margin-bottom: 20px;
  }

  .gl-hero__subtitle {
    font-size: 16px;
    max-width: 520px;
    margin-bottom: 28px;
  }

  .gl-hero__badge {
    font-size: 12px;
    padding: 7px 20px;
    margin-bottom: 20px;
  }

  .gl-hero__visual {
    max-width: 320px;
  }

  .gl-hero__photo-frame {
    width: 280px;
    height: 280px;
  }

  .gl-hero__photo-clip {
    border-width: 4px;
  }

  .gl-hero__photo-ring {
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    border-width: 3px;
  }

  .gl-hero__credential-name {
    font-size: 20px;
  }

  .gl-hero__credential-title {
    font-size: 13px;
  }

  .gl-hero__btn {
    padding: 14px 32px;
    font-size: 15px;
  }

  .gl-hero__btn-icon {
    width: 20px;
    height: 20px;
  }

  .gl-hero__services-inner {
    padding: 0 24px;
    gap: 10px;
  }

  .gl-hero__service-pill {
    padding: 10px 20px;
    font-size: 13px;
  }

  .gl-hero__service-pill svg {
    width: 16px;
    height: 16px;
  }

  .gl-hero__trust-item {
    font-size: 13px;
  }

  .gl-hero__trust {
    flex-direction: row;
    gap: 20px;
    margin-top: 4px;
  }
}

@media (min-width: 1440px) {
  .gl-hero__inner {
    max-width: 1360px;
    padding-left: 32px;
    padding-right: 32px;
    gap: 64px;
  }

  .gl-hero__services-inner {
    max-width: 1360px;
    padding-left: 32px;
    padding-right: 32px;
  }

  .gl-hero__title {
    font-size: 52px;
  }

  .gl-hero__visual {
    max-width: 360px;
  }

  .gl-hero__photo-frame {
    width: 320px;
    height: 320px;
  }
}

@media (max-width: 374px) {
  .gl-hero__title {
    font-size: 24px;
  }

  .gl-hero__subtitle {
    font-size: 13px;
  }

  .gl-hero__photo-frame {
    width: 130px;
    height: 130px;
  }
}

@supports (padding-top: env(safe-area-inset-top)) {
  .gl-hero__services {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
  }
}

@media (prefers-reduced-motion: reduce) {
  .gl-hero-cali,
  .gl-hero-cali * {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

.gl-hero-cali a:focus-visible,
.gl-hero-cali button:focus-visible {
  outline: 2px solid #0197AF;
  outline-offset: 2px;
  border-radius: 4px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-07efaac */.gl-servicios-cali,
.gl-servicios-cali *,
.gl-servicios-cali *::before,
.gl-servicios-cali *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.gl-servicios-cali {
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  line-height: 1.6;
  width: 100%;
  background: #F5F5F5 !important;
  position: relative;
  overflow: hidden;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.gl-servicios-cali a {
  text-decoration: none;
  color: inherit;
  -webkit-tap-highlight-color: transparent;
}

.gl-servicios-cali svg {
  display: block;
  flex-shrink: 0;
}

.gl-servicios__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 16px;
}

.gl-servicios__header {
  text-align: center;
  margin-bottom: 40px;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

.gl-servicios__badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #0197AF;
  background: #FFFFFF;
  border: 1.5px solid #0197AF;
  padding: 6px 18px;
  border-radius: 50px;
  margin-bottom: 18px;
}

.gl-servicios__title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 28px;
  font-weight: 800;
  color: #02153D;
  line-height: 1.15;
  margin-bottom: 16px;
  letter-spacing: -0.01em;
}

.gl-servicios__title-accent {
  color: #0197AF;
}

.gl-servicios__desc {
  font-size: 15px;
  color: #1A1A1A;
  line-height: 1.7;
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
}

.gl-servicios__star {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  text-align: left;
  background: #FFFFFF !important;
  border: 2px solid #0197AF;
  border-radius: 20px;
  padding: 20px;
  margin-bottom: 20px;
  position: relative;
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
  box-shadow: 0 4px 24px rgba(1, 151, 175, 0.08);
  opacity: 1 !important;
  gap: 16px;
}

.gl-servicios__star:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(1, 151, 175, 0.16), 0 8px 24px rgba(1, 151, 175, 0.06);
}

.gl-servicios__star-tag {
  position: absolute;
  top: -10px;
  left: 20px;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  background: #0197AF;
  color: #FFFFFF;
  padding: 5px 14px;
  border-radius: 6px;
}

.gl-servicios__star-ico {
  width: 56px;
  height: 56px;
  min-width: 56px;
  background: #F5F5F5;
  border-radius: 14px;
  padding: 12px;
  transition: background 0.3s ease, transform 0.3s ease;
}

.gl-servicios__star:hover .gl-servicios__star-ico {
  background: rgba(1, 151, 175, 0.08);
  transform: scale(1.08);
}

.gl-servicios__star-ico svg {
  width: 100%;
  height: 100%;
}

.gl-servicios__star-body {
  flex: 1;
  min-width: 0;
}

.gl-servicios__star-name {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 18px;
  font-weight: 700;
  color: #02153D;
  margin-bottom: 6px;
  line-height: 1.25;
}

.gl-servicios__star-text {
  font-size: 13px;
  color: #1A1A1A;
  line-height: 1.6;
  margin-bottom: 10px;
}

.gl-servicios__star-meta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  margin-bottom: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.gl-servicios__star-price {
  font-size: 16px;
  font-weight: 800;
  color: #0197AF;
}

.gl-servicios__star-price small {
  font-size: 11px;
  font-weight: 600;
  opacity: 0.7;
}

.gl-servicios__star-dur {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 600;
  color: #02153D;
  opacity: 0.5;
}

.gl-servicios__star-dur svg {
  width: 14px;
  height: 14px;
}

.gl-servicios__star-quote {
  background: #F5F5F5;
  border-radius: 10px;
  padding: 10px 14px;
  margin-bottom: 10px;
  text-align: left;
  border: none;
}

.gl-servicios__star-quote p {
  font-size: 12px;
  color: #1A1A1A;
  line-height: 1.5;
  font-style: italic;
}

.gl-servicios__star-quote cite {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #0197AF;
  font-style: normal;
  margin-top: 5px;
}

.gl-servicios__star-arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 700;
  color: #4B227A;
  transition: color 0.3s ease;
}

.gl-servicios__star-arrow svg {
  width: 14px;
  height: 14px;
  transition: transform 0.3s ease;
}

.gl-servicios__star:hover .gl-servicios__star-arrow {
  color: #0197AF;
}

.gl-servicios__star:hover .gl-servicios__star-arrow svg {
  transform: translateX(4px);
}

.gl-servicios__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  margin-bottom: 44px;
}

.gl-servicios__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: #FFFFFF !important;
  border-radius: 20px;
  overflow: visible;
  border: 1px solid rgba(0, 0, 0, 0.06);
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.35s cubic-bezier(0.22, 0.61, 0.36, 1), border-color 0.35s ease;
  position: relative;
  opacity: 1 !important;
  padding: 28px 20px 24px;
}

.gl-servicios__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(2, 21, 61, 0.1), 0 8px 20px rgba(2, 21, 61, 0.05);
  border-color: rgba(1, 151, 175, 0.25);
}

.gl-servicios__card--featured {
  border-color: rgba(75, 34, 122, 0.12);
}

.gl-servicios__card--featured:hover {
  border-color: #4B227A;
  box-shadow: 0 20px 50px rgba(75, 34, 122, 0.1), 0 8px 20px rgba(75, 34, 122, 0.05);
}

.gl-servicios__card--group {
  border-color: rgba(0, 238, 208, 0.3);
}

.gl-servicios__card--group:hover {
  border-color: #00EED0;
}

.gl-servicios__group-tag {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: #00EED0;
  color: #02153D;
  padding: 4px 12px;
  border-radius: 5px;
}

.gl-servicios__card-ico {
  width: 60px;
  height: 60px;
  background: #F5F5F5;
  border-radius: 16px;
  padding: 14px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease, transform 0.3s ease;
}

.gl-servicios__card:hover .gl-servicios__card-ico {
  background: rgba(1, 151, 175, 0.08);
  transform: scale(1.08);
}

.gl-servicios__card-ico--purple {
  background: rgba(75, 34, 122, 0.05);
}

.gl-servicios__card--featured:hover .gl-servicios__card-ico--purple {
  background: rgba(75, 34, 122, 0.1);
}

.gl-servicios__card-ico svg {
  width: 100%;
  height: 100%;
}

.gl-servicios__card-name {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 18px;
  font-weight: 700;
  color: #02153D;
  margin-bottom: 6px;
  line-height: 1.25;
}

.gl-servicios__card-text {
  font-size: 13px;
  color: #1A1A1A;
  line-height: 1.6;
  margin-bottom: 14px;
  flex: 1;
}

.gl-servicios__card-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 0, 0, 0.05);
  width: 100%;
}

.gl-servicios__card-price {
  font-size: 15px;
  font-weight: 800;
  color: #0197AF;
  letter-spacing: -0.01em;
}

.gl-servicios__card--featured .gl-servicios__card-price {
  color: #4B227A;
}

.gl-servicios__card-price small {
  font-size: 10px;
  font-weight: 600;
  opacity: 0.7;
}

.gl-servicios__card-dur {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  font-weight: 600;
  color: #02153D;
  opacity: 0.45;
  white-space: nowrap;
}

.gl-servicios__card-dur svg {
  width: 13px;
  height: 13px;
}

.gl-servicios__card-quote {
  background: #F5F5F5;
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 12px;
  width: 100%;
  text-align: left;
  border: none;
}

.gl-servicios__card-quote--purple {
  background: rgba(75, 34, 122, 0.04);
}

.gl-servicios__card-quote p {
  font-size: 12px;
  color: #1A1A1A;
  line-height: 1.5;
  font-style: italic;
}

.gl-servicios__card-quote cite {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  color: #0197AF;
  font-style: normal;
  margin-top: 5px;
}

.gl-servicios__cite-stars {
  width: 56px;
  height: 10px;
  display: inline-block;
  flex-shrink: 0;
}

.gl-servicios__card--featured .gl-servicios__card-quote cite {
  color: #4B227A;
}

.gl-servicios__card-arrow {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 700;
  color: #4B227A;
  transition: color 0.3s ease;
  margin-top: auto;
}

.gl-servicios__card-arrow svg {
  width: 14px;
  height: 14px;
  transition: transform 0.3s ease;
}

.gl-servicios__card:hover .gl-servicios__card-arrow {
  color: #0197AF;
}

.gl-servicios__card:hover .gl-servicios__card-arrow svg {
  transform: translateX(4px);
}

.gl-servicios__cta-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.gl-servicios__cta-prices {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 40px;
  background: #0197AF;
  color: #FFFFFF;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 700;
  font-family: 'Lato', sans-serif;
  transition: background 0.3s ease, transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.3s ease;
  white-space: nowrap;
  box-shadow: 0 6px 24px rgba(1, 151, 175, 0.3);
  letter-spacing: 0.02em;
}

.gl-servicios__cta-prices svg {
  width: 16px;
  height: 16px;
}

.gl-servicios__cta-prices:hover {
  background: #02153D;
  transform: translateY(-3px);
  box-shadow: 0 12px 36px rgba(2, 21, 61, 0.3);
  color: #FFFFFF;
}

.gl-servicios__cta-wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 30px;
  background: #25D366;
  color: #FFFFFF;
  border-radius: 50px;
  font-size: 15px;
  font-weight: 700;
  font-family: 'Lato', sans-serif;
  box-shadow: 0 4px 20px rgba(37, 211, 102, 0.25);
  transition: background 0.3s ease, transform 0.25s ease, box-shadow 0.3s ease;
  white-space: nowrap;
}

.gl-servicios__cta-wa svg {
  width: 18px;
  height: 18px;
}

.gl-servicios__cta-wa:hover {
  background: #1ebe5d;
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(37, 211, 102, 0.35);
  color: #FFFFFF;
}

@media (min-width: 480px) {
  .gl-servicios__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gl-servicios__star {
    padding: 24px 28px;
    gap: 20px;
  }

  .gl-servicios__star-name {
    font-size: 20px;
  }

  .gl-servicios__star-text {
    font-size: 14px;
  }
}

@media (min-width: 768px) {
  .gl-servicios__inner {
    padding: 64px 20px;
  }

  .gl-servicios__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
  }

  .gl-servicios__title {
    font-size: 36px;
  }

  .gl-servicios__star {
    padding: 28px 32px;
    gap: 24px;
    border-radius: 24px;
  }

  .gl-servicios__star-ico {
    width: 64px;
    height: 64px;
    min-width: 64px;
    padding: 14px;
    border-radius: 16px;
  }

  .gl-servicios__star-name {
    font-size: 22px;
  }

  .gl-servicios__star-text {
    font-size: 15px;
  }

  .gl-servicios__star-quote p {
    font-size: 13px;
  }

  .gl-servicios__cta-row {
    flex-direction: row;
    justify-content: center;
  }
}

@media (min-width: 1024px) {
  .gl-servicios__inner {
    padding: 80px 24px;
  }

  .gl-servicios__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
  }

  .gl-servicios__title {
    font-size: 44px;
    margin-bottom: 18px;
  }

  .gl-servicios__desc {
    font-size: 16px;
  }

  .gl-servicios__badge {
    font-size: 11px;
    padding: 7px 22px;
    margin-bottom: 22px;
  }

  .gl-servicios__star {
    padding: 32px 40px;
    border-radius: 28px;
    margin-bottom: 28px;
    gap: 28px;
  }

  .gl-servicios__star-ico {
    width: 76px;
    height: 76px;
    min-width: 76px;
    padding: 17px;
    border-radius: 18px;
  }

  .gl-servicios__star-name {
    font-size: 26px;
  }

  .gl-servicios__star-text {
    font-size: 15px;
    margin-bottom: 14px;
  }

  .gl-servicios__star-quote {
    padding: 14px 18px;
    border-radius: 12px;
  }

  .gl-servicios__star-quote p {
    font-size: 14px;
  }

  .gl-servicios__star-price {
    font-size: 18px;
  }

  .gl-servicios__card {
    padding: 28px 20px 24px;
  }

  .gl-servicios__card-name {
    font-size: 17px;
  }

  .gl-servicios__card-text {
    font-size: 13px;
  }

  .gl-servicios__card-quote p {
    font-size: 11px;
  }

  .gl-servicios__cta-prices {
    padding: 16px 40px;
    font-size: 16px;
  }

  .gl-servicios__cta-wa {
    padding: 15px 34px;
    font-size: 16px;
  }
}

@media (min-width: 1440px) {
  .gl-servicios__inner {
    max-width: 1360px;
    padding-left: 32px;
    padding-right: 32px;
  }

  .gl-servicios__title {
    font-size: 48px;
  }

  .gl-servicios__grid {
    gap: 26px;
  }

  .gl-servicios__card {
    padding: 32px 22px 28px;
  }

  .gl-servicios__card-name {
    font-size: 18px;
  }
}

@media (max-width: 374px) {
  .gl-servicios__title {
    font-size: 24px;
  }

  .gl-servicios__desc {
    font-size: 13px;
  }

  .gl-servicios__card-name {
    font-size: 16px;
  }

  .gl-servicios__card-text {
    font-size: 12px;
  }

  .gl-servicios__card-price {
    font-size: 14px;
  }

  .gl-servicios__star-name {
    font-size: 20px;
  }
}

@supports (padding-top: env(safe-area-inset-top)) {
  .gl-servicios__inner {
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }
}

@media (prefers-reduced-motion: reduce) {
  .gl-servicios-cali,
  .gl-servicios-cali * {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

.gl-servicios-cali a:focus-visible {
  outline: 2px solid #0197AF;
  outline-offset: 2px;
  border-radius: 4px;
}

.gl-servicios__header::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #0197AF, #00EED0);
  margin: 20px auto 0;
  border-radius: 2px;
}

@keyframes glStarPulse {
  0%, 100% { box-shadow: 0 4px 24px rgba(1, 151, 175, 0.08); }
  50% { box-shadow: 0 4px 32px rgba(1, 151, 175, 0.18), 0 0 0 3px rgba(1, 151, 175, 0.06); }
}

.gl-servicios__star {
  animation: glStarPulse 3s ease-in-out infinite, glServFadeUp 0.6s ease both;
}

.gl-servicios__card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: #0197AF;
  border-radius: 2px 2px 0 0;
  transition: width 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.gl-servicios__card:hover::after {
  width: 50%;
}

.gl-servicios__card--featured::after {
  background: #4B227A;
}

.gl-servicios__card--group::after {
  background: #00EED0;
}

@keyframes glServFadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.gl-servicios__card {
  animation: glServFadeUp 0.5s ease both;
}

.gl-servicios__card:nth-child(1) { animation-delay: 0.05s; }
.gl-servicios__card:nth-child(2) { animation-delay: 0.1s; }
.gl-servicios__card:nth-child(3) { animation-delay: 0.15s; }
.gl-servicios__card:nth-child(4) { animation-delay: 0.2s; }
.gl-servicios__card:nth-child(5) { animation-delay: 0.25s; }
.gl-servicios__card:nth-child(6) { animation-delay: 0.3s; }
.gl-servicios__card:nth-child(7) { animation-delay: 0.35s; }
.gl-servicios__card:nth-child(8) { animation-delay: 0.4s; }

.gl-servicios__star {
  animation: glServFadeUp 0.6s ease both;
}

.gl-servicios__card-ico::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(1, 151, 175, 0.15), transparent);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: -1;
}

.gl-servicios__card:hover .gl-servicios__card-ico::after {
  opacity: 1;
}

.gl-servicios__card-ico {
  position: relative;
}

.gl-servicios__cta-prices::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: 52px;
  background: linear-gradient(135deg, #0197AF, #00EED0);
  z-index: -1;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.gl-servicios__cta-prices {
  position: relative;
  z-index: 1;
}

.gl-servicios__cta-prices:hover::before {
  opacity: 0;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f41f62d *//* ============================================================
   CSS — SECCIÓN SOBRE GLADYS — gl-about-cali  [v2 CORREGIDA]
   CONTENEDOR 1 de 8 — Landing /psicologa-en-cali/

   CORRECCIONES v2:
   ✅ Eliminado TODO el CSS @property (era la causa del +4040, +5.0005000, 33)
   ✅ Eliminados todos los ::after con content:counter() — ya no existen
   ✅ Eliminados @keyframes gl-count-*-anim y counter-reset: count*
   ✅ Los stats ahora tienen SOLO animación de entrada (opacity + scale)
   ✅ border-radius foto: 12px mobile → 16px tablet → 20px desktop
   ✅ Badge BNE: display:none en <480px, visible en 480px+
   ✅ Badge Univ. Valle: posición corregida para no salir del viewport en 374px

   CÓMO PEGAR EN ELEMENTOR:
   Opción A: Crear widget HTML aparte con <style>[este CSS]</style>
             justo encima del widget HTML de la sección
   Opción B: Apariencia > Personalizar > CSS Adicional (WordPress)
   
   NOTA: No se importan fuentes. Ya las carga el header global.
============================================================ */

/* ── RESET LOCAL ─────────────────────────────────────────── */
.gl-about-cali,
.gl-about-cali *,
.gl-about-cali *::before,
.gl-about-cali *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── BASE ────────────────────────────────────────────────── */
.gl-about-cali {
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size: 15px;
  line-height: 1.6;
  color: #1A1A1A;
  background: #FFFFFF;
  width: 100%;
  position: relative;
  /* overflow visible para que los badges no se corten en desktop */
  overflow: visible;
}

.gl-about-cali a {
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.gl-about-cali svg {
  display: block;
  flex-shrink: 0;
}

/* ── SEPARADOR DECORATIVO SUPERIOR ──────────────────────── */
.gl-about__sep {
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, #0197AF 30%, #00EED0 70%, transparent 100%);
  opacity: 0.6;
}

/* ── INNER ───────────────────────────────────────────────── */
.gl-about__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 64px 20px 72px;
  display: flex;
  flex-direction: column;
  gap: 48px;
}

/* ════════════════════════════════════════════════════════════
   COLUMNA VISUAL — FOTO
════════════════════════════════════════════════════════════ */

.gl-about__visual {
  position: relative;
  display: flex;
  justify-content: center;
  /* En mobile usamos overflow:hidden para contener badges */
  overflow: hidden;
}

.gl-about__photo-wrap {
  position: relative;
  width: 100%;
  max-width: 340px;
  /* El wrap hace el clipping — nunca el img */
  border-radius: 50px;
  overflow: hidden;
  /* Sombra sobre el wrap, no sobre el img */
  box-shadow:
    0 4px 16px rgba(2, 21, 61, 0.1),
    0 20px 56px rgba(2, 21, 61, 0.16);
}

/* Efecto overlay sobre la foto: gradiente sutil + esquina superior con toque de marca */
.gl-about__photo-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 238, 208, 0.07) 0%,
    transparent 45%,
    rgba(2, 21, 61, 0.22) 100%
  );
  pointer-events: none;
  z-index: 3;
  border-radius: inherit;
  transition: opacity 0.4s ease;
}

.gl-about__photo-wrap:hover::after {
  opacity: 0.6;
}

/* Efecto hover: zoom suave en la foto */
.gl-about__photo-wrap:hover .gl-about__photo {
  transform: scale(1.04);
  filter: brightness(1.04) saturate(1.08);
}

/* ── Foto: el img NO lleva border-radius propio
   El wrap con overflow:hidden hace el clipping.
   !important para vencer cualquier override de Elementor/tema. */
.gl-about__photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center top;
  border-radius: 0 !important;   /* el wrap clipea — !important anti-Elementor */
  box-shadow: none;              /* sombra en el wrap, no aquí */
  position: relative;
  z-index: 2;
  transition:
    transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1),
    filter 0.5s ease;
  animation: gl-about-photo-in 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) 0.1s both;
}

@keyframes gl-about-photo-in {
  from { opacity: 0; transform: translateY(14px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0)    scale(1); }
}

/* Acento decorativo esquina */
.gl-about__photo-corner {
  position: absolute;
  bottom: -10px;
  right: -10px;
  width: 60px;
  height: 60px;
  border-radius: 8px;
  background: linear-gradient(135deg, #0197AF, #00EED0);
  opacity: 0.2;
  z-index: 1;
  pointer-events: none;
}

/* ── Badge 1: Universidad del Valle ──
   Mobile 374px o menos: posición interna, no sale del viewport
   Mobile 375-767px: pegado al borde izq de photo-wrap (4px)
   Desktop 768px+: sobresale -20px a la izquierda (efecto flotante) */
.gl-about__float-cert {
  position: absolute;
  bottom: 20px;
  left: 4px;           /* Mobile: dentro del photo-wrap */
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #FFFFFF;
  border: 1px solid rgba(2, 21, 61, 0.1);
  border-radius: 12px;
  padding: 8px 12px;
  box-shadow: 0 6px 24px rgba(2, 21, 61, 0.12);
  max-width: 200px;
  animation: gl-about-cert-in 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) 0.5s both;
}

@keyframes gl-about-cert-in {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.gl-about__float-icon {
  width: 30px;
  height: 30px;
  min-width: 30px;
  background: linear-gradient(135deg, #02153D 0%, #0197AF 100%);
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
}

.gl-about__float-icon svg {
  color: #FFFFFF;
  width: 16px;
  height: 16px;
}

.gl-about__float-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.gl-about__float-text strong {
  font-size: 11px;
  font-weight: 700;
  color: #02153D;
  line-height: 1.3;
}

.gl-about__float-text span {
  font-size: 10px;
  color: #666;
  line-height: 1.3;
}

/* ── Badge 2: Bioneuroemoción®
   OCULTO en mobile < 480px — evita superposición con badge 1
   Visible desde 480px en adelante */
.gl-about__float-bne {
  display: none;          /* Oculto en mobile por defecto */
  position: absolute;
  top: 16px;
  right: 4px;
  z-index: 3;
  align-items: center;
  gap: 6px;
  background: #4B227A;
  color: #FFFFFF;
  border-radius: 50px;
  padding: 5px 11px 5px 9px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: 0 4px 14px rgba(75, 34, 122, 0.3);
  white-space: nowrap;
  animation: gl-about-bne-in 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) 0.7s both;
}

@keyframes gl-about-bne-in {
  from { opacity: 0; transform: translateY(-6px); }
  to   { opacity: 1; transform: translateY(0); }
}

.gl-about__float-bne sup {
  font-size: 8px;
  vertical-align: super;
  line-height: 0;
}

.gl-about__float-bne-dot {
  display: block;
  width: 6px;
  height: 6px;
  min-width: 6px;
  border-radius: 50%;
  background: #00EED0;
  animation: gl-about-dot-pulse 2s ease-in-out infinite;
}

@keyframes gl-about-dot-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.5; transform: scale(1.4); }
}


/* ════════════════════════════════════════════════════════════
   COLUMNA CONTENIDO
════════════════════════════════════════════════════════════ */

.gl-about__content {
  display: flex;
  flex-direction: column;
}

/* ── Badge ── */
.gl-about__badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #0197AF;
  background: #F5F5F5;
  border: 1px solid rgba(1, 151, 175, 0.3);
  padding: 5px 16px 5px 12px;
  border-radius: 50px;
  margin-bottom: 18px;
  width: fit-content;
  animation: gl-about-fade-up 0.6s cubic-bezier(0.22, 0.61, 0.36, 1) 0.15s both;
}

@keyframes gl-about-fade-up {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

.gl-about__badge-icon {
  width: 12px;
  height: 12px;
  color: #0197AF;
}

/* ── H2 ── */
.gl-about__title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 30px;
  font-weight: 800;
  color: #02153D;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin-bottom: 10px;
  animation: gl-about-fade-up 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) 0.25s both;
}

.gl-about__title-accent {
  color: #0197AF;
}

/* ── Subtítulo ── */
.gl-about__subtitle {
  font-size: 11px;
  font-weight: 700;
  color: #4B227A;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 22px;
  animation: gl-about-fade-up 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) 0.32s both;
}

/* ── Bio ── */
.gl-about__bio {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 28px;
  animation: gl-about-fade-up 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) 0.4s both;
}

.gl-about__bio p {
  font-size: 14px;
  line-height: 1.78;
  color: #3a3a3a;
}

/* ── Credenciales ── */
.gl-about__creds {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 24px;
  animation: gl-about-fade-up 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) 0.5s both;
}

.gl-about__cred {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 11px 12px;
  background: #F5F5F5;
  border: 1px solid rgba(2, 21, 61, 0.06);
  border-radius: 10px;
  transition:
    background 0.3s ease,
    border-color 0.3s ease,
    transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 0.3s ease;
}

.gl-about__cred:hover {
  background: #FFFFFF;
  border-color: rgba(1, 151, 175, 0.25);
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(2, 21, 61, 0.08);
}

.gl-about__cred-icon {
  width: 32px;
  height: 32px;
  min-width: 32px;
  background: #FFFFFF;
  border: 1px solid rgba(2, 21, 61, 0.08);
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px;
  margin-top: 1px;
}

.gl-about__cred-icon svg {
  width: 16px;
  height: 16px;
  color: #0197AF;
}

.gl-about__cred-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.gl-about__cred-body strong {
  font-size: 11.5px;
  font-weight: 700;
  color: #02153D;
  line-height: 1.35;
  display: block;
}

.gl-about__cred-body span {
  font-size: 10.5px;
  color: #666;
  line-height: 1.35;
}

.gl-about__cred-body sup {
  font-size: 8px;
  vertical-align: super;
  line-height: 0;
}

/* ════════════════════════════════════════════════════════════
   STATS — NÚMEROS ESTÁTICOS
   
   ⚠️ IMPORTANTE: Los números están en el HTML como texto plano.
   Este CSS SOLO anima su aparición (opacity + translateY + scale).
   NO hay @property, NO hay counter(), NO hay ::after con content.
   El mismo número que ves en el HTML es el que aparece en pantalla.
   Funciona idéntico en Chrome, Firefox, Safari, Edge, Samsung Internet.
════════════════════════════════════════════════════════════ */

.gl-about__stats {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 18px 20px;
  background: linear-gradient(135deg, #02153D 0%, #011230 100%);
  border-radius: 16px;
  margin-bottom: 26px;
  animation: gl-about-fade-up 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) 0.6s both;
}

.gl-about__stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
}

/* Animación de entrada escalonada — solo opacity + scale, NUNCA cambia el número */
.gl-about__stat--1 {
  animation: gl-about-stat-pop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 0.7s both;
}
.gl-about__stat--2 {
  animation: gl-about-stat-pop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 0.85s both;
}
.gl-about__stat--3 {
  animation: gl-about-stat-pop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 1.0s both;
}
.gl-about__stat--4 {
  animation: gl-about-stat-pop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 1.15s both;
}

@keyframes gl-about-stat-pop {
  from {
    opacity: 0;
    transform: scale(0.72) translateY(8px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.gl-about__stat-num-wrap {
  display: flex;
  align-items: baseline;
  gap: 1px;
  line-height: 1;
}

.gl-about__stat-num-wrap--icon {
  align-items: center;
}

/* "+" prefijo */
.gl-about__stat-pre {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 16px;
  font-weight: 700;
  color: #00EED0;
  line-height: 1;
}

/* Número estático — solo texto, sin pseudo-elementos animados */
.gl-about__stat-count {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 20px;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1;
  letter-spacing: -0.01em;
}

/* Ícono "terapia online" (stat 4) */
.gl-about__stat-icon {
  width: 26px;
  height: 26px;
  color: #00EED0;
}

/* Label debajo del número */
.gl-about__stat-label {
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
  line-height: 1.3;
}

/* Separador vertical entre stats */
.gl-about__stat-sep {
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
  align-self: center;
}

/* ── CTAs ── */
.gl-about__ctas {
  display: flex;
  flex-direction: column;
  gap: 12px;
  animation: gl-about-fade-up 0.8s cubic-bezier(0.22, 0.61, 0.36, 1) 0.7s both;
}

.gl-about__btn-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #0197AF;
  padding: 13px 24px;
  border: 2px solid #0197AF;
  border-radius: 50px;
  transition:
    background 0.3s ease,
    color 0.3s ease,
    transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 0.3s ease;
  width: 100%;
}

.gl-about__btn-link:hover {
  background: #0197AF;
  color: #FFFFFF;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(1, 151, 175, 0.25);
}

.gl-about__btn-link:active {
  transform: translateY(0);
}

.gl-about__btn-arrow {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.gl-about__btn-link:hover .gl-about__btn-arrow {
  transform: translateX(4px);
}

.gl-about__btn-wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 24px;
  background: #25D366;
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
  border-radius: 50px;
  box-shadow: 0 6px 24px rgba(37, 211, 102, 0.3);
  transition:
    background 0.3s ease,
    transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 0.3s ease;
  width: 100%;
}

.gl-about__btn-wa:hover {
  background: #1ebe5d;
  color: #FFFFFF;
  transform: translateY(-3px);
  box-shadow: 0 10px 32px rgba(37, 211, 102, 0.4);
}

.gl-about__btn-wa:active {
  transform: translateY(0);
}

.gl-about__btn-wa-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* ── Accesibilidad: focus visible ── */
.gl-about-cali a:focus-visible {
  outline: 2px solid #0197AF;
  outline-offset: 3px;
  border-radius: 4px;
}


/* ════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE FIRST
════════════════════════════════════════════════════════════ */

/* ── iPhone SE y pantallas muy pequeñas (max 374px) ── */
@media (max-width: 374px) {

  .gl-about__inner {
    padding: 48px 14px 56px;
    gap: 32px;
  }

  .gl-about__title {
    font-size: 26px;
  }

  .gl-about__creds {
    /* 1 columna en iPhone SE — el texto de las creds cabe mejor */
    grid-template-columns: 1fr;
  }

  /* Badge Univ. Valle: sin sobrepasar bordes en 374px */
  .gl-about__float-cert {
    left: 4px;
    bottom: 12px;
    max-width: 180px;
    padding: 7px 10px;
  }

  .gl-about__float-text strong {
    font-size: 10px;
  }

  .gl-about__float-text span {
    font-size: 9px;
  }

  /* Stats: reducir fuente en pantallasmuy pequeñas */
  .gl-about__stats {
    padding: 14px 10px;
  }

  .gl-about__stat-count {
    font-size: 17px;
  }

  .gl-about__stat-pre {
    font-size: 14px;
  }

  .gl-about__stat-label {
    font-size: 8px;
  }

  .gl-about__stat-icon {
    width: 22px;
    height: 22px;
  }

  .gl-about__stat-sep {
    height: 28px;
  }

}

/* ── 480px+: Badge BNE visible y photo-wrap sin overflow:hidden ── */
@media (min-width: 480px) {

  .gl-about__visual {
    overflow: visible;  /* Permite que el badge BNE sobresalga a la derecha */
  }

  /* Mostrar badge Bioneuroemoción desde 480px */
  .gl-about__float-bne {
    display: flex;
    right: -10px;       /* Sobresale levemente a la derecha */
  }

  /* Badge Univ. Valle: puede quedarse en left:4 o ajustarse */
  .gl-about__float-cert {
    left: 4px;
  }

}

/* ── Tablet (768px+): layout 2 columnas ── */
@media (min-width: 768px) {

  .gl-about__inner {
    padding: 72px 24px 80px;
    flex-direction: row;
    align-items: flex-start;
    gap: 52px;
  }

  /* Foto sticky mientras el usuario lee */
  .gl-about__visual {
    flex: 0 0 44%;
    max-width: 380px;
    position: sticky;
    top: 100px;        /* offset del header sticky */
    align-self: flex-start;
    overflow: visible;
  }

  .gl-about__photo-wrap {
    max-width: 100%;
  }

  /* border-radius: el wrap siempre mantiene 50px — no se toca el img */

  .gl-about__content {
    flex: 1;
    min-width: 0;
  }

  .gl-about__title {
    font-size: 36px;
  }

  .gl-about__bio p {
    font-size: 15px;
  }

  /* Badge Univ. Valle: ahora sí sobresale a la izquierda */
  .gl-about__float-cert {
    left: -16px;
  }

  /* Badge BNE: posición definitiva derecha */
  .gl-about__float-bne {
    right: -12px;
    top: 18px;
  }

  /* CTAs en fila */
  .gl-about__ctas {
    flex-direction: row;
    gap: 12px;
  }

  .gl-about__btn-link,
  .gl-about__btn-wa {
    width: auto;
    min-width: 0;
  }

}

/* ── Desktop (1024px+) ── */
@media (min-width: 1024px) {

  .gl-about__inner {
    padding: 88px 24px 96px;
    gap: 64px;
  }

  .gl-about__visual {
    flex: 0 0 40%;
    max-width: 440px;
    top: 110px;
  }

  /* border-radius: el wrap mantiene 50px en todos los breakpoints */

  .gl-about__title {
    font-size: 42px;
    margin-bottom: 12px;
  }

  .gl-about__badge {
    font-size: 11px;
    margin-bottom: 20px;
  }

  .gl-about__bio p {
    font-size: 15.5px;
    line-height: 1.82;
  }

  .gl-about__creds {
    gap: 12px;
  }

  .gl-about__cred {
    padding: 13px 15px;
  }

  .gl-about__cred-body strong {
    font-size: 12.5px;
  }

  .gl-about__stats {
    padding: 20px 24px;
  }

  .gl-about__stat-count {
    font-size: 26px;
  }

  .gl-about__stat-pre {
    font-size: 20px;
  }

  .gl-about__stat-label {
    font-size: 9.5px;
  }

  .gl-about__stat-icon {
    width: 30px;
    height: 30px;
  }

  .gl-about__stat-sep {
    height: 42px;
  }

  .gl-about__btn-link,
  .gl-about__btn-wa {
    font-size: 15px;
    padding: 14px 28px;
  }

}

/* ── Wide (1440px+) ── */
@media (min-width: 1440px) {

  .gl-about__inner {
    max-width: 1360px;
    padding-left: 32px;
    padding-right: 32px;
    gap: 80px;
  }

  .gl-about__title {
    font-size: 46px;
  }

  .gl-about__visual {
    flex: 0 0 38%;
    max-width: 480px;
  }

}

/* ── Safe Area iOS (muesca / barra home) ── */
@supports (padding-left: env(safe-area-inset-left)) {
  .gl-about__inner {
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
  }
}

/* ── Reducir movimiento (accesibilidad) ── */
@media (prefers-reduced-motion: reduce) {
  .gl-about-cali *,
  .gl-about-cali *::before,
  .gl-about-cali *::after {
    animation-duration: 0.01ms !important;
    animation-delay: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ce9146c *//* ============================================================
   CSS — SECCIÓN TESTIMONIOS — gl-reviews-cali
   CONTENEDOR 2 de 8 — Landing /psicologa-en-cali/

   ELEMENTOR: pegar en widget HTML con <style> justo encima,
   o en CSS Adicional de WordPress (Apariencia > Personalizar).
   Las fuentes NO se importan — ya las carga el header.
============================================================ */

/* ── RESET LOCAL ─────────────────────────────────────────── */
.gl-reviews-cali,
.gl-reviews-cali *,
.gl-reviews-cali *::before,
.gl-reviews-cali *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.gl-reviews-cali {
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #F5F5F5;
  width: 100%;
}

.gl-reviews-cali a {
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.gl-reviews-cali svg {
  display: block;
  flex-shrink: 0;
}

/* ── SEPARADOR SUPERIOR ──────────────────────────────────── */
.gl-reviews__sep {
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, #0197AF 30%, #00EED0 70%, transparent 100%);
  opacity: 0.5;
}

/* ── INNER ───────────────────────────────────────────────── */
.gl-reviews__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 64px 20px 72px;
}

/* ════════════════════════════════════════════════════════════
   HEADER
════════════════════════════════════════════════════════════ */
.gl-reviews__header {
  background: #FFFFFF;
  border: 1px solid rgba(2, 21, 61, 0.07);
  border-radius: 16px;
  padding: 20px 22px;
  margin-bottom: 28px;
  box-shadow: 0 2px 12px rgba(2, 21, 61, 0.05);
}

.gl-reviews__header-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.gl-reviews__google-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.gl-reviews__google-logo {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}

.gl-reviews__google-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.gl-reviews__google-label {
  font-size: 14px;
  font-weight: 700;
  color: #02153D;
  line-height: 1.3;
}

.gl-reviews__google-sub {
  font-size: 11px;
  color: #888;
  line-height: 1.3;
}

.gl-reviews__verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #34A853;
  background: rgba(52, 168, 83, 0.08);
  border: 1px solid rgba(52, 168, 83, 0.25);
  padding: 4px 10px;
  border-radius: 50px;
  white-space: nowrap;
  flex-shrink: 0;
}

.gl-reviews__badge-icon {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

.gl-reviews__rating-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.gl-reviews__score {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 40px;
  font-weight: 800;
  color: #02153D;
  line-height: 1;
  letter-spacing: -0.02em;
}

.gl-reviews__rating-detail {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.gl-reviews__stars {
  color: #FBBC05;
  font-size: 20px;
  letter-spacing: 1px;
  line-height: 1;
}

.gl-reviews__count {
  font-size: 12px;
  color: #666;
  font-weight: 600;
}

.gl-reviews__write-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
  color: #4285F4;
  padding: 6px 14px;
  border: 1.5px solid rgba(66, 133, 244, 0.3);
  border-radius: 50px;
  margin-left: auto;
  transition: background 0.3s ease, border-color 0.3s ease;
  white-space: nowrap;
}

.gl-reviews__write-link svg {
  width: 13px;
  height: 13px;
}

.gl-reviews__write-link:hover {
  background: rgba(66, 133, 244, 0.08);
  border-color: #4285F4;
}

/* ── Fila título + controles ── */
.gl-reviews__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.gl-reviews__title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 24px;
  font-weight: 800;
  color: #02153D;
  line-height: 1.2;
  letter-spacing: -0.01em;
  flex: 1;
}

.gl-reviews__title-accent {
  color: #0197AF;
}

/* ── Controles: botones flecha ── */
.gl-reviews__controls {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.gl-reviews__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #FFFFFF;
  border: 1.5px solid rgba(2, 21, 61, 0.14);
  box-shadow: 0 2px 10px rgba(2, 21, 61, 0.08);
  cursor: pointer;
  color: #02153D;
  transition: background 0.25s ease, border-color 0.25s ease, transform 0.2s ease, opacity 0.25s ease;
  -webkit-tap-highlight-color: transparent;
  flex-shrink: 0;
}

.gl-reviews__arrow svg {
  width: 16px;
  height: 16px;
  pointer-events: none;
}

.gl-reviews__arrow:hover {
  background: #02153D;
  border-color: #02153D;
  color: #FFFFFF;
  transform: scale(1.05);
}

.gl-reviews__arrow:active {
  transform: scale(0.96);
}

.gl-reviews__arrow:focus-visible {
  outline: 2px solid #0197AF;
  outline-offset: 2px;
}

/* ════════════════════════════════════════════════════════════
   CARDS CAROUSEL

   NOTA ELEMENTOR: NO usamos negative margins porque la sección
   en Elementor puede tener overflow:hidden que los rompe.
   El scroll funciona por JS (flechas) + CSS scroll-snap (swipe).
════════════════════════════════════════════════════════════ */

.gl-reviews__cards {
  display: flex;
  gap: 14px;
  /* Scroll CSS como fallback para swipe táctil */
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 0;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: 10px;
  margin-bottom: 36px;
  /* SIN negative margins — compatibilidad Elementor */
}

.gl-reviews__cards::-webkit-scrollbar {
  display: none;
}

/* ── Card individual ── */
.gl-reviews__card {
  width: 85vw;
  min-width: 85vw;
  scroll-snap-align: start;
  flex-shrink: 0;
  position: relative;
  /* Borde superior gradiente — truco padding-box/border-box */
  border-top: 3px solid transparent;
  border-left: 1px solid rgba(2, 21, 61, 0.07);
  border-right: 1px solid rgba(2, 21, 61, 0.07);
  border-bottom: 1px solid rgba(2, 21, 61, 0.07);
  background:
    linear-gradient(#FFFFFF, #FFFFFF) padding-box,
    linear-gradient(90deg, #0197AF, #00EED0) border-box;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 2px 12px rgba(2, 21, 61, 0.05);
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.3s ease;
}

/* Comilla decorativa de fondo — tipografía Playfair premium */
.gl-reviews__card::before {
  content: '\201C';
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 80px;
  line-height: 1;
  color: rgba(1, 151, 175, 0.09);
  position: absolute;
  top: 44px;
  left: 12px;
  pointer-events: none;
  z-index: 0;
}

.gl-reviews__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(2, 21, 61, 0.12);
}

/* Card top: avatar + meta — z-index sobre la comilla */
.gl-reviews__card-top {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  position: relative;
  z-index: 1;
}

/* Avatar círculo con iniciales */
.gl-reviews__avatar {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: 0.03em;
  flex-shrink: 0;
}

.gl-reviews__avatar--blue   { background: #4285F4; }
.gl-reviews__avatar--red    { background: #EA4335; }
.gl-reviews__avatar--green  { background: #34A853; }
.gl-reviews__avatar--yellow { background: #FBBC05; color: #02153D; }
.gl-reviews__avatar--purple { background: #9C27B0; }
.gl-reviews__avatar--orange { background: #FF7043; }
.gl-reviews__avatar--teal   { background: #0197AF; }

.gl-reviews__card-meta {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.gl-reviews__card-author-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

.gl-reviews__card-author {
  font-size: 13px;
  font-weight: 700;
  color: #02153D;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gl-reviews__card-google {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

.gl-reviews__card-stars {
  color: #FBBC05;
  font-size: 13px;
  letter-spacing: 0.5px;
  line-height: 1;
}

/* Texto reseña — z-index sobre comilla decorativa */
.gl-reviews__card-text {
  font-size: 13px;
  line-height: 1.7;
  color: #444;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
  position: relative;
  z-index: 1;
}

.gl-reviews__card-date {
  font-size: 11px;
  color: #aaa;
  font-weight: 500;
  margin-top: auto;
  position: relative;
  z-index: 1;
}


/* ════════════════════════════════════════════════════════════
   FOOTER CTAs
════════════════════════════════════════════════════════════ */

.gl-reviews__footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

/* ── Botón online estratégico ── */
.gl-reviews__online-block {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.gl-reviews__online-eyebrow {
  font-size: 12px;
  color: #888;
  font-weight: 600;
  text-align: center;
}

.gl-reviews__btn-online {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 440px;
  padding: 15px 20px;
  background: linear-gradient(135deg, #0197AF 0%, #017d93 40%, #4B227A 100%);
  color: #FFFFFF;
  border-radius: 14px;
  animation: gl-reviews-online-glow 3.5s ease-in-out infinite;
  transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), filter 0.3s ease;
  position: relative;
  overflow: hidden;
}

.gl-reviews__btn-online::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent);
  animation: gl-reviews-shimmer 4s ease-in-out infinite 1.5s;
  pointer-events: none;
}

@keyframes gl-reviews-shimmer {
  0%   { left: -100%; }
  50%  { left: 140%; }
  100% { left: 140%; }
}

/* Glow reducido — intensidad moderada */
@keyframes gl-reviews-online-glow {
  0%, 100% { box-shadow: 0 6px 20px rgba(1, 151, 175, 0.22), 0 0 0 0 rgba(1, 151, 175, 0.1); }
  50%       { box-shadow: 0 8px 28px rgba(1, 151, 175, 0.30), 0 0 0 4px rgba(1, 151, 175, 0); }
}

.gl-reviews__btn-online:hover {
  transform: translateY(-2px);
  filter: brightness(1.07);
}

.gl-reviews__btn-online:active {
  transform: translateY(0);
}

.gl-reviews__btn-online-left { flex-shrink: 0; }

.gl-reviews__btn-online-globe {
  width: 28px;
  height: 28px;
  color: rgba(255,255,255,0.9);
}

.gl-reviews__btn-online-center {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.gl-reviews__btn-online-center strong {
  font-size: 14px;
  font-weight: 700;
  color: #FFFFFF;
  display: block;
  line-height: 1.3;
}

.gl-reviews__btn-online-center span {
  font-size: 11px;
  color: rgba(255,255,255,0.75);
  line-height: 1.3;
}

.gl-reviews__btn-online-wa {
  width: 20px;
  height: 20px;
  color: rgba(255,255,255,0.85);
  flex-shrink: 0;
}

/* ── Divisor ── */
.gl-reviews__divider {
  width: 100%;
  max-width: 440px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #bbb;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.gl-reviews__divider::before,
.gl-reviews__divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(2, 21, 61, 0.1);
}

/* ── Botón sede ── */
.gl-reviews__btn-sede {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 18px;
  border-radius: 12px;
  color: #FFFFFF;
  width: 100%;
  transition: transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.3s ease, filter 0.3s ease;
}

.gl-reviews__btn-sede:hover {
  transform: translateY(-2px);
}

.gl-reviews__btn-sede:active {
  transform: translateY(0);
}

.gl-reviews__btn-sede--cali {
  max-width: 440px;
  background: #25D366;
  box-shadow: 0 5px 18px rgba(37, 211, 102, 0.28);
}

.gl-reviews__btn-sede--cali:hover {
  box-shadow: 0 8px 24px rgba(37, 211, 102, 0.38);
  filter: brightness(1.04);
}

.gl-reviews__btn-sede--secondary {
  background: #25D366;
  opacity: 0.88;
  flex: 1;
  min-width: 0;
}

.gl-reviews__btn-sede--secondary:hover {
  opacity: 1;
  box-shadow: 0 5px 16px rgba(37, 211, 102, 0.28);
}

.gl-reviews__sedes-row {
  display: flex;
  gap: 10px;
  width: 100%;
  max-width: 440px;
}

.gl-reviews__wa-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: #FFFFFF;
}

/* Texto sede — tamaños base (mobile/tablet) */
.gl-reviews__sede-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.gl-reviews__sede-text strong {
  font-size: 12px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.3;
  display: block;
}

.gl-reviews__sede-text span {
  font-size: 10px;
  color: rgba(255,255,255,0.82);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ── Accesibilidad ── */
.gl-reviews-cali a:focus-visible,
.gl-reviews-cali button:focus-visible {
  outline: 2px solid #0197AF;
  outline-offset: 3px;
  border-radius: 6px;
}


/* ════════════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════════════ */

/* ── iPhone SE (max 374px) ── */
@media (max-width: 374px) {
  .gl-reviews__inner { padding: 48px 14px 56px; }
  .gl-reviews__card { width: 88vw; min-width: 88vw; }
  .gl-reviews__score { font-size: 34px; }
  .gl-reviews__title { font-size: 20px; }
  .gl-reviews__arrow { width: 34px; height: 34px; }
  .gl-reviews__btn-online { padding: 12px 16px; }
  .gl-reviews__btn-online-center strong { font-size: 13px; }
}

/* ── Tablet (768px+): 2 cards visibles ── */
@media (min-width: 768px) {
  .gl-reviews__inner { padding: 72px 24px 80px; }
  .gl-reviews__card {
    width: 46vw;
    min-width: 46vw;
    padding: 20px;
  }
  .gl-reviews__title { font-size: 28px; }
  .gl-reviews__header { padding: 22px 26px; }
  .gl-reviews__btn-online,
  .gl-reviews__btn-sede--cali,
  .gl-reviews__divider,
  .gl-reviews__sedes-row { max-width: 500px; }
}

/* ── Desktop (1024px+): grid estático 3×3 ── */
@media (min-width: 1024px) {
  .gl-reviews__inner { padding: 88px 24px 96px; }

  /* Las flechas las oculta el JS, pero esto es fallback CSS */
  .gl-reviews__controls { display: none; }

  /* Grid 3 columnas — las flechas ya no se necesitan */
  .gl-reviews__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow-x: visible;
    scroll-snap-type: none;
    gap: 18px;
    margin: 0;
    padding: 0 0 0 0;
    margin-bottom: 40px;
  }

  .gl-reviews__card {
    width: auto;
    min-width: 0;
    padding: 22px;
  }

  .gl-reviews__card-text { font-size: 13.5px; }

  /* Header en fila en desktop */
  .gl-reviews__header {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 20px 28px;
    margin-bottom: 24px;
  }

  .gl-reviews__header-row {
    margin-bottom: 0;
    flex: 0 0 auto;
    border-right: 1px solid rgba(2, 21, 61, 0.08);
    padding-right: 24px;
  }

  .gl-reviews__rating-row { flex: 1; }

  .gl-reviews__write-link {
    font-size: 12px;
    padding: 7px 16px;
  }

  .gl-reviews__title {
    font-size: 30px;
    text-align: left;
  }

  .gl-reviews__title-row { margin-bottom: 20px; }

  /* Footer — CENTRADO en desktop */
  .gl-reviews__footer { align-items: center; }
  .gl-reviews__online-block { align-items: center; }
  .gl-reviews__online-eyebrow { text-align: center; }

  /* Botón online: mismo tamaño, texto ya correcto en base */
  .gl-reviews__btn-online,
  .gl-reviews__btn-sede--cali,
  .gl-reviews__divider,
  .gl-reviews__sedes-row { max-width: 520px; }

  .gl-reviews__btn-sede--cali { padding: 14px 22px; }

  /* Texto botones sede: tamaño ideal del sitio — 12px/10px */
  .gl-reviews__sede-text strong { font-size: 12px; }
  .gl-reviews__sede-text span   { font-size: 10px; }

  .gl-reviews__wa-icon { width: 17px; height: 17px; }
}

/* ── Wide (1440px+) ── */
@media (min-width: 1440px) {
  .gl-reviews__inner {
    max-width: 1360px;
    padding-left: 32px;
    padding-right: 32px;
  }
}

/* ── Safe Area iOS ── */
@supports (padding-left: env(safe-area-inset-left)) {
  .gl-reviews__inner {
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
  }
}

/* ── Reducir movimiento ── */
@media (prefers-reduced-motion: reduce) {
  .gl-reviews-cali *,
  .gl-reviews-cali *::before,
  .gl-reviews-cali *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-723feec *//* ============================================================
   CSS — PROCESO / PRIMERA CITA — gl-process-cali
   CONTENEDOR 3 de 8 — Landing /psicologa-en-cali/
   Fondo: linear-gradient(180deg, #02153D, #011230) — DARK

   ELEMENTOR: pegar en widget HTML con <style> justo encima,
   o en CSS Adicional de WordPress.
   Fuentes NO importadas — ya las carga el header global.

   TIMELINE:
   Mobile (<1024px):  vertical, línea izq, nums izq, cards der
   Desktop (1024px+): horizontal, 5 cols, num arriba, card abajo
============================================================ */

/* ── RESET LOCAL ─────────────────────────────────────────── */
.gl-process-cali,
.gl-process-cali *,
.gl-process-cali *::before,
.gl-process-cali *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── BASE ────────────────────────────────────────────────── */
.gl-process-cali {
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  /* Fondo dark con gradiente sutil — no bloque plano */
  background: linear-gradient(180deg, #02153D 0%, #011230 100%);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.gl-process-cali a {
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.gl-process-cali svg {
  display: block;
  flex-shrink: 0;
}

/* Textura sutil de fondo — patrón de puntos casi invisible */
.gl-process-cali::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(1,151,175,0.06) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
  z-index: 0;
}

/* ── INNER ───────────────────────────────────────────────── */
.gl-process__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 20px 80px;
  position: relative;
  z-index: 1;
}

/* ════════════════════════════════════════════════════════════
   HEADER
════════════════════════════════════════════════════════════ */

.gl-process__header {
  text-align: center;
  margin-bottom: 56px;
}

/* Badge */
.gl-process__badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: #00EED0;
  border: 1px solid rgba(0, 238, 208, 0.4);
  background: rgba(0, 238, 208, 0.06);
  padding: 6px 16px 6px 13px;
  border-radius: 50px;
  margin-bottom: 20px;
}

.gl-process__badge-ico {
  width: 13px;
  height: 13px;
  color: #00EED0;
}

/* H2 — pregunta para SEO */
.gl-process__title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 32px;
  font-weight: 800;
  color: #FFFFFF;
  line-height: 1.15;
  letter-spacing: -0.01em;
  margin-bottom: 18px;
}

.gl-process__title-accent {
  color: #00EED0;
}

/* Párrafo introductorio citable */
.gl-process__intro {
  font-size: 15px;
  line-height: 1.78;
  color: rgba(255, 255, 255, 0.82);
  max-width: 660px;
  margin: 0 auto;
}

/* ════════════════════════════════════════════════════════════
   TIMELINE — MOBILE VERTICAL
   Estructura por paso:
   [anchor: num + dot]  [card: icon + title + text]
   La línea vertical corre detrás de los dots (::before en timeline)
════════════════════════════════════════════════════════════ */

.gl-process__timeline {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 48px;
}

/* Línea vertical continua — corre detrás de los dots */
.gl-process__timeline::before {
  content: '';
  position: absolute;
  /* centra con los dots: anchor width 46px, dot centered = 23px */
  left: 23px;
  top: 40px;    /* empieza debajo del primer número */
  bottom: 48px; /* termina antes del último dot */
  width: 2px;
  background: linear-gradient(
    180deg,
    rgba(1, 151, 175, 0.5) 0%,
    rgba(1, 151, 175, 0.3) 60%,
    rgba(1, 151, 175, 0.05) 100%
  );
  z-index: 0;
}

/* ── Cada paso ── */
.gl-process__step {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding-bottom: 36px;
  position: relative;
  z-index: 1;
}

.gl-process__step:last-child {
  padding-bottom: 0;
}

/* Animación escalonada de entrada */
.gl-process__step {
  animation: gl-process-step-in 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.gl-process__step--1 { animation-delay: 0.05s; }
.gl-process__step--2 { animation-delay: 0.15s; }
.gl-process__step--3 { animation-delay: 0.25s; }
.gl-process__step--4 { animation-delay: 0.35s; }
.gl-process__step--5 { animation-delay: 0.45s; }

@keyframes gl-process-step-in {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Columna izquierda: número + dot ── */
.gl-process__step-anchor {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: 46px;
  min-width: 46px;
  flex-shrink: 0;
  padding-top: 2px;
}

.gl-process__step-num {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 22px;
  font-weight: 800;
  color: #00EED0;
  line-height: 1;
  display: inline-block;
  transition: transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.gl-process__step:hover .gl-process__step-num {
  transform: scale(1.12);
}

/* Dot sobre la línea */
.gl-process__step-dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #0197AF;
  border: 2px solid rgba(0, 238, 208, 0.35);
  box-shadow:
    0 0 0 4px rgba(1, 151, 175, 0.1),
    0 0 12px rgba(0, 238, 208, 0.2);
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

/* ── Card: icon + title + text ── */
.gl-process__step-card {
  flex: 1;
  min-width: 0;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 14px;
  padding: 16px 18px;
  transition:
    background 0.3s ease,
    border-color 0.3s ease,
    transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 0.3s ease;
}

.gl-process__step:hover .gl-process__step-card {
  background: rgba(1, 151, 175, 0.08);
  border-color: rgba(1, 151, 175, 0.3);
  transform: translateX(4px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.2);
}

/* Icono del paso */
.gl-process__step-icon {
  width: 38px;
  height: 38px;
  background: rgba(1, 151, 175, 0.15);
  border: 1px solid rgba(1, 151, 175, 0.25);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  flex-shrink: 0;
}

.gl-process__step-icon svg {
  width: 18px;
  height: 18px;
  color: #0197AF;
}

/* Paso 1: ícono WhatsApp en verde */
.gl-process__step--1 .gl-process__step-icon {
  background: rgba(37, 211, 102, 0.12);
  border-color: rgba(37, 211, 102, 0.25);
}

.gl-process__step--1 .gl-process__step-icon svg {
  color: #25D366;
}

/* Título del paso */
.gl-process__step-title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 16px;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1.3;
  margin-bottom: 7px;
}

/* Texto del paso */
.gl-process__step-text {
  font-size: 13px;
  line-height: 1.72;
  color: rgba(255, 255, 255, 0.72);
}

/* ════════════════════════════════════════════════════════════
   ESTADÍSTICA CITABLE
════════════════════════════════════════════════════════════ */

.gl-process__stat-callout {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: rgba(0, 238, 208, 0.05);
  border: 1px solid rgba(0, 238, 208, 0.18);
  border-left: 3px solid #00EED0;
  border-radius: 12px;
  padding: 18px 22px;
  margin-bottom: 48px;
  animation: gl-process-step-in 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) 0.55s both;
}

.gl-process__stat-icon {
  width: 36px;
  height: 36px;
  min-width: 36px;
  background: rgba(0, 238, 208, 0.1);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}

.gl-process__stat-icon svg {
  width: 18px;
  height: 18px;
  color: #00EED0;
}

.gl-process__stat-text {
  font-size: 14px;
  line-height: 1.72;
  color: rgba(255, 255, 255, 0.82);
}

.gl-process__stat-text strong {
  color: #FFFFFF;
  font-weight: 700;
}

/* Número grande del stat */
.gl-process__stat-num {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 26px;
  font-weight: 800;
  color: #00EED0;
  vertical-align: baseline;
  line-height: 1;
}

/* ════════════════════════════════════════════════════════════
   CTAs
════════════════════════════════════════════════════════════ */

.gl-process__ctas {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  animation: gl-process-step-in 0.7s cubic-bezier(0.22, 0.61, 0.36, 1) 0.65s both;
}

/* Botón WhatsApp principal */
.gl-process__btn-wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 36px;
  background: #25D366;
  color: #FFFFFF;
  font-size: 15px;
  font-weight: 700;
  font-family: 'Lato', sans-serif;
  border-radius: 50px;
  box-shadow: 0 6px 24px rgba(37, 211, 102, 0.3);
  transition:
    transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 0.3s ease,
    filter 0.3s ease;
  width: 100%;
  max-width: 380px;
}

.gl-process__btn-wa:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 32px rgba(37, 211, 102, 0.42);
  filter: brightness(1.06);
  color: #FFFFFF;
}

.gl-process__btn-wa:active {
  transform: translateY(0);
}

.gl-process__btn-wa-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

/* Botón FAQ secundario */
.gl-process__btn-faq {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 14px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.65);
  transition: color 0.3s ease;
  padding: 4px 0;
}

.gl-process__btn-faq:hover {
  color: #0197AF;
}

.gl-process__btn-faq-arrow {
  width: 14px;
  height: 14px;
  transition: transform 0.25s ease;
}

.gl-process__btn-faq:hover .gl-process__btn-faq-arrow {
  transform: translateX(3px);
}

/* Info de precios */
.gl-process__price-info {
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.45);
  letter-spacing: 0.03em;
  text-align: center;
  line-height: 1.6;
}

/* ── Accesibilidad ── */
.gl-process-cali a:focus-visible,
.gl-process-cali button:focus-visible {
  outline: 2px solid #00EED0;
  outline-offset: 3px;
  border-radius: 4px;
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════════════ */

/* ── iPhone SE (max 374px) ── */
@media (max-width: 374px) {
  .gl-process__inner {
    padding: 56px 14px 64px;
  }
  .gl-process__title {
    font-size: 26px;
  }
  .gl-process__intro {
    font-size: 13.5px;
  }
  .gl-process__step-num {
    font-size: 19px;
  }
  .gl-process__step-card {
    padding: 12px 14px;
  }
  .gl-process__step-title {
    font-size: 15px;
  }
  .gl-process__stat-num {
    font-size: 22px;
  }
}

/* ── Tablet (768px+) ── */
@media (min-width: 768px) {
  .gl-process__inner {
    padding: 80px 24px 88px;
  }
  .gl-process__title {
    font-size: 38px;
  }
  .gl-process__intro {
    font-size: 16px;
  }
  .gl-process__step-num {
    font-size: 26px;
  }
  .gl-process__step-title {
    font-size: 17px;
  }
  .gl-process__step-text {
    font-size: 14px;
  }
  .gl-process__step-card {
    padding: 18px 22px;
  }
  .gl-process__stat-text {
    font-size: 15px;
  }
  .gl-process__btn-wa {
    font-size: 16px;
    padding: 17px 40px;
  }
}

/* ════════════════════════════════════════════════════════════
   DESKTOP (1024px+) — TIMELINE HORIZONTAL
   Transición de vertical a horizontal.
   5 columnas en flex row con línea horizontal entre números y cards.
════════════════════════════════════════════════════════════ */
@media (min-width: 1024px) {
  .gl-process__inner {
    padding: 96px 24px 104px;
  }

  .gl-process__header {
    margin-bottom: 64px;
  }

  .gl-process__title {
    font-size: 44px;
  }

  /* ── Timeline: fila horizontal ── */
  .gl-process__timeline {
    flex-direction: row;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 56px;
  }

  /* Reemplazar línea vertical por horizontal
     Posición vertical: donde están los dots
     (num ~30px altura + 8px gap = ~38px desde el top del anchor)
     El anchor en desktop está arriba del card. */
  .gl-process__timeline::before {
    /* Línea horizontal centrada en los dots */
    top: 56px;     /* approx posición vertical de los dots en desktop */
    left: 8%;
    right: 8%;
    bottom: auto;
    width: auto;
    height: 2px;
    background: linear-gradient(
      90deg,
      transparent 0%,
      rgba(1, 151, 175, 0.4) 8%,
      rgba(1, 151, 175, 0.4) 92%,
      transparent 100%
    );
  }

  /* Cada paso: columna flex centrada */
  .gl-process__step {
    flex: 1;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-bottom: 0;
    padding: 0 8px;
    gap: 0;
  }

  /* En desktop el hover del card no se desplaza horizontalmente */
  .gl-process__step:hover .gl-process__step-card {
    transform: translateY(-4px);  /* arriba en lugar de derecha */
  }

  /* Anchor en desktop: centrado, columna */
  .gl-process__step-anchor {
    width: auto;
    align-items: center;
    padding-top: 0;
    margin-bottom: 0;
    gap: 6px;
  }

  /* El dot va justo después del número, sobre la línea horizontal */
  .gl-process__step-num {
    font-size: 28px;
    margin-bottom: 4px;
  }

  .gl-process__step-dot {
    /* El dot está sobre la línea horizontal */
    position: relative;
    z-index: 2;
    margin-bottom: 16px;  /* espacio entre dot y card */
  }

  /* Card centrada en desktop */
  .gl-process__step-card {
    width: 100%;
    padding: 18px 14px;
    border-radius: 14px;
  }

  /* Icono centrado */
  .gl-process__step-icon {
    margin: 0 auto 10px;
    width: 44px;
    height: 44px;
  }

  .gl-process__step-icon svg {
    width: 20px;
    height: 20px;
  }

  .gl-process__step-title {
    font-size: 14px;
    margin-bottom: 8px;
    text-align: center;
  }

  .gl-process__step-text {
    font-size: 12.5px;
    line-height: 1.68;
    text-align: center;
  }

  /* Stat callout: max-width contenida */
  .gl-process__stat-callout {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }

  /* CTAs en fila en desktop */
  .gl-process__ctas {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 24px;
  }

  .gl-process__btn-wa {
    width: auto;
    max-width: none;
  }

  .gl-process__price-info {
    width: 100%;
    text-align: center;
  }
}

/* ── Wide (1440px+) ── */
@media (min-width: 1440px) {
  .gl-process__inner {
    max-width: 1360px;
    padding-left: 32px;
    padding-right: 32px;
  }

  .gl-process__step-title {
    font-size: 15px;
  }

  .gl-process__step-text {
    font-size: 13px;
  }

  .gl-process__step {
    padding: 0 12px;
  }
}

/* ── Safe Area iOS ── */
@supports (padding-left: env(safe-area-inset-left)) {
  .gl-process__inner {
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
  }
}

/* ── Reducir movimiento ── */
@media (prefers-reduced-motion: reduce) {
  .gl-process-cali *,
  .gl-process-cali *::before,
  .gl-process-cali *::after {
    animation-duration: 0.01ms !important;
    animation-delay: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7611252 *//* ============================================================
   CSS — FAQ — gl-faq-cali
   CONTENEDOR 4 de 8 — Landing /psicologa-en-cali/
   Fondo: #FFFFFF

   TÉCNICA ACCORDION:
   <details><summary> nativo — sin JS.
   Animación smooth: grid-template-rows 0fr → 1fr.
   El inner div debe tener min-height:0 para que funcione.

   ELEMENTOR: pegar en widget HTML con <style> justo encima,
   o en CSS Adicional de WordPress.
   Fuentes NO importadas — ya las carga el header.
============================================================ */

/* ── RESET LOCAL ─────────────────────────────────────────── */
.gl-faq-cali,
.gl-faq-cali *,
.gl-faq-cali *::before,
.gl-faq-cali *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ── BASE ────────────────────────────────────────────────── */
.gl-faq-cali {
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #FFFFFF;
  width: 100%;
}

.gl-faq-cali a {
  color: #0197AF;
  text-decoration: none;
  transition: color 0.3s ease;
  -webkit-tap-highlight-color: transparent;
}

.gl-faq-cali a:hover {
  color: #4B227A;
  text-decoration: underline;
}

.gl-faq-cali svg {
  display: block;
  flex-shrink: 0;
}

/* ── SEPARADOR SUPERIOR ──────────────────────────────────── */
/* Transición suave desde el dark section anterior (#02153D) */
.gl-faq__sep {
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, #0197AF 30%, #00EED0 70%, transparent 100%);
  opacity: 0.5;
}

/* ── INNER ───────────────────────────────────────────────── */
.gl-faq__inner {
  max-width: 860px;    /* FAQ más estrecha = mejor legibilidad */
  margin: 0 auto;
  padding: 64px 20px 72px;
}

/* ════════════════════════════════════════════════════════════
   HEADER
════════════════════════════════════════════════════════════ */

.gl-faq__header {
  text-align: center;
  margin-bottom: 40px;
}

/* Badge */
.gl-faq__badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: #0197AF;
  background: #F5F5F5;
  border: 1px solid rgba(1, 151, 175, 0.3);
  padding: 5px 16px 5px 12px;
  border-radius: 50px;
  margin-bottom: 18px;
}

.gl-faq__badge-ico {
  width: 13px;
  height: 13px;
  color: #0197AF;
}

/* H2 */
.gl-faq__title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 28px;
  font-weight: 800;
  color: #02153D;
  line-height: 1.2;
  letter-spacing: -0.01em;
  margin-bottom: 10px;
}

.gl-faq__title-accent {
  color: #0197AF;
}

/* Subtítulo */
.gl-faq__subtitle {
  font-size: 15px;
  color: #666;
  line-height: 1.6;
  margin-bottom: 24px;
}

/* Línea decorativa separadora */
.gl-faq__header-line {
  width: 80px;
  height: 3px;
  background: linear-gradient(90deg, #0197AF, #00EED0);
  border-radius: 2px;
  margin: 0 auto;
}

/* ════════════════════════════════════════════════════════════
   ACCORDION — <details><summary>

   Técnica de animación: grid-template-rows 0fr → 1fr
   Requiere:
   1. .gl-faq__answer      → display:grid; grid-template-rows: 0fr
   2. .gl-faq__answer-inner → overflow:hidden; min-height:0
   3. details[open]         → grid-template-rows: 1fr
════════════════════════════════════════════════════════════ */

.gl-faq__list {
  display: flex;
  flex-direction: column;
  margin-bottom: 40px;
  /* Borde superior del primer ítem */
  border-top: 1px solid rgba(0, 0, 0, 0.06);
}

/* ── Ítem (details) ── */
.gl-faq__item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  /* Transición del borde izquierdo al abrirse */
  border-left: 3px solid transparent;
  transition: border-color 0.3s ease, background 0.3s ease;
}

/* Cuando está abierto: borde izquierdo de marca + fondo sutil */
.gl-faq__item[open] {
  border-left-color: #0197AF;
}

/* Quitar el marcador nativo del <summary> */
.gl-faq__item > summary {
  list-style: none;
}
.gl-faq__item > summary::-webkit-details-marker {
  display: none;
}

/* ── Summary (la pregunta clickeable) ── */
.gl-faq__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px 18px 18px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.25s ease;
}

.gl-faq__summary:hover {
  background: rgba(1, 151, 175, 0.04);
}

.gl-faq__item[open] .gl-faq__summary {
  background: rgba(1, 151, 175, 0.04);
}

/* Texto de la pregunta */
.gl-faq__question {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 16px;
  font-weight: 700;
  color: #02153D;
  line-height: 1.35;
  flex: 1;
  transition: color 0.3s ease;
}

.gl-faq__summary:hover .gl-faq__question,
.gl-faq__item[open] .gl-faq__question {
  color: #0197AF;
}

/* Ícono + que rota 45° → × al abrir */
.gl-faq__toggle-ico {
  width: 20px;
  height: 20px;
  min-width: 20px;
  color: #0197AF;
  transition:
    transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1),
    color 0.3s ease;
  flex-shrink: 0;
}

.gl-faq__item[open] .gl-faq__toggle-ico {
  transform: rotate(45deg);
  color: #02153D;
}

/* ── Respuesta: contenedor animado con grid trick ── */
.gl-faq__answer {
  display: grid;
  grid-template-rows: 0fr;          /* COLAPSADO */
  transition: grid-template-rows 0.38s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.gl-faq__item[open] .gl-faq__answer {
  grid-template-rows: 1fr;           /* EXPANDIDO */
}

/* El inner DEBE tener overflow:hidden y min-height:0 para el grid trick */
.gl-faq__answer-inner {
  overflow: hidden;
  min-height: 0;                     /* ← CRÍTICO para el truco */
  /* Padding con transición: 0 → visible al abrir */
  padding: 0 20px 0 18px;
  transition: padding 0.25s ease;
}

.gl-faq__item[open] .gl-faq__answer-inner {
  padding: 4px 20px 22px 18px;
  background: #F5F5F5;               /* fondo sutil al abrirse */
}

/* Tipografía de las respuestas */
.gl-faq__answer-inner p {
  font-size: 14px;
  line-height: 1.78;
  color: #1A1A1A;
  margin-bottom: 10px;
}

.gl-faq__answer-inner p:last-child {
  margin-bottom: 0;
}

.gl-faq__answer-inner strong {
  font-weight: 700;
  color: #02153D;
}

/* Listas dentro de respuestas */
.gl-faq__answer-inner ul {
  list-style: none;
  margin: 8px 0 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.gl-faq__answer-inner ul li {
  font-size: 14px;
  line-height: 1.65;
  color: #1A1A1A;
  padding-left: 18px;
  position: relative;
}

/* Bullet custom: punto de color de marca */
.gl-faq__answer-inner ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0197AF;
  flex-shrink: 0;
}

/* Links dentro de respuestas */
.gl-faq__answer-inner a {
  color: #0197AF;
  font-weight: 600;
}

.gl-faq__answer-inner a:hover {
  color: #4B227A;
}

/* ── Accesibilidad: focus ── */
.gl-faq__summary:focus-visible {
  outline: 2px solid #0197AF;
  outline-offset: 2px;
  border-radius: 4px;
}

/* ════════════════════════════════════════════════════════════
   CTA FINAL
════════════════════════════════════════════════════════════ */

.gl-faq__cta-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 28px;
  text-align: center;
}

.gl-faq__cta-label {
  font-size: 15px;
  font-weight: 600;
  color: #1A1A1A;
}

.gl-faq__btn-wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 32px;
  background: #25D366;
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 700;
  font-family: 'Lato', sans-serif;
  border-radius: 50px;
  box-shadow: 0 5px 20px rgba(37, 211, 102, 0.28);
  transition:
    transform 0.25s cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 0.3s ease,
    filter 0.3s ease;
  text-decoration: none;
}

.gl-faq__btn-wa:hover {
  transform: translateY(-3px);
  box-shadow: 0 9px 28px rgba(37, 211, 102, 0.4);
  filter: brightness(1.05);
  color: #FFFFFF;
  text-decoration: none;
}

.gl-faq__btn-wa:active {
  transform: translateY(0);
}

.gl-faq__btn-wa-icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

/* Disclaimer clínico */
.gl-faq__disclaimer {
  font-size: 11px;
  color: #999;
  text-align: center;
  line-height: 1.65;
  max-width: 560px;
  margin: 0 auto;
  border-top: 1px solid rgba(0,0,0,0.06);
  padding-top: 20px;
}

.gl-faq__disclaimer strong {
  color: #666;
  font-weight: 700;
}

/* ── Accesibilidad global ── */
.gl-faq-cali a:focus-visible {
  outline: 2px solid #0197AF;
  outline-offset: 2px;
  border-radius: 3px;
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════════════ */

/* ── iPhone SE (max 374px) ── */
@media (max-width: 374px) {
  .gl-faq__inner { padding: 48px 14px 56px; }
  .gl-faq__title { font-size: 23px; }
  .gl-faq__question { font-size: 14px; }
  .gl-faq__summary { padding: 15px 14px 15px 12px; gap: 10px; }
  .gl-faq__answer-inner { padding: 0 14px 0 12px; }
  .gl-faq__item[open] .gl-faq__answer-inner { padding: 4px 14px 18px 12px; }
}

/* ── Tablet (768px+) ── */
@media (min-width: 768px) {
  .gl-faq__inner { padding: 72px 24px 80px; }
  .gl-faq__title { font-size: 34px; }
  .gl-faq__question { font-size: 17px; }
  .gl-faq__summary { padding: 20px 24px 20px 22px; }
  .gl-faq__answer-inner { padding: 0 24px 0 22px; }
  .gl-faq__item[open] .gl-faq__answer-inner { padding: 6px 24px 26px 22px; }
  .gl-faq__answer-inner p { font-size: 14.5px; }
  .gl-faq__answer-inner ul li { font-size: 14.5px; }
  .gl-faq__btn-wa { font-size: 15px; padding: 15px 36px; }
}

/* ── Desktop (1024px+) ── */
@media (min-width: 1024px) {
  .gl-faq__inner { padding: 88px 24px 96px; }
  .gl-faq__title { font-size: 38px; }
  .gl-faq__subtitle { font-size: 16px; }
  .gl-faq__question { font-size: 17px; }
  .gl-faq__toggle-ico { width: 22px; height: 22px; }
  .gl-faq__summary { padding: 22px 28px 22px 24px; }
  .gl-faq__answer-inner { padding: 0 28px 0 24px; }
  .gl-faq__item[open] .gl-faq__answer-inner { padding: 6px 28px 28px 24px; }
}

/* ── Wide (1440px+): inner ya tiene max-width 860px, no cambia ── */

/* ── Safe Area iOS ── */
@supports (padding-left: env(safe-area-inset-left)) {
  .gl-faq__inner {
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
  }
}

/* ── Reducir movimiento ── */
@media (prefers-reduced-motion: reduce) {
  .gl-faq-cali *,
  .gl-faq-cali *::before,
  .gl-faq-cali *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7a8570a *//* ============================================================
   CSS — REDES SOCIALES — gl-social-cali
   CONTENEDOR 5 de 8 | Fondo: #F5F5F5

   FOTO: border-radius: 50px — esquinas redondeadas, NO circular
   LIGHTBOX: #gl-lb — position:fixed, z-index:999999
   LAYOUT:
     Mobile  (<768px):  stack YT → IG → FB
     Tablet  (768px+):  YT top 100%, IG + FB row 50/50
     Desktop (1024px+): YT left 50%, IG + FB stacked right 50%
============================================================ */

/* ── Reset local ─────────────────────────────────────────── */
.gl-social-cali,
.gl-social-cali *,
.gl-social-cali *::before,
.gl-social-cali *::after {
  box-sizing: border-box; margin: 0; padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.gl-social-cali {
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #F5F5F5; width: 100%;
}
.gl-social-cali a { text-decoration: none; -webkit-tap-highlight-color: transparent; }
.gl-social-cali svg { display: block; flex-shrink: 0; }
.gl-social-cali img { display: block; }

/* ── Separador superior ──────────────────────────────────── */
.gl-social__sep {
  height: 3px;
  background: linear-gradient(90deg, transparent, #0197AF 30%, #00EED0 70%, transparent);
  opacity: .5;
}

/* ── Inner ───────────────────────────────────────────────── */
.gl-social__inner {
  max-width: 1280px; margin: 0 auto;
  padding: 64px 20px 72px;
}

/* ════════════════════════════════════════════════════════════
   HEADER
════════════════════════════════════════════════════════════ */
.gl-social__header { text-align: center; margin-bottom: 32px; }

.gl-social__badge {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em;
  color: #0197AF; background: #fff; border: 1px solid rgba(1,151,175,.3);
  padding: 5px 16px 5px 12px; border-radius: 50px; margin-bottom: 14px;
}
.gl-social__title {
  font-family: 'Playfair Display','Georgia',serif;
  font-size: 26px; font-weight: 800; color: #02153D;
  line-height: 1.2; letter-spacing: -.01em; margin-bottom: 10px;
}
.gl-social__title-accent { color: #0197AF; }
.gl-social__subtitle { font-size: 14px; color: #666; line-height: 1.6; }

/* ════════════════════════════════════════════════════════════
   GRID PRINCIPAL
════════════════════════════════════════════════════════════ */
.gl-social__grid { display: flex; flex-direction: column; gap: 14px; margin-bottom: 36px; }

/* ════════════════════════════════════════════════════════════
   CARD BASE
════════════════════════════════════════════════════════════ */
.gl-social__card {
  background: #fff;
  border: 1px solid rgba(2,21,61,.07);
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 2px 12px rgba(2,21,61,.05);
  transition: box-shadow .3s ease, transform .3s cubic-bezier(.22,.61,.36,1);
  display: flex; flex-direction: column;
}
.gl-social__card:hover {
  box-shadow: 0 8px 28px rgba(2,21,61,.1);
  transform: translateY(-2px);
}

/* Card head compartido */
.gl-social__card-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 13px 15px; border-bottom: 1px solid rgba(2,21,61,.06);
  gap: 10px; min-width: 0; overflow: hidden;
}
.gl-social__platform-brand { display: flex; align-items: center; gap: 9px; min-width: 0; flex: 1; }
.gl-social__platform-info  { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.gl-social__platform-name  {
  font-size: 12px; font-weight: 700; color: #02153D; line-height: 1.25;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.gl-social__platform-handle {
  font-size: 11px; color: #888; line-height: 1.25;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* Card foot compartido */
.gl-social__card-foot {
  padding: 11px 15px; border-top: 1px solid rgba(2,21,61,.06);
  display: flex; align-items: center; gap: 8px;
  flex-shrink: 0;
}
.gl-social__card-link {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 12.5px; font-weight: 600; color: #0197AF;
  transition: color .3s, gap .25s;
}
.gl-social__card-link:hover { color: #4B227A; gap: 8px; }
.gl-social__link-arr { transition: transform .25s; }
.gl-social__card-link:hover .gl-social__link-arr { transform: translateX(3px); }

/* ════════════════════════════════════════════════════════════
   YOUTUBE
════════════════════════════════════════════════════════════ */
.gl-social__yt-logo-bg {
  width: 38px; height: 38px; border-radius: 50%;
  background: #FF0000;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}

.gl-social__yt-chan {
  display: flex; align-items: center; gap: 9px;
  min-width: 0; flex: 1; overflow: hidden;
  transition: opacity .2s;
}
.gl-social__yt-chan:hover { opacity: .82; }

.gl-social__yt-sub {
  flex-shrink: 0;
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 12px; background: #FF0000; color: #fff !important;
  font-size: 10px; font-weight: 800; letter-spacing: .08em;
  text-transform: uppercase; border-radius: 50px;
  transition: background .2s, transform .2s;
  white-space: nowrap;
}
.gl-social__yt-sub:hover { background: #cc0000; transform: scale(1.04); }

/* Grid de videos */
.gl-social__yt-grid { display: flex; flex-direction: column; }

.gl-social__yt-row {
  display: grid; grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(2,21,61,.06);
}
.gl-social__yt-row .gl-social__yt-vid:last-child {
  border-left: 1px solid rgba(2,21,61,.06);
}

/* Tarjeta de video (facade) */
.gl-social__yt-vid {
  position: relative; aspect-ratio: 16/9;
  background: #0a0f1a; cursor: pointer; overflow: hidden;
  transition: transform .22s cubic-bezier(.22,.61,.36,1), box-shadow .22s;
}
.gl-social__yt-vid:hover { transform: scale(1.01); box-shadow: 0 8px 24px rgba(0,0,0,.35); }
.gl-social__yt-vid:focus-visible { outline: 3px solid #FF0000; outline-offset: 2px; }

/* Thumbnail (cargado por JS desde YouTube CDN) */
.gl-social__yt-thumb {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  background-color: #0D1B2A;
  transition: transform .3s cubic-bezier(.22,.61,.36,1);
}
.gl-social__yt-vid:hover .gl-social__yt-thumb { transform: scale(1.04); }

/* Overlay degradado inferior */
.gl-social__yt-over {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(6,25,41,.88) 0%, rgba(6,25,41,.1) 55%, transparent 100%);
}

/* Botón play centrado */
.gl-social__yt-play {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  width: 52px; height: 52px; border-radius: 50%;
  background: rgba(255,0,0,.88);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 18px rgba(0,0,0,.45);
  transition: transform .2s cubic-bezier(.22,.61,.36,1), background .2s;
}
.gl-social__yt-vid:hover .gl-social__yt-play { transform: translate(-50%,-50%) scale(1.12); background: #FF0000; }
.gl-social__yt-play--sm { width: 38px; height: 38px; }

/* Badge "Silencio" */
.gl-social__yt-mute {
  position: absolute; top: 8px; right: 8px;
  background: rgba(0,0,0,.55); border-radius: 50px;
  padding: 3px 8px; font-size: 10px; font-weight: 700;
  color: rgba(255,255,255,.75); letter-spacing: .04em; text-transform: uppercase;
  display: flex; align-items: center; gap: 3px;
}

/* Título del video */
.gl-social__yt-title {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 8px 10px 9px;
  font-size: 11px; font-weight: 700; color: #fff; line-height: 1.35;
  overflow-wrap: break-word; word-break: break-word;
}
.gl-social__yt-title--sm { font-size: 10px; padding: 6px 8px 7px; }

/* Hint "Clic para reproducir" */
.gl-social__yt-hint {
  position: absolute; bottom: 28px; left: 0; right: 0;
  text-align: center; font-size: 9px; font-weight: 700;
  color: rgba(255,255,255,.65); text-transform: uppercase; letter-spacing: .06em;
  text-shadow: 0 1px 3px rgba(0,0,0,.6); pointer-events: none;
}

/* ════════════════════════════════════════════════════════════
   INSTAGRAM
════════════════════════════════════════════════════════════ */
/* Barra gradiente Instagram */
.gl-social__ig-bar {
  height: 3px;
  background: linear-gradient(90deg, #F9CE34, #EE2A7B, #6228D7);
}
.gl-social__ig-logo {
  width: 26px; height: 26px;
  flex-shrink: 0;
  display: block;      /* ← fix: evita que el SVG quede inline y monte sobre el texto */
  position: relative;
}

/* Chip "Seguir" */
.gl-social__ig-chip {
  flex-shrink: 0; display: inline-flex; align-items: center;
  padding: 5px 12px; border-radius: 50px;
  background: linear-gradient(90deg, #EE2A7B, #6228D7);
  color: #fff !important; font-size: 11px; font-weight: 700;
  transition: filter .2s, transform .2s; white-space: nowrap;
}
.gl-social__ig-chip:hover { filter: brightness(1.1); transform: scale(1.04); color: #fff !important; }

/* ── Instagram iframe embed (auto-actualizable) ─────────── */
/* Misma técnica del sitio Andalucía — confirmada funcional en Elementor */
.gl-social__ig-embed {
  position: relative;
  width: 100%; min-height: 440px;
  overflow: hidden; flex: 1;
  background: rgba(255,255,255,.5);
}
.gl-social__ig-embed iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: none; background: white;
}

/* Footer Instagram: stats + WA */
.gl-social__ig-foot {
  padding: 12px 15px;
  border-top: 1px solid rgba(2,21,61,.06);
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; flex-wrap: wrap; flex-shrink: 0; min-width: 0;
}
.gl-social__ig-foot-stats { display: flex; gap: 16px; flex-wrap: wrap; min-width: 0; }
.gl-social__ig-fstat { display: flex; flex-direction: column; min-width: 0; }
.gl-social__ig-fstat strong {
  font-size: 13px; font-weight: 800; color: #02153D; line-height: 1.2; white-space: nowrap;
}
.gl-social__ig-fstat span { font-size: 10px; color: #888; text-transform: uppercase; letter-spacing: .06em; }

/* Botón WA en footer */
.gl-social__ig-btn-wa {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  padding: 8px 14px; border-radius: 50px;
  background: #25D366; color: #fff !important;
  font-size: 12px; font-weight: 700;
  transition: filter .25s, transform .22s;
  white-space: nowrap;
}
.gl-social__ig-btn-wa:hover { filter: brightness(1.06); transform: translateY(-1px); color: #fff !important; }

/* ════════════════════════════════════════════════════════════
   FACEBOOK
════════════════════════════════════════════════════════════ */
.gl-social__fb-bar { height: 3px; background: #1877F2; }
.gl-social__fb-logo { width: 26px; height: 26px; flex-shrink: 0; }

.gl-social__fb-chip {
  flex-shrink: 0; display: inline-flex; align-items: center;
  padding: 5px 12px; border-radius: 50px;
  background: #1877F2; color: #fff !important;
  font-size: 11px; font-weight: 700;
  transition: background .2s, transform .2s; white-space: nowrap;
}
.gl-social__fb-chip:hover { background: #1665D8; transform: scale(1.04); color: #fff !important; }

/* iframe embed — border-radius clips las esquinas cuadradas del Page Plugin */
.gl-social__fb-embed {
  flex: 1;
  position: relative;
  overflow: hidden;
  min-height: 460px;
  background: rgba(255,255,255,.5);
  border-radius: 0 0 14px 14px; /* clips el contenido del iframe para esquinas redondeadas */
}
.gl-social__fb-embed iframe {
  display: block; width: 100%; height: 100%;
  position: absolute; inset: 0;
  border: none; overflow: hidden;
  /* border-radius aplicado al iframe también — doble seguro */
  border-radius: 0 0 14px 14px;
}

/* Footer Facebook */
.gl-social__card-foot--fb { border-top: 1px solid rgba(2,21,61,.06); }

.gl-social__fb-wa {
  display: flex; align-items: center; gap: 7px;
  padding: 9px 14px; border-radius: 50px;
  background: #25D366; color: #fff !important;
  font-size: 12px; font-weight: 700;
  transition: filter .25s, transform .22s;
}
.gl-social__fb-wa:hover { filter: brightness(1.06); transform: translateY(-1px); color: #fff !important; }

/* ════════════════════════════════════════════════════════════
   CTA FINAL
════════════════════════════════════════════════════════════ */
.gl-social__cta-wrap { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.gl-social__cta-lbl  { font-size: 15px; font-weight: 600; color: #1A1A1A; }

.gl-social__cta-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 30px; background: #25D366; color: #fff !important;
  font-size: 14px; font-weight: 700; font-family: 'Lato',sans-serif;
  border-radius: 50px; box-shadow: 0 5px 20px rgba(37,211,102,.28);
  transition: transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .3s, filter .3s;
}
.gl-social__cta-btn:hover {
  transform: translateY(-3px); filter: brightness(1.05);
  box-shadow: 0 9px 28px rgba(37,211,102,.4); color: #fff !important;
}

/* ── Accessibility ── */
.gl-social-cali a:focus-visible,
.gl-social-cali button:focus-visible {
  outline: 2px solid #0197AF; outline-offset: 3px; border-radius: 4px;
}

/* ════════════════════════════════════════════════════════════
   LIGHTBOX — position:fixed, z-index:999999
   Fuera del flujo del documento. Siempre visible sobre Elementor.
════════════════════════════════════════════════════════════ */
#gl-lb {
  display: none;
  position: fixed; inset: 0; z-index: 999999;
  background: rgba(0,0,0,.9);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  align-items: center; justify-content: center;
  padding: 16px;
  opacity: 0;
  transition: opacity .24s cubic-bezier(.4,0,.2,1);
}
#gl-lb.gl-lb--on  { display: flex; }
#gl-lb.gl-lb--vis { opacity: 1; }

.gl-lb__wrap {
  position: relative; width: 100%; max-width: 960px;
  transform: scale(.93);
  transition: transform .28s cubic-bezier(.4,0,.2,1);
}
#gl-lb.gl-lb--vis .gl-lb__wrap { transform: scale(1); }

.gl-lb__ratio {
  position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;
  border-radius: 12px; box-shadow: 0 24px 72px rgba(0,0,0,.7);
}
#gl-lb-fr {
  position: absolute; inset: 0; width: 100%; height: 100%; border: none;
}

.gl-lb__close {
  position: absolute; top: -44px; right: 0;
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: #fff;
  transition: background .18s;
  -webkit-tap-highlight-color: transparent;
}
.gl-lb__close:hover { background: rgba(255,255,255,.28); }

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════════════════ */

/* ── iPhone SE ── */
@media (max-width:374px) {
  .gl-social__inner { padding: 48px 14px 56px; }
  .gl-social__title { font-size: 21px; }
  .gl-social__ig-num { font-size: 14px; }
  .gl-social__yt-play { width: 42px; height: 42px; }
}

/* ── Tablet 768px: YT full top, IG+FB row ── */
@media (min-width:768px) {
  .gl-social__inner { padding: 72px 24px 80px; }
  .gl-social__title { font-size: 30px; }
  .gl-social__grid  { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .gl-social__card--yt { grid-column: 1 / 3; }  /* YouTube ocupa todo el ancho */
  .gl-social__card--ig { grid-column: 1 / 2; }
  .gl-social__card--fb { grid-column: 2 / 3; }
  .gl-social__subtitle { font-size: 15px; }
}

/* ── Desktop 1024px: 3 COLUMNAS IGUALES — mismo tamaño, mismo orden armónico ── */
@media (min-width:1024px) {
  .gl-social__inner { padding: 88px 24px 96px; }
  .gl-social__title { font-size: 34px; }

  /* 3 columnas iguales: YouTube | Instagram | Facebook */
  .gl-social__grid {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    gap: 18px;
    align-items: stretch; /* todas las cards se estiran a la misma altura */
  }

  /* Cada card ocupa su columna natural — sin spans */
  .gl-social__card--yt,
  .gl-social__card--ig,
  .gl-social__card--fb {
    grid-column: auto;
    grid-row: auto;
  }

  /* YouTube: el grid de videos rellena el espacio disponible */
  .gl-social__yt-grid { flex: 1; }

  /* Embeds rellena el espacio restante en cada card */
  .gl-social__ig-embed { min-height: 360px; }
  .gl-social__fb-embed { min-height: 360px; }

  .gl-social__platform-name { font-size: 13px; }
  .gl-social__card-head { padding: 14px 17px; }
}

/* ── Wide 1440px ── */
@media (min-width:1440px) {
  .gl-social__inner { max-width: 1360px; padding-left: 32px; padding-right: 32px; }
}

/* ── Safe Area iOS ── */
@supports (padding-left: env(safe-area-inset-left)) {
  .gl-social__inner {
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
  }
}

/* ── Reducir movimiento ── */
@media (prefers-reduced-motion: reduce) {
  .gl-social-cali *, .gl-social-cali *::before, .gl-social-cali *::after,
  #gl-lb, .gl-lb__wrap { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-20bea29 *//* ============================================================
   CSS — BLOG DESTACADOS — gl-blog-cali
   CONTENEDOR 6 de 8 — Landing /psicologa-en-cali/
   Fondo: #FFFFFF

   IMÁGENES: 100% CSS. Gradientes + SVG inline.
   Sin requests externos. Sin archivos de imagen.
   CLS: 0 (aspect-ratio fijo en todas las imágenes).

   LAYOUT:
   Mobile  (<768px):  1 columna, cards full-width
   Tablet  (768px+):  grid 2×2
   Desktop (1024px+): grid 4 columnas en una fila

   FUENTES: NO @import — las carga el header global.
============================================================ */

/* ── Reset local ─────────────────────────────────────────── */
.gl-blog-cali,
.gl-blog-cali *,
.gl-blog-cali *::before,
.gl-blog-cali *::after {
  box-sizing: border-box; margin: 0; padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.gl-blog-cali {
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #FFFFFF;
  width: 100%;
  /* Performance: evita repaints innecesarios fuera de pantalla */
  content-visibility: auto;
  contain-intrinsic-size: 0 600px;
}
.gl-blog-cali a {
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.gl-blog-cali svg { display: block; flex-shrink: 0; }
.gl-blog-cali img { display: block; }

/* ── REGLA GLOBAL: todas las fotos/avatares en esta sección ─
   border-radius: 50px !important — vence cualquier reset de
   Elementor Pro, WordPress o temas hijos. ── */
.gl-blog-cali img[class*="avatar"],
.gl-blog-cali img[class*="photo"],
.gl-blog-cali img[class*="foto"],
.gl-blog-cali .gl-blog__avatar {
  border-radius: 50px !important;
  overflow: hidden !important;
}

/* ── Separador superior ──────────────────────────────────── */
/* Transición visual desde la sección anterior (fondo gris) */
.gl-blog__sep {
  height: 3px;
  background: linear-gradient(90deg, transparent, #0197AF 30%, #00EED0 70%, transparent);
  opacity: .45;
}

/* ── Inner ───────────────────────────────────────────────── */
.gl-blog__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 64px 20px 72px;
}

/* ════════════════════════════════════════════════════════════
   HEADER
════════════════════════════════════════════════════════════ */

.gl-blog__header {
  text-align: center;
  margin-bottom: 36px;
}

/* Badge */
.gl-blog__badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #0197AF;
  background: #F5F5F5;
  border: 1px solid rgba(1,151,175,.3);
  padding: 5px 16px 5px 12px;
  border-radius: 50px;
  margin-bottom: 16px;
}

/* H2 */
.gl-blog__title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 26px;
  font-weight: 800;
  color: #02153D;
  line-height: 1.2;
  letter-spacing: -.01em;
  margin-bottom: 10px;
}
.gl-blog__title-accent { color: #0197AF; }

/* Subtítulo */
.gl-blog__subtitle {
  font-size: 14px;
  color: #666;
  line-height: 1.6;
}

/* ════════════════════════════════════════════════════════════
   GRID
════════════════════════════════════════════════════════════ */

.gl-blog__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-bottom: 36px;
  /* Performance: aísla el layout del grid del resto del documento */
  contain: layout style;
}

/* ════════════════════════════════════════════════════════════
   CARD — elemento <a> completamente clickeable
════════════════════════════════════════════════════════════ */

.gl-blog__card {
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1px solid rgba(2,21,61,.07);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(2,21,61,.04);
  color: inherit;
  transition:
    transform .32s cubic-bezier(.22,.61,.36,1),
    box-shadow .32s ease,
    border-color .32s ease;
  /* GPU hint solo en hover, no en reposo */
}

.gl-blog__card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(2,21,61,.10);
  border-color: rgba(1,151,175,.15);
  will-change: transform; /* activa GPU solo durante el hover, no en reposo */
}

.gl-blog__card:active {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(2,21,61,.08);
}

/* Focus visible para accesibilidad */
.gl-blog__card:focus-visible {
  outline: 2px solid #0197AF;
  outline-offset: 3px;
  border-radius: 16px;
}

/* ── Imagen placeholder — 100% CSS ──────────────────────── */

.gl-blog__img {
  position: relative;
  aspect-ratio: 16 / 9;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
  /* border-radius solo en esquinas superiores — la card tiene overflow:hidden */
}

/* Variante 1: Ansiedad — teal (#0197AF → #00EED0) */
.gl-blog__img--ansiedad {
  background: linear-gradient(135deg, #0197AF 0%, #00EED0 100%);
}

/* Variante 2: Pareja — purple (#4B227A → #0197AF) */
.gl-blog__img--pareja {
  background: linear-gradient(135deg, #4B227A 0%, #0197AF 100%);
}

/* Variante 3: Bioneuroemoción — dark (#02153D → #4B227A) */
.gl-blog__img--bne {
  background: linear-gradient(135deg, #02153D 0%, #4B227A 100%);
}

/* Variante 4: Salud Mental — azul oscuro (#0197AF → #02153D) */
.gl-blog__img--salud {
  background: linear-gradient(135deg, #0D6E8A 0%, #02153D 100%);
}

/* Textura de puntos sobre el gradiente (pseudo-elemento) */
.gl-blog__img-dots {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 20px 20px;
  pointer-events: none;
}

/* Efecto de brillo sutil en hover */
.gl-blog__card:hover .gl-blog__img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.06);
}

/* Ícono SVG centrado sobre el gradiente */
.gl-blog__img-icon {
  position: relative;
  z-index: 1;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Halo sutil detrás del ícono */
  background: rgba(255,255,255,.1);
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.2);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: transform .32s cubic-bezier(.22,.61,.36,1), background .3s;
}
.gl-blog__img-icon svg {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
}

.gl-blog__card:hover .gl-blog__img-icon {
  transform: scale(1.1);
  background: rgba(255,255,255,.18);
}

/* ── Categoría pill — posición absolute sobre la imagen ── */

.gl-blog__cat {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 2;
  font-size: 9.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: #FFFFFF;
  padding: 4px 11px;
  border-radius: 50px;
  border: 1px solid rgba(255,255,255,.3);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  white-space: nowrap;
}

/* Variantes de color de la categoría */
.gl-blog__cat--teal        { background: rgba(1,151,175,.82); }
.gl-blog__cat--purple      { background: rgba(75,34,122,.82); }
.gl-blog__cat--dark-purple { background: rgba(45,10,80,.82); }

/* ── Cuerpo de la card ───────────────────────────────────── */

.gl-blog__body {
  flex: 1;          /* ocupa el espacio disponible → footer siempre abajo */
  padding: 16px 16px 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Título del post */
.gl-blog__post-title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 16px;
  font-weight: 700;
  color: #02153D;
  line-height: 1.38;
  letter-spacing: -.005em;
  /* Truncar a 2 líneas máximo */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  transition: color .28s ease;
}

.gl-blog__card:hover .gl-blog__post-title {
  color: #0197AF;
}

/* Extracto */
.gl-blog__excerpt {
  font-size: 13px;
  line-height: 1.68;
  color: #666;
  /* Truncar a 2 líneas */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/* ── Footer de la card: avatar + meta + flecha ─────────── */

.gl-blog__foot {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 16px 13px;
  border-top: 1px solid rgba(2,21,61,.06);
  flex-shrink: 0;
}

/* Avatar mini de Gladys — border-radius: 50px
   !important garantiza que Elementor/WordPress no sobreescriba este valor.
   A 24px de tamaño, border-radius: 50px = círculo (50 > 12 = mitad de 24).
   Resultado intencional: foto de perfil circular como estándar en footers de blog. */
.gl-blog__avatar,
.gl-blog-cali img.gl-blog__avatar {
  width: 24px !important;
  height: 24px !important;
  border-radius: 50px !important;
  object-fit: cover !important;
  object-position: center top !important;
  flex-shrink: 0;
  border: 1.5px solid rgba(1,151,175,.2);
  display: block;
}

.gl-blog__meta {
  font-size: 11px;
  color: #999;
  line-height: 1.4;
  flex: 1;
  min-width: 0;
}

/* Flechita al final del footer */
.gl-blog__foot-arrow {
  width: 14px;
  height: 14px;
  color: #0197AF;
  opacity: 0;
  transform: translateX(-4px);
  transition: opacity .28s ease, transform .28s cubic-bezier(.22,.61,.36,1);
  flex-shrink: 0;
}

.gl-blog__card:hover .gl-blog__foot-arrow {
  opacity: 1;
  transform: translateX(0);
}

/* ════════════════════════════════════════════════════════════
   CTA FINAL
════════════════════════════════════════════════════════════ */

.gl-blog__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
}

/* Botón outline */
.gl-blog__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 28px;
  border: 2px solid #0197AF;
  color: #0197AF;
  font-size: 14px;
  font-weight: 700;
  font-family: 'Lato', sans-serif;
  border-radius: 50px;
  transition:
    background .28s ease,
    color .28s ease,
    transform .28s cubic-bezier(.22,.61,.36,1),
    box-shadow .28s ease;
}

.gl-blog__cta-btn:hover {
  background: #0197AF;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(1,151,175,.25);
}

.gl-blog__cta-btn:active {
  transform: translateY(0);
}

.gl-blog__cta-arrow {
  transition: transform .25s cubic-bezier(.22,.61,.36,1);
}

.gl-blog__cta-btn:hover .gl-blog__cta-arrow {
  transform: translateX(3px);
}

/* Texto sutil debajo del botón */
.gl-blog__cta-note {
  font-size: 11.5px;
  color: #bbb;
  letter-spacing: .02em;
}

/* ── Accesibilidad ── */
.gl-blog-cali a:focus-visible {
  outline: 2px solid #0197AF;
  outline-offset: 3px;
  border-radius: 4px;
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE-FIRST
════════════════════════════════════════════════════════════ */

/* ── iPhone SE (max 374px) ── */
@media (max-width: 374px) {
  .gl-blog__inner  { padding: 48px 14px 56px; }
  .gl-blog__title  { font-size: 22px; }
  .gl-blog__post-title { font-size: 15px; }
  .gl-blog__excerpt    { font-size: 12.5px; }
  .gl-blog__img-icon   { width: 48px; height: 48px; }
  .gl-blog__img-icon svg { width: 24px; height: 24px; }
}

/* ── Tablet (768px): 2×2 grid ── */
@media (min-width: 768px) {
  .gl-blog__inner {
    padding: 72px 24px 80px;
  }
  .gl-blog__title {
    font-size: 32px;
  }
  .gl-blog__subtitle {
    font-size: 15px;
  }
  .gl-blog__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  .gl-blog__post-title {
    font-size: 16px;
  }
}

/* ── Desktop (1024px): 4 columnas en fila ── */
@media (min-width: 1024px) {
  .gl-blog__inner {
    padding: 88px 24px 96px;
  }
  .gl-blog__title {
    font-size: 36px;
  }
  .gl-blog__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
  .gl-blog__post-title {
    font-size: 15px;  /* más pequeño en 4 cols porque el espacio es menor */
    line-height: 1.4;
  }
  .gl-blog__excerpt {
    font-size: 12.5px;
  }
  .gl-blog__img-icon {
    width: 52px;
    height: 52px;
  }
  .gl-blog__img-icon svg {
    width: 26px;
    height: 26px;
  }
}

/* ── Wide (1440px+) ── */
@media (min-width: 1440px) {
  .gl-blog__inner {
    max-width: 1360px;
    padding-left: 32px;
    padding-right: 32px;
  }
  .gl-blog__post-title {
    font-size: 16px;
  }
  .gl-blog__excerpt {
    font-size: 13px;
  }
}

/* ── Safe Area iOS ── */
@supports (padding-left: env(safe-area-inset-left)) {
  .gl-blog__inner {
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
  }
}

/* ── Reducir movimiento ── */
@media (prefers-reduced-motion: reduce) {
  .gl-blog-cali *,
  .gl-blog-cali *::before,
  .gl-blog-cali *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
  .gl-blog__card:hover {
    transform: none;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-672f59b *//* ============================================================
   CSS — MAPA + NAP CALI — gl-map-cali
   CONTENEDOR 7 de 8 — Landing /psicologa-en-cali/
   Fondo: linear-gradient(180deg, #02153D → #011230) — DARK

   LAYOUT:
   Mobile  (<768px):  stack — mapa → sedes 1 col
   Tablet  (768px+):  mapa top 100%, sedes 2×2 grid
   Desktop (1024px+): mapa 60% izq, sedes 40% der

   Fuentes: NO @import — las carga el header global.
============================================================ */

/* ── Reset local ─────────────────────────────────────────── */
.gl-map-cali,
.gl-map-cali *,
.gl-map-cali *::before,
.gl-map-cali *::after {
  box-sizing: border-box; margin: 0; padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.gl-map-cali {
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: linear-gradient(180deg, #02153D 0%, #011230 100%);
  width: 100%;
  position: relative;
  overflow: hidden;
}
.gl-map-cali a { text-decoration: none; -webkit-tap-highlight-color: transparent; }
.gl-map-cali svg { display: block; flex-shrink: 0; }

/* Textura de puntos — igual que C3 Proceso */
.gl-map-cali::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(1,151,175,.06) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none; z-index: 0;
}

/* ── Inner ───────────────────────────────────────────────── */
.gl-map__inner {
  max-width: 1280px; margin: 0 auto;
  padding: 64px 20px 56px;
  position: relative; z-index: 1;
}

/* ════════════════════════════════════════════════════════════
   HEADER
════════════════════════════════════════════════════════════ */

.gl-map__header { text-align: center; margin-bottom: 40px; }

.gl-map__badge {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em;
  color: #00EED0;
  border: 1px solid rgba(0,238,208,.4);
  background: rgba(0,238,208,.06);
  padding: 5px 16px 5px 12px; border-radius: 50px; margin-bottom: 16px;
}

.gl-map__title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 28px; font-weight: 800; color: #FFFFFF;
  line-height: 1.2; letter-spacing: -.01em; margin-bottom: 12px;
}
.gl-map__title-accent { color: #00EED0; }

.gl-map__subtitle {
  font-size: 14px; color: rgba(255,255,255,.65); line-height: 1.6;
}

/* ════════════════════════════════════════════════════════════
   GRID PRINCIPAL
════════════════════════════════════════════════════════════ */

.gl-map__grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 32px;
}

/* ════════════════════════════════════════════════════════════
   COLUMNA MAPA
════════════════════════════════════════════════════════════ */

.gl-map__map-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Wrapper del mapa — ratio 4:3 en mobile */
.gl-map__map-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 16px;
  overflow: hidden;
  background: #0A1628;
  box-shadow: 0 8px 32px rgba(0,0,0,.4);
}

/* Iframe real (inyectado por JS) */
.gl-map__iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: none;
  border-radius: 16px;
}

/* ── Facade del mapa ──────────────────────────────────────── */

.gl-map__facade {
  position: absolute; inset: 0;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: opacity .3s ease;
  -webkit-tap-highlight-color: transparent;
}

.gl-map__facade:focus-visible {
  outline: 2px solid #00EED0;
  outline-offset: 3px;
  border-radius: 16px;
}

/* Fondo del mapa simulado */
.gl-map__facade-bg {
  position: absolute; inset: 0;
  background: #0A1E35;
  overflow: hidden;
}

/* Cuadrícula de fondo */
.gl-map__facade-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(1,151,175,.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(1,151,175,.1) 1px, transparent 1px);
  background-size: 32px 32px;
}

/* Calles simuladas (líneas decorativas) */
.gl-map__facade-streets {
  position: absolute; inset: 0;
}

.gl-map__facade-st {
  position: absolute;
  background: rgba(1,151,175,.18);
  border-radius: 2px;
}

/* Horizontales */
.gl-map__facade-st--h1 { width: 100%; height: 6px; top: 28%; }
.gl-map__facade-st--h2 { width: 70%; height: 4px; top: 52%; left: 15%; }
.gl-map__facade-st--h3 { width: 55%; height: 4px; top: 72%; left: 0; }

/* Verticales */
.gl-map__facade-st--v1 { width: 5px; height: 100%; left: 22%; }
.gl-map__facade-st--v2 { width: 4px; height: 65%; left: 55%; top: 20%; }
.gl-map__facade-st--v3 { width: 4px; height: 45%; left: 75%; top: 30%; }

/* Área de parque/plaza simulada */
.gl-map__facade-bg::after {
  content: '';
  position: absolute;
  width: 80px; height: 60px;
  left: 35%; top: 35%;
  background: rgba(0,238,208,.06);
  border: 1px solid rgba(0,238,208,.12);
  border-radius: 4px;
}

/* Pin pulsante */
.gl-map__facade-center {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.gl-map__pin-pulse {
  position: absolute;
  width: 48px; height: 48px;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

/* Anillos concéntricos pulsantes */
.gl-map__pin-ring {
  position: absolute; inset: 0;
  border-radius: 50%;
  border: 2px solid rgba(1,151,175,.7);
  animation: gl-map-pulse 2.4s cubic-bezier(.4,0,.2,1) infinite;
}
.gl-map__pin-ring--2 { animation-delay: 1.2s; }

@keyframes gl-map-pulse {
  0%   { transform: scale(.6); opacity: .9; }
  70%  { transform: scale(2.4); opacity: 0; }
  100% { transform: scale(2.4); opacity: 0; }
}

/* Pin de ubicación */
.gl-map__pin-icon {
  position: relative;
  z-index: 2;
  width: 36px; height: 36px;
  background: #0197AF;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(1,151,175,.5);
  transition: transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s;
}
.gl-map__pin-icon svg {
  transform: rotate(45deg);
  width: 18px; height: 18px;
  color: #FFFFFF;
}
.gl-map__facade:hover .gl-map__pin-icon {
  transform: rotate(-45deg) scale(1.12);
  box-shadow: 0 6px 24px rgba(1,151,175,.65);
}

/* CTA en la parte inferior de la facade */
.gl-map__facade-cta {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  z-index: 3;
  background: linear-gradient(to top, rgba(2,21,61,.92) 0%, transparent 100%);
  padding: 32px 16px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: background .28s;
}
.gl-map__facade:hover .gl-map__facade-cta {
  background: linear-gradient(to top, rgba(1,151,175,.25) 0%, transparent 80%);
}

.gl-map__gmaps-logo {
  width: 32px; height: 32px;
  background: #FFFFFF;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0,0,0,.3);
}

.gl-map__facade-text {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; gap: 1px;
}
.gl-map__facade-text strong {
  font-size: 13px; font-weight: 700; color: #FFFFFF; line-height: 1.3;
}
.gl-map__facade-text span {
  font-size: 11px; color: rgba(255,255,255,.65); white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
}

.gl-map__facade-arrow {
  width: 16px; height: 16px; color: #00EED0;
  transition: transform .25s cubic-bezier(.22,.61,.36,1);
  flex-shrink: 0;
}
.gl-map__facade:hover .gl-map__facade-arrow { transform: translateX(3px); }

/* Link "Abrir en Google Maps" */
.gl-map__gmaps-link {
  display: inline-flex;
  align-items: center; gap: 6px;
  font-size: 12px; font-weight: 600;
  color: rgba(255,255,255,.55);
  transition: color .28s;
  align-self: flex-start;
}
.gl-map__gmaps-link:hover { color: #0197AF; }

/* ════════════════════════════════════════════════════════════
   COLUMNA SEDES
════════════════════════════════════════════════════════════ */

.gl-map__sedes-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* ── Sede card base ── */
.gl-map__sede {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-left: 3px solid rgba(255,255,255,.12);
  border-radius: 12px;
  padding: 14px 16px;
  transition: background .28s ease, border-color .28s ease;
}
.gl-map__sede:hover { background: rgba(255,255,255,.07); }

/* Sede principal Cali — destacada */
.gl-map__sede--main {
  border-left: 3px solid #0197AF;
  background: rgba(1,151,175,.07);
  padding: 16px;
}
.gl-map__sede--main:hover { background: rgba(1,151,175,.12); }

/* Sede online */
.gl-map__sede--online {
  border-left: 3px solid #00EED0;
  background: rgba(0,238,208,.04);
}
.gl-map__sede--online:hover { background: rgba(0,238,208,.08); }

/* Cabecera de sede */
.gl-map__sede-head {
  margin-bottom: 10px;
  display: flex; flex-direction: column; gap: 5px;
}

/* Badge de sede */
.gl-map__sede-badge {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 9.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em;
  padding: 3px 10px; border-radius: 50px;
  align-self: flex-start;
}
.gl-map__sede-badge--teal {
  color: #0197AF;
  background: rgba(1,151,175,.15);
  border: 1px solid rgba(1,151,175,.3);
}
.gl-map__sede-badge--cyan {
  color: #00EED0;
  background: rgba(0,238,208,.1);
  border: 1px solid rgba(0,238,208,.3);
}

/* Nombre de la sede */
.gl-map__sede-name {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 15px; font-weight: 700;
  color: #FFFFFF; line-height: 1.35;
}
.gl-map__sede-name--sm {
  font-size: 13px;
}

/* Filas de datos (dirección, horario, teléfono) */
.gl-map__sede-rows {
  display: flex; flex-direction: column; gap: 6px;
  margin-bottom: 12px;
}

.gl-map__sede-row {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 12.5px; color: rgba(255,255,255,.72);
  line-height: 1.5;
}
.gl-map__sede-row svg {
  color: #0197AF; margin-top: 1px; flex-shrink: 0;
}

/* Teléfono clickeable */
.gl-map__tel {
  color: rgba(255,255,255,.85);
  font-weight: 600;
  transition: color .25s;
}
.gl-map__tel:hover { color: #0197AF; }

/* ── CTAs por sede ── */
.gl-map__sede-ctas {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.gl-map__sede-ctas--sm { gap: 6px; }

/* Botón WhatsApp sede */
.gl-map__btn-wa {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px;
  background: #25D366; color: #FFFFFF !important;
  font-size: 12px; font-weight: 700;
  border-radius: 50px;
  box-shadow: 0 3px 12px rgba(37,211,102,.28);
  transition: filter .25s, transform .22s;
  white-space: nowrap;
}
.gl-map__btn-wa:hover { filter: brightness(1.06); transform: translateY(-1px); color: #FFFFFF !important; }
.gl-map__btn-wa:active { transform: translateY(0); }

.gl-map__btn-wa--sm {
  font-size: 11px; padding: 7px 12px;
}

/* Botón "Cómo llegar" */
.gl-map__btn-directions {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12px; font-weight: 600;
  color: rgba(255,255,255,.6);
  transition: color .25s;
  white-space: nowrap;
}
.gl-map__btn-directions:hover { color: #0197AF; }
.gl-map__btn-directions--sm { font-size: 11px; }

/* Dot pulsante "Disponible ahora" */
.gl-map__online-dot {
  display: inline-block;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #00EED0;
  flex-shrink: 0;
  animation: gl-online-pulse 2s ease infinite;
}

@keyframes gl-online-pulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(0,238,208,.4); }
  50%       { opacity: .7; box-shadow: 0 0 0 4px rgba(0,238,208,0); }
}

/* ════════════════════════════════════════════════════════════
   DISCLAIMER
════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════
   MINI MAPA — thumbnail de Google Maps
.gl-map-cali a:focus-visible,
.gl-map-cali button:focus-visible {
  outline: 2px solid #00EED0;
  outline-offset: 3px; border-radius: 4px;
}

/* ════════════════════════════════════════════════════════════
   MINI MAPA — thumbnail de Google Maps dentro de cada sede
   Iframe lazy + overlay link cubre 100% del área.
   pointer-events:none en iframe → clicks van al link overlay.
════════════════════════════════════════════════════════════ */

.gl-map__mini {
  position: relative;
  height: 100px;
  border-radius: 8px;
  overflow: hidden;
  margin: 10px 0 4px;
  border: 1px solid rgba(255,255,255,.1);
  background: #0A1628;
  flex-shrink: 0;
}

.gl-map__mini-iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: none;
  pointer-events: none; /* clicks pasan al link overlay */
  filter: saturate(.7) brightness(.85); /* sutil adaptación al dark theme */
}

/* Link que cubre todo el mini mapa */
.gl-map__mini-link {
  position: absolute; inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  gap: 4px;
  padding: 6px 10px;
  /* Gradiente que hace legible el texto sobre el mapa */
  background: linear-gradient(
    to top,
    rgba(2,21,61,.82) 0%,
    rgba(2,21,61,.2) 55%,
    transparent 100%
  );
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
  transition: background .25s ease;
}
.gl-map__mini-link:hover {
  background: linear-gradient(
    to top,
    rgba(1,151,175,.75) 0%,
    rgba(1,151,175,.15) 60%,
    transparent 100%
  );
  color: #FFFFFF !important;
}
.gl-map__mini-link svg { flex-shrink: 0; }

/* ════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE-FIRST
════════════════════════════════════════════════════════════ */

/* ── iPhone SE (max 374px) ── */
@media (max-width: 374px) {
  .gl-map__inner   { padding: 48px 14px 48px; }
  .gl-map__title   { font-size: 23px; }
  .gl-map__sede-name { font-size: 14px; }
  .gl-map__btn-wa  { font-size: 11px; padding: 7px 12px; }
}

/* ── Tablet (768px+): mapa top + sedes 2×2 ── */
@media (min-width: 768px) {
  .gl-map__inner   { padding: 80px 24px 64px; }
  .gl-map__title   { font-size: 34px; }

  .gl-map__sedes-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }

  /* Cali ocupa las 2 columnas en tablet */
  .gl-map__sede--main {
    grid-column: 1 / 3;
  }
}

/* ── Desktop (1024px+): 2 columnas lado a lado ── */
@media (min-width: 1024px) {
  .gl-map__inner { padding: 96px 24px 72px; }
  .gl-map__title { font-size: 38px; }

  .gl-map__grid {
    flex-direction: row;
    align-items: flex-start;
    gap: 32px;
  }

  /* Mapa: 60% */
  .gl-map__map-col {
    flex: 0 0 58%;
    max-width: 58%;
  }

  /* Mapa ratio 16:10 en desktop */
  .gl-map__map-wrap {
    aspect-ratio: 16 / 10;
  }

  /* Sedes: 40% */
  .gl-map__sedes-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  /* En desktop Cali vuelve a span 1 col */
  .gl-map__sede--main {
    grid-column: auto;
  }
}

/* ── Wide (1440px+) ── */
@media (min-width: 1440px) {
  .gl-map__inner {
    max-width: 1360px;
    padding-left: 32px;
    padding-right: 32px;
  }
  .gl-map__sede-name { font-size: 16px; }
  .gl-map__sede-row  { font-size: 13px; }
}

/* ── Safe Area iOS ── */
@supports (padding-left: env(safe-area-inset-left)) {
  .gl-map__inner {
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
  }
}

/* ── Reducir movimiento ── */
@media (prefers-reduced-motion: reduce) {
  .gl-map-cali *,
  .gl-map-cali *::before,
  .gl-map-cali *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-cd9b02e *//* ============================================================
   CSS — CTA FINAL — gl-cta-cali
   CONTENEDOR 8 de 8 — ÚLTIMA SECCIÓN DE LA LANDING
   Fondo: linear-gradient(135deg, #02153D 0%, #4B227A 100%)

   Compacto. Centrado. Emotivo. Cierre de página.
   Fuentes: NO @import — las carga el header global.
============================================================ */

/* ── Reset local ─────────────────────────────────────────── */
.gl-cta-cali,
.gl-cta-cali *,
.gl-cta-cali *::before,
.gl-cta-cali *::after {
  box-sizing: border-box; margin: 0; padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.gl-cta-cali {
  font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: linear-gradient(135deg, #02153D 0%, #4B227A 100%);
  width: 100%;
  position: relative;
  overflow: hidden;
}
.gl-cta-cali a { text-decoration: none; -webkit-tap-highlight-color: transparent; }
.gl-cta-cali svg { display: block; flex-shrink: 0; }

/* Textura de puntos — consistente con C3 y C7 */
.gl-cta-cali::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(rgba(0,238,208,.05) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none; z-index: 0;
}

/* Resplandor central sutil — irradia desde el centro como si la foto emanara luz */
.gl-cta-cali::after {
  content: '';
  position: absolute;
  width: 600px; height: 400px;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(ellipse, rgba(0,238,208,.07) 0%, rgba(75,34,122,.12) 50%, transparent 70%);
  pointer-events: none; z-index: 0;
}

/* ── Inner ───────────────────────────────────────────────── */
.gl-cta__inner {
  max-width: 760px;   /* columna estrecha → enfoque total en el CTA */
  margin: 0 auto;
  padding: 80px 20px 72px;
  position: relative; z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0; /* gap controlado por margin en cada elemento */
}

/* ── Separador superior ── */
.gl-cta__sep {
  height: 3px;
  background: linear-gradient(90deg, transparent, #4B227A 30%, #0197AF 70%, transparent);
  position: relative; z-index: 1;
}

/* ════════════════════════════════════════════════════════════
   BADGE
════════════════════════════════════════════════════════════ */

.gl-cta__badge {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em;
  color: #00EED0;
  border: 1px solid rgba(0,238,208,.35);
  background: rgba(0,238,208,.08);
  padding: 5px 16px 5px 12px; border-radius: 50px;
  margin-bottom: 20px;
}

/* ════════════════════════════════════════════════════════════
   H2
════════════════════════════════════════════════════════════ */

.gl-cta__title {
  font-family: 'Playfair Display', 'Georgia', serif;
  font-size: 28px; font-weight: 800; color: #FFFFFF;
  line-height: 1.2; letter-spacing: -.015em;
  margin-bottom: 28px;
}
.gl-cta__title-accent {
  color: #00EED0;
  /* Elegante subrayado decorativo */
  display: inline;
  background: linear-gradient(90deg, rgba(0,238,208,.25), rgba(0,238,208,.05));
  -webkit-background-clip: text;
  background-clip: text;
}

/* ════════════════════════════════════════════════════════════
   FOTO DE GLADYS — ancla humana entre el H2 y el copy
════════════════════════════════════════════════════════════ */

.gl-cta__author {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
}

.gl-cta__photo-wrap {
  position: relative;
  width: 80px; height: 80px;
  flex-shrink: 0;
}

/* Halo de luz detrás de la foto */
.gl-cta__photo-glow {
  position: absolute;
  inset: -16px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,238,208,.18) 0%, rgba(0,238,208,0) 70%);
  pointer-events: none;
  animation: gl-cta-halo 4s ease-in-out infinite;
}

@keyframes gl-cta-halo {
  0%, 100% { opacity: .7; transform: scale(1); }
  50%       { opacity: 1;  transform: scale(1.08); }
}

/* Foto circular de Gladys — border-radius: 50px !important */
.gl-cta__photo,
.gl-cta-cali img.gl-cta__photo {
  width: 80px !important;
  height: 80px !important;
  border-radius: 50px !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block;
  position: relative; z-index: 1;
  border: 3px solid rgba(255,255,255,.22);
  box-shadow:
    0 0 0 1px rgba(0,238,208,.2),
    0 8px 32px rgba(0,0,0,.4);
}

.gl-cta__author-info {
  display: flex; flex-direction: column; gap: 3px;
}
.gl-cta__author-name {
  font-size: 14px; font-weight: 700; color: #FFFFFF; line-height: 1.3;
}
.gl-cta__author-cred {
  font-size: 12px; color: rgba(255,255,255,.62); line-height: 1.4;
}

/* ════════════════════════════════════════════════════════════
   SUBTÍTULO CITABLE
════════════════════════════════════════════════════════════ */

.gl-cta__subtitle {
  font-size: 15px;
  line-height: 1.72;
  color: rgba(255,255,255,.78);
  max-width: 560px;
  margin: 0 auto 36px;
}

/* ════════════════════════════════════════════════════════════
   BOTONES CTA
════════════════════════════════════════════════════════════ */

.gl-cta__btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 480px;
  margin-bottom: 32px;
}

/* ── Botón WhatsApp principal ── */
.gl-cta__btn-wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 17px 40px;
  background: #25D366;
  color: #FFFFFF !important;
  font-size: 16px;
  font-weight: 800;
  font-family: 'Lato', sans-serif;
  border-radius: 50px;
  letter-spacing: .01em;
  /* Glow pulsante — suave, tranquilizador, no agresivo */
  box-shadow: 0 6px 24px rgba(37,211,102,.35);
  animation: gl-cta-wa-glow 3.5s ease-in-out infinite;
  transition:
    transform .32s cubic-bezier(.22,.61,.36,1),
    filter .32s ease;
}

@keyframes gl-cta-wa-glow {
  0%, 100% { box-shadow: 0 6px 24px rgba(37,211,102,.32); }
  50%       { box-shadow: 0 6px 44px rgba(37,211,102,.58), 0 0 80px rgba(37,211,102,.14); }
}

.gl-cta__btn-wa:hover {
  transform: translateY(-3px);
  filter: brightness(1.06);
  color: #FFFFFF !important;
}
.gl-cta__btn-wa:active { transform: translateY(-1px); }

/* ── Botón teléfono secundario ── */
.gl-cta__btn-tel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  padding: 14px 32px;
  background: transparent;
  color: rgba(255,255,255,.82) !important;
  font-size: 14px;
  font-weight: 700;
  font-family: 'Lato', sans-serif;
  border-radius: 50px;
  border: 2px solid rgba(255,255,255,.28);
  letter-spacing: .01em;
  transition:
    border-color .32s ease,
    color .32s ease,
    transform .32s cubic-bezier(.22,.61,.36,1);
}
.gl-cta__btn-tel:hover {
  border-color: #0197AF;
  color: #0197AF !important;
  transform: translateY(-2px);
}
.gl-cta__btn-tel:active { transform: translateY(0); }

/* ── Focus visible ── */
.gl-cta-cali a:focus-visible {
  outline: 2px solid #00EED0;
  outline-offset: 3px;
  border-radius: 50px;
}

/* ════════════════════════════════════════════════════════════
   3 TRUST ITEMS
════════════════════════════════════════════════════════════ */

.gl-cta__trust {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 0;
  margin-bottom: 20px;
}

.gl-cta__trust-item {
  display: flex; align-items: center; gap: 6px;
  font-size: 11px; color: rgba(255,255,255,.5);
  padding: 0 14px;
  white-space: nowrap;
}
.gl-cta__trust-item svg { color: #0197AF; }

/* Divisor vertical entre items */
.gl-cta__trust-divider {
  width: 1px; height: 12px;
  background: rgba(255,255,255,.15);
  flex-shrink: 0;
}

/* ════════════════════════════════════════════════════════════
   LÍNEA DE PRECIOS
════════════════════════════════════════════════════════════ */

.gl-cta__prices {
  font-size: 10px;
  color: rgba(255,255,255,.32);
  letter-spacing: .04em;
  line-height: 1.6;
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE-FIRST
════════════════════════════════════════════════════════════ */

/* ── iPhone SE (max 374px) ── */
@media (max-width: 374px) {
  .gl-cta__inner { padding: 60px 14px 56px; }
  .gl-cta__title { font-size: 23px; }
  .gl-cta__subtitle { font-size: 13.5px; }
  .gl-cta__btn-wa { font-size: 14px; padding: 15px 24px; }
  .gl-cta__trust-item { font-size: 10px; padding: 0 9px; }
}

/* ── Tablet (768px): botones lado a lado ── */
@media (min-width: 768px) {
  .gl-cta__inner { padding: 88px 32px 80px; }
  .gl-cta__title { font-size: 34px; }
  .gl-cta__subtitle { font-size: 15.5px; }

  .gl-cta__btns {
    flex-direction: row;
    justify-content: center;
    max-width: none;
    gap: 14px;
  }
  .gl-cta__btn-wa  { width: auto; min-width: 240px; }
  .gl-cta__btn-tel { width: auto; min-width: 200px; }
}

/* ── Desktop (1024px+) ── */
@media (min-width: 1024px) {
  .gl-cta__inner { padding: 96px 32px 88px; }
  .gl-cta__title { font-size: 38px; }
  .gl-cta__subtitle { font-size: 16px; max-width: 580px; }
  .gl-cta__btn-wa { min-width: 260px; font-size: 16px; }
  .gl-cta__btn-tel { min-width: 210px; }
}

/* ── Wide (1440px+) ── */
@media (min-width: 1440px) {
  .gl-cta__inner { max-width: 800px; }
  .gl-cta__title { font-size: 42px; }
}

/* ── Safe Area iOS ── */
@supports (padding-left: env(safe-area-inset-left)) {
  .gl-cta__inner {
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));
    padding-bottom: max(72px, calc(72px + env(safe-area-inset-bottom)));
  }
}

/* ── Reducir movimiento ── */
@media (prefers-reduced-motion: reduce) {
  .gl-cta-cali *,
  .gl-cta-cali *::before,
  .gl-cta-cali *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
  /* En modo reducido, el glow permanece estático */
  .gl-cta__btn-wa {
    box-shadow: 0 6px 24px rgba(37,211,102,.35);
  }
}/* End custom CSS */