/* ========================================================================
   CW Lead Capture — Modal styles (extracted from inline form, identical look)
   ======================================================================== */

/* ------------------------------------------------------------------
   Page-level CTA buttons (.open-calendly) — pill style, naranja Charly
   Las reglas más específicas (#cta-flotante .cta-btn en standard pages,
   #ctaWrap60 .open-calendly en masterclass) ganan por especificidad.
   ------------------------------------------------------------------ */
.brxe-button{white-space:normal!important;text-align:center!important;line-height:1.3!important}

.open-calendly,a.open-calendly,button.open-calendly{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;background:#f8774d!important;color:#fff!important;
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
  font-size:16px!important;font-weight:700!important;letter-spacing:.3px!important;
  text-transform:uppercase!important;text-decoration:none!important;line-height:1.3!important;
  padding:18px 38px!important;border:none!important;border-radius:999px!important;
  cursor:pointer!important;white-space:normal!important;
  box-shadow:0 8px 20px rgba(248,119,77,.25)!important;
  transition:background .2s,transform .15s,box-shadow .2s!important;
}
.open-calendly *,a.open-calendly *,button.open-calendly *{cursor:pointer!important}
.open-calendly:hover,a.open-calendly:hover,button.open-calendly:hover{
  background:#e05f35!important;transform:translateY(-2px)!important;
  box-shadow:0 12px 24px rgba(248,119,77,.35)!important;
}
.open-calendly:active,a.open-calendly:active,button.open-calendly:active{transform:translateY(0)!important}
@media (max-width:640px){
  .open-calendly,a.open-calendly,button.open-calendly{font-size:15px!important;padding:16px 28px!important;width:auto!important;max-width:100%!important}
}

/* Modal */
:root{
  --fl-primary:#f8774d;--fl-primary-hover:#e05f35;
  --fl-text:#1A1A2E;--fl-text-sec:#5A5A72;
  --fl-border:#DCDCE6;--fl-surface:#F7F7FA;
  --fl-radius:10px;
  --fl-font:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.fl-overlay{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s,visibility .3s}
.fl-overlay.open{opacity:1;pointer-events:auto;visibility:visible}
.fl-box{position:relative;width:100%;max-width:460px;background:#fff;border-radius:16px;overflow-y:auto;transform:scale(.97);transition:transform .3s;box-shadow:0 20px 60px rgba(0,0,0,.15)}
.fl-overlay.open .fl-box{transform:scale(1)}
.fl-x{position:absolute;top:16px;right:16px;z-index:10;width:36px;height:36px;border-radius:50%;border:none;background:var(--fl-surface);color:var(--fl-text-sec);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.fl-x:hover{background:var(--fl-border)}

.fl-header{padding:36px 32px 0}
.fl-header h2{font-family:var(--fl-font);font-size:22px;font-weight:700;color:var(--fl-text);line-height:1.3;margin:0 0 10px}
.fl-header p{font-family:var(--fl-font);font-size:14.5px;line-height:1.55;color:var(--fl-text-sec);margin:0}
.fl-divider{height:1px;background:var(--fl-border);margin:24px 32px 0;opacity:.6}

.fl-body{padding:24px 32px 32px}
.fl-group{margin-bottom:18px}
.fl-group label{display:block;font-family:var(--fl-font);font-size:13px;font-weight:600;color:var(--fl-text);margin-bottom:6px}
.fl-group input[type="text"],.fl-group input[type="email"]{
  width:100%;height:48px;border:1.5px solid var(--fl-border);border-radius:var(--fl-radius);
  padding:0 14px;font-size:15px;font-family:var(--fl-font);color:var(--fl-text);
  background:#fff;transition:border-color .2s,box-shadow .2s;outline:none
}
.fl-group input::placeholder{color:#A0A0B2}
.fl-group input[type="text"]:focus,.fl-group input[type="email"]:focus{border-color:var(--fl-primary);box-shadow:0 0 0 3px rgba(248,119,77,.12)}
.fl-group input.fl-err{border-color:#D93025}
.fl-group .fl-errmsg{font-family:var(--fl-font);font-size:12.5px;color:#D93025;margin-top:5px;display:none}
.fl-group .fl-errmsg.visible{display:block}

.fl-group .iti{width:100%;display:block}
.fl-group .iti input[type="tel"]{
  width:100%;height:48px;border:1.5px solid var(--fl-border);border-radius:var(--fl-radius);
  font-size:15px;font-family:var(--fl-font);color:var(--fl-text);background:#fff;
  transition:border-color .2s,box-shadow .2s;outline:none
}
.fl-group .iti input[type="tel"]::placeholder{color:#A0A0B2}
.fl-group .iti input[type="tel"]:focus{border-color:var(--fl-primary);box-shadow:0 0 0 3px rgba(248,119,77,.12)}
.fl-group .iti input[type="tel"].fl-err{border-color:#D93025}

.iti__country-list,.iti--container{z-index:100001!important;font-family:var(--fl-font)!important}

@keyframes flAutofillStart { from {} to {} }
.fl-group input:-webkit-autofill{
  animation-name: flAutofillStart;
  animation-duration: .001s;
}

.fl-check{display:flex;align-items:flex-start;gap:10px;margin-top:20px;margin-bottom:24px}
.fl-check input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:20px;height:20px;min-width:20px;border:1.5px solid var(--fl-border);border-radius:5px;cursor:pointer;position:relative;top:1px;transition:all .2s}
.fl-check input[type="checkbox"]:checked{background:var(--fl-primary);border-color:var(--fl-primary)}
.fl-check input[type="checkbox"]:checked::after{content:'\2713';position:absolute;color:#fff;font-size:13px;font-weight:700;top:50%;left:50%;transform:translate(-50%,-50%)}
.fl-check label{font-family:var(--fl-font);font-size:13px;line-height:1.5;color:var(--fl-text-sec);cursor:pointer}
.fl-check label a{color:var(--fl-primary);text-decoration:underline;text-underline-offset:2px}

.fl-cta{width:100%;height:52px;border:none;border-radius:var(--fl-radius);background:var(--fl-primary);color:#fff;font-family:var(--fl-font);font-size:16px;font-weight:700;letter-spacing:.3px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s,transform .1s}
.fl-cta:hover{background:var(--fl-primary-hover)}
.fl-cta:active{transform:scale(.985)}
.fl-cta:disabled{opacity:.6;cursor:not-allowed}
.fl-cta .arrow{font-size:18px;transition:transform .2s}
.fl-cta:hover:not(:disabled) .arrow{transform:translateX(3px)}

.fl-trust{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--fl-border);opacity:.55}
.fl-trust span{font-family:var(--fl-font);font-size:12px;color:var(--fl-text-sec);display:flex;align-items:center;gap:4px}

.fl-success{display:none;text-align:center;padding:60px 32px}
.fl-success.visible{display:block}
.fl-success .fl-check-icon{font-size:48px;margin-bottom:16px}
.fl-success h3{font-family:var(--fl-font);font-size:20px;font-weight:700;color:var(--fl-text);margin-bottom:8px}
.fl-success p{font-family:var(--fl-font);font-size:14.5px;color:var(--fl-text-sec);line-height:1.5}

/* Safari country mismatch banner */
.fl-safari-warn{
  display:none;
  background:#FFF8E1;
  border:1.5px solid #FFB300;
  border-radius:var(--fl-radius);
  padding:10px 14px;
  margin-top:8px;
  font-family:var(--fl-font);
  font-size:12.5px;
  line-height:1.5;
  color:#5D4037;
  animation:flWarnIn .25s ease-out;
}
.fl-safari-warn.visible{display:block}
.fl-safari-warn strong{color:#E65100;font-weight:700}
@keyframes flWarnIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:640px){
  .fl-overlay{padding:0;align-items:stretch}
  .fl-box{max-width:100%;border-radius:0;box-shadow:none;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
  .fl-header{padding:56px 24px 0}
  .fl-divider{margin-left:24px;margin-right:24px}
  .fl-body{padding:24px 24px 32px;flex:1;display:flex;flex-direction:column}
  .fl-check{margin-bottom:auto}
  .fl-cta{margin-top:auto}
  .fl-x{top:12px;right:12px;width:40px;height:40px;font-size:24px;background:rgba(0,0,0,.1)}
  .iti__country-list{max-height:60vh!important;font-size:15px!important}
  .iti__country{padding:12px 10px!important}
}
