/* Voucher forms share the site's type, colours and inputs, with compact spacing. */
.voucher-page{padding-top:44px;padding-bottom:64px;overflow-wrap:anywhere}
.voucher-page>.eyebrow{margin-bottom:14px}
.voucher-page h1{font-size:clamp(34px,4vw,52px);line-height:1.08;max-width:850px;margin-bottom:18px}
.voucher-page>.lead{max-width:640px;font-size:17px;line-height:1.6;margin-bottom:0}
.voucher-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:28px;align-items:start;margin-top:32px}
.voucher-columns>*{min-width:0}
.voucher-columns aside{display:grid;gap:20px}
.voucher-columns .panel{min-width:0;padding:28px;margin:0}
.voucher-columns h2{font-size:24px;line-height:1.2;margin:0 0 18px}
.voucher-columns h3{font-size:17px;line-height:1.4;margin:16px 0 2px}
.voucher-columns p{font-size:14px;line-height:1.65;margin:0 0 18px}
.voucher-columns .stack{gap:16px}
.voucher-columns .voucher-purchase{gap:14px}
.voucher-columns label{font-size:14px;line-height:1.4;margin:0;min-width:0}
.voucher-columns input{min-width:0;max-width:100%;margin-top:7px}
.voucher-columns fieldset{border:0;padding:0;margin:0;min-width:0}
.voucher-columns legend{font-size:14px;font-weight:600;margin:0 0 10px;padding:0}
.voucher-columns .voucher-caption{color:var(--muted);font-size:13px;margin:0;line-height:1.6}
.voucher-address{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:12px}
.voucher-columns .voucher-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.55;margin:10px 0 2px}
.voucher-columns .voucher-consent input[type=checkbox]{appearance:auto;flex:0 0 17px;width:17px;height:17px;min-width:17px;min-height:17px;max-height:17px;margin:2px 0 0;padding:0;accent-color:#b72c24}
.voucher-page ol{padding-left:21px;font-size:14px;line-height:1.7;margin:0 0 18px}
.voucher-page li+li{margin-top:9px}
.voucher-columns [data-voucher-result]:empty{display:none}
.voucher-columns [data-voucher-result]{margin:0}
@media(max-width:767px){
 .voucher-page{padding-top:30px;padding-bottom:40px}
 .voucher-page>.lead{font-size:15px}
 .voucher-columns{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:26px}
 .voucher-columns .panel{padding:20px}
 .voucher-columns h2{font-size:22px}
 .voucher-columns h3{margin-top:12px}
}

.voucher-stepper{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;border:1px solid #555;border-radius:12px;padding:6px;max-width:320px;gap:8px}
.voucher-stepper button{width:48px;height:48px;min-height:0;padding:0;border:0;border-radius:8px;background:#303030;color:#fff;font-size:26px;line-height:1;display:grid;place-items:center;cursor:pointer}
.voucher-stepper button:hover:not(:disabled){background:#a92c25}
.voucher-stepper button:disabled{opacity:.3;cursor:default}
.voucher-columns .voucher-amount{display:flex;align-items:center;justify-content:center;gap:6px;font-size:28px;font-weight:700;margin:0}
.voucher-columns .voucher-amount input{appearance:textfield;-moz-appearance:textfield;width:3ch;min-width:0;padding:0;margin:0;height:48px;min-height:0;border:0;background:transparent;box-shadow:none;color:#fff;text-align:center;font:inherit;border-radius:4px}
.voucher-amount input::-webkit-inner-spin-button,.voucher-amount input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.voucher-columns .voucher-range{margin-top:9px;font-size:12px}
.voucher-amount .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.voucher-status .panel{margin:24px 0;padding:28px}
.voucher-downloads,.voucher-help-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.voucher-help{margin:24px 0}
.voucher-help-dialog{position:fixed;inset:0;margin:auto;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;box-sizing:border-box;padding:28px;border:1px solid #444;border-radius:18px;background:#1e1e1e;color:#fff;box-shadow:0 24px 80px #0008}
.voucher-help-dialog::backdrop{background:#000a}
.voucher-help-dialog h2{font-size:26px;line-height:1.2;margin:0 0 20px}
.voucher-help-dialog p{line-height:1.65;font-size:15px;color:#ddd;margin:0 0 16px}
.voucher-help-dialog strong{overflow-wrap:anywhere;color:#fff}
.voucher-help-actions{margin-bottom:0}
@media(max-width:600px){.voucher-help-dialog,.voucher-status .panel{padding:22px}.voucher-help-actions .button,.voucher-downloads .button{width:100%;text-align:center}}
