
/* Opineo Funnel CSS */
:root{--bg:#07090f;--card:#0f1526;--mint:#1de9a4;--mintbg:rgba(29,233,164,.09);--mintbd:rgba(29,233,164,.2);--text:#d8e8f8;--muted:#6474a0;--muted2:#3a4868;--r:16px;--amber:#f6a429}
*{box-sizing:border-box;margin:0;padding:0}
body.opineo-funnel-body{background:var(--bg);font-family:'DM Sans',system-ui,sans-serif;min-height:100vh;color:var(--text);line-height:1.6}
#op-funnel{min-height:auto;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem}
.op-step{display:none;width:100%;max-width:480px;margin:0 auto}
.op-step.op-step-active{display:block}
.op-card{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:2.5rem 2rem;box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 40px rgba(29,233,164,.05)}
.op-logo{width:80px;height:80px;object-fit:cover;border-radius:16px;margin:0 auto 1.25rem;display:block;border:2px solid rgba(255,255,255,.1)}
.op-firm{font-family:'Syne',sans-serif;font-size:1.55rem;font-weight:800;text-align:center;margin-bottom:.4rem;color:var(--text)}
.op-tagline{text-align:center;color:var(--muted);margin-bottom:1.75rem;font-size:1rem}
.op-stars{display:flex;justify-content:center;gap:.5rem;margin-bottom:.5rem}
.op-star{background:none;border:none;font-size:2.8rem;color:#2c3e5c;cursor:pointer;transition:color .15s,transform .15s;line-height:1;padding:0 .1rem}
.op-star:hover,.op-star.active{color:#fbbf24;transform:scale(1.1)}
.op-stars-hint{text-align:center;color:var(--muted2);font-size:.83rem;min-height:1.2em}
.op-field{display:flex;flex-direction:column;gap:.35rem;margin-top:1rem}
.op-field label{font-size:.82rem;color:var(--muted);font-weight:500}
.op-field input[type=email],.op-field input[type=tel],.op-field input[type=text],.op-field input[type=url],.op-field textarea,.op-field select{background:#0b0f1e;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text);font-family:inherit;font-size:.95rem;padding:.75rem .9rem;outline:none;transition:border-color .2s;width:100%}
.op-field input:focus,.op-field textarea:focus{border-color:var(--mintbd)}
.op-field textarea{resize:vertical;min-height:80px}
.op-field-err{color:#ff4f5e;font-size:.78rem}
.op-consents{margin-top:1.25rem;display:flex;flex-direction:column;gap:.75rem}
.op-check{display:flex;gap:.65rem;align-items:flex-start;cursor:pointer}
.op-check input{margin-top:.2rem;flex-shrink:0;accent-color:var(--mint)}
.op-check span{font-size:.82rem;color:var(--muted);line-height:1.55}
.op-check span a{color:var(--mint)}
.op-check.required span{color:var(--text)}
.op-btn-primary{width:100%;background:var(--mint);color:#030d07;font-family:'Syne',system-ui,sans-serif;font-size:.97rem;font-weight:700;padding:.9rem 1.5rem;border:none;border-radius:99px;cursor:pointer;transition:all .22s;margin-top:1.25rem;display:block;text-align:center;text-decoration:none}
.op-btn-primary:hover{background:#44ffbe;transform:translateY(-2px);box-shadow:0 5px 20px rgba(29,233,164,.3)}
.op-btn-secondary{width:100%;background:transparent;color:var(--muted);font-family:inherit;font-size:.88rem;font-weight:500;padding:.7rem 1.5rem;border:1px solid rgba(255,255,255,.1);border-radius:99px;cursor:pointer;transition:all .2s;margin-top:.6rem;display:block;text-align:center;text-decoration:none}
.op-btn-secondary:hover{color:var(--text);border-color:rgba(255,255,255,.2)}
.op-mt{margin-top:1.25rem!important}
.op-loading{text-align:center;color:var(--muted);font-size:.9rem;padding:1rem 0}
.op-error{background:rgba(255,79,94,.1);border:1px solid rgba(255,79,94,.25);border-radius:10px;padding:.75rem 1rem;color:#ff4f5e;font-size:.9rem;margin-top:.75rem}
.op-big-icon{font-size:3.5rem;text-align:center;margin:1rem 0}
.op-text-center{text-align:center}
.op-text-center h2{font-family:'Syne',system-ui,sans-serif;font-size:1.4rem;margin-bottom:.75rem}
.op-text-center p{color:var(--muted)}
.op-divider{height:1px;background:rgba(255,255,255,.07);margin:1.5rem 0}
.op-small{color:var(--muted2);font-size:.83rem}
.op-code-info{background:var(--mintbg);border:1px solid var(--mintbd);border-radius:10px;padding:1rem;color:var(--mint);font-size:.9rem;margin-top:.75rem}
.op-landing-content{margin-bottom:1.5rem}

/* Landing peek */
#op-landing-peek{
    text-align:center;
    padding:20px 0 0;
    cursor:pointer;
    position:relative;
}
#op-landing-peek-label{
    display:inline-block;
    background:#0f1526;
    border:1px solid rgba(29,233,164,0.3);
    color:#1de9a4;
    padding:10px 24px;
    border-radius:24px;
    font-size:.9rem;
    font-weight:600;
    transition:all .2s;
    box-shadow:0 4px 20px rgba(29,233,164,0.1);
}
#op-landing-peek:hover #op-landing-peek-label{
    background:rgba(29,233,164,0.1);
    box-shadow:0 4px 28px rgba(29,233,164,0.2);
}
.op-landing-collapsed{
    max-height:220px;
    overflow:hidden;
    position:relative;
    pointer-events:none;
}
.op-landing-collapsed::after{
    content:'';
    position:absolute;
    bottom:0;left:0;right:0;
    height:120px;
    background:linear-gradient(transparent,#07090f);
    pointer-events:none;
}
#op-landing-section:not(.op-landing-collapsed){
    max-height:none;
    overflow:visible;
}
#op-landing-section:not(.op-landing-collapsed)::after{
    display:none;
}
