/* Lokaler Gutschein-Entwurf nach dem Flyer. Die abgestimmte 3D-Szene bleibt unverändert. */
:root {
  --paper: #fffef9;
  --green: #12621f;
  --green-deep: #073f13;
  --orange: #ff650c;
  --display: "Avenir Next Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --script: "SignPainter", "Brush Script MT", cursive;
}
.page { background: radial-gradient(ellipse at 0% 27%,#e9f5da75,transparent 40%),radial-gradient(ellipse at 100% 55%,#fff0c975,transparent 45%),#fffef9; }
.wrap { width: min(1136px,calc(100% - 80px)); }
.site-header { height: 106px; border: 0; }
.ems-brand { order: -1; width: 244px; }
.club-brand { order: 1; gap: 12px; }
.club-brand img { width: 80px; height: 80px; }
.club-brand-text { font-size: 12px; }
.club-brand-text span { font-size: 9px; }
.partnership-label { color: var(--green); font-size: 11px; }
.partnership-label span { width: 18px; background: #96b48b; }
.flyer-hero { display:flex; flex-direction:column; gap:0; min-height:0; padding: 10px 0 28px; }
.flyer-hero .hero-art { width:100%; min-height:0; max-width:none; padding:0; }
.flyer-hero .hero-art::before { display:none; }
.flyer-hero .voucher { width:100%; transform:none; border:1px solid #e0e5cf; border-radius:5px; background:white; box-shadow:0 18px 45px #28531c13,0 3px 9px #28531c0a; }
.voucher-visual { position:relative; height:506px; overflow:hidden; background:#a8d66c; border-radius:4px 4px 0 0; }
.voucher-scene { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 41%; }
.paint { position:relative; isolation:isolate; }
.paint::before { content:""; position:absolute; inset:0; z-index:-1; background:var(--paint); -webkit-mask:url("assets/brush-v8.svg") center/100% 100% no-repeat; mask:url("assets/brush-v8.svg") center/100% 100% no-repeat; }
.paint-green { --paint:linear-gradient(98deg,#0b4c18,#197624 55%,#0b5016); }
.paint-orange { --paint:linear-gradient(105deg,#ff8f09,#ff5307 70%,#f9a617); }
.paint-white { --paint:#fffefb; }
.flyer-hero .voucher-top { position:absolute; right:2%; top:20px; width:45%; padding:16px 74px 18px 30px; border-radius:0; background:none; font:italic 800 40px/1 var(--display); letter-spacing:-.02em; transform:rotate(-3deg); text-transform:uppercase; }
.club-heart { position:absolute; right:6px; top:-8px; width:83px; height:83px; filter:drop-shadow(0 2px 2px #193c231a); }
.voucher-content { position:absolute; left:4%; right:2%; bottom:76px; display:grid; grid-template-columns:1.35fr 1fr; align-items:center; gap:0; }
.flyer-hero .voucher-main { padding:4px 32px 15px; text-align:center; transform:rotate(-4deg); margin-right:-32px; z-index:2; }
.flyer-hero .voucher-main::before { inset:-10px -30px -2px -20px; transform:rotate(1deg); }
.flyer-hero .voucher-title { font:400 clamp(84px,9vw,126px)/.95 var(--script); text-transform:none; letter-spacing:-.04em; color:#fa590a; margin:0; padding:0 0 4px; white-space:nowrap; text-shadow:0 2px 0 white; }
.flyer-hero .voucher-subtitle { font:italic 800 32px/.98 var(--display); color:#111b25; margin:0; letter-spacing:-.02em; }
.voucher-subtitle strong { font-size:46px; font-weight:900; }
.voucher-swoosh { display:block; width:78%; height:22px; margin:7px auto -5px; }
.flyer-hero .value { display:flex; flex-direction:column; justify-content:center; gap:0; padding:25px 30px 24px 45px; transform:rotate(-5deg); z-index:3; }
.flyer-hero .value::before { inset:0 -6px 0 -15px; }
.flyer-hero .value-caption { color:white; text-transform:uppercase; font:italic 800 27px/1.1 var(--display); letter-spacing:-.015em; }
.flyer-hero .value-amount { display:block; color:white; font:italic 900 clamp(86px,9vw,126px)/.97 var(--display); letter-spacing:-.045em; text-shadow:3px 5px 3px #b73e263b; white-space:nowrap; }
.flyer-hero .value-amount>span { font-size:.88em; margin-left:8px; font-weight:800; }
.value-swoosh { width:90%; height:25px; margin-top:0; }
.voucher-motto { position:absolute; left:2%; right:2%; bottom:12px; margin:0; padding:15px 20px 19px; text-align:center; color:white; font:italic 800 clamp(23px,3vw,37px)/1.05 var(--display); text-transform:uppercase; letter-spacing:-.018em; transform:rotate(-1deg); }
.voucher-motto em { color:#ffb424; font-style:inherit; margin-left:8px; }
.flyer-hero .voucher-foot { position:relative; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:19px 43px; min-height:99px; background:#fffefb; border-radius:0 0 4px 4px; border-top:2px dashed #a8b59c; }
.tear-notch { position:absolute; top:-11px; height:21px; width:11px; background:var(--paper); border:1px solid #e0e5cf; }
.tear-notch-left { left:-1px; border-left:0; border-radius:0 15px 15px 0; }
.tear-notch-right { right:-1px; border-right:0; border-radius:15px 0 0 15px; }
.voucher-free { display:flex; flex-direction:column; gap:2px; }
.voucher-free strong { font:italic 800 27px/1.1 var(--display); color:var(--green); }
.voucher-free>span { font-size:12px; color:#53614d; }
.redeem-button { width:255px; min-height:59px; justify-content:center; border-radius:5px; padding:10px 25px 14px; background:linear-gradient(110deg,#ff8a0a,#ff570b); color:#fff; font:italic 800 33px/1 var(--display); box-shadow:0 5px 0 #d94d0b,0 9px 17px #e76b1521; }
.redeem-button:hover { background:linear-gradient(110deg,#f87e08,#f24b08); }
.flyer-hero .hero-copy { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; padding:0 4px; margin:18px 0 0; }
.hero-copy>p { margin:0; font:italic 700 22px/1.2 var(--display); color:var(--green); }
.flyer-hero .contact-link { font-size:11px; gap:8px; }
.support-strip { border:0; background:none; }
.support-inner { padding:17px 4px 26px; border-bottom:1px solid #e3e9d7; gap:16px; }
.support-mark { font-family:var(--font); font-weight:400; font-size:43px; color:var(--orange); }
.support-inner>p { max-width:770px; color:#24421c; font:italic 600 18px/1.35 var(--display); }
.support-club { font-size:10px; }
.support-club strong { font:italic 800 24px/1.1 var(--display); }
.flyer-details { display:grid; grid-template-columns:1fr 1fr; gap:42px; padding:43px 0 48px; }
.detail-panel h2 { position:relative; font:italic 900 36px/1.05 var(--display); letter-spacing:-.035em; margin:0 0 23px; }
.detail-panel h2::after { content:""; display:block; width:80px; height:4px; margin-top:12px; background:var(--orange); transform:rotate(-3deg); border-radius:50%; }
.detail-content>p { font-size:15px; line-height:1.55; margin:0 0 18px; max-width:430px; }
.benefit-list { list-style:none; margin:0; padding:0; display:grid; gap:8px; font:800 24px/1.15 var(--display); color:#1e2821; }
.benefit-list li { display:flex; gap:14px; align-items:center; }
.benefit-list li::before { content:"✓"; color:var(--orange); font:bold 27px/1 Arial,sans-serif; }
.action-steps { list-style:none; counter-reset:action; padding:0; margin:0; display:grid; gap:20px; }
.action-steps>li { counter-increment:action; display:flex; gap:15px; }
.action-steps>li::before { content:counter(action); flex:0 0 38px; height:38px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(120deg,#ff9311,#ff5b0d); color:#fff; font:800 26px/1 var(--display); }
.action-steps h3 { font:800 25px/1.06 var(--display); color:var(--green); margin:0 0 5px; letter-spacing:-.02em; }
.action-steps p { margin:0; font-size:14px; line-height:1.4; }
.preview-footer { border-top-color:#e3e9d7; }
@media(min-width:1600px) { .flyer-hero { min-height:0; padding-block:12px 28px; } }
@media(max-width:1050px) {
  .wrap { width:calc(100% - 56px); }
  .site-header { height:100px; }
  .ems-brand { width:213px; }
  .voucher-visual { height:465px; }
  .flyer-hero .voucher-top { width:49%; font-size:34px; }
  .flyer-hero .voucher-title { font-size:106px; }
  .flyer-hero .voucher-subtitle { font-size:29px; }
  .voucher-subtitle strong { font-size:38px; }
  .flyer-hero .value-caption { font-size:22px; }
  .flyer-hero .value-amount { font-size:102px; }
  .hero-copy>p { font-size:20px; }
  .flyer-details { gap:30px; }
  .detail-panel h2 { font-size:30px; }
}
@media(max-width:720px) {
  .wrap { width:calc(100% - 28px); }
  .site-header { height:83px; gap:15px; }
  .ems-brand { width:165px; }
  .club-brand img { width:61px; height:61px; }
  .club-brand-text { display:none; }
  .flyer-hero { padding:3px 0 19px; gap:0; }
  .voucher-visual { height:405px; }
  .voucher-scene { height:270px; object-position:49% 40%; }
  .voucher-visual::after { content:""; position:absolute; inset:190px 0 0; z-index:0; background:linear-gradient(0deg,#e6f5d8 0,#d7ecb7 30%,#cce29e00 100%); }
  .flyer-hero .voucher-top { width:62%; right:1%; top:13px; font-size:24px; padding:13px 47px 14px 21px; z-index:1; }
  .club-heart { width:53px; height:53px; right:0; top:-1px; }
  .voucher-content { left:4%; right:3%; bottom:73px; grid-template-columns:1fr; z-index:1; }
  .flyer-hero .voucher-main { padding:0 0 16px; text-align:left; margin:0; transform:rotate(-4deg); }
  .flyer-hero .voucher-main::before { inset:-9px -34px -18px -14px; }
  .flyer-hero .voucher-title { font-size:88px; text-align:left; padding-left:9px; line-height:.93; }
  .flyer-hero .voucher-subtitle { font-size:22px; padding-left:9px; margin-top:-1px; }
  .voucher-subtitle strong { font-size:clamp(19px,6.1vw,24px); }
  .voucher-swoosh { width:70%; margin:5px 0 -5px 14px; height:14px; }
  .flyer-hero .value { position:absolute; right:-2px; bottom:-18px; width:43%; padding:18px 9px 17px; transform:rotate(-5deg); }
  .flyer-hero .value::before { inset:0 -6px; }
  .flyer-hero .value-caption { font-size:clamp(11px,3.5vw,14px); }
  .flyer-hero .value-amount { font-size:clamp(43px,14vw,58px); }
  .flyer-hero .value-amount>span { margin-left:4px; }
  .value-swoosh { height:13px; margin:0; }
  .voucher-motto { left:1%; right:1%; bottom:9px; padding:15px 10px 16px; font-size:22px; z-index:2; line-height:1.06; }
  .voucher-motto span,.voucher-motto em { display:block; }
  .voucher-motto em { margin:1px 0 0; }
  .flyer-hero .voucher-foot { padding:15px 16px 18px; gap:13px; min-height:93px; }
  .voucher-free strong { font-size:21px; }
  .voucher-free>span { font-size:10px; max-width:130px; line-height:1.35; }
  .redeem-button { min-height:51px; width:140px; max-width:48%; font-size:28px; padding:10px 14px 12px; border-radius:4px; }
  .flyer-hero .hero-copy { display:block; margin-top:17px; padding-inline:4px; text-align:center; }
  .hero-copy>p { font-size:19px; }
  .flyer-hero .contact-link { font-size:10px; justify-content:center; margin-top:9px; }
  .support-inner { padding:5px 6px 22px; gap:12px; }
  .support-inner>p { font-size:16px; line-height:1.3; }
  .support-mark { font-size:35px; }
  .flyer-details { display:grid; grid-template-columns:1fr; gap:34px; padding:30px 9px; }
  .detail-panel h2 { font-size:30px; margin-bottom:18px; }
  .detail-content>p { font-size:14px; }
  .benefit-list { font-size:23px; gap:9px; }
  .action-steps { gap:18px; }
  .action-steps h3 { font-size:23px; }
  .action-steps p { font-size:13px; }
}
@media(max-width:370px) {
  .ems-brand { width:153px; }
  .flyer-hero .voucher-top { width:72%; font-size:20px; }
  .club-heart { width:49px; height:49px; }
  .flyer-hero .voucher-title { font-size:79px; }
  .voucher-motto { font-size:21px; }
  .voucher-free strong { font-size:19px; }
}
