/* GRITS Gigs — Indie Punk theme: Promoters page */
body.punk.pp main.wrap{max-width:none;padding:0}
body.punk.pp .pp-in{max-width:1240px;margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.pp-signin{background:var(--pk-orange);color:#000;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:9px clamp(18px,4vw,40px);font-family:var(--pk-head);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:2px solid #000}
.pp-signin a{color:#000!important;text-decoration:underline}
body.punk.pp .hero-p{position:relative;margin:0;padding:clamp(80px,12vw,150px) clamp(18px,4vw,40px);min-height:620px;display:flex;flex-direction:column;justify-content:center;border-bottom:4px solid #fff;background:linear-gradient(rgba(0,0,0,.62),rgba(0,0,0,.82)),url(/site/event-fallback.jpg) center/cover;background-color:#000}
body.punk.pp .hero-p>*{max-width:900px;margin-left:auto;margin-right:auto;width:100%}
body.punk.pp .hero-p h1{font-size:clamp(2.6rem,7vw,5.6rem);margin:.2em auto .4em}
body.punk.pp .hero-p .lead{text-transform:uppercase;font-weight:700;font-size:clamp(.9rem,1.4vw,1.05rem);line-height:1.7;color:#fff;max-width:760px}
body.punk.pp .eyebrow{font-family:var(--pk-head)!important;color:var(--pk-orange)!important;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem}
body.punk.pp .hero-cta{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px}
body.punk.pp .strip{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;background:#000;border:0;padding:clamp(48px,7vw,80px) clamp(18px,4vw,40px);max-width:1240px;margin:0 auto}
body.punk.pp .strip>div{background:#fff;color:#000;padding:30px;border:4px solid #fff;box-shadow:8px 8px 0 var(--pk-orange);font-size:.78rem;text-transform:uppercase;line-height:1.6;backdrop-filter:none}
body.punk.pp .strip strong{display:block;font-family:var(--pk-head);font-weight:400;font-size:1.25rem;margin-bottom:12px}
@media(max-width:820px){body.punk.pp .strip{grid-template-columns:1fr}}
body.punk.pp .block{max-width:1240px;margin:0 auto;padding:clamp(56px,8vw,96px) clamp(18px,4vw,40px);border-top:4px solid #fff}
body.punk.pp .block h2{font-size:clamp(2rem,5vw,3.8rem);margin:.15em 0 .7em}
body.punk.pp .block p,body.punk.pp .block li{font-family:var(--pk-mono)}
body.punk.pp .panel,body.punk.pp .card{background:#000!important;border:2px solid rgba(255,255,255,.22)!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;color:#fff;transition:border-color .15s}
body.punk.pp .panel:hover{border-color:var(--pk-orange)!important}
body.punk.pp .panel h3,body.punk.pp .panel h4{font-family:var(--pk-head)!important;text-transform:uppercase;font-weight:400;font-size:1rem}
body.punk.pp .panel p,body.punk.pp .panel li{font-size:.78rem;color:rgba(255,255,255,.72)!important;line-height:1.65}
body.punk.pp .steps{counter-reset:s;list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px}
body.punk.pp .steps li{counter-increment:s;font-size:.8rem;color:rgba(255,255,255,.75);line-height:1.65;background:none;border:0}
body.punk.pp .steps li::before{content:counter(s);display:flex;width:48px;height:48px;align-items:center;justify-content:center;background:var(--pk-orange);color:#000;font-family:var(--pk-head);font-size:1.5rem;margin-bottom:18px;border-radius:0}
body.punk.pp .steps strong{display:block;font-family:var(--pk-head);font-weight:400;text-transform:uppercase;color:#fff;font-size:1.05rem;margin-bottom:8px}
body.punk.pp .price-card{background:#fff!important;color:#000!important;border:4px solid #000!important;box-shadow:8px 8px 0 #000!important;padding:28px}
body.punk.pp .price-card:hover{border-color:#000!important;box-shadow:8px 8px 0 var(--pk-orange)!important}
body.punk.pp .price-card .amount{font-family:var(--pk-head)!important;color:#000!important;font-size:2.6rem}
body.punk.pp .price-card .amount small,body.punk.pp .price-card li,body.punk.pp .price-card p{color:#000!important;opacity:.8;text-transform:uppercase;font-size:.72rem}
body.punk.pp table{border-collapse:collapse;width:100%;font-family:var(--pk-mono);font-size:.76rem;text-transform:uppercase}
body.punk.pp table th,body.punk.pp table td{border:1px solid rgba(255,255,255,.18);padding:14px;background:transparent;color:inherit;border-radius:0}
body.punk.pp table thead th{background:#fff;color:#000;font-family:var(--pk-head);font-weight:400}
body.punk.pp table.compare{border:4px solid #000;color:#000}
body.punk.pp table.compare th,body.punk.pp table.compare td{border:2px solid #000;color:#000}
body.punk.pp table.compare thead th{background:#000;color:#fff}
body.punk.pp table.compare thead th:last-child{background:var(--pk-orange);color:#000}
body.punk.pp #pricing table th,body.punk.pp #pricing table td,body.punk.pp #pricing .pc-t td{border-color:#000;color:#000}
body.punk.pp #pricing table thead th{background:#000;color:#fff}
body.punk.pp .calc-in input,body.punk.pp .calc-in select,body.punk.pp input,body.punk.pp select,body.punk.pp textarea{border:4px solid #000!important;border-radius:0!important;background:#fff!important;color:#000!important;font-family:var(--pk-head)!important;font-size:1.1rem;padding:12px}
body.punk.pp .calc-out{border:4px solid #000;background:#fff;color:#000;border-radius:0}
body.punk.pp .calc-out *{color:#000}
body.punk.pp #o-per{color:var(--pk-orange)!important}
body.punk.pp .pc-save{background:var(--pk-orange)!important;color:#000!important;border:4px solid #000!important;font-weight:700;text-transform:uppercase;text-align:center;font-size:.76rem}
body.punk.pp .pc-t tr:first-child td{background:rgba(255,62,0,.1);font-weight:700}
body.punk.pp #signup,body.punk.pp #contact{text-align:left}
body.punk.pp #signup label{font-family:var(--pk-head);text-transform:uppercase;font-size:.7rem;color:#fff}
body.punk.pp .cta-final{text-align:center}
.pp-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--pk-head);text-transform:uppercase;font-size:.85rem;letter-spacing:.03em;padding:16px 26px;border:2px solid #fff;background:var(--pk-orange);color:#000!important;text-decoration:none;border-radius:0;transition:background .15s,color .15s;cursor:pointer;text-align:center}
.pp-btn:hover{background:#fff}
.pp-btn.pp-w{background:#fff}.pp-btn.pp-w:hover{background:var(--pk-orange)}
.pp-btn.pp-k{background:#000;color:#fff!important;border-color:#000}.pp-btn.pp-k:hover{background:var(--pk-orange);color:#000!important}
.pp-btn.pp-o{border-color:#000}
.price-card .pp-btn{width:100%;margin-top:auto;border-color:#000;background:#fff}
.price-card .pp-btn:hover{background:#000;color:#fff!important}
.price-card .pp-btn.pp-o{background:var(--pk-orange)}

/* ---- Contrast pass: one dark page, white cards only where intended ---- */
body.punk.pp main :is(h1,h2,h3,h4,h5,p,li,label,strong,b,span,dt,dd,th,td,small,div,em,i){color:#fff!important}
body.punk.pp main :is(.muted,.fineprint,.sub,.lead small){color:rgba(255,255,255,.78)!important}
body.punk.pp main .panel p,body.punk.pp main .panel li,body.punk.pp main .steps li{color:rgba(255,255,255,.85)!important}
body.punk.pp main a:not(.pp-btn){color:var(--pk-orange)!important}
body.punk.pp .block,body.punk.pp .block>*:not(.price-card):not(.grid3):not(.grid2){background-color:transparent}
body.punk.pp .panel,body.punk.pp .card,body.punk.pp .calc-out,body.punk.pp .pc-wrap,body.punk.pp .fm-wrap{background:#111!important;color:#fff!important;border:2px solid rgba(255,255,255,.3)!important}
body.punk.pp .calc-out *{color:#fff!important}
body.punk.pp #o-per,body.punk.pp .calc-out #o-per{color:var(--pk-orange)!important}
/* white cards: black text */
body.punk.pp .strip>div,body.punk.pp .strip>div *,body.punk.pp .price-card,body.punk.pp .price-card *:not(.pp-btn):not(.pp-btn *){color:#000!important;opacity:1!important}
body.punk.pp .price-card .pp-btn.pp-k{color:#fff!important}
/* tables: kill stub frames/filters, high contrast */
body.punk.pp table,body.punk.pp table *{opacity:1!important;filter:none!important;text-shadow:none!important}
body.punk.pp table{background:#000!important;border:3px solid #fff!important;font-size:.85rem!important;line-height:1.5}
body.punk.pp table :is(th,td){background:#000!important;color:#fff!important;border:1px solid rgba(255,255,255,.35)!important;padding:14px 16px!important;vertical-align:top}
body.punk.pp table thead th{background:#fff!important;color:#000!important;font-family:var(--pk-head)!important;letter-spacing:.02em}
body.punk.pp table tbody tr:nth-child(even) :is(th,td){background:#161616!important}
body.punk.pp table tbody th{font-weight:700}
body.punk.pp table :is(.us,.fm-us){background:#2a0d00!important;color:#fff!important;font-weight:700}
body.punk.pp table thead :is(th:last-child.us,.fm-us),body.punk.pp table.compare thead th:last-child{background:var(--pk-orange)!important;color:#000!important}
body.punk.pp .pc-t tbody tr:first-child td{background:#2a0d00!important;font-weight:700}
body.punk.pp table .fm-g td{background:#333!important;color:var(--pk-orange)!important;font-family:var(--pk-head)}
body.punk.pp table .fm-y{color:#3ddc84!important}body.punk.pp table .fm-n{color:#ff6b5b!important}body.punk.pp table .fm-p{color:#ffc04d!important}
body.punk.pp :is(.pc-wrap,.fm-wrap),body.punk.pp table{overflow-x:auto}
body.punk.pp .pc-save,body.punk.pp .pc-save *{color:#000!important}
body.punk.pp main :is(input,select,textarea),body.punk.pp main :is(input,select,textarea) *{color:#000!important;background:#fff!important}
body.punk.pp .pp-btn{color:#000!important}body.punk.pp .pp-btn.pp-k{color:#fff!important}

body.punk.pp :is(.panel,.card,.table-wrap,.pc-wrap,.fm-wrap,.strip>div){-webkit-mask:none!important;mask:none!important;background-image:none!important}
body.punk.pp .table-wrap{background:transparent!important;padding:0!important}
body.punk.pp main .panel.price-card{background:#fff!important;border:4px solid #000!important}
body.punk.pp main .panel.price-card :is(h3,p,li,small,span,strong,b,div),body.punk.pp main .strip>div :is(strong,b,span,p),body.punk.pp main .strip>div{color:#000!important}
body.punk.pp main .price-card .tag{background:#000!important;color:#fff!important}
body.punk.pp main .pp-btn{color:#000!important}body.punk.pp main .pp-btn.pp-k{color:#fff!important;background:#000!important}
body.punk.pp main .pc-save,body.punk.pp main .pc-save *{color:#000!important}

body.punk.pp main .panel.price-card span.tag{background:#000!important;color:#fff!important}
body.punk.pp main table .fm-i{color:#000!important;font-weight:700}
body.punk.pp main table .fm-y{background:#3ddc84!important}body.punk.pp main table .fm-n{background:#ff6b5b!important}body.punk.pp main table .fm-p{background:#ffc04d!important}
body.punk.pp main p.pc-save{background:var(--pk-orange)!important;color:#000!important}
body.punk.pp main #signup label,body.punk.pp main #signup label *{color:#fff!important;background:transparent!important}
body.punk.pp main table tr.fm-g td{background:#000!important;color:var(--pk-orange)!important;border-top:3px solid var(--pk-orange)!important}
