.callreq-lock, .callreq-lock body { overflow: hidden; }
.callreq-overlay { position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,.72); display: flex; align-items: center; justify-content: center; padding: 16px; }
.callreq-overlay[hidden] { display: none; }
.callreq-modal { position: relative; width: 100%; max-width: 520px; max-height: calc(100vh - 32px); overflow-y: auto; background: var(--bg-3,#161616); border: 1px solid var(--line,rgba(255,255,255,.08)); border-top: 4px solid var(--yellow,#f0d41b); border-radius: 8px; padding: 30px 32px 24px; color: #fff; font-family: var(--font, sans-serif); box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.callreq-close { position: absolute; top: 8px; right: 10px; background: none; border: 0; color: var(--muted,#c5c8ce); font-size: 32px; line-height: 1; cursor: pointer; padding: 4px 10px; }
.callreq-close:hover, .callreq-close:focus-visible { color: #fff; }
.callreq-kicker { margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: .14em; color: var(--yellow,#f0d41b); }
.callreq-modal h2 { margin: 0 0 6px; font-size: 26px; line-height: 1.2; }
.callreq-sub { margin: 0 0 18px; color: var(--muted,#c5c8ce); font-size: 15px; }
.callreq-note { margin: 0 0 16px; padding: 10px 14px; border-left: 3px solid var(--yellow,#f0d41b); background: rgba(240,212,27,.08); font-size: 14.5px; }
.callreq-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.callreq-field[hidden] { display: none; }
.callreq-field label { font-size: 13px; font-weight: 700; letter-spacing: .04em; color: #e8eaee; }
.callreq-field .req { color: var(--yellow,#f0d41b); }
.callreq-field input, .callreq-field select { font: inherit; font-size: 16px; color: #fff; background: #0e0e0e; border: 1px solid rgba(255,255,255,.18); border-radius: 6px; padding: 11px 12px; width: 100%; box-sizing: border-box; }
.callreq-field input:focus, .callreq-field select:focus { outline: 2px solid var(--yellow,#f0d41b); outline-offset: 1px; border-color: transparent; }
.callreq-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.callreq-submit { width: 100%; margin-top: 4px; }
.callreq-alt { margin: 12px 0 0; text-align: center; font-size: 14px; color: var(--muted,#c5c8ce); }
.callreq-alt a, .callreq-err a { color: var(--yellow,#f0d41b); font-weight: 700; }
.callreq-err { margin: 0 0 12px; color: #ff8c9b; font-size: 14.5px; }
.callreq-thanks { padding: 22px 18px; border-radius: 6px; background: rgba(240,212,27,.1); border: 1px solid rgba(240,212,27,.35); font-size: 17px; line-height: 1.5; }
.callreq-thanks:focus { outline: none; }
#callreq-page { max-width: 560px; margin: 0 auto; background: var(--bg-3,#161616); border: 1px solid var(--line); border-top: 4px solid var(--yellow,#f0d41b); border-radius: 8px; padding: 30px 32px 24px; }
@media (max-width: 480px) { .callreq-modal, #callreq-page { padding: 26px 18px 20px; } .callreq-row { grid-template-columns: 1fr; } .callreq-modal h2 { font-size: 22px; } }
