/* Beltway practice test. Colours and fonts come from the --bda-* tokens in the
   "Beltway Foundations" global stylesheet; nothing here defines a colour of its own
   except the two semantic reds for a wrong answer, which the brand palette lacks. */
.bda-quiz{--bda-bad:#A63A2B;--bda-bad-tint:#F8E7E3;--bda-brand-tint:#F3EBD6;inline-size:100%;max-inline-size:860px;margin-inline:auto;font-family:var(--bda-font-body);color:var(--bda-ink);font-size:1.02rem;line-height:1.55}
.bda-quiz *{box-sizing:border-box}
.bda-quiz p{margin:0}
.bda-quiz [hidden]{display:none!important}
.bda-quiz__muted{color:var(--bda-ink-soft);font-size:.95rem;line-height:1.6}
.bda-quiz__label,.bda-quiz__eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bda-brand)}
.bda-quiz__eyebrow{display:block}
.bda-quiz__eyebrow-onbrand{color:var(--bda-accent)}
.bda-quiz__h2{margin:.5rem 0 0;font-family:var(--bda-font-heading);font-weight:700;font-size:clamp(1.4rem,2.6vw,1.8rem);line-height:1.15;letter-spacing:-.02em;color:var(--bda-ink);text-wrap:balance}
.bda-quiz__h3{margin:.4rem 0 0;font-family:var(--bda-font-heading);font-weight:700;font-size:1.3rem;line-height:1.2;letter-spacing:-.015em;color:var(--bda-ink)}
.bda-quiz__h3-onbrand{color:var(--bda-surface)}
.bda-quiz__onbrand{color:rgba(255,255,255,.84);margin-top:.5rem;font-size:.98rem;line-height:1.6;max-inline-size:44ch}
.bda-quiz__onbrand a{color:var(--bda-accent)}
.bda-quiz__onbrand a:hover{color:var(--bda-surface)}
.bda-quiz__fine{font-size:.85rem;margin-top:.9rem}

/* buttons: sized to the label, never the container */
.bda-quiz__btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.7rem;border-radius:var(--bda-radius-sm);border:1px solid transparent;font-family:var(--bda-font-body);font-size:.98rem;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;transition:background .22s,color .22s,border-color .22s}
.bda-quiz__btn-solid{background:var(--bda-accent);color:var(--bda-ink)}
.bda-quiz__btn-solid:hover,.bda-quiz__btn-solid:focus-visible{background:var(--bda-accent-hover);color:var(--bda-ink)}
.bda-quiz__btn-solid:disabled{background:var(--bda-line);color:var(--bda-ink-soft);cursor:default}
.bda-quiz__btn-line{background:transparent;color:var(--bda-ink);border-color:var(--bda-line)}
.bda-quiz__btn-line:hover,.bda-quiz__btn-line:focus-visible{border-color:var(--bda-ink);color:var(--bda-ink)}
.bda-quiz__btn-ghost{background:transparent;color:var(--bda-surface);border-color:rgba(255,255,255,.42)}
.bda-quiz__btn-ghost:hover,.bda-quiz__btn-ghost:focus-visible{border-color:var(--bda-surface);color:var(--bda-surface)}
.bda-quiz__link{background:none;border:0;padding:0;font:inherit;font-size:.92rem;font-weight:600;color:var(--bda-brand);cursor:pointer}
.bda-quiz__link:hover{color:var(--bda-ink)}
.bda-quiz :is(button,a,.bda-quiz__chip):focus-visible{outline:2px solid var(--bda-brand);outline-offset:2px}

/* picker */
.bda-quiz__pick{background:var(--bda-surface);border:1px solid var(--bda-line);border-radius:var(--bda-radius-sm);overflow:hidden}
.bda-quiz__pickhead{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem 1.1rem;border-block-end:1px solid var(--bda-line)}
.bda-quiz__count{font-size:.85rem;color:var(--bda-ink-soft);font-variant-numeric:tabular-nums}
.bda-quiz__pickbody{padding:1.1rem}
.bda-quiz__chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:.9rem 1.25rem}
.bda-quiz__chip{border:1px solid var(--bda-line);background:var(--bda-surface);color:var(--bda-ink);border-radius:var(--bda-radius-sm);padding:.5rem .85rem;font:inherit;font-size:.92rem;font-weight:500;line-height:1.2;cursor:pointer;transition:border-color .22s,background .22s,color .22s}
.bda-quiz__chip:hover{border-color:var(--bda-ink)}
.bda-quiz__chip[aria-pressed="true"]{background:var(--bda-ink);border-color:var(--bda-ink);color:var(--bda-accent);font-weight:600}

/* card shell */
.bda-quiz__card{background:var(--bda-surface);border:1px solid var(--bda-line);border-radius:var(--bda-radius-md);overflow:hidden}
.bda-quiz__gate{max-inline-size:640px}
.bda-quiz__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.6rem;border-block-end:1px solid var(--bda-line);font-size:.88rem;color:var(--bda-ink-soft);font-variant-numeric:tabular-nums}
.bda-quiz__head strong{color:var(--bda-ink);font-weight:600}
.bda-quiz__timer{display:inline-flex;align-items:center;gap:.5rem}
.bda-quiz__timer::before{content:"";inline-size:8px;block-size:8px;border-radius:50%;background:var(--bda-accent)}
.bda-quiz__bar{block-size:3px;background:var(--bda-line)}
.bda-quiz__bar i{display:block;block-size:100%;background:var(--bda-accent);transition:width .3s}
.bda-quiz__body{padding:1.75rem 1.6rem}
.bda-quiz__foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.6rem;border-block-start:1px solid var(--bda-line)}
.bda-quiz__foot-alt{background:var(--bda-bg);flex-wrap:wrap}

/* gate copy: the WYSIWYG from Site Settings */
.bda-quiz__terms{margin-block-start:1rem;border-block-start:1px solid var(--bda-line)}
.bda-quiz__terms p{padding:.9rem 0;border-block-end:1px solid var(--bda-line);font-size:.95rem;line-height:1.55;color:var(--bda-ink-soft)}
.bda-quiz__terms p strong{display:block;font-family:var(--bda-font-heading);font-weight:700;font-size:1rem;letter-spacing:-.01em;color:var(--bda-ink)}

/* question */
.bda-quiz__img{display:block;max-inline-size:min(100%,320px);block-size:auto;margin-block:.9rem .3rem;border-radius:var(--bda-radius-sm)}
.bda-quiz__q{margin:.6rem 0 0;font-family:var(--bda-font-heading);font-weight:700;font-size:clamp(1.3rem,2.4vw,1.65rem);line-height:1.25;letter-spacing:-.01em;color:var(--bda-ink);text-wrap:balance}
.bda-quiz__opts{display:grid;gap:.6rem;margin:1.4rem 0 0;padding:0;list-style:none}
.bda-quiz__opt{display:flex;align-items:center;gap:.85rem;inline-size:100%;text-align:left;padding:.85rem 1rem;border:1px solid var(--bda-line);border-radius:var(--bda-radius-sm);background:var(--bda-surface);color:var(--bda-ink);font:inherit;font-size:1rem;line-height:1.4;cursor:pointer;transition:border-color .22s,background .22s}
.bda-quiz__key{flex:none;inline-size:30px;block-size:30px;border-radius:50%;border:1px solid var(--bda-line);display:grid;place-items:center;font-family:var(--bda-font-heading);font-weight:700;font-size:.85rem;color:var(--bda-ink-soft)}
.bda-quiz__opt:hover:not(:disabled){border-color:var(--bda-ink)}
.bda-quiz__opt[aria-checked="true"]{border-color:var(--bda-ink)}
.bda-quiz__opt[aria-checked="true"] .bda-quiz__key{background:var(--bda-ink);border-color:var(--bda-ink);color:var(--bda-accent)}
.bda-quiz__opt.is-right{border-color:var(--bda-brand);background:var(--bda-brand-tint)}
.bda-quiz__opt.is-right .bda-quiz__key{background:var(--bda-brand);border-color:var(--bda-brand);color:#fff}
.bda-quiz__opt.is-wrong{border-color:var(--bda-bad);background:var(--bda-bad-tint)}
.bda-quiz__opt.is-wrong .bda-quiz__key{background:var(--bda-bad);border-color:var(--bda-bad);color:#fff}
.bda-quiz__opt:disabled{cursor:default}
.bda-quiz__fb{margin-block-start:1.4rem;border-inline-start:2px solid var(--bda-brand);padding:.9rem 1.1rem;background:var(--bda-bg);border-radius:0 var(--bda-radius-sm) var(--bda-radius-sm) 0}
.bda-quiz__fb.is-wrong{border-color:var(--bda-bad)}
.bda-quiz__verdict{font-family:var(--bda-font-heading);font-weight:700;font-size:1.05rem;color:var(--bda-brand)}
.bda-quiz__fb.is-wrong .bda-quiz__verdict{color:var(--bda-bad)}
.bda-quiz__fb p{margin-block-start:.4rem;font-size:.98rem}
.bda-quiz__ref{display:inline-flex;align-items:center;gap:.5rem;margin-block-start:.65rem;font-size:.9rem;font-weight:600;color:var(--bda-brand);text-decoration:none}
.bda-quiz__ref:hover{color:var(--bda-ink)}
.bda-quiz__pg{font-variant-numeric:tabular-nums;background:var(--bda-surface);border:1px solid var(--bda-line);border-radius:4px;padding:1px 7px;font-size:.78rem;font-weight:500;color:var(--bda-ink)}

/* results */
.bda-quiz__printhead{display:none}
.bda-quiz__score{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:center;padding:2.25rem 2rem;border-block-end:1px solid var(--bda-line)}
.bda-quiz__ring{inline-size:150px;block-size:150px;flex:none}
.bda-quiz__ring text{font-family:var(--bda-font-heading);font-weight:700;fill:var(--bda-ink)}
.bda-quiz__pill{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:.35rem .7rem;border-radius:4px;background:var(--bda-ink);color:var(--bda-accent)}
.bda-quiz__pill.is-fail{background:var(--bda-bad-tint);color:var(--bda-bad)}
.bda-quiz__score .bda-quiz__h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-block-start:.75rem}
.bda-quiz__score .bda-quiz__muted{margin-block-start:.5rem;max-inline-size:52ch}
.bda-quiz__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-block-start:1.25rem}
.bda-quiz__breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-block-end:1px solid var(--bda-line)}
.bda-quiz__breakdown div{padding:1rem 1.25rem;border-inline-end:1px solid var(--bda-line)}
.bda-quiz__breakdown div:last-child{border-inline-end:0}
.bda-quiz__bk-l{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bda-brand);font-weight:600}
.bda-quiz__bk-v{font-family:var(--bda-font-heading);font-weight:700;font-size:1.5rem;color:var(--bda-ink);font-variant-numeric:tabular-nums;margin-block-start:.2rem}
.bda-quiz__bk-v.is-low{color:var(--bda-bad)}
.bda-quiz__review{padding:1.75rem 2rem}
.bda-quiz__review > .bda-quiz__muted{margin-block-start:.4rem}
.bda-quiz__miss{list-style:none;padding:0;margin:1.1rem 0 0;border-block-start:1px solid var(--bda-line)}
.bda-quiz__miss li{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.1rem 0;border-block-end:1px solid var(--bda-line)}
.bda-quiz__miss .n{font-family:var(--bda-font-heading);font-weight:700;color:var(--bda-bad);font-variant-numeric:tabular-nums;min-inline-size:2ch}
.bda-quiz__miss .q{font-family:var(--bda-font-heading);font-weight:700;font-size:1.05rem;line-height:1.3;letter-spacing:-.01em}
.bda-quiz__miss .a{margin-block-start:.4rem;color:var(--bda-ink-soft);font-size:.95rem;line-height:1.6}
.bda-quiz__miss .a b{color:var(--bda-ink);font-weight:600}
.bda-quiz__allright{border-block-start:1px solid var(--bda-line);padding-block-start:1.1rem;margin-block-start:1.1rem;color:var(--bda-ink-soft)}
.bda-quiz__capture{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3vw,2.5rem);background:var(--bda-brand-deep);color:var(--bda-surface);padding:clamp(1.5rem,3vw,2.25rem) 2rem}
.bda-quiz__next{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1.4rem;margin-block-start:.9rem;padding-block-start:.6rem;border-block-start:1px solid rgba(255,255,255,.22)}
.bda-quiz__next b{font-family:var(--bda-font-heading);font-weight:700;font-size:1.25rem;color:var(--bda-surface);line-height:1.1}
.bda-quiz__next span{font-size:.95rem;color:rgba(255,255,255,.78)}

/* WS Form inside the dark capture band */
.bda-quiz__form{margin-block-start:1rem}
.bda-quiz__form .wsf-form{color:var(--bda-surface)}
.bda-quiz__form label.wsf-label{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--bda-accent)}
.bda-quiz__form .wsf-required-wrapper .wsf-text-danger{color:var(--bda-accent)}
.bda-quiz__form input.wsf-field:not([type="hidden"]){font-family:var(--bda-font-body);font-size:.96rem;padding:.7rem .85rem;border-radius:var(--bda-radius-sm);border:1px solid rgba(255,255,255,.22);background:#141414;color:var(--bda-surface);box-shadow:none}
.bda-quiz__form input.wsf-field::placeholder{color:rgba(255,255,255,.4)}
.bda-quiz__form input.wsf-field:focus{border-color:var(--bda-accent);outline:2px solid var(--bda-accent);outline-offset:1px;box-shadow:none}
.bda-quiz__form button.wsf-button.wsf-button-primary{font-family:var(--bda-font-body);font-size:.98rem;font-weight:600;line-height:1.2;background:var(--bda-accent);border:1px solid transparent;color:var(--bda-ink);border-radius:var(--bda-radius-sm);padding:.85rem 1.6rem;box-shadow:none;inline-size:auto}
.bda-quiz__form button.wsf-button.wsf-button-primary:hover,.bda-quiz__form button.wsf-button.wsf-button-primary:focus-visible{background:var(--bda-accent-hover);color:var(--bda-ink)}
.bda-quiz__form .wsf-invalid-feedback{color:#FFD7CE}
.bda-quiz__form .wsf-alert{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:var(--bda-surface)}

@media (max-width:820px){
	.bda-quiz__score,.bda-quiz__capture{grid-template-columns:1fr}
	.bda-quiz__miss li{grid-template-columns:1fr;gap:.25rem}
}
@media (max-width:520px){
	.bda-quiz__head,.bda-quiz__body,.bda-quiz__foot,.bda-quiz__review,.bda-quiz__score,.bda-quiz__capture{padding-inline:1.1rem}
	.bda-quiz__foot{flex-direction:column;align-items:stretch}
	.bda-quiz__foot .bda-quiz__btn{align-self:flex-start}
	.bda-quiz__foot .bda-quiz__muted{text-align:left}
}
@media (prefers-reduced-motion:reduce){.bda-quiz *{transition:none!important}}

/* print: only the results card, with the manual URLs written out */
@media print{
	@page{margin:18mm}
	body{background:#fff!important}
	/* quiz.js adds this class on beforeprint; everything else on the page is hidden by visibility so
	   header, nav and footer need no knowledge of the quiz */
	body.bda-quiz-print *{visibility:hidden}
	body.bda-quiz-print .bda-quiz,body.bda-quiz-print .bda-quiz *{visibility:visible}
	body.bda-quiz-print .bda-quiz{position:absolute;inset-block-start:0;inset-inline:0;max-inline-size:none;color:#000}
	.bda-quiz [data-screen]:not([data-screen="results"]),.bda-quiz__actions,.bda-quiz__capture,.bda-quiz__pill,.bda-quiz__ring{display:none!important}
	.bda-quiz__results{border:0;border-radius:0}
	.bda-quiz__printhead{display:block;border-block-end:2px solid #14140f;padding-block-end:10px;margin-block-end:16px}
	.bda-quiz__printbrand{font-family:var(--bda-font-heading);font-weight:700;font-size:16pt;color:#14140f}
	.bda-quiz__printmeta{font-size:9pt;color:#444;margin-block-start:4px}
	.bda-quiz__score{grid-template-columns:1fr;padding:0 0 12px;border-color:#999}
	.bda-quiz__score .bda-quiz__h2{font-size:18pt}
	.bda-quiz__breakdown{border-color:#999}
	.bda-quiz__breakdown div{border-color:#ccc}
	.bda-quiz__review{padding-inline:0}
	.bda-quiz__miss li{break-inside:avoid;border-color:#ccc}
	.bda-quiz__ref{color:#7a5800}
	.bda-quiz__ref::after{content:" — " attr(href);font-weight:400;color:#555;font-size:9pt;word-break:break-all}
	.bda-quiz__pg{border-color:#999}
}
