/*! ESNMX Suscripciones WhatsApp — front-end */
.esnmx-wa{
  --esnmx-wa-bg:var(--rojo,#FF0000);
  --esnmx-wa-fg:#fff;
  --esnmx-wa-btn:var(--negro,#0E0E0E);
  --esnmx-wa-btn-fg:#fff;
  --esnmx-wa-ink:var(--tinta,#161414);
  --esnmx-wa-green:#107A36;
  --esnmx-wa-green-h:#0C632B;
  --esnmx-wa-font:var(--display,"Montserrat",Arial,sans-serif);
  --esnmx-wa-serif:var(--serif,"Source Serif 4",Georgia,serif);
  position:relative;
  box-sizing:border-box;
  color:var(--esnmx-wa-fg);
  background:var(--esnmx-wa-bg);
  font-family:var(--esnmx-wa-serif);
  max-width:100%;
  overflow-wrap:anywhere;
}
.esnmx-wa *,.esnmx-wa *::before,.esnmx-wa *::after{box-sizing:border-box}
.esnmx-wa [hidden]{display:none!important}
.esnmx-wa :focus-visible{outline:3px solid var(--esnmx-wa-fg);outline-offset:2px}

/* Shared text */
.esnmx-wa .esnmx-wa-title{margin:0;color:var(--esnmx-wa-fg);font-family:var(--esnmx-wa-font);font-weight:900;font-size:24px;line-height:1.1;letter-spacing:normal;text-transform:none;text-wrap:balance}
.esnmx-wa .esnmx-wa-desc{margin:6px 0 0;font-family:var(--esnmx-wa-serif);font-size:15.5px;line-height:1.45;color:var(--esnmx-wa-fg)}
.esnmx-wa-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.esnmx-wa-hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}

/* Form */
.esnmx-wa-form{margin:0;max-width:520px;container-type:inline-size;container-name:esnmxwa}
.esnmx-wa-row{display:flex;align-items:stretch;min-width:0;width:100%}
.esnmx-wa .esnmx-wa-cc,
.esnmx-wa .esnmx-wa-select{
  -webkit-appearance:none;appearance:none;flex:none;margin:0;border:0;border-radius:0;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath fill='%23161414' d='M0 0h10L5 6z'/%3E%3C/svg%3E") no-repeat right 9px center/9px 6px;
  color:var(--esnmx-wa-ink);font:700 14px/1.2 var(--esnmx-wa-font);cursor:pointer;box-shadow:none;height:auto;min-height:0;
}
.esnmx-wa .esnmx-wa-cc{width:auto;max-width:92px;padding:0 24px 0 12px;border-right:1px solid #E2DCDB}
.esnmx-wa .esnmx-wa-prefix{flex:none;display:flex;align-items:center;padding:0 10px 0 14px;background:#fff;color:var(--esnmx-wa-ink);font:700 15px var(--esnmx-wa-font);border-right:1px solid #E2DCDB}
.esnmx-wa .esnmx-wa-tel,
.esnmx-wa .esnmx-wa-input{
  flex:1;min-width:0;width:100%;margin:0;border:0;border-radius:0;box-shadow:none;
  padding:14px;font:600 15px/1.2 var(--esnmx-wa-font);color:var(--esnmx-wa-ink);background:#fff;height:auto;
}
.esnmx-wa .esnmx-wa-tel::placeholder,.esnmx-wa .esnmx-wa-input::placeholder{color:#8A807F;opacity:1}
.esnmx-wa .esnmx-wa-tel[aria-invalid="true"]{box-shadow:inset 0 -3px 0 var(--esnmx-wa-btn)}
.esnmx-wa .esnmx-wa-btn{
  flex:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;
  border:0;border-radius:0;background:var(--esnmx-wa-btn);color:var(--esnmx-wa-btn-fg);
  font:800 12px/1 var(--esnmx-wa-font);letter-spacing:.1em;text-transform:uppercase;
  padding:0 18px;min-height:48px;cursor:pointer;white-space:nowrap;transition:opacity .15s;
}
.esnmx-wa .esnmx-wa-btn:hover{opacity:.88}
.esnmx-wa .esnmx-wa-btn[disabled]{cursor:wait;opacity:.75}
.esnmx-wa-ico{width:16px;height:16px;flex:none;display:block}
.esnmx-wa-ico--lg{width:22px;height:22px}
.esnmx-wa-spin{display:none;width:15px;height:15px;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:esnmx-wa-spin .7s linear infinite}
.esnmx-wa-form.is-loading .esnmx-wa-spin{display:inline-block}
.esnmx-wa-form.is-loading .esnmx-wa-btn .esnmx-wa-ico{display:none}
@keyframes esnmx-wa-spin{to{transform:rotate(360deg)}}

/* Optional fields */
.esnmx-wa-extra{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-bottom:8px}
.esnmx-wa .esnmx-wa-extra .esnmx-wa-select{width:100%;padding:14px 28px 14px 14px;font-weight:600;font-size:15px}
@container esnmxwa (min-width:420px){
  .esnmx-wa-extra--2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}

/* Narrow forms: button drops below the field */
@container esnmxwa (max-width:359px){
  .esnmx-wa-row{flex-wrap:wrap}
  .esnmx-wa .esnmx-wa-tel{flex:1 1 0}
  .esnmx-wa .esnmx-wa-btn{flex:1 0 100%;min-height:46px;padding:0 14px}
}

/* Privacy */
.esnmx-wa-priv{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;font:500 12px/1.45 var(--esnmx-wa-font);color:var(--esnmx-wa-fg);opacity:.95;cursor:pointer}
.esnmx-wa-priv input{flex:none;width:16px;height:16px;margin:1px 0 0;accent-color:var(--esnmx-wa-btn);cursor:pointer}
.esnmx-wa-priv a{color:inherit;text-decoration:underline;text-underline-offset:2px;font-weight:700}

/* Messages */
.esnmx-wa .esnmx-wa-msg{margin:10px 0 0;font:700 13.5px/1.4 var(--esnmx-wa-font);color:var(--esnmx-wa-fg)}
.esnmx-wa .esnmx-wa-msg:empty{display:none}
.esnmx-wa .esnmx-wa-msg.is-error{background:#fff;color:#A30000;padding:9px 12px;border-left:4px solid var(--esnmx-wa-btn)}
.esnmx-wa .esnmx-wa-msg.is-ok{background:#fff;color:#0B5A27;padding:9px 12px;border-left:4px solid #25D366}

/* "Abrir WhatsApp" */
.esnmx-wa .esnmx-wa-open{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;
  min-height:52px;padding:0 24px;background:var(--esnmx-wa-green);color:#fff;text-decoration:none;
  font:900 15px/1 var(--esnmx-wa-font);letter-spacing:.04em;text-transform:uppercase;
  border-radius:999px;box-shadow:0 10px 24px -12px rgba(0,0,0,.6);transition:background .15s,transform .15s;
}
.esnmx-wa .esnmx-wa-open:hover{background:var(--esnmx-wa-green-h);color:#fff;transform:translateY(-1px)}

/* ===== Banda: same rhythm as .boletin ===== */
.esnmx-wa--banda{z-index:1;width:100%}
.esnmx-wa--banda .esnmx-wa-wrap{
  max-width:1280px;margin:0 auto;padding-inline:16px;padding-block:30px;
  display:grid;grid-template-columns:minmax(0,1fr);gap:14px;
}
.esnmx-wa--banda .esnmx-wa-desc{margin-top:0}
.esnmx-wa--banda .esnmx-wa-text{display:grid;gap:4px}
@media (min-width:640px){
  .esnmx-wa--banda .esnmx-wa-wrap{padding-inline:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
}

/* ===== Caja: sidebar card ===== */
.esnmx-wa--caja{padding:20px;box-shadow:0 18px 40px -26px rgba(0,0,0,.55)}
.esnmx-wa--caja .esnmx-wa-wrap{display:grid;gap:14px}
.esnmx-wa--caja .esnmx-wa-title{font-size:21px;display:flex;align-items:flex-start;gap:10px}
.esnmx-wa--caja .esnmx-wa-title::before{
  content:"";flex:none;width:30px;height:30px;margin-top:-2px;border-radius:50%;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23107A36' d='M12.05 0C5.5 0 .16 5.34.16 11.89c0 2.1.55 4.14 1.59 5.95L.06 24l6.3-1.65a11.88 11.88 0 0 0 5.68 1.45c6.55 0 11.89-5.34 11.89-11.89A11.84 11.84 0 0 0 12.05 0zm5.42 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.16-.17.2-.35.22-.64.08-.3-.15-1.26-.47-2.39-1.48-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.2-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48s1.07 2.88 1.21 3.07c.15.2 2.1 3.2 5.08 4.49 2.38 1.03 2.87.82 3.57.75.71-.08 1.76-.72 2-1.41.25-.7.25-1.29.18-1.41-.08-.13-.27-.2-.57-.35z'/%3E%3C/svg%3E") no-repeat center/18px;
}
.esnmx-wa--caja .esnmx-wa-desc{font-size:14.5px}
.esnmx-wa--caja .esnmx-wa-form{max-width:none}
.esnmx-wa--caja .esnmx-wa-open{width:100%}

/* ===== Compacto: inline ===== */
.esnmx-wa--compacto{background:transparent;color:inherit;--esnmx-wa-fg:currentColor;margin-block:1.25em}
.esnmx-wa--compacto .esnmx-wa-wrap{display:grid;gap:8px}
.esnmx-wa--compacto .esnmx-wa-title{color:var(--esnmx-wa-ink);font-size:15px;font-weight:800;line-height:1.25}
.esnmx-wa--compacto .esnmx-wa-desc{font-size:14px;margin:0;color:inherit;opacity:.85}
.esnmx-wa--compacto .esnmx-wa-form{max-width:460px}
.esnmx-wa--compacto .esnmx-wa-row{border:2px solid var(--esnmx-wa-bg)}
.esnmx-wa--compacto .esnmx-wa-tel{padding:11px 12px;font-size:14.5px}
.esnmx-wa--compacto .esnmx-wa-btn{min-height:42px;padding:0 14px;font-size:11.5px}
.esnmx-wa--compacto .esnmx-wa-cc{max-width:86px}
.esnmx-wa--compacto .esnmx-wa-priv{color:inherit;font-size:11.5px}
.esnmx-wa--compacto .esnmx-wa-priv input{accent-color:var(--esnmx-wa-bg)}
.esnmx-wa--compacto :focus-visible{outline-color:var(--esnmx-wa-bg)}
.esnmx-wa--compacto .esnmx-wa-msg.is-error,.esnmx-wa--compacto .esnmx-wa-msg.is-ok{background:#F7F4F3}
.esnmx-wa--compacto .esnmx-wa-extra .esnmx-wa-input,.esnmx-wa--compacto .esnmx-wa-extra .esnmx-wa-select{border:1px solid #CEC6C5}
.esnmx-wa--compacto .esnmx-wa-extra .esnmx-wa-input{padding:11px 12px}
.esnmx-wa--compacto .esnmx-wa-extra .esnmx-wa-select{padding:11px 28px 11px 12px}

/* Widget wrappers from themes sometimes add padding/background */
.widget.esnmx-wa-widget{overflow:visible}

@media (prefers-reduced-motion:reduce){
  .esnmx-wa-spin{animation-duration:1.6s}
  .esnmx-wa .esnmx-wa-open,.esnmx-wa .esnmx-wa-btn{transition:none}
  .esnmx-wa .esnmx-wa-open:hover{transform:none}
}
