.voucher-page { margin:0; color:#251e1d; background:#fff; font:16px/1.55 Inter,"Segoe UI",Arial,sans-serif; letter-spacing:0; }
.voucher-page *, .voucher-admin * { box-sizing:border-box; }
.voucher-page a { color:#8f1423; text-underline-offset:3px; }
.voucher-page :focus-visible, .voucher-admin :focus-visible { outline:3px solid #176d99; outline-offset:3px; }
.voucher-header,.voucher-main,.voucher-footer { width:min(1080px,100% - 40px); margin:auto; }
.voucher-header { display:flex; gap:20px; justify-content:space-between; align-items:center; padding:20px 0; border-bottom:1px solid #e5e2e1; }
.voucher-brand { display:flex; align-items:center; gap:12px; text-decoration:none; font-size:20px; min-width:0; }
.voucher-brand img { width:64px; height:64px; object-fit:contain; border-radius:8px; }
.voucher-header>a:last-child { font-size:14px; padding:12px 0; }
.voucher-main { padding:36px 0; }
.voucher-main h1 { margin:0 0 8px; font-size:36px; line-height:1.2; overflow-wrap:anywhere; }
.voucher-intro { color:#625954; margin:0 0 32px; }
.voucher-purchase { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start; }
.voucher-preview { position:relative; background:#8c0e20; color:#fff; border-radius:8px; min-height:320px; padding:30px; display:flex; flex-direction:column; border-top:6px solid #d1b572; }
.voucher-preview>span { font-size:12px; font-weight:700; }
.voucher-preview>strong { font-size:26px; margin:12px 0 20px; overflow-wrap:anywhere; }
.voucher-preview output { display:block; font-size:40px; font-weight:750; line-height:1.2; overflow-wrap:anywhere; }
.voucher-preview p { margin:auto 0 0; padding-top:32px; font-size:18px; }
.voucher-preview small { color:#f4dedc; }
.voucher-form { display:grid; gap:18px; min-width:0; }
.voucher-form fieldset { padding:0; margin:0; border:0; min-width:0; }
.voucher-form legend { font-weight:700; margin-bottom:10px; }
.voucher-values { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.voucher-values label { position:relative; }
.voucher-values label:last-child { grid-column:1/-1; }
.voucher-values input { position:absolute; opacity:0; width:100%; height:100%; margin:0; }
.voucher-values span { display:flex; align-items:center; justify-content:center; min-height:48px; border:1px solid #a89c98; border-radius:6px; font-weight:700; }
.voucher-values input:checked+span { background:#8c0e20; color:#fff; border-color:#8c0e20; }
.voucher-values input:focus-visible+span { outline:3px solid #176d99; outline-offset:3px; }
.voucher-form>label { display:grid; gap:6px; font-weight:600; }
.voucher-form input:not([type=radio]):not([type=checkbox]),.voucher-admin input,.voucher-admin textarea { width:100%; min-height:48px; padding:10px 12px; border:1px solid #a89c98; border-radius:6px; font:inherit; background:#fff; color:#251e1d; }
.voucher-form small,.voucher-small { font-size:13px; color:#625954; font-weight:400; }
.voucher-form .voucher-check { display:flex; align-items:flex-start; gap:10px; font-size:14px; font-weight:400; }
.voucher-check input { width:21px; height:21px; flex:0 0 21px; margin:3px 0 0; accent-color:#8c0e20; }
.voucher-primary,.voucher-downloads>a,.voucher-admin button { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:48px; padding:12px 18px; border:1px solid #8c0e20; border-radius:6px; background:#8c0e20; color:#fff!important; text-decoration:none; font:700 15px/1.4 Inter,"Segoe UI",Arial,sans-serif; cursor:pointer; text-align:center; }
.voucher-primary:disabled { opacity:.7; cursor:wait; }
.voucher-form .voucher-small { margin:0; }
.voucher-error,.voucher-notice { padding:14px 16px; background:#fff2ef; border-left:4px solid #9f1c28; color:#66202a; margin:0 0 24px; }
.voucher-terms { border-top:1px solid #e5e2e1; margin-top:42px; padding-top:24px; max-width:820px; }
.voucher-terms h2 { font-size:22px; }
.voucher-terms h3 { font-size:18px; }
.voucher-terms p { font-size:14px; color:#514b48; }
.voucher-footer { display:flex; gap:16px; flex-wrap:wrap; padding:24px 0; border-top:1px solid #e5e2e1; font-size:14px; }
.voucher-footer nav { display:flex; flex-wrap:wrap; gap:12px; }
.voucher-footer a { display:inline-block; padding:8px 0; }
.voucher-footer small { margin-left:auto; }
.voucher-status { max-width:760px; padding:20px 0; }
.voucher-status dl { display:flex; gap:32px; flex-wrap:wrap; }
.voucher-status dt { font-size:14px; color:#625954; }
.voucher-status dd { margin:0; font-size:30px; font-weight:750; }
.voucher-code { font-family:ui-monospace,monospace; overflow-wrap:anywhere; }
.voucher-downloads { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0; }
.voucher-downloads>a:not(.voucher-primary) { background:white; color:#8c0e20!important; }
.voucher-tab { position:fixed; right:0; top:calc(42% + 1cm); z-index:80; writing-mode:vertical-rl; transform:rotate(180deg); min-width:46px; min-height:176px; padding:20px 14px; background:#a00000; color:#fff!important; font:600 14px/1.2 Inter,"Segoe UI",Arial,sans-serif; text-decoration:none; display:flex; align-items:center; justify-content:center; gap:12px; border-radius:0; box-shadow:0 2px 10px #0002; }
.voucher-tab:focus-visible { outline:3px solid #d1b572; outline-offset:3px; }
.voucher-admin { min-width:0; }
.voucher-admin h2 { font-size:24px; }
.voucher-admin label { display:block; margin:12px 0; }
.voucher-admin-table { overflow-x:auto; margin:20px 0; }
.voucher-admin table { width:100%; border-collapse:collapse; font-size:14px; }
.voucher-admin th,.voucher-admin td { text-align:left; padding:12px 10px; border-bottom:1px solid #dfd8cf; white-space:nowrap; }
.voucher-admin .voucher-admin-actions { display:flex; flex-wrap:wrap; gap:12px; }
.voucher-admin details { margin:20px 0; }
.voucher-admin summary { min-height:44px; cursor:pointer; }
.voucher-admin video { display:block; width:min(100%,420px); max-height:320px; background:#111; }
.voucher-page [hidden],.voucher-admin [hidden] { display:none!important; }
.voucher-admin-heading,.voucher-inline { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.voucher-admin-heading { justify-content:space-between; }
.voucher-inline>input { flex:1 1 260px; width:auto; }
.voucher-table-scroll { overflow-x:auto; margin:20px 0; }
.voucher-selected { border-top:2px solid #8c0e20; border-bottom:1px solid #dfd8cf; padding:20px 0; margin:24px 0; }
.voucher-balance strong { display:block; font-size:32px; }
.voucher-redeem { max-width:500px; }
.voucher-admin .voucher-check { display:flex; gap:10px; align-items:flex-start; }
.voucher-admin input[type=checkbox] { min-height:21px; width:21px; height:21px; }
.voucher-pagination { display:flex; gap:24px; align-items:center; }
.voucher-message { padding:16px; background:#e7f8ec; border-left:4px solid #287c45; }
.voucher-message.is-error { background:#fff2ef; border-color:#9f1c28; }
.shop-experience:has(.checkout-modal.open) .voucher-tab { display:none; }
@media (max-width:700px) { .voucher-purchase { grid-template-columns:minmax(0,1fr); gap:24px; } .voucher-preview { min-height:220px; padding:22px; } .voucher-preview>strong { margin-bottom:12px; font-size:24px; } .voucher-preview output { font-size:36px; } .voucher-preview p { padding-top:20px; } .voucher-main h1 { font-size:28px; } .voucher-header,.voucher-main,.voucher-footer { width:calc(100% - 32px); } .voucher-main { padding:24px 0; } .voucher-header { gap:12px; } .voucher-tab { min-width:44px; min-height:150px; padding:14px 10px; font-size:12px; top:calc(35% + 1cm); } }
