/* Gutschein-Karte · CI 2.3 · lokale Revision 02. Quellen im v02-ci-Bericht. */
.promo-page,.promo-top{--promo-purple:var(--bf-v2-purple,#45336e);--promo-paper:var(--bf-v2-paper,#fffaf1);--promo-ink:var(--bf-v2-ink,#312340);--promo-muted:var(--bf-v2-muted,#62586c);font-family:var(--bf-v2-font,Manrope,system-ui,sans-serif)}
/* Spielerische CI-2.3-Gutscheinfläche · Revision 06: Originalmotive, ruhende Sticker, klare Kontozustände. */
.promo-top{position:relative;z-index:10;background:var(--bf-v2-lime,#d8ef69);color:var(--promo-purple);border-bottom:1.5px solid var(--promo-purple);font-size:13px;line-height:1.5}
.promo-top *{box-sizing:border-box}
.promo-top-inner{max-width:1120px;margin:auto;padding:10px 24px;display:flex;align-items:center;justify-content:center;gap:24px}
.promo-top-art{display:block;width:76px;height:70px;flex:0 0 76px;transform:rotate(-5deg)}
.promo-top-message{display:grid;grid-template-columns:1fr;gap:2px;min-width:0}
.promo-top-kicker{font-size:9px;line-height:1.5;font-weight:800;letter-spacing:.11em}
.promo-top-title{font-size:22px;line-height:1.25;font-weight:800;letter-spacing:-.035em}
.promo-top-detail{color:var(--promo-purple);font-size:12px;font-weight:500;line-height:1.5}
.promo-top-actions{display:flex;align-items:center;gap:20px;margin-left:auto;flex-shrink:0}
.promo-top a.promo-top-link,body.ci21.ci21 .promo-top a.promo-top-link{background:var(--promo-purple);color:var(--promo-paper);display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:10px 20px;border:1.5px solid var(--promo-purple);border-radius:var(--bf-v2-radius-button,99px);font-size:12px;font-weight:800;line-height:1.4;text-decoration:none}
.promo-top-link img{display:block;flex:0 0 20px;filter:brightness(0) invert(1)}
.promo-top a.promo-top-link:hover,body.ci21.ci21 .promo-top a.promo-top-link:hover{background:var(--promo-ink);color:var(--promo-paper)}
.promo-top a.promo-top-terms,body.ci21.ci21 .promo-top a.promo-top-terms{display:flex;align-items:center;min-height:44px;color:var(--promo-purple);font-size:11px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1050px){.promo-top-actions{display:grid;gap:0;justify-items:center}.promo-top a.promo-top-terms,body.ci21.ci21 .promo-top a.promo-top-terms{min-height:44px}.promo-top-inner{gap:16px}.promo-top-title{font-size:20px}}
@media(max-width:700px){.promo-top-inner{padding:12px 16px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px 12px}.promo-top-art{width:56px;height:56px}.promo-top-title{font-size:20px}.promo-top-kicker{font-size:8px}.promo-top-detail{font-size:11px}.promo-top-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:center;gap:0 16px;margin:0}.promo-top a.promo-top-link{flex:1;min-width:165px}.promo-top a.promo-top-terms{justify-content:center}.promo-top-actions:has(.promo-top-terms) .promo-top-link{flex:0 1 auto}}
@media(max-width:380px){.promo-top-actions{display:grid;grid-template-columns:1fr}.promo-top a.promo-top-link{width:100%;min-width:0}.promo-top-title{font-size:19px}}

.promo-page{max-width:1120px;margin:auto;padding:64px 20px;color:var(--promo-ink)}.promo-page *{box-sizing:border-box}.promo-page h1{font-size:clamp(40px,5vw,64px);line-height:1.04;letter-spacing:-.055em;margin:12px 0 24px;font-weight:800;color:var(--promo-purple)}.promo-eyebrow{font-size:11px;letter-spacing:.12em;font-weight:800;margin:0;color:var(--promo-muted)}.promo-intro{max-width:640px;font-size:17px;line-height:1.7;color:var(--promo-muted);margin:0 0 40px}
.promo-card{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);background:var(--promo-paper);border:1.5px solid var(--promo-ink);border-radius:24px;box-shadow:4px 5px 0 var(--promo-ink);overflow:hidden;margin:0 5px 40px 0}.promo-card-main{padding:32px 40px 24px;min-width:0}.promo-card-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.promo-tag{font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--promo-purple)}.promo-brand{display:block;width:160px;height:auto;max-width:45%}.promo-page .promo-value,body.ci21.ci21 .promo-page h2.promo-value{display:flex;align-items:baseline;gap:10px;font-size:104px;line-height:1;letter-spacing:-.065em;font-weight:800;color:var(--promo-purple);margin:12px 0 8px}.promo-value>span{font-size:.52em;letter-spacing:-.03em}.promo-value-caption{font-size:14px;font-weight:700;color:var(--promo-purple);margin:0 0 24px}.promo-card-title{font-size:22px;line-height:1.3;letter-spacing:-.025em;font-weight:800;margin:0 0 8px}.promo-minimum{font-size:15px;line-height:1.65;color:var(--promo-muted);margin:0 0 24px}
.promo-code-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #dcd5df;border-radius:8px;padding:16px;background:#fff}.promo-code-label{display:block;font-size:10px;letter-spacing:.1em;color:var(--promo-muted);font-weight:700;margin-bottom:8px}.promo-code{display:inline-block;background:#d8ef69;padding:3px 8px;border-radius:3px;color:var(--promo-purple);font-size:24px;line-height:1.25;font-weight:800;letter-spacing:.04em}.promo-copy{display:flex;align-items:center;justify-content:center;min-height:44px;border:1.5px solid var(--promo-purple);border-radius:99px;padding:11px 16px;background:transparent;color:var(--promo-purple);font:800 13px/1.4 var(--bf-v2-font,Manrope,system-ui,sans-serif);cursor:pointer;white-space:nowrap}.promo-copy:hover{background:#f4eef8}.promo-copy-status{margin:8px 0 0;min-height:18px;font-size:12px;line-height:1.5;color:var(--promo-purple)}
.promo-card-stub{padding:32px;display:flex;flex-direction:column;justify-content:center;background:#f4eef8;border-left:1px solid #dcd5df}.promo-stub-icon{width:48px;height:48px;margin-bottom:24px}.promo-card-stub h3,body.ci21.ci21 .promo-page .promo-card-stub h3{font-size:22px;line-height:1.3;letter-spacing:-.025em;font-weight:800;margin:0 0 24px;color:var(--promo-purple)}.promo-card-stub ul{list-style:none;display:grid;gap:16px;padding:0;margin:0 0 32px;font-size:13px;line-height:1.6;color:var(--promo-muted)}.promo-card-stub li{display:flex;align-items:flex-start;gap:10px}.promo-card-stub li>img{flex:0 0 20px;margin-top:1px}.promo-page a.promo-cta,body.ci21.ci21 .promo-page a.promo-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:14px 20px;border:1.5px solid var(--promo-purple);border-radius:99px;background:var(--promo-purple);color:var(--promo-paper);font-size:14px;line-height:1.4;font-weight:800;text-decoration:none}.promo-cta>img{filter:brightness(0) invert(1);flex:0 0 24px}.promo-page a.promo-cta:hover{box-shadow:0 3px 0 #31234030}.promo-conditions-link{align-self:center;margin-top:16px;color:var(--promo-muted);font-size:12px;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}.promo-used{font-size:14px;font-weight:700;line-height:1.6}
.promo-page :is(a,button):focus-visible{outline:3px solid var(--promo-purple);outline-offset:4px}.promo-top a:focus-visible{outline:3px solid var(--promo-purple);outline-offset:-4px}
.promo-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:48px 0}.promo-steps>div{border-top:1px solid #dcd5df;padding-top:16px}.promo-steps span{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--promo-purple)}.promo-steps h2,body.ci21.ci21 .promo-page .promo-steps h2{font-size:16px;line-height:1.4;margin:12px 0 8px;font-weight:800}.promo-steps p{font-size:14px;line-height:1.7;color:var(--promo-muted);margin:0}.promo-terms{border-top:1px solid #dcd5df;padding-top:24px;scroll-margin-top:24px}.promo-terms h2,body.ci21.ci21 .promo-page .promo-terms h2{font-size:15px;line-height:1.4;margin:0 0 12px;font-weight:800}.promo-terms p{font-size:12px;line-height:1.85;color:var(--promo-muted);margin:0}.promo-empty{padding:32px;background:#f4eef8;border-radius:8px}
.promo-checkout{max-width:100%;margin:20px 0;padding:20px;border:1px solid #d0c3dd;border-radius:10px;background:#f7f2fa}.promo-checkout h2{font-size:18px}.promo-checkout label{display:block;margin-bottom:8px}.promo-checkout .promo-checkout-row{display:flex;gap:10px;flex-wrap:wrap}.promo-checkout input{min-width:0;flex:1;padding:12px;border:1px solid #9a86ad;border-radius:5px;text-transform:uppercase;font:700 16px ui-monospace,monospace}.promo-checkout button{background:#45336e;color:#fff;border:0;border-radius:5px;padding:12px 16px;cursor:pointer;font-weight:700}.promo-checkout p{font-size:13px;margin:10px 0 0}.promo-discount{color:#2f673b}.promo-error{color:#8c301b}.promo-remove{margin-top:10px}

@media(max-width:700px){.promo-page{padding:40px 16px}.promo-intro{font-size:16px;margin-bottom:32px}.promo-card{grid-template-columns:minmax(0,1fr)}.promo-card-main{padding:24px 20px 16px}.promo-card-top{gap:16px;margin-bottom:24px}.promo-brand{width:136px}.promo-page .promo-value,body.ci21.ci21 .promo-page h2.promo-value{font-size:88px}.promo-card-title{font-size:20px}.promo-code-row{padding:12px;gap:12px;flex-wrap:wrap}.promo-code{font-size:23px}.promo-copy{padding:10px 13px}.promo-card-stub{border-left:0;border-top:1px solid #dcd5df;padding:24px 20px}.promo-stub-icon{width:40px;height:40px;margin-bottom:16px}.promo-card-stub h3,body.ci21.ci21 .promo-page .promo-card-stub h3{font-size:20px;margin-bottom:20px}.promo-card-stub ul{gap:12px;margin-bottom:24px}.promo-steps{grid-template-columns:1fr;gap:24px;margin:40px 0}.promo-steps>div{display:grid;grid-template-columns:26px 1fr;column-gap:12px}.promo-steps span{grid-row:1/3;margin-top:3px}.promo-steps h2,body.ci21.ci21 .promo-page .promo-steps h2{margin:0 0 8px}.promo-checkout{padding:16px}.promo-checkout button{font-size:13px}}

.promo-approval{font-size:14px;line-height:1.6;color:var(--promo-purple);margin:0 0 16px}

/* Originale CI-Motive und Ticketdetails. Alle Dekorationen bleiben statisch. */
.promo-heading-mark{position:relative;isolation:isolate;display:inline-block}
.promo-heading-mark:before{content:"";position:absolute;z-index:-1;inset:12% -8px -3%;background:var(--bf-v2-lime,#d8ef69);border-radius:40% 15% 25% 15%/15% 30% 14% 35%;transform:rotate(-2deg)}
.promo-tag{display:inline-block;border:1.5px solid var(--promo-purple);border-radius:7px;padding:7px 10px;background:var(--bf-v2-lime,#d8ef69);transform:rotate(-2deg);font-size:9px;line-height:1.5;letter-spacing:.08em}
.promo-card-stub{position:relative;background:var(--bf-v2-lime,#d8ef69);border-left:2px dashed var(--promo-purple);padding-top:20px}
.promo-stub-art{display:block;width:160px;height:auto;margin:-8px auto 4px}
.promo-card-stub ul,.promo-conditions-link{color:var(--promo-purple)}
.promo-card-main{background-image:url('/static/ci22-20261013-v02/motifs/dekor-funken.svg');background-repeat:no-repeat;background-position:right 24px top 95px;background-size:95px auto}
.promo-code-row{border:1.5px dashed var(--promo-purple);border-radius:12px;background:var(--promo-paper)}
.promo-code{border-radius:5px;overflow-wrap:anywhere;word-break:break-word;max-width:100%}
.promo-code-row>div{min-width:0}
.promo-copy{background:var(--promo-paper)}
.promo-unlock{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,1fr);border:1.5px solid var(--promo-ink);border-radius:24px;box-shadow:4px 5px 0 var(--promo-ink);background:var(--promo-paper);overflow:hidden;margin:0 5px 40px 0}
.promo-unlock-copy{padding:40px;min-width:0}
.promo-unlock-copy h2,body.ci21.ci21 .promo-page .promo-unlock h2{font-size:clamp(28px,4vw,38px);line-height:1.12;letter-spacing:-.04em;color:var(--promo-purple);margin:24px 0 16px}
.promo-unlock-copy>p{font-size:15px;line-height:1.75;color:var(--promo-muted);margin:0 0 24px}
.promo-unlock-copy .promo-cta{max-width:360px}
.promo-unlock-copy>p.promo-unlock-note{font-size:12px;line-height:1.65;margin:16px 0 0}
.promo-unlock-copy .promo-conditions-link{margin-top:4px;width:fit-content}
.promo-unlock-art{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;background:var(--bf-v2-lime,#d8ef69);border-left:2px dashed var(--promo-purple)}
.promo-unlock-art img{display:block;width:100%;max-width:280px;height:auto}
.promo-unlock-art span{font-size:17px;line-height:1.4;font-weight:800;letter-spacing:-.025em;color:var(--promo-purple);text-align:center}
@media(max-width:700px){.promo-card-stub{border-left:0;border-top:2px dashed var(--promo-purple)}.promo-stub-art{width:140px}.promo-card-main{background-size:72px auto;background-position:right 12px top 100px}.promo-unlock{grid-template-columns:minmax(0,1fr)}.promo-unlock-copy{padding:28px 20px 20px}.promo-unlock-art{border-left:0;border-top:2px dashed var(--promo-purple);padding:12px 20px 20px}.promo-unlock-art img{max-width:180px}.promo-tag{max-width:100%}.promo-card-top{gap:10px}.promo-card-top .promo-brand{max-width:40%}}
@media(max-width:380px){.promo-page a.promo-cta,body.ci21.ci21 .promo-page a.promo-cta{padding-inline:16px;gap:10px;font-size:13px}.promo-card-main{background-size:58px auto}.promo-copy{width:100%}.promo-tag{font-size:8px;padding:6px 8px}}

.promo-page button.promo-cta{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 24px;border:1.5px solid #45336e;border-radius:99px;background:#45336e;color:#fffaf1;font:800 14px/1.4 var(--bf-v2-font,Manrope,system-ui,sans-serif);cursor:pointer}.promo-page button.promo-cta:focus-visible{outline:3px solid #45336e;outline-offset:4px}
