/* ============================================================
   Buttons / chips / forms
   ============================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1.5px solid var(--line2);background:var(--panel2);color:var(--txt);
  padding:.72rem 1.15rem;border-radius:99px;font-weight:800;font-size:.82rem;letter-spacing:.02em;cursor:pointer;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px);border-color:var(--accent)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-sm{padding:.5rem .78rem;font-size:.74rem}
.btn-primary{background:linear-gradient(115deg,var(--accent),#ff617f);border-color:transparent;color:#fff;box-shadow:var(--glow)}
.btn-primary:hover{filter:brightness(1.07);box-shadow:0 22px 60px -20px rgba(255,43,94,.9)}
.btn-violet{background:linear-gradient(115deg,var(--accent2),#b18bff);border-color:transparent;color:#fff}
.btn-lime{background:var(--accent3);border-color:transparent;color:#08080c}
.btn-lime:hover{filter:brightness(1.05)}
.btn-ghost{background:transparent}
.btn-icon{padding:.6rem;width:40px;height:40px;border-radius:99px;display:inline-grid;place-items:center}
.btn-block{width:100%}
.btn[disabled]{opacity:.45;pointer-events:none}
.btn-fav-on{color:var(--accent);border-color:var(--accent)}

.chip{display:inline-flex;align-items:center;gap:6px;padding:.42rem .8rem;border-radius:99px;border:1.2px solid var(--line);background:#0e0e15;font-size:.75rem;font-weight:700;color:var(--muted);transition:.2s;cursor:pointer}
.chip:hover{color:var(--txt);border-color:var(--line2)}
.chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.chip-static{cursor:default}
.chip-static:hover{border-color:var(--line);color:var(--muted)}

label.f{display:block;margin-bottom:14px}
label.f > span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.inp,select.inp,textarea.inp{width:100%;background:#0c0c12;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:.78rem .9rem;font-size:.9rem;outline:none;transition:.2s}
.inp:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,43,94,.14)}
textarea.inp{min-height:110px;resize:vertical}
select.inp{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238e8ea3' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:15px;padding-right:2rem;cursor:pointer}
.err{color:#ff6b6b;font-size:.74rem;font-weight:700;margin-top:6px;display:none}
.err.show{display:block}

