/* Individual bonus banners. Scope deliberately excludes the site chrome. */
.gp-promo{--promo-gold:#ecd08d;--promo-border:#66522e;margin:0 26px 36px;min-width:0;color:#f8f3e7}
.gp-promo-stage{position:relative;isolation:isolate;overflow:hidden;min-height:354px;border:1px solid var(--promo-border);border-radius:23px;background:radial-gradient(ellipse at 85% 38%,#58431d55,transparent 53%),linear-gradient(120deg,#1d1a14,#100f10 74%);box-shadow:0 12px 35px #0002}
.gp-promo-stage:after{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 40%,#e5c47b05 40.2%,transparent 40.4%);pointer-events:none}
.gp-promo-copy{position:relative;z-index:2;width:61%;max-width:690px;padding:31px 35px 30px;min-width:0}
.gp-promo-status{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #ad8c463d;border-radius:99px;background:#0c0c0e88;color:#d8c593;font-size:10px;line-height:1.3;font-weight:700;letter-spacing:.075em;text-transform:uppercase}
.gp-promo-status>span{display:block;width:5px;height:5px;border-radius:50%;background:#ddc076;box-shadow:0 0 10px #ddc07655}
.gp-promo h2{margin:18px 0 13px;color:#f1e8d2;font-size:16px;line-height:1.3;font-weight:600;letter-spacing:.02em}
.gp-promo-value{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin:0;color:var(--promo-gold);min-width:0}
.gp-promo-value>strong{display:block;font-size:clamp(57px,6.3vw,88px);font-weight:800;line-height:.95;letter-spacing:-.055em;color:var(--promo-gold);text-shadow:0 3px 15px #0003}
.gp-promo-value>span{display:block;font-size:clamp(25px,2.8vw,36px);line-height:1.15;font-weight:700;letter-spacing:-.025em;color:#faf2de}
.gp-promo-extra{margin:12px 0 0;color:#f1d99c;font-size:21px;line-height:1.25;font-weight:700}
.gp-promo-summary{max-width:430px;margin:16px 0 20px;color:#c0b9aa;font-size:13px;line-height:1.6;text-wrap:pretty}
.gp-promo-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:42px;padding:10px 22px;border:1px solid #f8e4ad;border-radius:99px;background:linear-gradient(110deg,#ecd28d,#d4b261);color:#211b10;text-decoration:none;font-size:12px;line-height:1.35;font-weight:800;letter-spacing:.025em;transition:background .18s,box-shadow .18s}
.gp-promo-button>span{font-size:20px;line-height:1;font-weight:400}
.gp-promo-button:hover{background:#f6e2ab;box-shadow:0 0 20px #ddbd6b22}
.gp-promo-button:focus-visible{outline:3px solid #fff4c9;outline-offset:5px}
.gp-promo-art{position:absolute;z-index:1;right:2%;top:10px;width:42%;height:calc(100% - 12px);pointer-events:none}
.gp-promo-art svg{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 23px #0005)}
.gp-promo-panda{position:absolute;z-index:0;inset:0;background-image:linear-gradient(90deg,#15130ff2 0%,#15130fc4 32%,#15130f00 62%),url('/assets/panda-hero.webp');background-size:cover;background-position:center 40%;pointer-events:none}
.gp-promo-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;list-style:none;margin:11px 0 0;padding:0}
.gp-promo-terms>li{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;margin:0;padding:13px 17px;border:1px solid #3a3325;border-radius:11px;background:#1b1916;color:#e0d6bf}
.gp-promo-terms>li>span{font-size:10px;line-height:1.3;font-weight:600;letter-spacing:.055em;text-transform:uppercase;color:#a79b81}
.gp-promo-terms>li>strong{font-size:12px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}
.gp-promo-note{margin:11px 2px 0;color:#96918a;font-size:11px;line-height:1.55;max-width:920px}
.gp-promo--spins{--promo-gold:#e3d092;--promo-border:#4f6650}
.gp-promo--spins .gp-promo-stage{background:radial-gradient(ellipse at 82% 48%,#487e4e55,transparent 57%),linear-gradient(115deg,#16241d,#111612)}
.gp-promo--spins .gp-promo-terms>li{border-color:#354738;background:#171f1a}
.gp-promo--cashback{--promo-gold:#efcd91;--promo-border:#6e5362}
.gp-promo--cashback .gp-promo-stage{background:radial-gradient(ellipse at 84% 45%,#9b647245,transparent 57%),linear-gradient(115deg,#2a1c29,#151117)}
.gp-promo--cashback .gp-promo-terms>li{border-color:#473442;background:#211920}
.gp-promo--cashback .gp-promo-extra{font-size:16px;font-weight:600}
.gp-promo--unconfirmed{--promo-border:#53614a}
.gp-promo--unconfirmed .gp-promo-stage{background:radial-gradient(ellipse at 85% 50%,#57724a40,transparent 55%),linear-gradient(120deg,#1a241c,#121611)}
.gp-promo--code{--promo-border:#695240}
.gp-promo--code .gp-promo-stage{background:radial-gradient(ellipse at 85% 50%,#87573d40,transparent 55%),linear-gradient(120deg,#2b201c,#151211)}
.gp-promo--wagering .gp-promo-stage{background:radial-gradient(ellipse at 85% 50%,#66583155,transparent 55%),linear-gradient(120deg,#24221a,#111311)}
.gp-promo--state .gp-promo-value>strong{max-width:500px;font-size:clamp(35px,4.2vw,58px);line-height:1.05;letter-spacing:-.04em;text-wrap:balance}
.gp-promo--state .gp-promo-value>span{font-size:17px;line-height:1.4;font-weight:500;color:#bfb7a5;letter-spacing:0}
.gp-promo--state .gp-promo-copy{padding-top:34px;padding-bottom:33px}
.gp-promo--state .gp-promo-summary{margin-top:20px;max-width:440px}
@media(min-width:1600px){.gp-promo-stage{min-height:382px}.gp-promo-copy{padding:36px 42px}.gp-promo h2{font-size:18px}.gp-promo-summary{font-size:14px;max-width:475px}.gp-promo-value>strong{font-size:94px}.gp-promo--state .gp-promo-value>strong{font-size:63px}.gp-promo-art{width:40%;right:4%}}
@media(max-width:1100px){.gp-promo{margin-left:21px;margin-right:21px}.gp-promo-copy{width:64%;padding:28px}.gp-promo-stage{min-height:338px}.gp-promo-art{width:41%;right:0}.gp-promo-value>strong{font-size:68px}.gp-promo-value>span{font-size:28px}.gp-promo-summary{max-width:350px;font-size:12px}.gp-promo--state .gp-promo-value>strong{font-size:43px}.gp-promo--state .gp-promo-summary{max-width:330px}}
@media(max-width:800px){.gp-promo-stage{min-height:332px}.gp-promo-copy{width:65%;padding:27px 24px}.gp-promo-status{font-size:9px;letter-spacing:.035em;padding:6px 8px}.gp-promo h2{font-size:14px;margin-top:17px}.gp-promo-value>strong{font-size:62px}.gp-promo-extra{font-size:18px}.gp-promo-art{width:44%;right:-3%;opacity:.88}.gp-promo-panda{background-position:57% center;background-image:linear-gradient(90deg,#15130ff5 0%,#15130fe0 25%,#15130f14 75%),url('/assets/panda-hero.webp')}.gp-promo-terms>li{padding:11px 13px}.gp-promo-terms>li>strong{font-size:11px}}
@media(max-width:600px){.gp-promo{margin:0 19px 30px}.gp-promo-stage{min-height:350px;border-radius:18px}.gp-promo-copy{width:100%;padding:23px 22px;max-width:none}.gp-promo h2{margin-top:18px;font-size:14px;max-width:75%}.gp-promo-value{max-width:73%}.gp-promo-value>strong{font-size:66px}.gp-promo-value>span{font-size:25px}.gp-promo-extra{font-size:17px;max-width:75%}.gp-promo-summary{max-width:73%;font-size:12px;margin-top:15px;line-height:1.6}.gp-promo-button{margin-top:0;min-height:41px;padding:10px 19px;font-size:11px;gap:19px}.gp-promo-art{width:57%;height:69%;top:auto;bottom:4%;right:-16%;opacity:.55}.gp-promo-panda{background-size:auto 100%;background-repeat:no-repeat;background-position:right center;background-image:linear-gradient(90deg,#15130f 0%,#15130ff0 20%,#15130fb3 53%,#15130f14 100%),url('/assets/panda-hero.webp')}.gp-promo-terms{gap:6px;margin-top:9px}.gp-promo-terms>li{padding:10px 9px;border-radius:9px;gap:5px}.gp-promo-terms>li>span{font-size:8px;letter-spacing:.02em}.gp-promo-terms>li>strong{font-size:10px;line-height:1.35}.gp-promo-note{font-size:10px;line-height:1.55;margin-top:9px}.gp-promo--state .gp-promo-copy{padding:27px 22px}.gp-promo--state .gp-promo-value{max-width:85%}.gp-promo--state .gp-promo-value>strong{font-size:38px;max-width:280px}.gp-promo--state .gp-promo-value>span{font-size:14px}.gp-promo--state .gp-promo-summary{max-width:80%;margin-top:17px}.gp-promo--state .gp-promo-art{opacity:.34}.gp-promo--cashback .gp-promo-extra{font-size:14px;max-width:72%}}
@media(max-width:360px){.gp-promo-copy{padding-left:18px;padding-right:18px}.gp-promo-value>strong{font-size:58px}.gp-promo-value>span{font-size:23px}.gp-promo--state .gp-promo-value>strong{font-size:33px}.gp-promo-status{font-size:8px}.gp-promo-summary{max-width:80%}.gp-promo-terms>li{padding:9px 7px}.gp-promo-terms>li>strong{font-size:9px}}
@media(prefers-reduced-motion:reduce){.gp-promo-button{transition:none}}
