/* ── Equalza Disclaimer Generator ─────────────────────────────────── */
.dcl{--bg:#f5f6f8;--surface:#fff;--border:#e2e5ea;--border2:#c8cdd6;--accent:#6366f1;--accent-h:#4f46e5;--accent-light:#eef2ff;--accent-mid:#c7d2fe;--text:#111827;--text2:#4b5563;--text3:#9ca3af;--green:#059669;--green-bg:#ecfdf5;--red:#dc2626;--red-bg:#fef2f2;--r:8px;--rl:12px;--rxl:16px;font-family:system-ui,-apple-system,sans-serif;color:var(--text)}

/* ── Legal notice banner ─────────────────────────────────────────── */
.dcl-legal-notice{display:flex;gap:10px;align-items:flex-start;background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--rl);padding:14px 18px;margin-bottom:24px;font-size:.875rem;line-height:1.6;color:#92400e}
.dcl-legal-notice svg{flex-shrink:0;margin-top:2px;color:#d97706}
.dcl-legal-notice--sm{font-size:.8125rem;padding:10px 14px;margin-bottom:16px}

/* ── Progress bar ────────────────────────────────────────────────── */
#dcl-progress{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:32px}
.dcl-progress-step{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:1}
.dcl-progress-dot{width:36px;height:36px;border-radius:50%;background:var(--border);color:var(--text3);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;transition:all .25s}
.dcl-progress-step.active .dcl-progress-dot{background:var(--accent)!important;color:#fff!important}
.dcl-progress-step.done .dcl-progress-dot{background:var(--green)!important;color:#fff!important}
.dcl-progress-label{font-size:.75rem;color:var(--text3);white-space:nowrap}
.dcl-progress-step.active .dcl-progress-label{color:var(--accent);font-weight:600}
.dcl-progress-line{flex:1;height:3px;background:var(--border);margin:0 8px;margin-bottom:22px;max-width:100px}

/* ── Form ────────────────────────────────────────────────────────── */
.dcl-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.dcl-form-group{display:flex;flex-direction:column;gap:6px}
.dcl-form-label{font-size:.8125rem;font-weight:600;color:var(--text2)}
.dcl-input{border:1.5px solid var(--border);border-radius:var(--r);padding:10px 14px;font-size:.9rem;background:var(--surface);color:var(--text);transition:border-color .15s,box-shadow .15s;outline:none}
.dcl-input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-light)!important}
select.dcl-input{cursor:pointer}

/* ── Tone cards ──────────────────────────────────────────────────── */
.dcl-tone-group{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
.dcl-tone-card{display:block;cursor:pointer;border:2px solid var(--border);border-radius:var(--rl);padding:16px;transition:all .2s;background:var(--surface)}
.dcl-tone-card:hover{border-color:var(--accent-mid)}
.dcl-tone-card.selected{border-color:var(--accent)!important;background:var(--accent-light)!important}
.dcl-tone-card input{display:none}
.dcl-tone-inner{display:flex;flex-direction:column;gap:4px}
.dcl-tone-inner strong{font-size:.9rem;color:var(--text)}
.dcl-tone-inner span{font-size:.75rem;color:var(--text3)}

/* ── Toggles ─────────────────────────────────────────────────────── */
.dcl-toggles{display:flex;flex-direction:column;gap:12px;margin:20px 0}
.dcl-toggle-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid var(--border);border-radius:var(--rl);background:var(--surface);transition:border-color .15s}
.dcl-toggle-item:hover{border-color:var(--accent-mid)}
.dcl-toggle-text{display:flex;flex-direction:column;gap:2px}
.dcl-toggle-text strong{font-size:.875rem;color:var(--text)}
.dcl-toggle-text span{font-size:.75rem;color:var(--text3)}
.dcl-toggle-switch{-webkit-appearance:none;appearance:none;width:48px;height:26px;background:var(--border2);border-radius:13px;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0;outline:none;border:none}
.dcl-toggle-switch::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:transform .2s}
.dcl-toggle-switch:checked{background:var(--accent)!important}
.dcl-toggle-switch:checked::after{transform:translateX(22px)}

/* ── Navigation ──────────────────────────────────────────────────── */
.dcl-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:12px}

/* ── Buttons ─────────────────────────────────────────────────────── */
.dcl-btn-primary{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:12px 28px!important;background:linear-gradient(135deg,var(--accent),var(--accent-h))!important;color:#fff!important;border:none!important;border-radius:var(--r)!important;font-size:.9rem!important;font-weight:600!important;cursor:pointer!important;transition:transform .15s,box-shadow .15s!important;box-shadow:0 2px 8px rgba(99,102,241,.3)!important}
.dcl-btn-primary:hover{transform:translateY(-1px)!important;box-shadow:0 4px 16px rgba(99,102,241,.4)!important}
.dcl-btn-ghost{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:10px 20px!important;background:transparent!important;color:var(--text2)!important;border:1.5px solid var(--border)!important;border-radius:var(--r)!important;font-size:.85rem!important;font-weight:500!important;cursor:pointer!important;transition:all .15s!important}
.dcl-btn-ghost:hover{border-color:var(--accent)!important;color:var(--accent)!important}
.dcl-btn-ghost-red:hover{border-color:var(--red)!important;color:var(--red)!important}
.dcl-btn-generate{width:100%;justify-content:center;padding:16px 28px!important;font-size:1rem!important;margin-bottom:8px}

/* ── Tabs ────────────────────────────────────────────────────────── */
.dcl-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:16px;overflow-x:auto}
.dcl-tab{padding:10px 18px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:.85rem;font-weight:500;color:var(--text3);cursor:pointer;white-space:nowrap;transition:all .15s}
.dcl-tab:hover{color:var(--text2)}
.dcl-tab.active{color:var(--accent)!important;border-bottom-color:var(--accent)!important;font-weight:600}
.dcl-tab-content{display:none}
.dcl-tab-content.active{display:block}

/* ── Output ──────────────────────────────────────────────────────── */
.dcl-preview{max-height:500px;overflow-y:auto;padding:24px;border:1px solid var(--border);border-radius:var(--rl);background:var(--surface);line-height:1.7}
.dcl-preview h1{font-size:1.5em;border-bottom:2px solid var(--border);padding-bottom:10px;margin:0 0 16px}
.dcl-preview h2{font-size:1.15em;color:var(--accent);margin:24px 0 8px}
.dcl-preview p{margin:0.6em 0;color:var(--text2)}
.dcl-code-output{max-height:400px;overflow:auto;padding:20px;border-radius:var(--rl);background:#1e1e2e;color:#cdd6f4;font-family:'Fira Code',Consolas,monospace;font-size:.8rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;border:none}
.dcl-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}

/* ── Modal ───────────────────────────────────────────────────────── */
.dcl-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.dcl-modal-box{background:var(--surface);border-radius:var(--rxl);padding:32px;max-width:420px;width:100%;text-align:center}
.dcl-modal-box h3{margin:0 0 12px;font-size:1.15rem;color:var(--text)}
.dcl-modal-box p{margin:0 0 8px;font-size:.9rem;color:var(--text2)}
.dcl-gate-ok{color:var(--green)!important;font-weight:500}
.dcl-modal-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}

/* ── Privacy banner ──────────────────────────────────────────────── */
.dcl-privacy{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;margin-top:24px;font-size:.8rem;color:var(--text3);border-top:1px solid var(--border)}

/* ── Toast ────────────────────────────────────────────────────────── */
#dcl-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:#1e293b;color:#fff;padding:12px 24px;border-radius:var(--r);font-size:.85rem;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none;z-index:10000}
#dcl-toast.show{opacity:1!important;transform:translateX(-50%) translateY(0)!important}

/* ── RTL ─────────────────────────────────────────────────────────── */
[dir="rtl"] .dcl-toggle-switch::after{left:auto;right:3px}
[dir="rtl"] .dcl-toggle-switch:checked::after{transform:translateX(-22px)}
[dir="rtl"] .dcl-nav{flex-direction:row-reverse}

/* ── Responsive ──────────────────────────────────────────────────── */
@media(max-width:768px){
    .dcl-form-row{grid-template-columns:1fr}
    .dcl-tone-group{grid-template-columns:1fr}
    .dcl-progress-label{display:none}
    .dcl-actions{flex-direction:column}
    .dcl-actions .dcl-btn-primary,.dcl-actions .dcl-btn-ghost{width:100%;justify-content:center}
    .dcl-tabs{gap:0}
    .dcl-tab{padding:8px 12px;font-size:.8rem}
}
