/* skin.css — BT Fitness "desk-athlete club" skin (Direction B, locked 2026-08-30).
   Per-trainer file, never touched by sync-app.mjs — safe to edit freely.
   Same gold and crest as the floor, but the floor's glass-and-pill softness is
   traded for hairline frames, sharp corners and mono labels. See references/DESIGN.md. */

/* ---------- shape: sharp club scale (CTAs 6 / cards 10 / sheets 14) ---------- */
.card{
  background:#111116;
  background-image:none;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  border:1px solid var(--line-2);
  border-radius:10px;
  box-shadow:0 18px 60px -22px rgba(10,7,2,0.75);
}

button,label.btn,a.btn{
  border-radius:6px;
  font-family:var(--mono);
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  transition:transform .18s cubic-bezier(.2,.8,.2,1),background-color .18s cubic-bezier(.2,.8,.2,1),border-color .18s cubic-bezier(.2,.8,.2,1);
}
button:active,label.btn:active,a.btn:active{transform:translateY(1px) scale(.99)}
.primary{
  background:var(--accent);
  color:#1A1208;
  border:0;
  box-shadow:0 14px 40px -14px rgba(var(--accent-rgb),.45);
}
.primary:hover{background:var(--accent-hi)}
:focus-visible{outline:2px solid var(--accent-hi);outline-offset:3px}

/* ---------- crest: never circle-cropped, gold drop-shadow ---------- */
.brandbar img,.home-hero img,.gate-hero img{
  border-radius:0;
  filter:drop-shadow(0 10px 26px rgba(var(--accent-rgb),.28));
}
.brandbar .mark{border-radius:0}

/* ---------- home hero: plaque frame, type-only ---------- */
.home-hero{
  background:#050505;
  border:1px solid rgba(var(--accent-rgb),.30);
  border-radius:14px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.6), 0 18px 60px -22px rgba(10,7,2,.75);
  padding:22px 18px 20px;
}
.home-hero .eyebrow{
  font-family:var(--mono);
  letter-spacing:.22em;text-transform:uppercase;font-size:.66rem;font-weight:700;
  color:var(--accent-hi);
}
.home-hero h1{font-weight:800;letter-spacing:-.01em;text-transform:uppercase}
h1 em{color:var(--accent);font-style:normal}
.home-hero .sub,.home-hero #homeDate{color:var(--muted)}

/* ---------- tab bar: dark, sharp, gold active rule ---------- */
.tabbar{
  background:#0A0A0C !important;
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
  border:1px solid var(--line-2) !important;
  border-radius:14px !important;
  box-shadow:0 18px 42px -24px rgba(7,5,2,.78) !important;
}
.tabbar::before{display:none !important}
.tabbar button{color:var(--muted)}
.tabbar button.active{color:var(--accent);text-shadow:none}
.tabbar button.active .tab-cluster::before{
  background:rgba(var(--accent-rgb),0.12);
  border-color:rgba(var(--accent-rgb),0.35);
  border-radius:8px;
  box-shadow:none;
}
.tabbar .fab .fab-c{
  background:var(--accent) !important;
  border:2px solid #050505 !important;
  border-radius:10px !important;
  box-shadow:0 0 0 3px rgba(var(--accent-rgb),0.30) !important;
}
.tabbar .fab svg{stroke:#1A1208 !important}

/* ---------- gate (sign-in): plaque hero ---------- */
#gate{background:#050505}
.gate-hero{
  background:#050505 !important;
  border-bottom:1px solid rgba(var(--accent-rgb),.30);
}
.gate-hero h1{font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
.gate-hero .eyebrow{font-family:var(--mono);letter-spacing:.22em;color:var(--accent-hi)}
.gate-hero .sub{color:var(--muted)}
.gate-guest{color:var(--accent);font-weight:700}

/* ---------- classes: hairline list, sharp book buttons ---------- */
.classes-card{position:relative;overflow:hidden}
.classes-card::after{display:none}
.classes-card .classes-venue{color:var(--muted);font-size:.8rem;margin:2px 0 4px;line-height:1.45}
.classes-sched{border-top:1px solid var(--line-2)}
.classes-slot{
  border-bottom:1px solid var(--line-2);
  background:transparent;border-radius:0;border-left:0;border-right:0;border-top:0;
}
.classes-slot b{font-family:var(--display);font-weight:700;letter-spacing:-.01em}
.classes-slot span{font-family:var(--mono);font-variant-numeric:tabular-nums}
.classes-slot i{
  font-style:normal;font-size:.66rem;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:#1A1208;background:var(--accent);
  padding:5px 9px;border-radius:6px;
}
.classes-slot .classes-book-btn{
  font-family:var(--mono);font-size:.72rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;border-radius:6px;
  background:var(--accent);color:#1A1208;border:0;
}
.classes-slot .classes-book-btn.booked{background:transparent;color:var(--accent);
  box-shadow:inset 0 0 0 1.5px var(--accent)}

/* ---------- XP / rings / bars stay gold, lose the glow wash ---------- */
.xp-level{
  border-color:rgba(var(--accent-rgb),.35);
  box-shadow:none;
  background:rgba(var(--accent-rgb),.08);
  border-radius:10px;
}
.ring-prog{stroke:var(--accent)}
.bar i{background:var(--accent);box-shadow:none}

/* ---------- desktop frame ---------- */
@media (min-width:520px){
  body{background:#050505 !important}
  .app{
    box-shadow:0 0 0 11px #0A0A0C,0 0 0 12px rgba(255,255,255,.08),
      0 70px 140px -50px rgba(0,0,0,.6) !important;
  }
}
