.alfa360-instance{
    --alfa360-dark:#0B1A3D;
    --alfa360-muted:#5E687D;
    --alfa360-border:#DCE2ED;
    position:relative;
}

/* =========================================================
   BLOCO VISÍVEL ANTES DO SHADOWBOX
   ========================================================= */
.alfa360-consultor-section{
    position:relative;
    display:grid;
    grid-template-columns:minmax(220px,270px) minmax(0,1fr);
    align-items:center;
    gap:clamp(28px,5vw,72px);
    overflow:hidden;
    isolation:isolate;
    padding:clamp(34px,5vw,60px);
    border-radius:var(--alfa360-radius,16px);
    background:linear-gradient(145deg,var(--alfa360-bg,#0B1A3D),var(--alfa360-bg-2,#2A4FCC));
    color:var(--alfa360-text,#fff);
    box-shadow:0 18px 45px -28px rgba(11,26,61,.65);
}
.alfa360-consultor-section::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
    background-size:34px 34px;
    -webkit-mask-image:radial-gradient(circle at 85% 20%,#000 10%,transparent 67%);
    mask-image:radial-gradient(circle at 85% 20%,#000 10%,transparent 67%);
}
.alfa360-copy{
    position:relative;
    z-index:2;
    grid-column:2;
    max-width:850px;
    min-width:0;
}
.alfa360-eyebrow{
    margin:0 0 10px!important;
    font-size:12px;
    font-weight:800;
    letter-spacing:2px;
    color:var(--alfa360-accent-2,#FF8552)!important;
}
.alfa360-consultor-section h2{
    max-width:780px;
    margin:0!important;
    color:var(--alfa360-text,#fff)!important;
    font-size:clamp(23px,3vw,38px)!important;
    line-height:1.16;
}
.alfa360-consultor-section h2 span{
    color:var(--alfa360-accent-2,#FF8552)!important;
}
.alfa360-description{
    max-width:790px;
    margin:18px 0 0!important;
    line-height:1.68;
    color:rgba(255,255,255,.84)!important;
}
.alfa360-cta-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:14px 18px;
    margin-top:24px;
}
.alfa360-open-modal{
    min-height:50px;
    padding:13px 22px;
    border:0;
    border-radius:11px;
    cursor:pointer;
    gap:10px;
    text-align:center;
}
.alfa360-open-modal svg{
    width:19px;
    height:19px;
    fill:currentColor;
    transition:transform .22s ease;
}
.alfa360-open-modal:hover svg{transform:translateX(4px)}
.alfa360-cta-note{
    margin:0!important;
    color:rgba(255,255,255,.72)!important;
    font-size:13px;
}

/* Órbita do bloco externo */
.alfa360-orbit{
    position:relative;
    right:auto;
    top:auto;
    grid-column:1;
    justify-self:center;
    width:240px;
    height:240px;
    border-radius:50%;
    z-index:1;
    opacity:.96;
    pointer-events:none;
}
.alfa360-orbit-ring{
    position:absolute;
    inset:0;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 0 55px rgba(92,124,240,.22);
}
.alfa360-orbit-ring--two{
    inset:12.5%;
    border-color:rgba(255,133,82,.42);
    animation:alfa360-spin 14s linear infinite;
}
.alfa360-orbit-ring--two::before,
.alfa360-orbit-ring--two::after{
    content:"";
    position:absolute;
    width:9px;
    height:9px;
    border-radius:50%;
    background:var(--alfa360-accent-2,#FF8552);
    box-shadow:0 0 16px var(--alfa360-accent-2,#FF8552);
}
.alfa360-orbit-ring--two::before{top:18px;left:30px}
.alfa360-orbit-ring--two::after{right:8px;bottom:49px}
.alfa360-orbit-core{
    position:absolute;
    inset:28%;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.25);
    background:rgba(255,255,255,.08);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
    font-weight:900;
    font-size:clamp(25px,2.4vw,32px);
    color:#fff;
}

/* =========================================================
   SHADOWBOX / MODAL
   ========================================================= */
.alfa360-modal[hidden]{display:none!important}
.alfa360-modal{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:clamp(12px,3vw,34px);
}
.alfa360-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(4,10,27,.76);
    -webkit-backdrop-filter:blur(7px);
    backdrop-filter:blur(7px);
    animation:alfa360-fade-in .22s ease both;
}
.alfa360-modal-dialog{
    position:relative;
    z-index:1;
    width:min(1080px,100%);
    max-height:calc(100vh - clamp(24px,6vw,68px));
    overflow:auto;
    overscroll-behavior:contain;
    border:1px solid rgba(255,255,255,.55);
    border-radius:clamp(16px,2vw,24px);
    background:#fff;
    box-shadow:0 32px 90px rgba(2,8,26,.45);
    animation:alfa360-dialog-in .28s cubic-bezier(.2,.8,.2,1) both;
}
.alfa360-modal-layout{
    display:grid;
    grid-template-columns:minmax(280px,.76fr) minmax(0,1.35fr);
    min-height:570px;
}
.alfa360-modal-close{
    position:absolute;
    top:14px;
    right:14px;
    z-index:5;
    display:flex;
    width:42px;
    height:42px;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid #DDE3EE;
    border-radius:50%;
    background:#fff;
    color:#0B1A3D;
    cursor:pointer;
    box-shadow:0 8px 24px rgba(11,26,61,.12);
    transition:transform .2s ease,background .2s ease,color .2s ease;
}
.alfa360-modal-close:hover{
    transform:rotate(5deg) scale(1.04);
    background:#0B1A3D;
    color:#fff;
}
.alfa360-modal-close:focus-visible,
.alfa360-open-modal:focus-visible,
.alfa360-submit:focus-visible,
.alfa360-success-close:focus-visible{
    outline:3px solid rgba(255,133,82,.55);
    outline-offset:3px;
}
.alfa360-modal-close svg{width:21px;height:21px;fill:currentColor}

.alfa360-modal-brand{
    position:relative;
    overflow:hidden;
    display:flex;
    min-width:0;
    padding:clamp(34px,4vw,52px) clamp(24px,3.5vw,42px);
    background:linear-gradient(150deg,var(--alfa360-bg,#0B1A3D),var(--alfa360-bg-2,#2A4FCC));
    color:#fff;
}
.alfa360-modal-brand::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
    background-size:30px 30px;
    -webkit-mask-image:linear-gradient(145deg,#000,transparent 80%);
    mask-image:linear-gradient(145deg,#000,transparent 80%);
}
.alfa360-modal-brand-content{position:relative;z-index:2;align-self:center}
.alfa360-modal-badge{
    display:inline-flex;
    padding:7px 11px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:999px;
    background:rgba(255,255,255,.08);
    color:#FFD3BF;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.7px;
}
.alfa360-modal-brand h3{
    margin:20px 0 0!important;
    color:#fff!important;
    font-size:clamp(23px,2.3vw,34px)!important;
    line-height:1.18;
}
.alfa360-modal-brand p{
    margin:17px 0 0!important;
    color:rgba(255,255,255,.79)!important;
    line-height:1.62;
}
.alfa360-modal-benefits{
    display:grid;
    gap:11px;
    margin:25px 0 0;
    padding:0;
    list-style:none;
}
.alfa360-modal-benefits li{
    display:flex;
    align-items:flex-start;
    gap:9px;
    color:#fff;
    font-size:14px;
    line-height:1.45;
}
.alfa360-modal-benefits li span{
    display:inline-flex;
    flex:0 0 21px;
    width:21px;
    height:21px;
    align-items:center;
    justify-content:center;
    margin-top:-1px;
    border-radius:50%;
    background:rgba(255,133,82,.18);
    color:#FFB18E;
    font-weight:900;
}
.alfa360-modal-orbit{
    position:absolute;
    right:-105px;
    bottom:-110px;
    width:275px;
    height:275px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:50%;
    opacity:.7;
}
.alfa360-modal-orbit span{
    position:absolute;
    inset:38px;
    border:1px solid rgba(255,133,82,.35);
    border-radius:50%;
}
.alfa360-modal-orbit strong{
    position:absolute;
    inset:87px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.16);
    border-radius:50%;
    color:rgba(255,255,255,.8);
    font-size:24px;
}

.alfa360-modal-form-panel{
    min-width:0;
    padding:clamp(38px,4.5vw,58px) clamp(24px,4vw,52px) clamp(30px,4vw,46px);
    background:#fff;
    color:#0B1A3D;
}
.alfa360-modal-header{padding-right:45px}
.alfa360-modal-kicker{
    margin:0 0 8px!important;
    color:var(--alfa360-accent,#E8622C)!important;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.55px;
}
.alfa360-modal-header h2{
    margin:0!important;
    color:#0B1A3D!important;
    font-size:clamp(24px,2.8vw,36px)!important;
    line-height:1.18;
}
.alfa360-modal-header > p:last-child{
    max-width:680px;
    margin:11px 0 0!important;
    color:#5E687D!important;
    line-height:1.57;
}

/* Formulário claro, com contraste explícito */
.alfa360-form{position:relative;z-index:2;min-width:0;margin-top:26px}
.alfa360-fields{
    display:grid;
    grid-template-columns:repeat(var(--alfa360-columns,2),minmax(0,1fr));
    gap:15px;
}
.alfa360-field{min-width:0}
.alfa360-field--full{grid-column:1/-1}
.alfa360-field label{
    display:block;
    margin:0 0 7px;
    color:#17223C!important;
    font-size:12px;
    font-weight:800;
    letter-spacing:.1px;
}
.alfa360-field label span{color:var(--alfa360-accent,#E8622C)}
.alfa360-field input,
.alfa360-field select,
.alfa360-field textarea{
    width:100%;
    min-height:48px;
    box-sizing:border-box;
    padding:11px 13px;
    border:1px solid #D9E0EB;
    border-radius:10px;
    background:#F6F8FC!important;
    color:#0B1A3D!important;
    caret-color:#0B1A3D;
    font:inherit;
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.alfa360-field textarea{min-height:105px;resize:vertical}
.alfa360-field input::placeholder,
.alfa360-field textarea::placeholder{color:#7B859A!important;opacity:1}
.alfa360-field select option{color:#0B1A3D;background:#fff}
.alfa360-field input:focus,
.alfa360-field select:focus,
.alfa360-field textarea:focus{
    outline:0;
    border-color:var(--alfa360-accent,#E8622C);
    box-shadow:0 0 0 3px rgba(232,98,44,.14);
    background:#fff!important;
}
.alfa360-submit{
    width:100%;
    min-height:51px;
    margin-top:18px;
    cursor:pointer;
    border-radius:10px;
}
.alfa360-button-loading{display:none}
.alfa360-form.is-loading .alfa360-button-label{display:none}
.alfa360-form.is-loading .alfa360-button-loading{display:inline}
.alfa360-form.is-loading .alfa360-submit{pointer-events:none;opacity:.78}
.alfa360-feedback{
    display:none;
    margin-top:13px;
    padding:12px 14px;
    border-radius:10px;
    font-size:14px;
    line-height:1.48;
}
.alfa360-feedback.is-success{
    display:block;
    border:1px solid #A8E1BE;
    background:#EAF8EF;
    color:#145A32!important;
}
.alfa360-feedback.is-error{
    display:block;
    border:1px solid #F0B4AD;
    background:#FFF0EE;
    color:#8D241A!important;
}
.alfa360-privacy-note{
    margin:11px 0 0!important;
    color:#7A8497!important;
    font-size:11px;
    line-height:1.45;
    text-align:center;
}
/* Estado final após o envio */
.alfa360-modal-form-panel.is-success{
    display:flex;
    align-items:center;
    justify-content:center;
}
.alfa360-modal-header[hidden],
.alfa360-form[hidden],
.alfa360-success-state[hidden]{display:none!important}
.alfa360-success-state{
    width:100%;
    max-width:590px;
    margin:auto;
    padding:24px 0;
    text-align:center;
    color:#0B1A3D;
}
.alfa360-success-icon{
    display:flex;
    width:76px;
    height:76px;
    align-items:center;
    justify-content:center;
    margin:0 auto 20px;
    border-radius:50%;
    background:linear-gradient(145deg,#EAF8EF,#DDF4E6);
    box-shadow:0 12px 28px rgba(23,123,68,.13);
}
.alfa360-success-icon svg{width:38px;height:38px;fill:#168447}
.alfa360-success-kicker{
    margin:0 0 9px!important;
    color:var(--alfa360-accent,#E8622C)!important;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.6px;
}
.alfa360-success-state h2{
    margin:0!important;
    color:#0B1A3D!important;
    font-size:clamp(27px,3.2vw,39px)!important;
    line-height:1.18;
}
.alfa360-success-message{
    max-width:510px;
    margin:15px auto 0!important;
    color:#5E687D!important;
    font-size:15px;
    line-height:1.7;
}
.alfa360-success-close{
    min-width:180px;
    min-height:49px;
    margin-top:25px;
    padding:12px 23px;
    border:0;
    border-radius:10px;
    cursor:pointer;
}

.alfa360-honeypot{
    position:absolute!important;
    left:-99999px!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important;
}
body.alfa360-modal-open{overflow:hidden!important}

@keyframes alfa360-spin{to{transform:rotate(360deg)}}
@keyframes alfa360-fade-in{from{opacity:0}to{opacity:1}}
@keyframes alfa360-dialog-in{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:none}}

@media (max-width:900px){
    .alfa360-consultor-section{grid-template-columns:minmax(190px,220px) minmax(0,1fr);gap:28px}
    .alfa360-orbit{width:210px;height:210px}
    .alfa360-modal-layout{grid-template-columns:1fr;min-height:0}
    .alfa360-modal-brand{min-height:220px;padding:34px 72px 32px 28px}
    .alfa360-modal-brand-content{max-width:680px}
    .alfa360-modal-benefits{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
    .alfa360-modal-orbit{right:-95px;bottom:-125px}
}
@media (max-width:768px){
    .alfa360-consultor-section{
        grid-template-columns:1fr;
        gap:24px;
        padding:30px 20px 32px;
        text-align:center;
    }
    .alfa360-orbit{
        grid-column:1;
        grid-row:1;
        width:min(300px,82vw);
        height:min(300px,82vw);
        margin:-4px auto 2px;
        opacity:1;
    }
    .alfa360-orbit-core{font-size:clamp(32px,10vw,42px)}
    .alfa360-copy{grid-column:1;grid-row:2;max-width:680px;margin:0 auto}
    .alfa360-consultor-section h2,
    .alfa360-description{margin-left:auto!important;margin-right:auto!important}
    .alfa360-cta-actions{justify-content:center;align-items:stretch}
    .alfa360-open-modal{width:100%;max-width:520px;margin:0 auto}
    .alfa360-cta-note{width:100%;text-align:center}
}
@media (max-width:640px){
    .alfa360-modal{padding:8px}
    .alfa360-modal-dialog{max-height:calc(100vh - 16px);border-radius:15px}
    .alfa360-modal-close{position:fixed;top:16px;right:16px;width:39px;height:39px}
    .alfa360-modal-brand{min-height:auto;padding:30px 58px 28px 22px}
    .alfa360-modal-brand h3{font-size:24px!important}
    .alfa360-modal-brand p{font-size:14px}
    .alfa360-modal-benefits{grid-template-columns:1fr;gap:8px;margin-top:18px}
    .alfa360-modal-orbit{display:none}
    .alfa360-modal-form-panel{padding:27px 20px 25px}
    .alfa360-modal-header{padding-right:0}
    .alfa360-fields{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
    .alfa360-orbit-ring--two{animation:none}
    .alfa360-modal-backdrop,.alfa360-modal-dialog{animation:none}
    .alfa360-open-modal svg,.alfa360-modal-close{transition:none}
}

/* Botões autossuficientes do plugin */
.alfa360-instance .alfa360-open-modal,
.alfa360-instance .alfa360-submit,
.alfa360-instance .alfa360-success-close{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    isolation:isolate;
    border:0;
    background:linear-gradient(135deg,var(--alfa360-accent,#E8622C),var(--alfa360-accent-2,#FF8552) 55%,var(--alfa360-accent,#E8622C));
    color:#fff!important;
    font-weight:800;
    letter-spacing:.32px;
    box-shadow:0 11px 25px -8px rgba(232,98,44,.5),inset 0 1px 0 rgba(255,255,255,.34);
    transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.alfa360-instance .alfa360-open-modal:hover,
.alfa360-instance .alfa360-submit:hover,
.alfa360-instance .alfa360-success-close:hover{
    transform:translateY(-2px);
    filter:brightness(1.035);
    box-shadow:0 15px 31px -8px rgba(232,98,44,.58),inset 0 1px 0 rgba(255,255,255,.38);
}
.alfa360-instance .alfa360-open-modal:active,
.alfa360-instance .alfa360-submit:active,
.alfa360-instance .alfa360-success-close:active{transform:translateY(0)}
