/* ============================================================
   VIDYA · /help and /feedback
   Builds on shared.css (.field, .btn, .page-head) and the contact page's look.
   ============================================================ */

.sp-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:64px;align-items:start;padding-top:64px;padding-bottom:96px}
@media (max-width:900px){.sp-grid{grid-template-columns:1fr;gap:40px;padding-top:40px;padding-bottom:72px}}
.sp-card{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:36px;box-shadow:var(--shadow-1)}
@media (max-width:540px){.sp-card{padding:22px 18px}}
.sp-card .btn{height:48px;font-size:11.5px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:540px){.field-row{grid-template-columns:1fr;gap:0}}
.opt-hint{color:var(--ink-300);font-weight:500;text-transform:none;letter-spacing:0}
.field.has-error input,.field.has-error textarea,.field [aria-invalid=true]{border-color:var(--signal-error)}

/* The error and fallback line. The link inside it is the way out, so it must look like one. */
.form-error{font-size:13px;line-height:1.5;color:#7A2828;background:#FBEDED;border:1px solid #E8C9C9;border-radius:6px;padding:12px 14px;margin:0 0 16px}
.form-error a{color:inherit;text-decoration:underline;text-underline-offset:2px;font-weight:600}
.form-error:focus{outline:none}

/* The spam trap. Off screen rather than display:none, which some bots skip. */
.sp-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}

/* Topic chips (help) */
.chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 22px;padding:0;border:0}
@media (max-width:420px){.chips{grid-template-columns:1fr}}
.chips legend{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-4);margin-bottom:10px;padding:0}
.chips input{position:absolute;opacity:0;pointer-events:none}
.chips label{display:flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--ink-200);border-radius:6px;font-size:13.5px;font-weight:500;color:var(--ink-700);background:var(--white);cursor:pointer;line-height:1.3;transition:border-color .15s var(--ease-out),background .15s var(--ease-out)}
.chips label:hover{border-color:var(--ink-300)}
.chips input:checked + label{border-color:var(--accent-deep);background:var(--accent-soft);color:var(--ink-900)}
.chips input:focus-visible + label{outline:var(--focus-outline);outline-offset:2px}

/* Survey questions (feedback) */
.q-set{border:0;margin:0 0 30px;padding:0;min-width:0}
.q-set legend,.q-label{display:flex;gap:12px;align-items:baseline;padding:0;margin:0 0 6px;font-size:16px;font-weight:600;color:var(--ink-900);letter-spacing:-.005em;line-height:1.35}
.q-n{flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-size:12px;font-weight:700;transform:translateY(-1px)}
.q-help{margin:0 0 14px 36px;font-size:13.5px;color:var(--fg-3);line-height:1.5}
@media (max-width:540px){.q-help{margin-left:0}}
.q-set.has-error .opts{outline:1px solid var(--signal-error);outline-offset:6px;border-radius:6px}
.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.opts.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.opts.one{grid-template-columns:1fr}
@media (max-width:640px){.opts,.opts.three{grid-template-columns:1fr}}
.opt{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border:1px solid var(--ink-200);border-radius:6px;background:var(--white);cursor:pointer;font-size:14px;line-height:1.4;color:var(--ink-700);transition:border-color .15s var(--ease-out),background .15s var(--ease-out)}
.opt:hover{border-color:var(--ink-300)}
.opt input{flex:none;margin:2px 0 0;width:16px;height:16px;accent-color:var(--accent-deep)}
.opt small{display:block;color:var(--fg-4);font-size:12.5px;margin-top:2px}
.opt:has(input:checked){border-color:var(--accent-deep);background:var(--accent-soft);color:var(--ink-900)}
.opt:has(input:focus-visible){outline:var(--focus-outline);outline-offset:2px}

/* 1 to 5 */
.rating{display:flex;gap:8px;flex-wrap:wrap}
.rating input{position:absolute;opacity:0;pointer-events:none}
.rating label{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--ink-200);border-radius:8px;font-size:16px;font-weight:600;color:var(--ink-700);cursor:pointer;background:var(--white)}
.rating input:checked + label{border-color:var(--accent-deep);background:var(--accent-soft);color:var(--ink-900)}
.rating input:focus-visible + label{outline:var(--focus-outline);outline-offset:2px}
.rating-ends{display:flex;justify-content:space-between;max-width:272px;margin-top:6px;font-size:12px;color:var(--fg-4)}

.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-700);line-height:1.45;margin:4px 0 22px;cursor:pointer}
.check input{margin:3px 0 0;width:16px;height:16px;accent-color:var(--accent-deep);flex:none}

.sp-foot{font-size:11.5px;color:var(--fg-4);margin:14px 0 0;text-align:center;letter-spacing:.02em}

/* Sent */
.sp-sent{text-align:center;padding:28px 8px}
.sp-sent .ok{width:48px;height:48px;border-radius:50%;background:rgba(79,149,131,.12);color:var(--signal-success);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;border:1px solid rgba(79,149,131,.38)}
.sp-sent .ok svg{width:22px;height:22px;display:block}
.sp-sent h2{margin:0 0 8px}
.sp-sent p{font-size:14.5px;color:var(--fg-3);margin:0 auto 8px;max-width:42ch;line-height:1.55}
.sp-sent .ref{font-size:12px;color:var(--fg-4);letter-spacing:.04em}
.sp-sent .again{margin-top:18px;background:none;border:0;color:var(--accent-text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* Side column */
.sp-side{position:sticky;top:88px;display:flex;flex-direction:column;gap:16px}
@media (max-width:900px){.sp-side{position:static}}
.info-block{border:1px solid var(--border);border-radius:8px;padding:22px 24px;background:var(--white)}
.info-block .lbl{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-text);margin-bottom:10px}
.info-block .val{font-size:15px;color:var(--ink-900);font-weight:500;line-height:1.5}
.info-block p{margin:0;font-size:14px;color:var(--fg-3);line-height:1.55}
.info-block a{color:var(--ink-900);border-bottom:1px solid var(--ink-200);text-decoration:none;transition:border-color .15s var(--ease-out)}
.info-block a:hover{border-color:var(--accent-deep)}
.info-block .go{display:inline-block;margin-top:10px;font-size:13px;font-weight:600}
