/* =========================================================
   Component: Exit Popup (SOC Radar, light) — .imea-exit
   Drop-in replacement for the dark version: same markup,
   same class names, same JS hooks (.is-open / .is-done).
   ========================================================= */

.imea-exit{
    --ix-ink:        var(--text-color, #062D1F);
    --ix-primary:    var(--primary-color, #21A55E);
    --ix-lime:       var(--secondary-color, #CCFC00);
    --ix-base:       var(--base-color, #42DA88);
    --ix-surface:    #ffffff;
    --ix-tint:       #F3FAF6;            /* left panel wash */
    --ix-field:      #F8FBF9;            /* input fill */
    --ix-text:       #0E2A1F;
    --ix-muted:      #5E7268;
    --ix-border:     #DCE7E1;
    --ix-border-2:   #C6D7CE;
    --ix-line:       rgba(33, 165, 94, .10);
    --ix-ring:       rgba(33, 165, 94, .18);
    --ix-threat:     #E8664A;
    --ix-error:      #C8432A;
    --ix-font:       "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
    --ix-radius:     14px;
    --ix-sweep:      4s;

    position:fixed;
    inset:0;
    z-index:99999;
    display:grid;
    place-items:center;
    padding:20px;
    box-sizing:border-box;
    font-family:var(--ix-font);
    text-align:left;
    visibility:hidden;
    opacity:0;
    transition:opacity .3s ease, visibility 0s linear .3s;
}
.imea-exit *, .imea-exit *::before, .imea-exit *::after{ box-sizing:border-box; }
.imea-exit.is-open{ visibility:visible; opacity:1; transition:opacity .3s ease; }

.imea-exit__overlay{
    position:absolute;
    inset:0;
    background:rgba(6, 45, 31, .45);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
}

/* ---------- Card shell ---------- */
.imea-exit__console{
    position:relative;
    width:100%;
    max-width:820px;
    max-height:calc(100vh - 40px);
    overflow:auto;
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    background:var(--ix-surface);
    border-radius:var(--ix-radius);
    box-shadow:0 24px 60px rgba(6, 45, 31, .22), 0 2px 6px rgba(6, 45, 31, .06);
    transform:translateY(14px) scale(.985);
    transition:transform .4s cubic-bezier(.2,.9,.25,1.05);
}
.imea-exit.is-open .imea-exit__console{ transform:none; }

/* ---------- Left panel ---------- */
.imea-exit__panel{
    position:relative;
    overflow:hidden;
    padding:28px 26px 24px;
    color:var(--ix-text);
    background:
        linear-gradient(var(--ix-line) 1px, transparent 1px) 0 0 / 28px 28px,
        linear-gradient(90deg, var(--ix-line) 1px, transparent 1px) 0 0 / 28px 28px,
        var(--ix-tint);
    border-right:1px solid var(--ix-border);
    display:flex;
    flex-direction:column;
}
/* fade the grid out behind the copy */
.imea-exit__panel::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 0%, rgba(243,250,246,.7) 45%, var(--ix-tint) 78%);
    pointer-events:none;
}
.imea-exit__panel > *{ position:relative; }

/* Radar */
.imea-exit__radar{
    position:absolute !important;
    top:-48px;
    right:-34px;
    width:200px;
    height:200px;
    border-radius:50%;
    background:
        radial-gradient(circle, transparent 0 32%, rgba(33,165,94,.22) 32% calc(32% + 1px), transparent calc(32% + 1px) 64%, rgba(33,165,94,.18) 64% calc(64% + 1px), transparent calc(64% + 1px) 99%, rgba(33,165,94,.28) 99%),
        linear-gradient(90deg, transparent calc(50% - .5px), rgba(33,165,94,.14) calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px)),
        linear-gradient(0deg,  transparent calc(50% - .5px), rgba(33,165,94,.14) calc(50% - .5px) calc(50% + .5px), transparent calc(50% + .5px)),
        radial-gradient(circle, rgba(66,218,136,.14), transparent 70%);
    z-index:0;
}
.imea-exit__sweep{
    position:absolute;
    inset:0;
    border-radius:50%;
    background:conic-gradient(from 0deg, transparent 0deg 290deg, rgba(33,165,94,.04) 300deg, rgba(33,165,94,.28) 359deg, var(--ix-primary) 360deg);
    -webkit-mask:radial-gradient(circle, #000 70%, transparent 71%);
            mask:radial-gradient(circle, #000 70%, transparent 71%);
    animation:imea-exit-sweep var(--ix-sweep) linear infinite;
}
@keyframes imea-exit-sweep{ to{ transform:rotate(360deg); } }

.imea-exit__blip{
    position:absolute;
    left:var(--x);
    top:var(--y);
    width:8px;
    height:8px;
    margin:-4px 0 0 -4px;
    border-radius:50%;
    background:var(--ix-primary);
    box-shadow:0 0 0 3px rgba(33,165,94,.18);
    opacity:0;
    animation:imea-exit-blip var(--ix-sweep) ease-out var(--d) infinite;
}
.imea-exit__blip--threat{
    background:var(--ix-threat);
    box-shadow:0 0 0 3px rgba(232,102,74,.2);
}
@keyframes imea-exit-blip{
    0%   { opacity:1; transform:scale(1.4); }
    10%  { transform:scale(1); }
    70%  { opacity:.2; }
    100% { opacity:0; }
}

.imea-exit__core{
    position:absolute;
    left:50%;
    top:50%;
    width:36px;
    height:36px;
    margin:-18px 0 0 -18px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--ix-surface);
    border:1px solid rgba(33,165,94,.35);
    box-shadow:0 2px 8px rgba(6,45,31,.08);
    color:var(--ix-primary);
}
.imea-exit__core svg{ width:18px; height:18px; }
.imea-exit__core-check{ opacity:0; transition:opacity .3s; }

/* All clear after submit */
.imea-exit.is-done .imea-exit__blip{ animation:none; opacity:0; }
.imea-exit.is-done .imea-exit__core{ border-color:var(--ix-primary); box-shadow:0 0 0 6px var(--ix-ring); }
.imea-exit.is-done .imea-exit__core-check{ opacity:1; }

.imea-exit__eyebrow{
    margin:auto 0 6px;   /* pushes the copy below the radar */
    padding-top:96px;
    font-size:12.5px;
    font-weight:600;
    color:var(--ix-primary);
}
.imea-exit__title{
    margin:0 0 12px;
    font-family:var(--ix-font);
    font-weight:800;
    font-size:clamp(26px, 3.2vw, 30px);
    line-height:1.05;
    letter-spacing:-.03em;
    color:var(--ix-ink);
}
.imea-exit__lead{
    margin:0 0 18px;
    font-size:13.5px;
    line-height:1.6;
    color:var(--ix-muted);
    max-width:38ch;
}

.imea-exit__compliance{ margin-top:0; }
.imea-exit__compliance-label{
    margin:0 0 7px;
    font-size:12px;
    color:var(--ix-muted);
}
.imea-exit__tags{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.imea-exit__tags li{
    margin:0;
    padding:4px 10px;
    font-size:11.5px;
    font-weight:600;
    line-height:1.2;
    color:var(--ix-ink);
    background:var(--ix-surface);
    border:1px solid var(--ix-border-2);
    border-radius:999px;
}
.imea-exit__tags li::before{ content:none; }

/* ---------- Form panel ---------- */
.imea-exit__main{
    position:relative;
    padding:32px 30px 26px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:var(--ix-text);
    background:var(--ix-surface);
}

.imea-exit__form-title{
    margin:0 0 6px;
    font-family:var(--ix-font);
    font-weight:700;
    font-size:20px;
    letter-spacing:-.015em;
    color:var(--ix-ink);
}
.imea-exit__form-note{
    margin:0 0 20px;
    max-width:46ch;
    font-size:13px;
    line-height:1.5;
    color:var(--ix-muted);
}

/* ---------- Form slot: plain tags, works for the static form and CF7 ---------- */
.imea-exit__form form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 12px;
    align-items:start;
    margin:0;
}
/* Row 1: full name + company email. Everything else spans the full width. */
.imea-exit__form form > *{ grid-column:1 / -1; }
.imea-exit__form form > p:nth-of-type(1),
.imea-exit__form form > p:nth-of-type(2){ grid-column:auto; }
.imea-exit__form p{ margin:0; }
.imea-exit__form label{
    display:block;
    margin-bottom:5px;
    font-size:12.5px;
    font-weight:600;
    color:var(--ix-text);
}
.imea-exit__form label br,
.imea-exit__form p > br{ display:none; }   /* CF7 auto-p line breaks */
.imea-exit__form .wpcf7-form-control-wrap{ display:block; }
.imea-exit__form .hidden-fields-container{ display:none; border:0; margin:0; padding:0; }
.imea-exit__form label .wpcf7-form-control-wrap{ display:block; margin-top:6px; font-weight:400; }

.imea-exit__form input[type="text"],
.imea-exit__form input[type="email"],
.imea-exit__form input[type="tel"]{
    width:100%;
    padding:11px 13px;
    font:400 14px/1.3 var(--ix-font);
    color:var(--ix-text);
    background:var(--ix-field);
    border:1px solid var(--ix-border);
    border-radius:9px;
    outline:none;
    box-shadow:none;
    transition:border-color .2s, box-shadow .2s, background .2s;
}
.imea-exit__form ::placeholder{ color:var(--ix-muted); opacity:.6; }
.imea-exit__form input:hover{ border-color:var(--ix-border-2); }
.imea-exit__form input:focus{
    border-color:var(--ix-primary);
    background:var(--ix-surface);
    box-shadow:0 0 0 3px var(--ix-ring);
}
.imea-exit__form input[aria-invalid="true"],
.imea-exit__form .wpcf7-not-valid{
    border-color:var(--ix-error);
    background:#FFF8F6;
    box-shadow:0 0 0 3px rgba(200,67,42,.12);
}

.imea-exit__error,
.imea-exit__form .wpcf7-not-valid-tip{
    display:block;
    margin-top:5px;
    font-size:11.5px;
    color:var(--ix-error);
    line-height:normal;
}
.imea-exit__error:empty{ display:none; }

.imea-exit__form button,
.imea-exit__form input[type="submit"]{
    width:100%;
    margin-top:4px;
    padding:13px 18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font:600 14.5px/1 var(--ix-font);
    color:#fff;
    background:var(--ix-ink);
    border:0;
    border-radius:9px;
    cursor:pointer;
    transition:background .2s, box-shadow .2s, transform .2s;
}
.imea-exit__form button svg{ width:16px; height:16px; flex:none; }
.imea-exit__form button:hover,
.imea-exit__form input[type="submit"]:hover{
    background:#0A3D2B;
    box-shadow:0 8px 22px rgba(6,45,31,.22), inset 0 -3px 0 var(--ix-lime);
    transform:translateY(-1px);
}
.imea-exit__form .wpcf7-spinner{ display:none; }
.imea-exit__form .wpcf7-response-output{
    margin:4px 0 0 !important;
    padding:10px 14px !important;
    font-size:13.5px;
    color:var(--ix-text);
    background:var(--ix-tint);
    border:1px solid var(--ix-border-2) !important;
    border-radius:9px;
}
.imea-exit__form form.invalid .wpcf7-response-output,
.imea-exit__form form.failed .wpcf7-response-output{
    color:var(--ix-error);
    background:#FFF8F6;
    border-color:rgba(200,67,42,.35) !important;
}
.imea-exit__form form.init .wpcf7-response-output,
.imea-exit__form form.sent .wpcf7-response-output,
.imea-exit__form .wpcf7-response-output:empty{ display:none; }

.imea-exit__privacy{
    margin:12px 0 0;
    font-size:11.5px;
    line-height:1.5;
    color:var(--ix-muted);
    text-align:left;
}
.imea-exit__privacy a{ color:var(--ix-primary); text-underline-offset:2px; }

/* ---------- Success ---------- */
.imea-exit__success{ display:none; padding-top:12px; }
.imea-exit.is-done .imea-exit__intro,
.imea-exit.is-done .imea-exit__form,
.imea-exit.is-done .imea-exit__privacy{ display:none; }
.imea-exit.is-done .imea-exit__success{ display:block; }

.imea-exit__success-icon{
    display:block;
    width:46px;
    height:46px;
    margin:0 0 16px;
    color:var(--ix-primary);
}
.imea-exit__success-icon path{
    stroke-dasharray:1;
    stroke-dashoffset:1;
}
.imea-exit.is-done .imea-exit__success-icon path{ animation:imea-exit-draw .6s ease-out forwards; }
.imea-exit.is-done .imea-exit__success-icon path + path{ animation-delay:.45s; }
@keyframes imea-exit-draw{ to{ stroke-dashoffset:0; } }

.imea-exit__success h3{
    margin:0 0 10px;
    font-family:var(--ix-font);
    font-weight:700;
    font-size:23px;
    letter-spacing:-.02em;
    color:var(--ix-ink);
}
.imea-exit__success p{ margin:0 0 20px; font-size:14px; color:var(--ix-muted); line-height:1.6; max-width:36ch; }
.imea-exit__success button{
    padding:11px 18px;
    font:600 14px/1 var(--ix-font);
    color:var(--ix-ink);
    background:var(--ix-surface);
    border:1px solid var(--ix-border-2);
    border-radius:9px;
    cursor:pointer;
    transition:border-color .2s, background .2s;
}
.imea-exit__success button:hover{ border-color:var(--ix-primary); background:var(--ix-tint); }

/* ---------- Close ---------- */
.imea-exit__close{
    position:absolute;
    top:12px;
    right:12px;
    z-index:2;
    width:32px;
    height:32px;
    padding:0;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:1px solid var(--ix-border);
    background:var(--ix-surface);
    color:var(--ix-muted);
    cursor:pointer;
    transition:background .2s, border-color .2s, color .2s, transform .2s;
}
.imea-exit__close:hover{ background:var(--ix-tint); border-color:var(--ix-border-2); color:var(--ix-ink); transform:rotate(90deg); }
.imea-exit__close svg{ width:12px; height:12px; }

.imea-exit button:focus-visible,
.imea-exit a:focus-visible{ outline:2px solid var(--ix-primary); outline-offset:3px; }

/* ---------- Mobile ---------- */
@media (max-width: 780px){
    .imea-exit{ padding:12px; }
    .imea-exit__console{ grid-template-columns:1fr; max-height:calc(100vh - 24px); }

    .imea-exit__panel{
        padding:20px 18px 18px;
        border-right:0;
        border-bottom:1px solid var(--ix-border);
    }
    .imea-exit__radar{ width:150px; height:150px; top:-40px; right:4px; }
    .imea-exit__eyebrow{ padding-top:56px; }
    .imea-exit__title{ font-size:24px; }
    .imea-exit__lead{ margin-bottom:0; font-size:13px; }
    .imea-exit__compliance{ display:none; }

    .imea-exit__main{ position:static; padding:20px 18px 18px; }   /* close button anchors to the card's top-right */
    .imea-exit__form-title{ font-size:18px; }
    .imea-exit__form-note{ margin-bottom:14px; }
    .imea-exit__form form{ gap:12px; }
    .imea-exit__form form > p:nth-of-type(1),
    .imea-exit__form form > p:nth-of-type(2){ grid-column:1 / -1; }
    .imea-exit__close{ top:14px; right:14px; }
}

@media (prefers-reduced-motion: reduce){
    .imea-exit, .imea-exit__console, .imea-exit__close{ transition:none; }
    .imea-exit__console{ transform:none; }
    .imea-exit__sweep{ animation:none; transform:rotate(45deg); }
    .imea-exit__blip{ animation:none; opacity:.8; }
    .imea-exit.is-done .imea-exit__success-icon path{ animation:none; stroke-dashoffset:0; }
}

body.imea-exit-locked{ overflow:hidden; }