/* ══ Jobs.css — Заявки для майстрів /zayavky/… та форма реєстрації підрядника.
   Правити тут; сторінка підключає чанк через site_css() у шаблоні. ══ */

.jobs-page { padding:45px 0 60px; }
.jobs-crumbs { font-size:14px; color:#8A8A8A; margin-bottom:18px; }
.jobs-crumbs a { color:var(--link); text-decoration:none; }
.jobs-crumbs a:hover { text-decoration:underline; }
.jobs-crumbs span { margin:0 8px; }
.jobs-page h1 { font-family:'Poppins',sans-serif; font-size:34px; font-weight:700;
                line-height:46px; color:#414141; margin:0 0 8px; }
.jobs-count { font-size:16px; color:#676767; margin-bottom:34px; }
.jobs-grid { display:grid; grid-template-columns:1fr 320px; gap:40px;
             align-items:start; }
.jobs-list h2, .jobs-cta h2 { font-family:'Poppins',sans-serif; font-size:20px; line-height:1.4;
                              font-weight:600; color:#414141; margin-bottom:16px; }
.jobs-card { border:1px solid var(--line); border-radius:6px;
             padding:15px 18px; margin-bottom:12px; }
.jobs-title { font-size:15px; font-weight:700; color:#414141; }
.jobs-meta { font-size:13px; color:#8A8A8A; margin-top:5px; }
.jobs-empty { font-size:15px; color:#8A8A8A; }
.jobs-cta { position:sticky; top:90px; background:var(--green-l);
            border-radius:8px; padding:24px; }
.jobs-cta p { font-size:14px; line-height:22px; color:#5C6169;
              margin-bottom:18px; }
.fcard h2 { font-family:'Poppins',sans-serif; font-size:18px; font-weight:800;
            color:var(--ink); margin-bottom:15px; letter-spacing:-.3px; }
.fld { margin-bottom:12px; }
.fld > label { display:block; font-size:14px; color:#5C6169; margin-bottom:6px; }
.box { display:flex; align-items:center; gap:10px; background:#fff;
       border:1px solid var(--line); border-radius:8px; padding:0 12px;
       min-height:46px; }
.box:focus-within { border-color:var(--green); }
.box.err { border-color:#d82b2b; }
.box .ic { width:17px; height:17px; flex:none; color:var(--faint); }
.box input, .box textarea, .box select { flex:1; min-width:0; border:0; outline:0; background:none;
    font-family:inherit; font-size:14px; color:var(--ink);
    padding:12px 0; }
.box select { cursor:pointer; }
.box textarea { resize:vertical; min-height:60px; }
.box input::placeholder, .box textarea::placeholder { color:var(--faint); }
.box.phone { padding-left:0; }
.box.phone .cc { display:flex; align-items:center; gap:7px; flex:none;
                 padding:0 10px 0 12px; border-right:1px solid var(--line);
                 align-self:stretch; }
.box.phone .cc svg { width:17px; height:17px; color:var(--faint); }
.box.phone .cc b { font-size:14px; color:var(--ink); }
.box.phone input { letter-spacing:.5px; padding-left:10px; }
.eye { border:0; background:none; padding:0; cursor:pointer; color:var(--faint); }
.eye svg { width:18px; height:18px; display:block; }
.hint { font-size:12px; color:var(--faint); margin-top:6px; }
.err-msg { font-size:13px; color:#d82b2b; font-weight:600;
           margin-top:6px; display:none; }
.err-msg.on { display:block; }
.consent { margin-top:10px; font-size:12px; line-height:1.5; color:#8A8A8A; }
.consent a { color:var(--green-d); font-weight:700; text-decoration:none; }
.consent a:hover { text-decoration:underline; }
.city-dd { position:absolute; top:100%; left:0; right:0; z-index:45;
           background:#fff; border:1px solid var(--line); border-radius:8px;
           margin-top:4px; max-height:230px; overflow-y:auto; display:none;
           box-shadow:0 8px 22px rgba(0,0,0,.12); }
.city-dd.on { display:block; }
.city-dd button { display:block; width:100%; text-align:left; background:none;
                  border:0; padding:10px 13px; font-family:inherit;
                  font-size:14px; color:var(--ink); cursor:pointer; }
.city-dd button:hover { background:var(--green-l); }
.sms-view, .done-view { display:none; text-align:center; padding:8px 0 4px; }
.sms-view.on, .done-view.on { display:block; }
.sms-view .mail, .done-view .ok { width:74px; height:74px;
                                  margin:6px auto 16px; color:var(--green); }
.sms-view h3, .done-view h3 { font-family:'Poppins',sans-serif;
                              font-size:20px; font-weight:800;
                              color:var(--ink); margin-bottom:8px; }
.sms-view .to, .done-view .txt { font-size:14px; line-height:21px;
                                 color:#5C6169; }
.sms-view .ph, .done-view .ph { font-size:17px; font-weight:800;
                                color:var(--ink); margin:4px 0 18px; }
.digits { display:flex; gap:10px; justify-content:center; margin-bottom:10px; }
.digits input { width:48px; height:54px; text-align:center; font-size:22px;
                font-weight:800; font-family:inherit; color:var(--ink);
                border:1px solid var(--line); border-radius:8px;
                outline:0; background:#fff; }
.digits input:focus { border-color:var(--green); }
.digits input.err { border-color:#d82b2b; }
.resend { font-size:14px; color:#5C6169; margin:12px 0 16px; }
.resend a { color:var(--green-d); font-weight:700; cursor:pointer;
            text-decoration:none; }
.resend a.off { color:var(--faint); pointer-events:none; }
@media (max-width:900px) {
  .jobs-page { padding:16px 0 40px; }
  .jobs-page h1 { font-size:24px; line-height:33px; }
  .jobs-count { margin-bottom:22px; }
  .jobs-grid { grid-template-columns:1fr; gap:26px; }
  .jobs-cta { position:static; }
}
