/*
Theme Name: The Coast Show
Theme URI: https://example.com/the-coast-show
Author: The Coast Show
Description: Dark, premium theme for concerts, festivals, live entertainment and artist booking. Events, artists, videos and services are managed from the WordPress dashboard; hero videos, colours, contact details and the Book Now link are managed from Appearance > Customize > The Coast Show.
Version: 1.1.1
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: the-coast-show
Tags: entertainment, events, dark, custom-menu, custom-logo, featured-images, theme-options
*/

:root{--bg:#0d0709;--bg2:#150b0f;--card:#1e1116;--card2:#28171e;--line:rgba(200,160,74,.28);--gold:#c8a04a;--gold2:#e6c67e;--velvet:#7a1a2c;--text:#f3ebdd;--muted:#a99b95;--ink:#0d0709;--ivory:#f3ebdd;--notch:#0d0709;--h:'Unbounded','Arial Black',sans-serif;--b:'Jost',system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.7 var(--b)}
img,video{max-width:100%;height:auto}a{color:var(--gold2);text-decoration-color:rgba(200,160,74,.5)}a:hover{color:#fff}
h1,h2,h3,h4{font-family:var(--h);font-weight:700;line-height:1.15;margin:0 0 .6em;color:var(--text)}
h1{font-size:clamp(2rem,4.5vw,3.2rem)}h2{font-size:clamp(1.5rem,3vw,2.3rem)}h3{font-size:1.15rem}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.wrap{width:min(1180px,92%);margin-inline:auto}.muted{color:var(--muted)}.screen-reader-text{position:absolute;left:-9999px}
.btn,.button,button.button,.woocommerce a.button,.woocommerce button.button,.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button{display:inline-block;background:var(--gold);color:var(--ink);border:1px solid var(--gold);padding:.9em 1.8em;font:700 .8rem var(--h);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border-radius:8px;cursor:pointer;transition:.2s}
.btn:hover,.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--gold2);color:var(--ink);border-color:var(--gold2)}
.btn.ghost{background:rgba(13,7,9,.4);color:var(--text);border-color:rgba(243,235,221,.6)}.btn.ghost:hover{background:var(--text);color:var(--ink)}.btn.sm{padding:.7em 1.2em;font-size:.7rem}
.more{font-size:.9rem;color:var(--gold2);text-decoration:none;font-weight:500}.more:hover{color:#fff}
/* Header: floating glass bar */
.site-header{position:fixed;top:14px;left:0;right:0;z-index:50}.admin-bar .site-header{top:46px}@media(min-width:783px){.admin-bar .site-header{top:46px}}
.header-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.65rem 1.3rem;border:1px solid var(--line);border-radius:14px;background:linear-gradient(90deg,rgba(230,198,126,.16),rgba(13,7,9,.6) 45%,rgba(13,7,9,.75));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .3s}
.site-header.solid .header-in{background:rgba(13,7,9,.92)}
.brand{font:800 1.15rem var(--h);color:var(--text);text-decoration:none;letter-spacing:.04em;text-transform:uppercase}.brand:hover{color:var(--gold2)}.custom-logo{max-height:42px;width:auto}
.nav ul{display:flex;gap:1.8rem;list-style:none;margin:0;padding:0}
.nav a{color:var(--text);text-decoration:none;font:700 .72rem var(--h);letter-spacing:.1em;text-transform:uppercase}.nav a:hover,.nav .current-menu-item>a{color:var(--gold2)}
.hdr-actions{display:flex;align-items:center;gap:1rem}
.cart-link{color:var(--text);text-decoration:none;font-size:.9rem}.cs-cart-count{background:var(--gold);color:var(--ink);border-radius:20px;padding:0 .55em;margin-left:.3em;font-size:.8rem}
.nav-toggle{display:none;background:none;border:1px solid var(--gold);color:var(--gold2);padding:.4em .8em;cursor:pointer;border-radius:6px;font:inherit}
/* Hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;background:var(--bg);overflow:hidden;isolation:isolate}
.hero-panels{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);z-index:-2}
.hero.single .hero-panels,.hero.yt .hero-panels{grid-template-columns:1fr}
.panel{position:relative;overflow:hidden;border-right:1px solid rgba(230,198,126,.4)}.panel:last-child{border-right:0}
.panel video,.panel img,.panel iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;pointer-events:none}
.hero.yt .panel iframe{inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);width:max(100vw,177.78vh);height:max(100vh,56.25vw)}
.p1{background:linear-gradient(165deg,#5a1424,var(--bg) 85%)}.p2{background:linear-gradient(165deg,#6d4c12,var(--bg) 85%)}.p3{background:linear-gradient(165deg,#2c1a48,var(--bg) 85%)}
.hero.single .p1,.hero.yt .p1{background:linear-gradient(165deg,#5a1424,#2b1a45 60%,var(--bg))}
.beam{position:absolute;top:-10%;left:15%;width:75%;height:125%;transform-origin:50% 0;background:linear-gradient(180deg,rgba(230,198,126,.55),transparent 78%);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);animation:sweep 8s ease-in-out infinite alternate}
.beam.b2{left:-10%;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent 75%);animation-duration:11s;animation-delay:-4s}
@keyframes sweep{from{transform:rotate(-24deg)}to{transform:rotate(24deg)}}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,7,9,.6) 0,rgba(13,7,9,calc(var(--ov)*.35)) 35%,rgba(13,7,9,.55) 65%,rgba(13,7,9,.95) 100%)}
.hero>.wrap{width:min(1180px,92%)}
.hero-copy{text-align:center;padding:9rem 0 4.5rem;max-width:980px;margin:0 auto}
.kicker{display:inline-block;color:var(--gold2);letter-spacing:.25em;text-transform:uppercase;font-size:.75rem;border:1px solid var(--line);padding:.5em 1.4em;border-radius:99px;background:rgba(13,7,9,.55);margin-bottom:1.4rem}
.hero h1{font-size:clamp(2.2rem,7vw,5.8rem);font-weight:800;text-transform:uppercase;letter-spacing:-.02em;line-height:1.02;margin-bottom:1.2rem;text-shadow:0 6px 50px rgba(0,0,0,.7)}
.hero p{font-size:1.2rem;max-width:640px;margin:0 auto;color:rgba(243,235,221,.92)}
.hero-btns{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;justify-content:center}
.sound-btn,.hero-edit{position:absolute;bottom:1.2rem;background:rgba(13,7,9,.75);color:var(--gold2);border:1px solid var(--gold);padding:.45em 1em;font:inherit;font-size:.8rem;cursor:pointer;border-radius:99px;text-decoration:none}
.sound-btn{right:4%}.hero-edit{left:4%}
.ticker{background:var(--gold);color:var(--ink);overflow:hidden;white-space:nowrap;padding:.85rem 0;font:700 .78rem var(--h);letter-spacing:.14em;text-transform:uppercase}
.tk{display:inline-flex;animation:tick 45s linear infinite}.tk span{padding:0 1rem}@keyframes tick{to{transform:translateX(-50%)}}
/* Sections: one consistent dark theme */
.sec{padding:6rem 0;background:var(--bg);--notch:var(--bg)}.sec.alt{background:var(--bg2);--notch:var(--bg2)}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:3rem}.sec-head h2{margin:0}
.sec-head h2::after{content:"";display:block;width:64px;height:3px;background:var(--gold);margin-top:1rem}
.eyebrow{display:block;color:var(--gold);letter-spacing:.3em;text-transform:uppercase;font-size:.72rem;margin-bottom:.7rem}
/* Ticket cards */
.events{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.6rem}
.ticket{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,border-color .3s}
.ticket:hover{transform:translateY(-6px);border-color:var(--gold)}
.ticket-img{position:relative;aspect-ratio:4/5;background:#000;display:block}.ticket-img img{width:100%;height:100%;object-fit:cover;display:block}
.ticket-body{position:relative;padding:1.4rem 1.3rem 1.5rem;border-top:2px dashed rgba(230,198,126,.5);display:flex;flex-direction:column;gap:.35rem;flex:1}
.ticket-body::before,.ticket-body::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--notch)}.ticket-body::before{left:-11px}.ticket-body::after{right:-11px}
.ticket-date{display:flex;gap:.6rem;align-items:baseline;color:var(--gold2);font:600 .8rem var(--b);letter-spacing:.08em;text-transform:uppercase}.ticket-date b{font:800 2rem var(--h);line-height:1;color:var(--text)}
.ticket h3{margin:.3rem 0 0}.ticket h3 a{color:var(--text);text-decoration:none}.ticket h3 a:hover{color:var(--gold2)}
.ticket-venue{color:var(--muted);font-size:.95rem}
.ticket-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;gap:.6rem}
.ticket-foot .price{color:var(--gold2);font:700 .95rem var(--h)}.ticket-foot .price *{color:inherit}.ticket .btn{padding:.7em 1.1em;font-size:.68rem}
.ph{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:1.5rem;font:800 1.6rem/1.1 var(--h);text-transform:uppercase;color:var(--text);text-shadow:0 2px 14px rgba(0,0,0,.5)}
/* Artists / videos */
.artists{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.4rem}
.artist{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:12px;text-decoration:none}
.artist img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.artist:hover img{transform:scale(1.05)}
.artist span:not(.ph){position:absolute;inset:auto 0 0;padding:3rem 1.2rem 1.2rem;background:linear-gradient(transparent,rgba(13,7,9,.95));color:var(--text);font:700 1rem var(--h);text-transform:uppercase}
.watch{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem}
.vid{position:relative;aspect-ratio:16/9;padding:0;border:1px solid var(--line);border-radius:12px;background:#000;cursor:pointer;overflow:hidden}
.vid img,.vid iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}.vid:hover{border-color:var(--gold)}
.vid i{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px;border-radius:50%;background:var(--gold)}
.vid i::after{content:"";position:absolute;left:26px;top:20px;border-left:18px solid var(--ink);border-top:12px solid transparent;border-bottom:12px solid transparent}
/* Services */
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.4rem}
.service{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:2.2rem 2rem;transition:.3s}.service:hover{border-color:var(--gold);transform:translateY(-4px)}
.service .num{display:block;font:800 3rem/1 var(--h);color:transparent;-webkit-text-stroke:1px var(--gold)}
.service h3{margin:1.2rem 0 .6rem}.service p{color:var(--muted);margin:0}
/* News */
.posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.6rem}
.post-card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:.3s}.post-card:hover{border-color:var(--gold)}
.pc-img{position:relative;display:block;aspect-ratio:16/10;background:#000}.pc-img img{width:100%;height:100%;object-fit:cover;display:block}
.pc-body{padding:1.4rem 1.4rem 1.6rem}.post-meta{color:var(--gold);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
.post-card h3{margin:.5rem 0 .6rem}.post-card h3 a{color:var(--text);text-decoration:none}.post-card h3 a:hover{color:var(--gold2)}.post-card p{color:var(--muted);margin:0 0 1rem;font-size:.95rem}
/* Booking form */
.enq-wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:3.5rem;align-items:start}
.enq-intro p{color:var(--muted);max-width:460px}
.enq-points{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:.9rem}
.enq-points li{display:flex;flex-direction:column;border-left:3px solid var(--gold);padding-left:1rem}.enq-points span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.enq{display:grid;gap:1rem;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:2rem}
.enq label{display:grid;gap:.35rem;font-size:.85rem;color:var(--muted)}
.enq input,.enq select,.enq textarea,.entry input,.entry textarea,.entry select{font:inherit;color:var(--text);padding:.8em;border:1px solid var(--line);border-radius:8px;background:var(--bg);width:100%}
.enq input:focus,.enq select:focus,.enq textarea:focus{border-color:var(--gold);outline:0}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.hp{position:absolute!important;left:-9999px}
.enq-note{margin:0;padding:.8rem 1rem;border-left:3px solid var(--gold);background:var(--card2);border-radius:4px}.enq-note.err{border-color:#d0526a}
/* Inner pages */
.page-head{padding:9.5rem 0 3.5rem;text-align:center;background:radial-gradient(ellipse at top,rgba(122,26,44,.5),transparent 70%),var(--bg2);border-bottom:1px solid var(--line)}
.page-head h1{margin:0;text-transform:uppercase}.content{padding:4rem 0 6rem;background:var(--bg)}
.entry{max-width:780px;margin-inline:auto}.entry img{border-radius:10px}.entry blockquote{border-left:3px solid var(--gold);margin-left:0;padding-left:1.2rem;color:var(--muted)}
.entry h2,.entry h3{margin-top:2rem}.pagination{margin-top:3rem;text-align:center}.pagination a,.pagination span{padding:.4em .9em;border:1px solid var(--line);border-radius:6px;margin:0 .2rem;text-decoration:none}
.event-single{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem}.event-single img{border-radius:12px;border:1px solid var(--line)}
.event-facts{list-style:none;margin:0 0 1.5rem;padding:0}.event-facts li{padding:.7rem 0;border-bottom:1px solid var(--line)}.event-facts strong{display:inline-block;min-width:90px;color:var(--gold)}
/* Footer */
.site-footer{background:#080405;color:var(--muted);padding:4.5rem 0 1.5rem;border-top:1px solid var(--gold)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem}.site-footer h4{color:var(--gold2);font-size:.85rem;letter-spacing:.15em;text-transform:uppercase}
.site-footer a{color:var(--text);text-decoration:none}.site-footer a:hover{color:var(--gold2)}.site-footer ul{list-style:none;margin:0;padding:0;line-height:2}
.copy{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.2rem;font-size:.9rem;text-align:center}
/* WooCommerce (dark) */
.woocommerce-breadcrumb,.woocommerce .woocommerce-result-count{color:var(--muted)!important}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.6rem}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;background:var(--card);border:1px solid var(--line);padding:1rem;border-radius:12px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:700 .95rem var(--h);color:var(--text)}
.woocommerce .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--gold2)!important}
.woocommerce span.onsale{background:var(--gold);color:var(--ink);min-height:auto;line-height:1;padding:.6em 1em;border-radius:6px}
.woocommerce div.product .product_title{font-size:clamp(1.5rem,3vw,2.2rem)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li,.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-color:var(--line)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--card)!important}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--bg)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--muted)!important}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--gold2)!important}
.woocommerce table.shop_table,.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line)!important;color:var(--text)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--card)!important;color:var(--text)!important;border-top-color:var(--gold)!important}.woocommerce-message::before,.woocommerce-info::before{color:var(--gold)!important}
.woocommerce-checkout #payment{background:var(--card)!important;border-radius:10px}.woocommerce-checkout #payment div.payment_box{background:var(--card2)!important;color:var(--text)}.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--card2)!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce .quantity .qty,.select2-container--default .select2-selection--single{padding:.75em;border:1px solid var(--line)!important;background:var(--bg)!important;color:var(--text)!important;border-radius:8px}
.woocommerce form .form-row label,.woocommerce-checkout h3{color:var(--text)}.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--text)!important}
.woocommerce nav.woocommerce-pagination ul,.woocommerce nav.woocommerce-pagination ul li{border-color:var(--line)!important}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{color:var(--text)!important;background:transparent!important}
@media(max-width:860px){.nav-toggle{display:block}.nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);background:rgba(13,7,9,.97);border:1px solid var(--line);border-radius:12px;padding:1rem 1.3rem}.nav.open{display:block}.nav ul{flex-direction:column;gap:1rem}.hdr-actions .btn{display:none}
.enq-wrap,.event-single,.row2,.foot-grid{grid-template-columns:1fr}.sec{padding:4rem 0}.sec-head{flex-direction:column;align-items:start}.hero.triple .hero-panels{grid-template-columns:1fr}.hero-copy{padding:8rem 0 4rem}.hero-edit{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.beam,.tk{animation:none}}

:root{padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:calc(90px + env(safe-area-inset-top,0px))}
.site-header{top:calc(14px + env(safe-area-inset-top,0px))}

/* ---- The Coast Show additions ---- */
.vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.vid{display:block;width:100%}
.hero video{background:transparent}
.sound-btn[data-on="1"]{background:var(--gold);color:var(--ink)}
.enq-note[hidden]{display:none}
.hero-cs-note{display:none}
.pagination .nav-links{display:flex;justify-content:center;gap:.3rem;flex-wrap:wrap}
.pagination .current{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.page-head .eyebrow{margin-bottom:1rem}
.page-head p{color:var(--muted);max-width:640px;margin:1rem auto 0}
.grid-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:2rem 0}
.entry .wp-post-image{margin-bottom:2rem;width:100%}
.entry p,.entry li{color:rgba(243,235,221,.9)}
.entry .wp-video,.entry video{max-width:100%;border-radius:10px}
.alignleft{float:left;margin:0 1.5rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1.5rem}.aligncenter{display:block;margin-inline:auto}
.wp-caption{max-width:100%}.wp-caption-text,.gallery-caption{color:var(--muted);font-size:.85rem}
.search-form{display:flex;gap:.6rem;max-width:520px;margin:1.5rem auto 0}.search-form label{flex:1}
.search-field{width:100%;font:inherit;color:var(--text);padding:.8em;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.search-submit{background:var(--gold);color:var(--ink);border:0;border-radius:8px;padding:.8em 1.4em;font:700 .75rem var(--h);text-transform:uppercase;cursor:pointer}
.comments-area{max-width:780px;margin:3rem auto 0}.comments-area .comment-list{list-style:none;padding:0}.comments-area .comment-body{border-bottom:1px solid var(--line);padding:1rem 0}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;font:inherit;color:var(--text);padding:.8em;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.comment-form .submit{background:var(--gold);color:var(--ink);border:0;border-radius:8px;padding:.9em 1.6em;font:700 .75rem var(--h);text-transform:uppercase;cursor:pointer}
.single-actions{display:flex;flex-wrap:wrap;gap:1rem;margin:1.5rem 0}
.artist-single{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem}.artist-single img{border-radius:12px;border:1px solid var(--line)}
.tagline{color:var(--gold2);letter-spacing:.12em;text-transform:uppercase;font-size:.85rem}
.ticket-soldout{color:var(--muted);font-size:.95rem}
@media(max-width:860px){.artist-single{grid-template-columns:1fr}.admin-bar .site-header{top:60px}}
@media(min-width:783px){.admin-bar .site-header{top:46px}}

/* ---- Show cards: 3 per row (poster, date badge, title on image, footer bar) ---- */
.events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.ev-card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,border-color .3s}
.ev-card:hover{transform:translateY(-5px);border-color:var(--gold)}
.ev-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#000;text-decoration:none}
.ev-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.ev-card:hover .ev-media img{transform:scale(1.05)}
.ev-media .ph{font-size:1rem}
.ev-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,7,9,.15) 0,rgba(13,7,9,0) 30%,rgba(13,7,9,.55) 60%,rgba(13,7,9,.95) 100%)}
.ev-badge{position:absolute;top:14px;left:14px;min-width:50px;padding:.45rem .55rem;border:1px solid var(--line);border-radius:10px;background:rgba(13,7,9,.85);text-align:center;line-height:1;display:flex;flex-direction:column;gap:.25rem}
.ev-badge small{color:var(--gold2);font:700 .68rem var(--b);letter-spacing:.12em}
.ev-badge b{color:var(--text);font:800 1.35rem var(--h)}
.ev-tag{position:absolute;top:14px;right:14px;background:var(--gold);color:var(--ink);padding:.35em .8em;border-radius:99px;font:700 .68rem var(--h);letter-spacing:.08em;text-transform:uppercase}
.ev-info{position:absolute;left:0;right:0;bottom:0;padding:1.1rem 1.3rem 1.2rem;display:flex;flex-direction:column;gap:.25rem}
.ev-cat{color:var(--gold2);font:700 .72rem var(--b);letter-spacing:.14em;text-transform:uppercase}
.ev-title{color:var(--text);font:700 1.15rem/1.25 var(--h);text-shadow:0 2px 12px rgba(0,0,0,.6)}
.ev-venue{color:rgba(243,235,221,.85);font-size:.92rem}
.ev-foot{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.95rem 1.2rem;border-top:1px solid var(--line);background:var(--card)}
.ev-when{color:var(--muted);font-size:.85rem}
.ev-foot .btn{white-space:nowrap}
@media(max-width:1000px){.events{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.events{grid-template-columns:1fr}.ev-foot{flex-wrap:wrap}}

/* ---- LIVE badge next to the logo (blinks red <-> green; colour switch is driven by theme.js so it works even when OS animations are off) ---- */
.brand-wrap{display:flex;align-items:flex-start;gap:.35rem;min-width:0}
.live-badge{display:inline-flex;align-items:center;gap:.3em;margin-top:-.15rem;padding:.22em .6em;border:1px solid currentColor;border-radius:99px;font:800 .5rem/1 var(--h);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:#ff2b2b;background:rgba(0,0,0,.35);text-shadow:0 0 8px currentColor}
.live-badge a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:.3em}
.live-badge i{width:.6em;height:.6em;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor;display:inline-block}
.live-badge.is-green{color:#22e06b}
@media(max-width:420px){.brand{font-size:.95rem}.live-badge{font-size:.45rem}}

/* ---- App-style bottom tab bar (phones only) ---- */
.app-tabs{display:none}
.more-sheet{display:none}
@media(max-width:780px){
	:root{--tabs-h:62px}
	body{padding-bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px))}
	.app-tabs{
		position:fixed;left:0;right:0;bottom:0;z-index:60;
		display:flex;align-items:stretch;
		height:calc(var(--tabs-h) + env(safe-area-inset-bottom,0px));
		padding-bottom:env(safe-area-inset-bottom,0px);
		background:rgba(13,7,9,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
		border-top:1px solid var(--line);
		box-shadow:0 -6px 24px rgba(0,0,0,.35);
	}
	.app-tabs .tab{
		flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;
		color:var(--muted);text-decoration:none;font:600 .62rem var(--b);letter-spacing:.01em;
		background:none;border:0;padding:.3rem .2rem;position:relative;
	}
	.app-tabs .tab .ic{width:22px;height:22px;display:flex;align-items:center;justify-content:center}
	.app-tabs .tab .ic svg{width:100%;height:100%}
	.app-tabs .tab.active{color:var(--gold)}
	.app-tabs .tab:active{opacity:.7}
	.app-tabs .tab-cta{color:var(--ink);margin-top:-22px}
	.app-tabs .tab-cta .ic.cta{
		width:48px;height:48px;border-radius:50%;background:linear-gradient(160deg,var(--gold2),var(--gold));
		color:#1a0e06;box-shadow:0 6px 16px rgba(200,160,74,.45);border:3px solid var(--bg2,#0d0709);
	}
	.app-tabs .tab-cta span:last-child{color:var(--gold2);margin-top:.15rem;font-weight:700}

	/* "More" bottom sheet */
	.more-sheet{display:block;position:fixed;inset:0;z-index:70;visibility:hidden;pointer-events:none}
	.more-sheet.open{visibility:visible;pointer-events:auto}
	.more-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .25s}
	.more-sheet.open .more-backdrop{opacity:1}
	.more-panel{
		position:absolute;left:0;right:0;bottom:0;background:var(--card,#17090f);border-top:1px solid var(--line);
		border-radius:18px 18px 0 0;padding:.6rem 1.2rem calc(1.4rem + env(safe-area-inset-bottom,0px));
		transform:translateY(100%);transition:transform .28s ease;
		max-height:72vh;overflow-y:auto;
	}
	.more-sheet.open .more-panel{transform:translateY(0)}
	.more-handle{display:block;width:40px;height:4px;border-radius:99px;background:var(--line);margin:.5rem auto 1rem}
	.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem 0}
	.more-grid a{display:flex;flex-direction:column;align-items:center;gap:.4rem;color:var(--text);text-decoration:none;font:600 .72rem var(--b)}
	.more-grid .ic{width:42px;height:42px;border-radius:14px;background:rgba(200,160,74,.12);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--gold2)}
	.more-grid .ic svg{width:20px;height:20px}
	.more-links{list-style:none;margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.1rem}
	.more-links a{display:block;padding:.7rem .2rem;color:var(--text);text-decoration:none;font:500 .9rem var(--b);border-bottom:1px solid var(--line)}
	.more-links li:last-child a{border-bottom:0}

	/* Don't show the old desktop header nav + hamburger on phones; the tab bar replaces it */
	.site-header .nav{display:none}
	.site-header .nav-toggle{display:none}
	.site-header .hdr-actions .btn.sm{display:none}
}

/* ---- Artist card (homepage listing) ---- */
.artist{position:relative;display:block;border-radius:14px;overflow:hidden;aspect-ratio:4/5;text-decoration:none;border:1px solid var(--line);background:#000}
.artist .ph,.artist img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;transition:transform .5s}
.artist:hover img{transform:scale(1.06)}
.artist-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,7,9,0) 45%,rgba(13,7,9,.92) 100%)}
.artist-info{position:absolute;left:0;right:0;bottom:0;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.2rem}
.artist-name{color:var(--text);font:700 1.05rem var(--h);text-shadow:0 2px 10px rgba(0,0,0,.6)}
.artist-tag{color:var(--gold2);font:600 .78rem var(--b)}

/* ---- Single artist page ---- */
.artist-hero{position:relative;min-height:46vh;display:flex;align-items:flex-end;overflow:hidden;background:#000}
.artist-hero-media{position:absolute;inset:0}
.artist-hero-media .ph,.artist-hero-media img{width:100%;height:100%;object-fit:cover;display:block}
.artist-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,7,9,.25) 0,rgba(13,7,9,.65) 55%,var(--bg) 100%)}
.artist-hero-in{position:relative;padding:3rem 0 2.2rem}
.artist-hero-in h1{margin:.3rem 0 1rem}
.artist-facts{display:flex;flex-wrap:wrap;gap:1.4rem;color:rgba(243,235,221,.9);margin-bottom:1.4rem}
.artist-facts span{display:inline-flex;align-items:center;gap:.5rem;font-size:.92rem}
.artist-facts svg{width:18px;height:18px;color:var(--gold)}
.artist-social{display:flex;gap:1.2rem;margin-top:1.2rem}
.artist-social a{color:var(--gold2);text-decoration:none;font:600 .82rem var(--b);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid transparent}
.artist-social a:hover{border-color:var(--gold2)}
.artist-section{margin:2.6rem 0}
.artist-section h2{font-size:1.4rem;margin-bottom:1.2rem}
.artist-bio{max-width:780px}
.artist-video .vid{position:relative;display:block;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:0;padding:0;cursor:pointer;background:#000}
.artist-video .vid img{width:100%;height:100%;object-fit:cover;display:block}
.artist-video .vid i{position:absolute;inset:0;margin:auto;width:62px;height:62px;border-radius:50%;background:rgba(13,7,9,.65);border:2px solid var(--gold)}
.artist-video .vid i::after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent var(--gold)}
.artist-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}
.artist-gallery-item{display:block;border-radius:10px;overflow:hidden;aspect-ratio:4/5;border:1px solid var(--line)}
.artist-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.artist-gallery-item:hover img{transform:scale(1.07)}
@media(max-width:620px){.artist-hero{min-height:38vh}.artist-facts{gap:.9rem 1.2rem}}

/* ---- Watch cards (homepage + full Watch page) ---- */
.watch-card{display:flex;flex-direction:column;gap:.7rem}
.watch-meta{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.watch-title{color:var(--text);font:700 .98rem var(--h)}
.watch-artist{display:inline-flex;align-items:center;gap:.5rem;color:var(--gold2);text-decoration:none;font:600 .8rem var(--b)}
.watch-artist img,.watch-artist-ph{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1px solid var(--line);background:var(--card)}
.watch-grid-full{margin-bottom:1rem}

/* ---- Event Journey (homepage section, archive, single) + multi-video grids + photo lightbox ---- */
.journey{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.jr-card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,border-color .3s}
.jr-card:hover{transform:translateY(-5px);border-color:var(--gold)}
.jr-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#000;text-decoration:none}
.jr-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.jr-card:hover .jr-media img{transform:scale(1.05)}
.jr-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,7,9,.1) 0,rgba(13,7,9,0) 40%,rgba(13,7,9,.8) 100%)}
.jr-tag{position:absolute;top:14px;left:14px;background:var(--gold);color:var(--ink);padding:.35em .8em;border-radius:99px;font:700 .66rem var(--h);letter-spacing:.08em;text-transform:uppercase}
.jr-play{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;background:rgba(13,7,9,.75);border:1px solid var(--gold);display:flex;align-items:center;justify-content:center}
.jr-play i{width:0;height:0;margin-left:3px;border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent var(--gold)}
.jr-counts{position:absolute;left:14px;bottom:12px;display:flex;gap:.5rem;flex-wrap:wrap}
.jr-counts span{background:rgba(13,7,9,.8);border:1px solid var(--line);color:var(--gold2);padding:.25em .7em;border-radius:99px;font:600 .72rem var(--b)}
.jr-body{padding:1.1rem 1.3rem 1.3rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.jr-meta{color:var(--gold2);font:600 .78rem var(--b);letter-spacing:.06em;text-transform:uppercase}
.jr-title{margin:0;font:700 1.08rem/1.3 var(--h)}.jr-title a{color:var(--text);text-decoration:none}.jr-title a:hover{color:var(--gold2)}
.jr-ex{margin:0;color:var(--muted);font-size:.93rem}
.jr-body .more{margin-top:auto;padding-top:.4rem}
.jr-more{text-align:center;margin-top:2.4rem}
.jr-cover{margin:0 0 2.4rem;border-radius:14px;overflow:hidden;border:1px solid var(--line);max-height:520px}
.jr-cover img{width:100%;height:100%;max-height:520px;object-fit:cover;display:block}
.jr-facts{justify-content:center;margin:1.2rem 0 0}
.cs-vgrid.single{grid-template-columns:minmax(0,820px)}
.cs-photos .artist-gallery-item{cursor:zoom-in}
.cs-lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:3rem 1rem}
.cs-lb.open{display:flex}
.cs-lb img{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 10px 50px rgba(0,0,0,.6)}
.cs-lb button{position:absolute;background:rgba(13,7,9,.7);color:var(--gold2);border:1px solid var(--line);border-radius:50%;width:46px;height:46px;font-size:1.7rem;line-height:1;cursor:pointer}
.cs-lb .lb-x{top:14px;right:14px}.cs-lb .lb-prev{left:14px;top:50%;margin-top:-23px}.cs-lb .lb-next{right:14px;top:50%;margin-top:-23px}
.cs-lb.single .lb-prev,.cs-lb.single .lb-next{display:none}
html.lb-lock{overflow:hidden}
@media(max-width:1000px){.journey{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.journey{grid-template-columns:1fr}}
