/* Premium Events marketplace layer — light theme. Mobile-first, no heavy libs. */
.topbar{display:flex;gap:8px;align-items:center;justify-content:center;background:#fff;border-bottom:1px solid var(--line2);color:var(--muted);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:9px 12px;text-align:center;font-weight:600}
.topbar b{color:var(--ink)}
.site-nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line2)}
.site-nav .nav-inner{display:flex;align-items:center;gap:18px;padding:13px 0}
.nav-links{display:flex;gap:22px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.nav-links a{padding:6px 2px;position:relative}
.nav-links a:hover{color:var(--ink)}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:#7aa300;border-radius:2px;transition:right .2s}
.nav-links a:hover::after{right:0}
.nav-right{margin-left:auto;display:flex;gap:10px;align-items:center}
.locale-pill{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:8px 13px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:#fff;font-weight:700;white-space:nowrap}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.searchbar{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:10px;background:#fff;border:1px solid var(--line2);border-radius:16px;padding:12px;margin-top:30px;box-shadow:var(--shadow-lg)}
.searchbar input,.searchbar select{background:#faf9f6;border:1px solid var(--line);color:var(--text);padding:13px 14px;border-radius:10px;font-size:13px;outline:none;width:100%}
.searchbar input:focus,.searchbar select:focus{border-color:#7aa300;box-shadow:0 0 0 3px rgba(184,230,46,.25);background:#fff}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.badge{font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:7px 11px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:#fff;font-weight:700}
.badge.hot{background:#1c2405;color:var(--accent);border-color:#1c2405;font-weight:800}
.badge.almost{background:#fdf3e0;color:var(--warn);border-color:#ecd3a0}
.badge.sold{background:#f7e8e8;color:var(--bad);border-color:#eec3c3}
.badge.avail{background:#e7f6ec;color:var(--ok);border-color:#bfe6cd}
.badge.cat{background:#efecfd;color:#5b4bc4;border-color:#d5cff5}
/* homepage sections with distinct personalities */
#featured .card-grid{grid-template-columns:1fr 1fr 1fr}
.sec-trending{background:linear-gradient(180deg,#fff 0,#f7f5ef 100%);border-block:1px solid var(--line2)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ev-card{background:#fff;border:1px solid var(--line2);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s;box-shadow:var(--shadow)}
.ev-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:rgba(25,27,31,.2)}
.ev-card .thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--bg2)}
.ev-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.ev-card:hover .thumb img{transform:scale(1.05)}
.ev-card .thumb .badges{position:absolute;top:10px;left:10px;margin:0}
.ev-card .thumb .badges .badge{box-shadow:0 2px 8px rgba(0,0,0,.18)}
.ev-card .body{padding:18px 18px 16px;display:flex;flex-direction:column;gap:7px;flex:1}
.ev-card h3{margin:0;font-size:19px;letter-spacing:-.025em;color:var(--ink)}
.ev-card .meta{color:var(--muted);font-size:12px;line-height:1.6}
.ev-card .date-chip{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.ev-card .date-chip i{font-style:normal;background:var(--ink);color:#fff;border-radius:8px;padding:5px 9px;font-size:11px}
.ev-card .row{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:13px;border-top:1px solid var(--line2)}
.ev-card.soldout{opacity:.75}
.ev-card.soldout .thumb img{filter:grayscale(.5)}
.price{font-weight:800;font-size:18px;color:var(--ink)}
.price small{color:var(--faint);font-weight:600;font-size:10px;display:block;letter-spacing:.12em;text-transform:uppercase}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}
.filters select,.filters input{background:#fff;border:1px solid var(--line);color:var(--text);padding:12px 14px;border-radius:10px;font-size:13px;outline:none;box-shadow:var(--shadow)}
.filters select:focus,.filters input:focus{border-color:#7aa300}
.state{border:1px dashed rgba(25,27,31,.25);border-radius:var(--radius);padding:46px 24px;text-align:center;color:var(--muted);line-height:1.7;background:#fff}
.state h3{color:var(--ink);margin:0 0 8px;font-size:22px;letter-spacing:-.02em}
/* listing rows */
.list-row{display:grid;grid-template-columns:96px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line2);border-radius:16px;padding:16px 18px;margin-bottom:12px;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s}
.list-row:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.list-row .date{text-align:center;border-right:1px solid var(--line2);padding-right:16px}
.list-row .date b{font-size:28px;display:block;letter-spacing:-.03em;color:var(--ink)}
.list-row .date span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--faint);font-weight:700}
.list-row h3{margin:0 0 5px;font-size:18px;color:var(--ink);letter-spacing:-.02em}
.list-row .meta{color:var(--muted);font-size:12px}
/* detail */
.detail-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;padding:26px 0 10px;align-items:start}
.detail-hero .cover{border-radius:18px;overflow:hidden;border:1px solid var(--line2);background:#fff;box-shadow:var(--shadow-lg)}
.detail-hero .cover img,.detail-hero .cover video{width:100%;display:block;aspect-ratio:16/10;object-fit:cover;background:var(--bg2)}
.detail-hero h1{font-size:clamp(36px,5.5vw,68px);line-height:.94;letter-spacing:-.045em;margin:10px 0 14px;color:var(--ink)}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.kv .k{background:#fff;border:1px solid var(--line2);border-radius:12px;padding:13px 15px;box-shadow:var(--shadow)}
.kv .k small{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:6px;font-weight:700}
.kv .k b{font-size:14px;color:var(--ink)}
.prose{color:var(--muted);line-height:1.75;font-size:14.5px}
/* map — light professional */
.map-wrap{display:grid;grid-template-columns:1.5fr .9fr;gap:18px;margin:26px 0;align-items:start}
.map-stage{background:#fff;border:1px solid var(--line2);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg)}
.map-toolbar{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--line2);flex-wrap:wrap;background:#faf9f6}
.map-toolbar button{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:9px 13px;font-size:12px;font-weight:700;cursor:pointer}
.map-toolbar button:hover{border-color:var(--ink)}
.map-viewport{touch-action:none;overflow:hidden;position:relative;height:430px;background:linear-gradient(180deg,#fbfaf7,#f4f2ec)}
.map-viewport svg{width:100%;height:100%;display:block}
.map-sec{cursor:pointer}
.map-sec rect,.map-sec path{stroke:#ffffff;stroke-width:1.5;transition:filter .15s}
.map-sec:hover{filter:brightness(.96)}
.map-sec.selected rect,.map-sec.selected path{stroke:#4d6600;stroke-width:3}
.map-sec.soldout{opacity:.55;cursor:not-allowed}
.map-sec.inactive{opacity:.3;cursor:not-allowed}
.map-label{font-size:13px;font-weight:800;fill:#23262c;pointer-events:none;text-anchor:middle;letter-spacing:.05em}
.map-price{font-size:11px;font-weight:600;fill:#6b7078;pointer-events:none;text-anchor:middle}
.stage-block rect{fill:#23262c;stroke:#23262c;stroke-width:2}
.stage-block text{fill:#fff;font-size:15px;font-weight:800;letter-spacing:.3em;text-anchor:middle}
.map-side{background:#fff;border:1px solid var(--line2);border-radius:18px;padding:22px;height:fit-content;position:sticky;top:80px;box-shadow:var(--shadow-lg)}
.qty-ctl{display:flex;align-items:center;gap:14px;margin:14px 0}
.qty-ctl button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:20px;font-weight:700;cursor:pointer;box-shadow:var(--shadow)}
.qty-ctl button:hover{border-color:var(--ink)}
.qty-ctl b{font-size:22px;min-width:30px;text-align:center;color:var(--ink)}
/* ticket options */
.tix{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}
.tix .t{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;cursor:pointer;transition:.2s;box-shadow:var(--shadow)}
.tix .t:hover{border-color:var(--ink);transform:translateY(-2px)}
.tix .t.sel{border-color:#7aa300;background:#f6fbe4;box-shadow:0 0 0 1px #7aa300}
.tix .t h4{margin:6px 0;font-size:16px;color:var(--ink)}
.tix .t p{color:var(--muted);font-size:12px;line-height:1.6;margin:8px 0}
.tix .t .p{font-size:22px;font-weight:800;color:var(--ink)}
.sticky-cta{display:none}
/* footer — light with mobile accordions */
.footer{background:#fff;border-top:1px solid var(--line2);margin-top:70px;padding:52px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:28px}
.footer h5{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:0 0 12px;font-weight:800}
.footer details{border:0;padding:0;margin:0}
.footer summary{list-style:none;cursor:default}
.footer summary::-webkit-details-marker{display:none}
.footer a{display:block;color:var(--muted);font-size:13px;padding:5px 0}
.footer a:hover{color:var(--ink)}
.footer-brand p{color:var(--muted);font-size:13px;line-height:1.7;max-width:300px}
.footer-bottom{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line2);margin-top:32px;padding-top:20px;color:var(--faint);font-size:11px}
.socials{display:flex;gap:10px;margin-top:14px}
.socials a{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:14px;padding:0;color:var(--ink);background:#fff}
.socials a:hover{border-color:var(--ink)}
/* content pages */
.page-hero{padding:120px 0 26px}
.page-hero h1{font-size:clamp(38px,6.5vw,76px);letter-spacing:-.045em;line-height:.94;margin:10px 0 16px;color:var(--ink)}
.page-body{max-width:780px;color:#3c4047;line-height:1.85;font-size:15px}
.page-body h2{color:var(--ink);font-size:22px;margin:34px 0 10px;letter-spacing:-.02em}
.page-body h3{color:var(--ink);font-size:16px;margin:26px 0 8px}
.page-body a{color:#4d6600;text-decoration:underline;font-weight:600}
.crumb{font-size:12px;color:var(--faint);margin-bottom:6px}
.crumb a{text-decoration:underline}
.cards2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}
.cards2 .c{background:#fff;border:1px solid var(--line2);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.cards2 .c h3{margin:0 0 8px;color:var(--ink);font-size:16px}
.cards2 .c p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
/* notices */
.notice{background:#f4f9e2;border:1px solid #d7e8a3;color:#3d4a12;border-radius:12px;padding:13px 15px;font-size:13px;line-height:1.6;margin:12px 0}
.err{background:#fbeeee;border:1px solid #efc5c5;color:#8f1d1d;border-radius:12px;padding:13px 15px;font-size:13px;line-height:1.6;margin:12px 0}
.muted{color:var(--muted);font-size:12px;line-height:1.7}
.divider{height:1px;background:var(--line2);margin:26px 0}
.follow-btn{background:#fff;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:11px 20px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;font-weight:700}
.follow-btn.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
/* admin */
table.admin-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
table.admin-table th,table.admin-table td{border-bottom:1px solid var(--line2);padding:10px 8px;text-align:left;vertical-align:top}
table.admin-table th{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.admin-grid{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:start}
.admin-tabs{display:flex;flex-direction:column;gap:8px;position:sticky;top:80px}
.admin-tabs button{background:#fff;border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:13px 15px;text-align:left;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;font-weight:700}
.admin-tabs button.on{border-color:#7aa300;color:var(--ink);background:#f6fbe4}
input,select,textarea{font:inherit}
.f{background:#fff;border:1px solid var(--line);color:var(--text);padding:12px 13px;border-radius:10px;font-size:13px;outline:none;width:100%}
.f:focus{border-color:#7aa300;box-shadow:0 0 0 3px rgba(184,230,46,.25)}
textarea.f{min-height:90px;resize:vertical}
label.lbl{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted);margin:14px 0 7px;font-weight:700}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* horizontal snap rail (mobile trending) */
.rail{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:1020px){
.card-grid{grid-template-columns:1fr 1fr}.rail{grid-template-columns:1fr 1fr}
.footer-grid{grid-template-columns:1fr 1fr;gap:22px}.footer-brand{grid-column:1/-1}
.map-wrap{grid-template-columns:1fr}.map-side{position:static}
.detail-hero{grid-template-columns:1fr}.tix{grid-template-columns:1fr 1fr}
.admin-grid{grid-template-columns:1fr}.admin-tabs{position:static;flex-direction:row;flex-wrap:wrap}
#featured .card-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
.nav-links{display:none}.locale-pill{padding:7px 10px}
.searchbar{grid-template-columns:1fr 1fr}.searchbar input#hq{grid-column:1/-1}.searchbar button{grid-column:1/-1}
.card-grid,.rail{grid-template-columns:1fr}
#featured .card-grid{grid-template-columns:1fr}
.rail-scroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;margin:0 -14px;padding-left:14px;padding-right:14px}
.rail-scroll>*{min-width:78%;scroll-snap-align:start}
.list-row{grid-template-columns:64px 1fr}.list-row .cta-col{grid-column:1/-1}.list-row .cta-col .btn{width:100%}
.list-row .date b{font-size:24px}
.tix{grid-template-columns:1fr}.kv{grid-template-columns:1fr 1fr}.map-viewport{height:340px}
.footer-grid{grid-template-columns:1fr;gap:0}.footer-brand{margin-bottom:18px}
.footer details{border-top:1px solid var(--line2);padding:4px 0}
.footer summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:12px 0}
.footer summary::after{content:"+";font-size:18px;color:var(--faint);font-weight:400}
.footer details[open] summary::after{content:"–"}
.cards2{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}
table.admin-table{display:block;overflow-x:auto;white-space:nowrap}
.sticky-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:70;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-top:1px solid var(--line);padding:12px 14px;gap:10px;align-items:center;box-shadow:0 -8px 30px rgba(25,27,31,.1)}
.sticky-cta .sp{flex:1}.sticky-cta .sp small{display:block;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.sticky-cta .sp b{font-size:18px;color:var(--ink)}
}
/* ---- Admin-controlled customer theme: dark variant (default is light) ---- */
html[data-theme="dark"]{--bg:#0e0f13;--bg2:#15171d;--surface:#171920;--surface2:#1e212a;--text:#f2f3f5;--ink:#ffffff;--muted:#a7adb6;--faint:#7d838d;--line:rgba(255,255,255,.14);--line2:rgba(255,255,255,.09);--shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px -12px rgba(0,0,0,.5);--shadow-lg:0 2px 6px rgba(0,0,0,.35),0 26px 60px -20px rgba(0,0,0,.6)}
html[data-theme="dark"] body{background:var(--bg);color:var(--text)}
html[data-theme="dark"] .site-nav,html[data-theme="dark"] .topbar{background:rgba(14,15,19,.88)}
html[data-theme="dark"] .hero{background:linear-gradient(180deg,#14161c 0,var(--bg) 70%)}
html[data-theme="dark"] .hero-veil{background:linear-gradient(180deg,rgba(14,15,19,.45),rgba(14,15,19,.92) 75%,var(--bg))}
html[data-theme="dark"] .hero h1,html[data-theme="dark"] .section h2,html[data-theme="dark"] .page-hero h1,html[data-theme="dark"] .detail-hero h1,html[data-theme="dark"] .success h1{color:#fff}
html[data-theme="dark"] .hero h1 em{-webkit-text-stroke:1.5px #fff}
html[data-theme="dark"] .eyebrow::before{background:var(--accent)}
html[data-theme="dark"] .searchbar,html[data-theme="dark"] .searchbar input,html[data-theme="dark"] .searchbar select,html[data-theme="dark"] .filters select,html[data-theme="dark"] .filters input{background:#171920;border-color:var(--line);color:var(--text)}
html[data-theme="dark"] .ev-card,html[data-theme="dark"] .list-row,html[data-theme="dark"] .panel,html[data-theme="dark"] .map-stage,html[data-theme="dark"] .map-side,html[data-theme="dark"] .tix .t,html[data-theme="dark"] .kv .k,html[data-theme="dark"] .cards2 .c,html[data-theme="dark"] .state,html[data-theme="dark"] table.admin-table,html[data-theme="dark"] .footer,html[data-theme="dark"] .marquee,html[data-theme="dark"] .map-toolbar{background:#171920}
html[data-theme="dark"] .sec-trending{background:linear-gradient(180deg,#14161c,#101217)}
html[data-theme="dark"] .section.alt{background:#121419}
html[data-theme="dark"] .map-viewport{background:linear-gradient(180deg,#14161c,#101216)}
html[data-theme="dark"] .btn.dark{background:#23262e;color:#fff}
html[data-theme="dark"] .btn.ghost{color:#fff}
html[data-theme="dark"] .locale-pill,html[data-theme="dark"] .follow-btn,html[data-theme="dark"] .map-toolbar button,html[data-theme="dark"] .qty-ctl button,html[data-theme="dark"] .f,html[data-theme="dark"] .admin-tabs button{background:#1e212a;color:var(--text);border-color:var(--line)}
html[data-theme="dark"] .badge{background:#1e212a;color:var(--muted)}
html[data-theme="dark"] .ev-card .date-chip i{background:var(--accent);color:var(--accent-ink)}
html[data-theme="dark"] .ticket{background:#171920;color:var(--text)}
html[data-theme="dark"] .ticket-side{background:#101216}
html[data-theme="dark"] .tix .t.sel{background:#222b12}
html[data-theme="dark"] .map-label{fill:#f2f3f5}
html[data-theme="dark"] .map-price{fill:#a7adb6}
html[data-theme="dark"] .notice{background:#222b12;border-color:#4d6600;color:#e2f2b0}
html[data-theme="dark"] .err{background:#2c1414;border-color:#7a2b2b;color:#ffc9c9}
html[data-theme="dark"] .socials a{color:#fff}
/* button + card style options */
html[data-btn="rounded"] .btn{border-radius:10px}
html[data-cards="flat"] .ev-card,html[data-cards="flat"] .panel,html[data-cards="flat"] .map-stage,html[data-cards="flat"] .map-side{box-shadow:none}
