/* BSE feature layer — built only from the locked theme tokens (see site.css). */

/* ---------- forms ---------- */
.bse-form{display:grid;gap:12px}
.bse-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.bse-form .row{grid-template-columns:1fr}}
.bse-field{display:grid;gap:6px}
.bse-field label{font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.bse-input,.bse-form input,.bse-form select,.bse-form textarea{
  width:100%;background:rgba(255,255,255,.04);border:1px solid rgba(212,175,55,.22);color:var(--cream);
  border-radius:10px;padding:12px 14px;font:inherit;font-size:.98rem;outline:none;transition:border-color .2s,background .2s}
.bse-form input:focus,.bse-form select:focus,.bse-form textarea:focus,.bse-input:focus{border-color:var(--gold);background:rgba(212,175,55,.06)}
.bse-form select option{background:var(--obsidian)}
.bse-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.bse-note{font-size:.82rem;color:var(--muted)}
.bse-msg{font-family:'JetBrains Mono',monospace;font-size:.78rem;letter-spacing:.06em;min-height:1.2em}
.bse-msg.ok{color:var(--gold)} .bse-msg.err{color:var(--pink)}
.btn[disabled]{opacity:.5;pointer-events:none}
.btn.small{padding:8px 16px;font-size:.66rem}

/* ---------- modal ---------- */
.bse-modal{position:fixed;inset:0;z-index:200;display:none;place-items:center;padding:20px;
  background:rgba(6,6,10,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.bse-modal.on{display:grid;animation:bseFade .25s var(--ease-out)}
.bse-card{width:min(520px,100%);max-height:92vh;overflow:auto;border-radius:18px;padding:30px;position:relative;
  background:linear-gradient(160deg,rgba(107,0,36,.35),var(--obsidian-soft) 60%);border:1px solid rgba(212,175,55,.22);
  box-shadow:0 30px 80px rgba(0,0,0,.6)}
.bse-card h3{font-size:2rem;margin:4px 0 8px}
.bse-card h3 em{font-family:'Newsreader',serif;font-style:italic;text-transform:none;color:var(--gold)}
.bse-x{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--muted);font-size:1.4rem;cursor:pointer}
.bse-x:hover{color:var(--cream)}
@keyframes bseFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- join band ---------- */
.bse-join{padding:90px 0;border-top:1px solid rgba(212,175,55,.12);border-bottom:1px solid rgba(212,175,55,.12);
  background:radial-gradient(80% 120% at 10% 0%,rgba(153,0,51,.18),transparent 60%)}
.bse-join-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}
@media(max-width:860px){.bse-join-grid{grid-template-columns:1fr;gap:28px}}
.bse-join h2{font-size:clamp(2.2rem,5.5vw,4rem)}
.bse-join h2 em{font-family:'Newsreader',serif;font-style:italic;text-transform:none;color:var(--gold)}

/* ---------- page shell for new pages ---------- */
.bse-page{padding-top:120px;min-height:72vh}
.bse-foot{padding:40px 24px;text-align:center;border-top:1px solid rgba(212,175,55,.12);color:var(--muted);font-size:.85rem}
.bse-foot a{color:var(--gold)}
.bse-crumb{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.bse-crumb a{color:var(--gold)}

/* ---------- shop ---------- */
.bse-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.bse-prod{border-radius:16px;overflow:hidden;border:1px solid rgba(212,175,55,.14);background:var(--obsidian-soft);
  display:flex;flex-direction:column;transition:transform .4s var(--ease-out),border-color .3s}
.bse-prod:hover{transform:translateY(-4px);border-color:rgba(212,175,55,.4)}
.bse-prod .art{aspect-ratio:1/1;display:grid;place-items:center;
  background:radial-gradient(90% 90% at 50% 20%,rgba(153,0,51,.28),rgba(6,6,10,1) 75%)}
.bse-prod .art{position:relative}.bse-prod .art img{width:100%;height:100%;object-fit:contain;background:#07070b}
.bse-badge{position:absolute;top:12px;left:12px;z-index:2;font-family:'JetBrains Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:20px;background:var(--gold);color:var(--obsidian)}
.bse-chips{display:flex;gap:8px;flex-wrap:wrap;margin:-26px 0 26px}.bse-chips button{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;border-radius:30px;background:none;border:1px solid rgba(212,175,55,.25);color:var(--gold-light);cursor:pointer}.bse-chips button.on{background:var(--gold);color:var(--obsidian);border-color:var(--gold)}
.bse-prod .body{padding:18px;display:grid;gap:10px;flex:1}
.bse-prod h3{font-size:1.25rem}
.bse-prod .price{font-family:'JetBrains Mono',monospace;color:var(--gold)}
.bse-prod .desc{color:var(--muted);font-size:.9rem}
.bse-sizes{display:flex;gap:6px;flex-wrap:wrap}
.bse-sizes button{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.08em;padding:6px 10px;border-radius:8px;
  background:transparent;border:1px solid rgba(212,175,55,.25);color:var(--gold-light);cursor:pointer}
.bse-sizes button.on{background:var(--gold);color:var(--obsidian);border-color:var(--gold)}
.bse-cartbtn{position:fixed;right:22px;bottom:22px;z-index:120}
.bse-count{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:10px;background:var(--cream);
  color:var(--maroon);font-size:.7rem;margin-left:8px;padding:0 6px}
.bse-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);z-index:210;transform:translateX(105%);
  transition:transform .4s var(--ease-out);background:var(--obsidian-soft);border-left:1px solid rgba(212,175,55,.2);
  display:flex;flex-direction:column}
.bse-drawer.on{transform:none}
.bse-drawer header{padding:22px;border-bottom:1px solid rgba(212,175,55,.12);display:flex;justify-content:space-between;align-items:center}
.bse-drawer .items{flex:1;overflow:auto;padding:12px 22px}
.bse-drawer footer{padding:22px;border-top:1px solid rgba(212,175,55,.12);display:grid;gap:12px}
.bse-line{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.bse-line .n{font-weight:500} .bse-line .s{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--muted)}
.bse-qty{display:inline-flex;align-items:center;gap:8px}
.bse-qty button{width:28px;height:28px;border-radius:50%;border:1px solid rgba(212,175,55,.3);background:none;color:var(--cream);cursor:pointer}
.bse-sum{display:flex;justify-content:space-between;font-family:'JetBrains Mono',monospace;font-size:.82rem}
.bse-sum.total{font-size:1rem;color:var(--gold)}

/* ---------- event page ---------- */
.bse-ev-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;padding:140px 0 60px;overflow:hidden}
.bse-ev-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;mix-blend-mode:luminosity}
.bse-ev-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,6,10,.3),rgba(6,6,10,.96)),
  radial-gradient(90% 80% at 80% 0%,rgba(153,0,51,.45),transparent 60%)}
.bse-ev-hero .wrap{position:relative;z-index:2;width:100%}
.bse-ev-hero h1{font-size:clamp(3rem,10vw,7.5rem);line-height:.86}
.bse-ev-hero h1 em{display:block;color:var(--gold);font-style:normal}
.bse-ev-meta{display:flex;gap:26px;flex-wrap:wrap;margin-top:22px;font-family:'JetBrains Mono',monospace;font-size:.8rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light)}
.bse-ev-body{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding:60px 0 90px}
@media(max-width:900px){.bse-ev-body{grid-template-columns:1fr}}
.bse-panel{border-radius:18px;padding:26px;border:1px solid rgba(212,175,55,.18);background:rgba(13,13,20,.8)}
.bse-tier{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.bse-tier h4{font-family:'Anton',sans-serif;font-weight:400;font-size:1.2rem;text-transform:uppercase;letter-spacing:.02em}
.bse-tier .p{font-family:'JetBrains Mono',monospace;color:var(--gold);font-size:.85rem}
.bse-tier .left{font-family:'JetBrains Mono',monospace;color:var(--muted);font-size:.7rem;letter-spacing:.08em}
.bse-soldout{opacity:.45}
.bse-map{display:block;width:100%;height:320px;border:0;border-radius:14px;filter:grayscale(1) invert(.9) contrast(.9)}

/* ---------- ticket / order ---------- */
.bse-ticket{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:18px;border-radius:14px;
  border:1px dashed rgba(212,175,55,.4);background:rgba(212,175,55,.04);margin-bottom:14px}
.bse-ticket canvas,.bse-ticket img{background:#fff;border-radius:8px;padding:6px;width:132px;height:132px}
.bse-ticket .code{font-family:'JetBrains Mono',monospace;font-size:1.05rem;color:var(--gold);letter-spacing:.1em}

/* ---------- proposal page ---------- */
.bse-prop{max-width:880px;margin:0 auto}
.bse-prop table{width:100%;border-collapse:collapse;margin:14px 0}
.bse-prop td,.bse-prop th{text-align:left;padding:12px 8px;border-bottom:1px solid rgba(212,175,55,.14)}
.bse-prop th{font-family:'JetBrains Mono',monospace;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.bse-prop h2{font-size:clamp(2rem,5vw,3.4rem)}
.bse-prop h3{font-size:1.4rem;color:var(--gold);margin:30px 0 10px}
.bse-prop p,.bse-prop li{color:var(--cream);opacity:.9}
.bse-prop ul{padding-left:20px;display:grid;gap:6px}
@media print{
  nav,.spotlight,.bse-noprint{display:none!important}
  body{background:#fff;color:#111}
  .bse-page{padding-top:0}
  .bse-prop p,.bse-prop li,.bse-prop td{color:#111}
  .bse-prop h2,.bse-prop h3{color:#6b0024}
}

/* ---------- closest-show card (smart layer) ---------- */
.bse-near{position:fixed;left:18px;bottom:18px;z-index:130;width:min(300px,calc(100vw - 36px));padding:18px 18px 16px;border-radius:16px;
  background:linear-gradient(160deg,rgba(107,0,36,.55),rgba(13,13,20,.96) 70%);border:1px solid rgba(212,175,55,.3);
  box-shadow:0 20px 60px rgba(0,0,0,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  transform:translateY(20px);opacity:0;transition:transform .5s var(--ease-out),opacity .5s var(--ease-out)}
.bse-near.on{transform:none;opacity:1}
.bse-near-city{font-family:'Anton',sans-serif;font-size:1.9rem;line-height:1;text-transform:uppercase;color:var(--cream)}
.bse-near-meta{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-light);margin-top:6px}
.bse-closest{display:inline-block;margin-bottom:6px;font-family:'JetBrains Mono',monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;
  padding:4px 10px;border-radius:20px;background:var(--gold);color:var(--obsidian)}
@media(max-width:560px){.bse-near{left:12px;right:12px;width:auto;bottom:12px}body:has(.bse-cartbtn) .bse-near{bottom:78px}}
