/* 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; }
}
/* Festive accents stay within the two gift-voucher advertising areas. */
.christmas-voucher,.voucher-hero { position:relative; isolation:isolate; }
.christmas-voucher::before,.voucher-hero::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:url('/assets/christmas-gift-decor.svg') center/cover no-repeat; opacity:.88; }
.christmas-voucher>.section-inner,.voucher-hero>.section-inner { position:relative; z-index:1; }
.christmas-voucher .voucher-display,.voucher-hero-visual .voucher-display { filter:drop-shadow(0 0 30px #e6b66b18); }
.voucher-validity-inline { margin:22px 0 0; padding:14px 0 0; border-top:1px solid #ead9b94d; max-width:45ch; font-size:.92rem; line-height:1.55; color:var(--accent-light) !important; }
.voucher-validity-inline strong { font-weight:700; }
.voucher-sales-banner { border-top-color:#ead9b970; border-bottom-color:#ead9b94d; background:linear-gradient(100deg,#211019,#3f0b1d80); }
.voucher-sales-banner .button { border-color:var(--accent); }
.voucher-long-validity { text-align:center; background:radial-gradient(ellipse at 50% 0,#791a373b,transparent 70%),var(--panel); }
.voucher-long-validity .eyebrow { justify-content:center; }
.voucher-long-validity .voucher-expiry-lead { margin-left:auto; margin-right:auto; }
.voucher-validity-example { color:var(--accent-light); font-family:var(--serif); font-size:clamp(1.4rem,2.5vw,2.15rem); line-height:1.4; margin:26px 0 32px; }
.voucher-validity-example strong { font-weight:400; }
@media(max-width:760px) {
 .christmas-voucher::before,.voucher-hero::before { background-size:auto 650px; background-position:top right; opacity:.65; }
 .voucher-validity-inline { margin-top:20px; padding-top:15px; }
 .voucher-hero-copy .voucher-validity-inline { font-size:.88rem; }
 .voucher-sales-banner .button { font-size:.7rem; }
 .voucher-long-validity { text-align:left; }
}
@media(max-width:760px) { .voucher-hero::before { top:64px; } }
