/* A shared voucher invitation; it stays park-neutral at every entry point. */
.booking-info-bottom:has(>.voucher-banner){grid-template-columns:1fr;gap:30px}
.voucher-banner{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 250px;align-items:center;gap:24px;padding:44px 46px;border:1px solid #275a65;border-radius:28px;background:radial-gradient(ellipse at 100% 0,#237f80 0,transparent 65%),#003449;color:#fff;box-shadow:0 16px 32px #00344912}
.voucher-banner:before,.voucher-banner:after{content:"";position:absolute;z-index:-1;pointer-events:none;width:420px;height:420px;right:-100px;top:-150px;border:1px solid #c2e2db25;border-radius:50%}
.voucher-banner:after{width:550px;height:550px;right:-165px;top:-215px}
.voucher-banner .voucher-banner__eyebrow{margin:0 0 16px;color:#e7cf9b;font:700 10px/1.6 var(--sans);letter-spacing:2px}
body[data-concept] .voucher-banner h3{margin:0 0 16px;color:white;font:clamp(36px,4vw,48px)/1.12 var(--serif);letter-spacing:-.7px}
.voucher-banner h3 em{color:#b2e7d9;font-weight:400}
.voucher-banner .voucher-banner__description{margin:0 0 24px;color:#e2eeed;font:400 15px/1.8 var(--sans)}
body[data-concept] .voucher-banner__button{display:inline-flex;align-items:center;justify-content:center;gap:18px;max-width:100%;min-height:48px;padding:13px 22px;border:1px solid #f4e4c6;border-radius:999px;background:#f4e4c6;color:#003449;font:700 14px/1.4 var(--sans);text-decoration:none;transition:background-color .18s,box-shadow .18s}
.voucher-banner__button span{font-size:23px;line-height:1}
body[data-concept] .voucher-banner__button:hover{background:#fff4dd;color:#003449;box-shadow:0 5px 20px #0002;text-decoration:none}
.voucher-banner__button:focus-visible,.voucher-mini:focus-visible{outline:3px solid #dcad51;outline-offset:5px}
.voucher-banner__art{position:relative;width:220px;height:160px;margin:10px auto}
.voucher-banner__art:before{content:"";position:absolute;inset:0;border:1px solid #d5b97188;background:#f5e8cc18;border-radius:12px;transform:rotate(7deg)}
.voucher-banner__card{position:relative;overflow:hidden;width:100%;height:100%;padding:19px 22px;border:1px solid #fff4dc;border-radius:12px;background:#faf1df;color:#003449;transform:rotate(-8deg);box-shadow:0 16px 28px #001f3b40}
.voucher-banner__card>span{display:block;font:700 12px/1.2 var(--sans);letter-spacing:2px}
.voucher-banner__card>strong{display:block;margin:12px 0 10px;font:30px/.95 var(--serif);font-weight:400}
.voucher-banner__card>strong em{color:#258c83}
.voucher-banner__card>small{font:700 8px/1 var(--sans);letter-spacing:2px}
.voucher-banner__card>i{position:absolute;right:24px;top:0;bottom:0;width:22px;border-left:1px solid #eed28a;border-right:1px solid #eed28a;background:linear-gradient(90deg,#b68d3a,#f2d691 48%,#b68d3a)}
.voucher-banner__card>i:before,.voucher-banner__card>i:after{content:"";position:absolute;top:40px;width:37px;height:23px;border:3px solid #c9a052;border-radius:80% 80% 0 80%;background:#efd59d;transform:rotate(22deg);right:9px}
.voucher-banner__card>i:after{right:auto;left:9px;transform:scaleX(-1) rotate(22deg)}
body[data-concept] .voucher-mini{display:grid;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:13px;padding:18px 20px;margin-top:22px;border:1px solid #216979;border-radius:18px;background:linear-gradient(120deg,#003449,#17686d);color:#fff;text-decoration:none;transition:box-shadow .18s}
.voucher-mini>svg{width:36px;height:36px;fill:none;stroke:#e7cf9b;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.voucher-mini__copy{min-width:0}
.voucher-mini__copy>small{display:block;color:#e7cf9b;font:700 9px/1.5 var(--sans);letter-spacing:1.5px;margin-bottom:4px}
.voucher-mini__copy>strong{display:block;color:#fff;font:25px/1.1 var(--serif);font-weight:400}
.voucher-mini__arrow{font:24px/1 var(--sans);color:#e7cf9b}
body[data-concept] .voucher-mini:hover{color:#fff;text-decoration:none;box-shadow:0 7px 18px #00344925}
@media(max-width:760px){.voucher-banner{grid-template-columns:1fr;gap:0;padding:32px 28px}.voucher-banner__art{position:absolute;right:26px;top:28px;width:94px;height:72px;margin:0}.voucher-banner__card{padding:9px 10px;border-radius:6px}.voucher-banner__art:before{border-radius:6px}.voucher-banner__card>span{font-size:5px;letter-spacing:1px}.voucher-banner__card>strong{font-size:14px;margin:6px 0 4px}.voucher-banner__card>small{font-size:4px;letter-spacing:.6px}.voucher-banner__card>i{right:10px;width:10px}.voucher-banner__card>i:before,.voucher-banner__card>i:after{top:17px;width:17px;height:10px;border-width:1.5px;right:4px}.voucher-banner__card>i:after{right:auto;left:4px}.voucher-banner .voucher-banner__eyebrow{max-width:145px;min-height:72px;margin-bottom:12px;font-size:9px;letter-spacing:1.6px;padding-right:14px}body[data-concept] .voucher-banner h3{font-size:38px;max-width:285px}.voucher-banner .voucher-banner__description{font-size:14px}.voucher-banner__description br{display:none}body[data-concept] .voucher-banner__button{gap:14px;padding:13px 19px}}
@media(max-width:370px){.voucher-banner{padding:28px 21px}.voucher-banner__art{right:22px}.voucher-banner .voucher-banner__eyebrow{max-width:120px}body[data-concept] .voucher-banner h3{font-size:34px}body[data-concept] .voucher-mini{padding:16px 14px;gap:10px;grid-template-columns:32px minmax(0,1fr) 20px}.voucher-mini>svg{width:30px}.voucher-mini__copy>strong{font-size:23px}}
@media(prefers-reduced-motion:reduce){.voucher-banner__button,.voucher-mini{transition:none}}
body.motion-paused .voucher-banner__button,body.motion-paused .voucher-mini{transition:none}
@media(forced-colors:active){.voucher-banner,.voucher-mini{border:2px solid CanvasText}.voucher-banner__art{display:none}}
