.chp-promo-teaser{display:flex;align-items:flex-start;gap:.45rem;margin:.7rem 0 0!important;color:#fff;font-size:.88rem;font-weight:700;line-height:1.35;max-width:100%;overflow-wrap:anywhere}.chp-promo-teaser span{color:#f32649;flex:none}
.chp-demo-badge{display:inline-block;vertical-align:middle;margin-left:.45rem;padding:.18rem .4rem;border:1px solid #fb4766;border-radius:5px;color:#fff;background:#a51b37;font:700 .65rem system-ui;letter-spacing:.06em}.chp-promo-managed{color:#fff;font-size:.85rem}
.club-card .chp-promo-teaser{color:#fff;background:rgba(236,29,63,.18);border:1px solid rgba(243,38,73,.42);border-radius:8px;padding:.6rem .7rem}
.venue-card .chp-promo-teaser,.map-choice .chp-promo-teaser{font-size:.78rem}
.chp-promo-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,1fr);gap:clamp(1rem,3vw,2.4rem);margin-block:2rem 4rem;padding:clamp(1.3rem,3vw,2.5rem);border:1px solid rgba(243,38,73,.55);border-radius:20px;background:linear-gradient(135deg,#281015,#121212 48%,#1b1b1d);box-shadow:0 22px 50px rgba(0,0,0,.3);color:#fff}
.chp-promo-section h2{font-family:Impact,'Arial Narrow',sans-serif;font-weight:400;font-stretch:condensed;text-transform:uppercase;font-size:clamp(2rem,4vw,3.8rem);line-height:1.04;letter-spacing:.01em;margin:.25rem 0 1rem}
.chp-promo-section h3{font-family:Impact,'Arial Narrow',sans-serif;font-weight:400;font-size:1.8rem;text-transform:uppercase;margin:0 0 1rem}
.chp-promo-section .eyebrow{color:#fb3754}.chp-promo-intro>p:not(.eyebrow){max-width:55ch;line-height:1.6;color:#dedede}
.chp-promo-facts{display:grid;gap:.75rem;margin:1.6rem 0}.chp-promo-facts span{display:grid;gap:.15rem;padding:.9rem 1rem;background:rgba(255,255,255,.07);border-left:3px solid #f32649;border-radius:8px}.chp-promo-facts b{color:#fb4661;text-transform:uppercase;letter-spacing:.08em;font-size:.73rem}
.chp-promo-form-wrap{padding:clamp(1rem,2vw,1.7rem);background:#1c1c1e;border:1px solid #424246;border-radius:14px}.chp-promo-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.chp-promo-form label{display:grid;gap:.35rem;color:#fff;font-size:.9rem;font-weight:700}.chp-promo-form input:not([type=checkbox]),.chp-promo-form select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #666;border-radius:7px;background:#111;color:#fff;padding:.75rem;font:inherit}.chp-promo-form input:focus,.chp-promo-form select:focus{outline:2px solid #f32649;outline-offset:2px}.chp-promo-privacy{display:flex!important;align-items:flex-start;gap:.6rem;margin:1.15rem 0;font-weight:400!important;line-height:1.45}.chp-promo-privacy input{margin-top:.2rem}.chp-promo-privacy a{color:#fff;text-decoration:underline}.chp-promo-form .button{width:100%;background:#e92144;color:#fff;border:0;cursor:pointer}.chp-promo-feedback{border:1px solid #49ba72;background:#164c2a;padding:.9rem;border-radius:8px}.chp-promo-feedback.error{border-color:#f32649;background:#4b1722}.chp-promo-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.chp-promo-private{min-height:100vh;margin:0;background:radial-gradient(circle at top,#3e1320 0,#111 45%,#090909 100%);color:#f5f5f5;font-family:system-ui,-apple-system,Segoe UI,sans-serif;display:grid;place-items:center;padding:1rem;box-sizing:border-box}.chp-promo-private-card{width:min(100%,540px);box-sizing:border-box;padding:clamp(1.2rem,4vw,2.5rem);border:1px solid #5b3440;border-radius:20px;background:#19191b;box-shadow:0 20px 60px #0009}.chp-promo-brand{font-family:Impact,'Arial Narrow',sans-serif;font-size:1.6rem;text-decoration:none;color:#fff;letter-spacing:.03em}.chp-promo-brand span{color:#ed2547}.chp-promo-brand strong{font:inherit;color:#fff}.chp-promo-private h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(2rem,7vw,3.3rem);font-weight:400;text-transform:uppercase;line-height:1.05}.chp-promo-state-upcoming h1,.chp-promo-state-valid h1{color:#42d77d}.chp-promo-private dl{display:grid;gap:.7rem}.chp-promo-private dl>div{border-bottom:1px solid #3e3e42;padding-bottom:.65rem}.chp-promo-private dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#f75b73}.chp-promo-private dd{margin:.2rem 0 0;font-weight:700;overflow-wrap:anywhere}.chp-promo-private button{cursor:pointer;border:0;background:#ef284b;color:#fff;padding:.85rem 1rem;border-radius:8px;font:700 1rem system-ui;min-height:48px}.chp-promo-private button:disabled{cursor:not-allowed;background:#4d4d52;color:#ddd;opacity:1;width:100%;margin-top:1.2rem}.chp-promo-private form>button,.chp-promo-private [data-redeem-start]{width:100%;margin-top:1.2rem}.chp-promo-private .chp-promo-confirm-actions{display:flex;gap:.7rem}.chp-promo-private [data-redeem-cancel]{background:#404044}.chp-promo-private .chp-promo-warning{padding:1rem;background:#453416;border:1px solid #d6a84f;border-radius:8px;line-height:1.5}.chp-promo-confirmed-copy{padding:1rem;background:#173624;border:1px solid #318c53;border-radius:8px;line-height:1.5}.chp-promo-result{padding:1rem;background:#26382c;border-radius:8px}.chp-promo-qr,.chp-promo-admin-qr{background:#fff;width:max-content;padding:12px;border-radius:10px;margin:1.2rem auto}.chp-promo-qr img,.chp-promo-admin-qr img{max-width:100%;height:auto}
@media(max-width:760px){.chp-promo-section{grid-template-columns:1fr;margin-block:1.3rem 3rem}.chp-promo-fields{grid-template-columns:1fr}.chp-promo-private .chp-promo-confirm-actions{flex-direction:column}}
.chp-demo-map-placeholder{min-height:230px;display:grid;place-items:center;text-align:center;padding:2rem;border:1px dashed rgba(255,255,255,.3);border-radius:16px;background:linear-gradient(135deg,#1b1b20,#2d2024);color:#eee;font-weight:700;line-height:1.4}
.chp-site .club-card.has-promo{border-color:rgba(65,220,117,.75);box-shadow:0 0 0 1px rgba(65,220,117,.25),0 18px 40px rgba(0,0,0,.3)}
.chp-site .club-card.has-promo .chp-promo-teaser{color:#eaffef;background:linear-gradient(110deg,rgba(19,103,53,.92),rgba(24,137,67,.82));border:1px solid #42d774;box-shadow:0 5px 20px rgba(38,195,91,.2)}
.chp-site .club-card.has-promo .chp-promo-teaser span{color:#93ffad}
.chp-promo-section{border-color:rgba(66,215,116,.75);background:linear-gradient(135deg,#163d27,#101c16 47%,#171b19);box-shadow:0 18px 48px rgba(12,81,38,.28)}
.chp-promo-section .eyebrow,.chp-promo-facts b{color:#7aed9f}
.chp-promo-facts span{border-left-color:#42d774;background:rgba(94,214,131,.11)}
.chp-promo-section .chp-promo-form .button{background:#238b49;color:#fff;font-weight:800}
.chp-promo-section .chp-promo-form .button:hover,.chp-promo-section .chp-promo-form .button:focus{background:#2cab59}
.chp-promo-standard-notice{grid-column:1/-1;margin-top:.2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.72);font-size:clamp(12px,1.1vw,13px);line-height:1.55}
.chp-promo-standard-notice p{margin:0}
.chp-promo-standard-notice p+p{margin-top:.45rem}
.chp-promo-no-dates{display:block;padding:.8rem;border:1px solid #d6a84f;border-radius:7px;color:#ffe3a5;background:#453416;font-weight:600}
.chp-promo-image{display:block;width:min(100%,360px);max-height:320px;object-fit:contain;margin:1rem auto .5rem;filter:drop-shadow(0 12px 20px rgba(0,0,0,.35))}
.chp-promo-form select{height:auto!important;min-height:48px!important;line-height:1.4!important;padding-block:.85rem!important;vertical-align:middle}
.chp-promo-form input[type="date"]{min-height:48px;color-scheme:dark}
.chp-promo-form input[type="date"]{padding-right:2.7rem!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:19px 19px;background-position:right .85rem center}
.chp-promo-form input[type="date"]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer}
.chp-promo-form select[name="reservation_date"]{appearance:none;-webkit-appearance:none;padding-right:2.7rem!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:19px 19px;background-position:right .85rem center}
.chp-promo-form [hidden],.chp-promo-private [hidden]{display:none!important}
.chp-promo-staff-note{text-align:center;color:#ddd;font-size:.83rem;line-height:1.4;margin:.45rem 0 0}
.chp-site .club-card.has-promo .chp-promo-teaser{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;padding:.72rem .8rem}
.chp-site .club-card.has-promo .chp-promo-teaser .chp-promo-label{padding:.16rem .42rem;border:1px solid #82f5a2;border-radius:999px;color:#dfffe8;text-transform:uppercase;letter-spacing:.07em;font-size:.68rem;font-weight:900}
.chp-site .club-card.has-promo .chp-promo-teaser strong{flex-basis:100%;color:#fff;font-size:clamp(.92rem,1.4vw,1.08rem);line-height:1.25}
.chp-promo-card-link{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.65rem;padding:.62rem .8rem;border:1px solid #61e78a;border-radius:8px;background:#1e7d42;color:#fff!important;font-weight:900;text-decoration:none}
.chp-promo-card-link:hover,.chp-promo-card-link:focus{background:#299d55;color:#fff!important}
.chp-promo-image{width:min(100%,560px);height:auto;max-height:720px;object-fit:contain;margin:1.2rem auto .75rem}
.chp-promo-form-wrap{align-self:start}
@media(max-width:760px){.chp-promo-image{width:min(100%,520px);max-height:none}.chp-promo-section{overflow:hidden}.chp-promo-card-link{width:100%;box-sizing:border-box}}

/* The promo treatment replaces category framing without changing grid dimensions. */
.chp-site .club-card.has-promo,
.home.chp-site .home-venues > .section-heading + .home-venue-group .club-card.has-promo,
.home.chp-site .home-venues > .home-venue-group + .home-venue-group .club-card.has-promo{
 border:2px solid #2de875;
 box-shadow:0 0 0 1px rgba(45,232,117,.26),0 0 26px rgba(45,232,117,.42),0 18px 40px rgba(0,0,0,.34)
}
.chp-site .club-card.has-promo::after{
 content:"PROMO";
 position:absolute;
 z-index:5;
 top:10px;
 right:10px;
 padding:.28rem .55rem;
 border:1px solid #a2ffc0;
 border-radius:999px;
 background:#19b95a;
 box-shadow:0 5px 18px rgba(13,180,79,.42);
 color:#fff;
 font:900 .68rem/1 system-ui,-apple-system,"Segoe UI",sans-serif;
 letter-spacing:.1em
}
.chp-site .club-card.has-promo .club-contacts{display:none}
.chp-site .club-card.has-promo .club-content{padding-top:38px}
.chp-site .club-card.has-promo .club-logo{width:76px;height:76px;margin-bottom:9px}
.chp-site .club-card.has-promo .club-music{margin:6px 0 10px}
.chp-site .club-card.has-promo .chp-promo-teaser{
 display:block;
 width:100%;
 box-sizing:border-box;
 margin:0!important;
 padding:.5rem .65rem;
 border:1px solid #45ef82;
 border-radius:9px;
 background:rgba(8,67,32,.94);
 box-shadow:0 5px 18px rgba(10,171,70,.26);
 color:#fff;
 text-align:center
}
.chp-site .club-card.has-promo .chp-promo-teaser>span:first-child{display:none}
.chp-site .club-card.has-promo .chp-promo-teaser .chp-promo-label{
 display:block;
 margin:0 0 .2rem;
 border:0;
 padding:0;
 color:#9fffc0;
 font:900 .7rem/1.1 Impact,"Arial Narrow",sans-serif;
 letter-spacing:.12em
}
.chp-site .club-card.has-promo .chp-promo-teaser strong{
 display:block;
 color:#fff;
 font:400 clamp(1.12rem,2.1vw,1.5rem)/1.08 Impact,"Arial Narrow",sans-serif;
 text-transform:uppercase;
 overflow-wrap:anywhere
}
.chp-site .club-card.has-promo .chp-promo-card-link{
 display:flex;
 width:100%;
 box-sizing:border-box;
 min-height:38px;
 margin-top:7px;
 padding:.4rem .55rem;
 border:1px solid #a2ffc0;
 border-radius:8px;
 background:#18aa55;
 box-shadow:0 5px 18px rgba(10,171,70,.3);
 font:400 .92rem/1 Impact,"Arial Narrow",sans-serif;
 letter-spacing:.05em;
 text-transform:uppercase;
 text-align:center
}
.chp-site .club-card.has-promo:hover{border-color:#54ff8d;box-shadow:0 0 0 2px rgba(39,229,111,.3),0 0 34px rgba(39,229,111,.5),0 18px 40px rgba(0,0,0,.38)}
@media(max-width:760px){
 .chp-site .club-card.has-promo,.home.chp-site .club-card.has-promo,
 .chp-site .club-card.has-promo .club-content,.home.chp-site .club-card.has-promo .club-content{min-height:188px}
 .chp-site .club-card.has-promo::after{top:6px;right:6px;padding:.2rem .34rem;font-size:.5rem}
 .chp-site .club-card.has-promo .club-content{padding:18px 5px 7px}
 .chp-site .club-card.has-promo .club-logo{width:34px;height:34px;margin-bottom:3px;padding:3px}
 .chp-site .club-card.has-promo .club-identity h2{font-size:10px;line-height:1.05;min-height:0}
 .chp-site .club-card.has-promo .club-music{font-size:9px;line-height:1.1;margin:3px 0 5px;min-height:0}
 .chp-site .club-card.has-promo .chp-promo-teaser{padding:.27rem .22rem;border-radius:6px}
 .chp-site .club-card.has-promo .chp-promo-teaser .chp-promo-label{font-size:.56rem;letter-spacing:.04em;margin-bottom:.15rem}
 .chp-site .club-card.has-promo .chp-promo-teaser strong{font-size:clamp(.73rem,3vw,.95rem);line-height:1.03}
 .chp-site .club-card.has-promo .chp-promo-card-link{min-height:24px;margin-top:4px;padding:.2rem;border-radius:6px;font-size:.62rem}
 .chp-site .club-card.has-promo .chp-promo-card-link span{display:none}
}
@media(max-width:360px){
 .chp-site .club-card.has-promo,.home.chp-site .club-card.has-promo,
 .chp-site .club-card.has-promo .club-content,.home.chp-site .club-card.has-promo .club-content{min-height:205px}
}
@media(max-width:1024px){
 .chp-promo-form input:not([type=checkbox]),.chp-promo-form select,.chp-promo-form textarea{font-size:16px!important}
}
