/* Newsletter banner + modales (newsletter / segmentación) */
:root{
  --gl-banner-h:0px;
}
body.has-gl-banner header.nav{
  top:var(--gl-banner-h);
  height:var(--nav-h);
  z-index:64;
}
body.has-gl-banner .nav-drawer{
  z-index:66;
}
body.has-gl-banner .skip-link:focus{
  top:calc(12px + var(--gl-banner-h));
}
body.has-gl-banner .hero{
  padding-top:calc(var(--nav-h) + var(--gl-banner-h) + 40px);
}
body.has-gl-banner .legal-page{
  padding-top:calc(var(--nav-h) + var(--gl-banner-h) + 48px);
}
body.has-gl-banner .page-contact main.contact-page-main{
  padding-top:calc(var(--nav-h) + var(--gl-banner-h) + 32px);
}
body.has-gl-banner .page-access main.auth-page-main{
  padding-top:calc(var(--nav-h) + var(--gl-banner-h) + 40px);
}
body.has-gl-banner .nav-drawer-panel{
  top:calc(8px + var(--gl-banner-h));
  max-height:calc(100vh - var(--gl-banner-h) - 16px);
}
@media (max-width:600px){
  body.has-gl-banner .hero{
    padding-top:calc(var(--nav-h) + var(--gl-banner-h) + 28px);
  }
}

.gl-growth-banner{
  position:fixed;
  top:0;left:0;right:0;
  z-index:58;
  background:
    linear-gradient(90deg, rgba(111,168,4,.22), rgba(129,91,239,.18)),
    var(--green-ink);
  color:#f4f8ea;
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 10px 32px -20px rgba(11,20,6,.45);
}
.gl-growth-banner__in{
  width:min(var(--content-wide), calc(100% - 2 * var(--gutter-x)));
  margin:0 auto;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px 18px;
  padding:8px 40px 8px 12px;
  position:relative;
}
.gl-growth-banner__text{
  font-size:13px;
  line-height:1.35;
  text-align:center;
  margin:0;
  color:rgba(244,248,234,.92);
}
.gl-growth-banner__cta{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:var(--font-mono);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#e8f5c8;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  padding:7px 14px;
  cursor:pointer;
  transition:background .25s, border-color .25s, transform .25s var(--ease-out);
}
.gl-growth-banner__cta:hover{
  background:rgba(255,255,255,.16);
  border-color:rgba(160,229,65,.45);
  transform:translateY(-1px);
}
.gl-growth-banner__close{
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-50%);
  width:32px;height:32px;
  border:0;border-radius:999px;
  background:transparent;
  color:rgba(244,248,234,.75);
  font-size:22px;line-height:1;
  cursor:pointer;
  transition:background .2s, color .2s;
}
.gl-growth-banner__close:hover{
  background:rgba(255,255,255,.1);
  color:#fff;
}

.gl-growth-modal{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  place-items:center;
  padding:max(16px, var(--gutter-x));
  pointer-events:none;
}
.gl-growth-modal[hidden]{display:none!important}
.gl-growth-modal:not([hidden]){pointer-events:auto}
.gl-growth-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(11,20,6,.48);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.gl-growth-modal__panel{
  position:relative;
  z-index:1;
  width:100%;
  background:rgba(255,255,255,.96);
  border:1px solid var(--bd);
  border-radius:20px;
  box-shadow:
    0 1px 0 rgba(255,255,255,.75) inset,
    0 4px 40px rgba(129,91,239,.1),
    0 32px 88px -36px rgba(17,24,6,.4);
  backdrop-filter:blur(18px) saturate(1.08);
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
  padding:clamp(22px, 3.5vw, 28px) clamp(20px, 3vw, 26px) clamp(20px, 3vw, 24px);
  animation:gl-modal-in .4s var(--ease-out);
}
.gl-growth-modal--newsletter .gl-growth-modal__panel{
  max-width:440px;
}
.gl-growth-modal--seg .gl-growth-modal__panel{
  max-width:560px;
}
@keyframes gl-modal-in{
  from{opacity:0;transform:scale(.96) translateY(8px)}
  to{opacity:1;transform:none}
}
body.has-gl-modal{overflow:hidden}
.gl-growth-modal__close{
  position:absolute;
  top:12px;right:12px;
  width:36px;height:36px;
  border:0;border-radius:999px;
  background:rgba(244,248,234,.9);
  border:1px solid var(--bd);
  color:var(--ink-soft);
  font-size:22px;line-height:1;
  cursor:pointer;
}
.gl-growth-modal__kick{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--lila-d);
  margin:0 0 8px;
}
.gl-growth-modal__title{
  font-family:var(--font-display);
  font-size:clamp(22px, 3vw, 28px);
  font-weight:400;
  letter-spacing:-.02em;
  line-height:1.15;
  margin:0 0 8px;
  color:var(--ink);
  padding-right:36px;
}
.gl-growth-modal__sub{
  font-size:14.5px;
  line-height:1.55;
  color:var(--ink-soft);
  margin:0 0 18px;
  max-width:48ch;
}
.gl-seg-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-bottom:14px;
}
.gl-seg-grid.is-invalid{
  outline:2px solid rgba(217,119,6,.35);
  outline-offset:4px;
  border-radius:14px;
}
.gl-seg-opt{
  text-align:left;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--bd);
  background:rgba(247,250,240,.85);
  cursor:pointer;
  transition:border-color .25s, background .25s, box-shadow .25s, transform .25s var(--ease-out);
}
.gl-seg-opt:hover{
  border-color:var(--bd-lila);
  transform:translateY(-1px);
}
.gl-seg-opt.is-selected{
  border-color:rgba(129,91,239,.45);
  background:
    linear-gradient(145deg, rgba(129,91,239,.1), rgba(111,168,4,.08)),
    rgba(255,255,255,.95);
  box-shadow:0 0 0 1px rgba(111,168,4,.12);
}
.gl-seg-opt__label{
  font-size:14px;
  font-weight:600;
  color:var(--ink);
  line-height:1.35;
}
.gl-growth-form__hp{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
  overflow:hidden;
}
.gl-growth-form__label{
  display:block;
  font-size:13px;
  font-weight:600;
  margin-bottom:6px;
  color:var(--ink);
}
.gl-growth-form input[type="email"]{
  width:100%;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--bd);
  background:#fff;
  font:inherit;
  margin-bottom:6px;
}
.gl-growth-form input[type="email"]:focus{
  outline:2px solid rgba(129,91,239,.35);
  outline-offset:1px;
  border-color:var(--bd-lila);
}
.gl-growth-form__check{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:13px;
  line-height:1.45;
  color:var(--ink-soft);
  margin:12px 0 8px;
}
.gl-growth-form__check input{margin-top:3px}
.gl-growth-form__check a{color:var(--lila-d);font-weight:500}
.gl-growth-form__error{
  font-size:12.5px;
  color:var(--amber);
  margin:0 0 8px;
}
.gl-growth-form__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}
.gl-growth-form__actions--single .btn-green{
  width:100%;
  justify-content:center;
}
.gl-growth-form__actions .btn-green,
.gl-growth-form__actions .btn-ghost{
  font-size:14px;
  padding:11px 20px;
}
.gl-growth-modal__success{
  text-align:center;
  padding:8px 4px 2px;
}
.gl-growth-modal__success[hidden]{display:none!important}
.gl-growth-success-ico{
  display:grid;
  place-items:center;
  width:52px;height:52px;
  margin:0 auto 14px;
  border-radius:50%;
  background:rgba(111,168,4,.14);
  color:var(--green-d);
  font-size:24px;
  font-weight:700;
}
.gl-growth-modal__success h3{
  font-family:var(--font-display);
  font-size:24px;
  margin:0 0 8px;
  color:var(--ink);
}
.gl-growth-modal__success p{
  font-size:14px;
  color:var(--ink-soft);
  margin:0;
  line-height:1.55;
}

@media (max-width:600px){
  .gl-growth-banner__in{
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    gap:8px 10px;
    padding:6px 36px 6px 10px;
    min-height:40px;
  }
  .gl-growth-banner__text{
    flex:1 1 auto;
    min-width:0;
    font-size:11px;
    line-height:1.3;
    text-align:left;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .gl-growth-banner__cta{
    flex-shrink:0;
    padding:6px 10px;
    font-size:10px;
  }
  .gl-seg-grid{grid-template-columns:1fr}
  .gl-growth-form__actions .btn-green,
  .gl-growth-form__actions .btn-ghost{width:100%;justify-content:center}
}

[data-theme="dark"] .gl-growth-banner{
  background:
    linear-gradient(90deg, rgba(123,194,32,.18), rgba(155,124,247,.16)),
    #0f1411;
  border-bottom-color:rgba(255,255,255,.08);
}
[data-theme="dark"] .gl-growth-modal__panel{
  background:rgba(21,26,22,.94);
  border-color:var(--bd);
}
[data-theme="dark"] .gl-growth-modal__title{color:var(--ink)}
[data-theme="dark"] .gl-seg-opt{
  background:rgba(12,16,13,.65);
  border-color:var(--bd);
}
[data-theme="dark"] .gl-seg-opt.is-selected{
  background:
    linear-gradient(145deg, rgba(155,124,247,.14), rgba(123,194,32,.1)),
    rgba(17,22,19,.92);
}
[data-theme="dark"] .gl-growth-form input[type="email"]{
  background:rgba(12,16,13,.8);
  border-color:var(--bd);
  color:var(--ink);
}
[data-theme="dark"] .gl-growth-modal__close{
  background:rgba(21,26,22,.9);
  border-color:var(--bd);
  color:var(--ink-soft);
}

/* Menos blur compuesto en móvil / CPU limitada */
html.gl-lite .gl-growth-modal__backdrop{
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
