.voucher-hero{background:var(--pine);color:var(--white);padding:65px 0}.voucher-hero .container{display:grid;grid-template-columns:1.2fr 1fr;gap:50px;align-items:center}.voucher-hero img{width:100%;height:390px;object-fit:cover}.voucher-hero p{color:#e1e6d9;margin-top:20px}.voucher-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:start}.voucher-summary{position:sticky;top:110px;background:var(--cream);padding:30px}.voucher-summary h2{font-size:32px}.price-line{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.price-total{font:38px Georgia,serif;margin:25px 0}.voucher-form fieldset{border:0;padding:0;margin:0 0 30px}.voucher-form legend{font:28px Georgia,serif;margin-bottom:10px}.voucher-form textarea{font:inherit;resize:vertical;width:100%;padding:12px;border:1px solid #aeb9aa}.check-label{display:flex;align-items:start;gap:12px;font-weight:400}.check-label input{width:20px;min-height:20px;flex-shrink:0}.voucher-note{padding:18px;background:#eeeadd;border-left:3px solid var(--accent);font-size:14px;margin:20px 0}.voucher-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:0 0 35px}.voucher-steps h2{font-size:24px;margin-bottom:10px}.voucher-steps p{font-size:14px;color:var(--muted)}.voucher-terms{white-space:pre-wrap;font-size:14px}.voucher-status{max-width:750px;margin:65px auto;padding:30px}.voucher-status h1{font-size:44px;margin-bottom:20px}.cms-added img{max-height:520px;width:100%;object-fit:cover;margin-bottom:25px}.cms-added h2{margin-bottom:20px}button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:800px){.voucher-hero .container,.voucher-layout{grid-template-columns:1fr;gap:28px}.voucher-hero{padding:35px 0}.voucher-hero img{height:260px}.voucher-summary{position:static}.voucher-steps{grid-template-columns:1fr;gap:15px}.voucher-hero h1{font-size:44px}}
.payment-methods{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:13px}.payment-methods strong,.payment-methods span{display:block}.payment-methods span{color:var(--muted);margin-top:6px}.legal-page{padding-top:52px}.legal-copy{max-width:820px}.legal-copy h2{font-size:27px;margin:42px 0 12px}.legal-copy p{max-width:760px;line-height:1.7}.legal-copy a{text-decoration:underline;text-underline-offset:3px}.legal-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:28px 0}.legal-links a{display:block;background:var(--paper);padding:22px;color:var(--ink);border:1px solid var(--line)}.legal-links strong,.legal-links span{display:block}.legal-links span{font-size:13px;line-height:1.55;color:var(--muted);margin-top:8px}@media(max-width:800px){.legal-links{grid-template-columns:1fr}.legal-copy h2{font-size:24px}}

/* Price follows the selection on phones and stays alongside the form on desktop. */
.voucher-layout{display:block}
.voucher-form{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);column-gap:55px;align-items:start}
.voucher-form>fieldset,.voucher-form>#checkout-error,.voucher-form>#buy-voucher{grid-column:1;min-width:0}
.voucher-form>.voucher-summary{grid-column:2;grid-row:1 / span 5;min-width:0}
.voucher-form>#checkout-error:empty{display:none}
#checkout-error{color:#a23424;font-size:14px}
.voucher-form textarea:focus-visible{outline:3px solid #b87937;outline-offset:5px}
.voucher-summary .price-line strong{white-space:nowrap}
#price-total[aria-busy=true]{opacity:.6}
.voucher-status .brand{display:inline-flex;margin-bottom:30px}
.voucher-status .actions{margin-bottom:24px}
#order-number{overflow-wrap:anywhere;font-size:14px}
@media(max-width:800px){
  .voucher-form{display:block}
  .voucher-form>.voucher-summary{margin-bottom:30px}
}

/* Second hero action: holders of a voucher go straight to booking. */
.voucher-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.voucher-hero .voucher-hero-book{background:transparent;border-color:#e1e6d9;color:var(--white)}
.voucher-hero .voucher-hero-book:hover{background:#ffffff14}
.voucher-steps a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.voucher-hero-actions .button{width:100%}}

/* Live voucher preview: positions and sizes mirror voucher_pdf.py (A4 landscape, points → cqw). */
@font-face{font-family:"Gift Serif";src:url("assets/fonts/cormorant-regular-pl.woff2") format("woff2");font-display:swap}
@font-face{font-family:"Gift Serif";font-style:italic;src:url("assets/fonts/cormorant-italic-pl.woff2") format("woff2");font-display:swap}
.vp{margin:6px 0 22px}
.vp-sheet{position:relative;container-type:inline-size;aspect-ratio:841.89/595.28;background:#faf8f2;overflow:hidden;box-shadow:0 10px 30px #1d2e2533,0 1px 3px #1d2e2524;color:#243e32;line-height:1.24}
.vp-sheet>*{position:absolute;margin:0}
.vp-sheet p{overflow:hidden}
.vp-photo{left:2.851cqw;top:2.884cqw;width:35.872cqw;height:54.520cqw;object-fit:cover}
.vp-label{font-family:"DejaVu Sans",Verdana,system-ui,sans-serif;letter-spacing:0.143cqw;line-height:1;white-space:pre;color:#586557}
.vp-place{left:4.751cqw;top:59.725cqw;font-size:0.831cqw;color:#a18a60}
.vp-motto{left:4.751cqw;top:62.037cqw;width:33.259cqw;height:6.652cqw;font:italic 2.376cqw/1.24 "Gift Serif",Georgia,serif}
.vp-logo{left:78.039cqw;top:2.171cqw;width:16.986cqw;height:11.640cqw;object-fit:contain}
.vp-gift{left:42.642cqw;top:6.768cqw;font-size:0.808cqw;color:#a18a60}
.vp-title{left:42.167cqw;top:12.980cqw;width:52.501cqw;height:13.185cqw;font:5.286cqw/1.24 "Gift Serif",Georgia,serif}
.vp-kind{left:42.642cqw;top:26.420cqw;font-size:0.891cqw;color:#a18a60}
.vp-stay{left:42.405cqw;top:29.134cqw;width:51.907cqw;height:4.157cqw;font:3.326cqw/1.24 "Gift Serif",Georgia,serif;white-space:nowrap}
.vp-line{height:0.071cqw;background:#d4c9b3;width:52.145cqw;left:42.642cqw}
.vp-line1{top:34.480cqw}
.vp-line2{top:54.316cqw}
.vp-for{left:42.642cqw;top:36.325cqw;font-size:0.831cqw;color:#a18a60}
.vp-recipient{left:42.405cqw;top:38.281cqw;width:52.263cqw;height:4.157cqw;font:2.970cqw/1.24 "Gift Serif",Georgia,serif;overflow-wrap:anywhere}
.vp-dedication{left:42.642cqw;top:43.507cqw;width:50.125cqw;height:9.502cqw;font:italic 2.138cqw/1.24 "Gift Serif",Georgia,serif;white-space:pre-line;overflow-wrap:anywhere}
.vp-codelabel{left:42.642cqw;top:55.779cqw;font-size:0.713cqw;}
.vp-code{left:42.642cqw;top:57.404cqw;width:32.783cqw;height:2.019cqw;font:1.069cqw/1.24 "DejaVu Sans",Verdana,system-ui,sans-serif;color:#586557}
.vp-validlabel{left:80.296cqw;top:55.779cqw;font-size:0.713cqw;}
.vp-valid{left:80.296cqw;top:57.404cqw;width:14.372cqw;height:2.019cqw;font:1.544cqw/1.24 "Gift Serif",Georgia,serif}
.vp-info{left:42.642cqw;top:60.730cqw;width:52.263cqw;height:4.395cqw;font:0.867cqw/1.24 "DejaVu Sans",Verdana,system-ui,sans-serif}
.vp-foot{left:42.642cqw;top:66.550cqw;width:52.145cqw;height:1.425cqw;font:0.713cqw/1.24 "DejaVu Sans",Verdana,system-ui,sans-serif;color:#586557}
.vp-mark{left:50%;top:50%;transform:translate(-50%,-50%) rotate(-24deg);font:600 8.315cqw/1 "Gift Serif",Georgia,serif;letter-spacing:0.950cqw;color:#243e3212;pointer-events:none}
.vp-price{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px;padding:12px 14px;background:var(--white);border:1px solid var(--line);font-size:14px}
.vp-price strong{font:26px Georgia,serif;white-space:nowrap}
.vp figcaption{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.55}
.vp-download{display:inline;border:0;background:none;padding:0;color:var(--pine);font:inherit;font-weight:650;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:24px}
.vp-download:disabled{opacity:.6}
.voucher-summary .vp+#price-lines{margin-top:0}
@media(min-width:801px){.voucher-form{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.voucher-summary{top:96px}}
