/* Scoped Christmas voucher page and home expiry banner. */
.voucher-hero { padding:150px clamp(20px,5vw,70px) 88px; min-height:78svh; display:flex; align-items:center; overflow:hidden; background:radial-gradient(ellipse at 82% 45%,#4c1728 0%,#211019 44%,#100b0e 100%); }
.voucher-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:clamp(30px,5vw,76px); width:100%; }
.voucher-hero h1 { margin:22px 0 26px; font-size:clamp(3.1rem,5.7vw,5.8rem); line-height:1.02; letter-spacing:-.04em; max-width:12ch; }
.voucher-hero-subtitle { margin:0 0 22px; font-family:var(--serif); font-size:clamp(1.5rem,2.5vw,2.25rem); line-height:1.25; }
.voucher-hero-subtitle em { color:var(--accent-light); }
.voucher-hero-text { color:var(--muted); max-width:40ch; margin-bottom:28px; }
.voucher-hero-copy .button { text-align:center; }
.voucher-hero-visual { position:relative; min-width:0; padding-top:20px; }
.voucher-hero-visual .voucher-display { padding:45px 8px 78px; }
.voucher-hero-visual .voucher-display img { transform:rotate(-7deg); }
.voucher-visual-caption { display:block; text-align:center; margin-top:16px; color:var(--accent-light); font-family:var(--serif); font-size:1.5rem; font-style:italic; }
.voucher-info-section { background:var(--paper); color:var(--ink); padding:0 clamp(20px,5vw,70px); }
.voucher-info-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.voucher-info-tile { padding:44px clamp(18px,3vw,42px); border-right:1px solid #791a372b; }
.voucher-info-tile:first-child { padding-left:0; }
.voucher-info-tile:last-child { border-right:0; }
.voucher-icon { display:block; color:var(--accent); margin-bottom:20px; }
.voucher-info-tile .eyebrow { color:var(--accent); }
.voucher-info-tile h2 { font-size:clamp(1.6rem,2.2vw,2.1rem); line-height:1.2; margin:16px 0; }
.voucher-info-tile p { margin-bottom:0; }
.voucher-expiry-section { padding:80px clamp(20px,5vw,70px); background:var(--ink); }
.voucher-expiry-card { position:relative; padding:clamp(28px,5vw,66px); border:1px solid var(--accent-light); background:radial-gradient(ellipse at 100% 0,#3f0b1d66,transparent 65%),var(--panel); box-shadow:inset 0 0 0 7px var(--ink),inset 0 0 0 8px #ead9b92b; }
.voucher-expiry-card h2 { font-size:clamp(2.1rem,4vw,3.9rem); line-height:1.08; margin:20px 0 26px; }
.voucher-expiry-card h2 em { color:var(--accent-light); }
.voucher-expiry-lead { max-width:74ch; font-size:1.1rem; }
.voucher-expiry-lead strong { display:block; margin-bottom:12px; color:var(--accent-light); }
.voucher-holiday { max-width:74ch; color:var(--muted); margin:22px 0 28px; }
.voucher-christmas-page .voucher-faq { padding-top:20px; }
.voucher-christmas-page .voucher-faq .section-inner { max-width:960px; }
.voucher-expiry-banner { padding:28px clamp(20px,5vw,70px); background:var(--panel); border-top:1px solid var(--accent-light); border-bottom:1px solid #ead9b966; }
.voucher-expiry-banner-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.voucher-expiry-banner .eyebrow { color:var(--accent-light); }
.voucher-expiry-banner p { margin:8px 0 0; }
.voucher-expiry-banner .voucher-banner-note { font-size:.88rem; color:var(--muted); }
.voucher-expiry-banner .button { flex-shrink:0; border-color:var(--accent-light); }
@media(max-width:760px) {
 .voucher-hero { padding:112px 20px 48px; min-height:0; }
 .voucher-hero-grid { grid-template-columns:1fr; gap:30px; }
 .voucher-hero h1 { font-size:clamp(2.8rem,11vw,4.3rem); max-width:15ch; }
 .voucher-hero-visual { padding-top:10px; }
 .voucher-hero-visual .voucher-display { padding:32px 10px 52px; }
 .voucher-visual-caption { margin-top:0; font-size:1.3rem; }
 .voucher-info-section { padding:0 20px; }
 .voucher-info-grid { grid-template-columns:1fr; }
 .voucher-info-tile,.voucher-info-tile:first-child { padding:28px 0; border-right:0; border-bottom:1px solid #791a372b; }
 .voucher-info-tile:last-child { border-bottom:0; }
 .voucher-info-tile h2 br { display:none; }
 .voucher-icon { float:right; margin:0 0 12px 18px; }
 .voucher-expiry-section { padding:48px 20px; }
 .voucher-expiry-banner-inner { flex-direction:column; align-items:stretch; gap:20px; }
 .voucher-expiry-banner { padding:26px 20px; }
 .voucher-expiry-banner .button { align-self:stretch; }
}
