
/*
Theme Name: Peache State Bash
Description: One-page festival theme with Customizer controls and FAQ repeater.
Version: 1.3.0
Text Domain: psb
*/
:root{
  --psb-bg:#0e0e0e;
  --psb-fg:#f4f4f4;
  --psb-accent:#f7a600;
  --psb-muted:#bdbdbd;
  --psb-max:1200px;
  --psb-pad: clamp(16px, 2.5vw, 40px);
  --psb-radius: 18px;
}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--psb-fg);
  background:var(--psb-bg);
  line-height:1.6;
}
a{color:var(--psb-fg); text-decoration:none}
a:hover{opacity:.85}
img{max-width:100%; height:auto; display:block}
.container{max-width:var(--psb-max); margin:0 auto; padding:0 var(--psb-pad)}
.btn{
  display:inline-block; padding:12px 20px; border-radius:999px;
  border:1px solid var(--psb-fg); transition:.2s;
}
.btn--accent{background:var(--psb-accent); color:#000; border-color:var(--psb-accent)}
.btn--ghost{background:transparent}
/* Header/Nav */
.site-header{position:sticky; top:0; z-index:50; backdrop-filter:saturate(180%) blur(8px); background:rgba(14,14,14,.6); border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex; align-items:center; justify-content:space-between; min-height:64px}
.nav__brand{display:flex; align-items:center; gap:10px; font-weight:700}
.nav__menu{display:flex; gap:18px; align-items:center; flex-wrap:wrap}
.nav__link{opacity:.9; font-weight:500}
/* Hero */
.hero{position:relative; min-height:80vh; display:grid; place-items:center; text-align:center; overflow:hidden}
.hero::before{
  content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.45)), var(--hero-bg, #222);
  background-size:cover; background-position:center;
  z-index:-1;
}
.hero__inner{padding: calc(var(--psb-pad) * 2) var(--psb-pad)}
.kicker{letter-spacing:.12em; text-transform:uppercase; font-size:.9rem; color:var(--psb-muted)}
.display{
  font-size: clamp(42px, 7vw, 96px);
  line-height: .95;
  margin: 10px 0 16px 0;
  font-weight:900;
}
.subdisplay{font-size: clamp(16px, 2.4vw, 24px); color: var(--psb-muted); max-width:900px; margin:0 auto 24px auto}
.hero__ctas{display:flex; gap:12px; justify-content:center; flex-wrap:wrap}
/* Sections */
.section{padding: min(8vh, 100px) 0}
.section--alt{background:#151515}
.section__title{font-size:clamp(28px, 4vw, 48px); margin:0 0 10px 0}
.section__lead{color:var(--psb-muted); max-width:900px}
.grid{display:grid; gap:22px}
.grid--2{grid-template-columns: repeat(2, minmax(0, 1fr))}
.grid--3{grid-template-columns: repeat(3, minmax(0, 1fr))}
@media (max-width: 900px){
  .grid--2, .grid--3{grid-template-columns:1fr}
}
.card{background:#1a1a1a; border:1px solid rgba(255,255,255,.08); border-radius:var(--psb-radius); overflow:hidden}
.card__img{aspect-ratio:16/9; background:#222; object-fit:cover; width:100%}
.card__body{padding:16px}
.badge{display:inline-block; padding:4px 10px; border-radius:999px; background:#222; border:1px solid rgba(255,255,255,.08); font-size:.8rem; color:var(--psb-muted)}
/* Footer */
.site-footer{padding:40px 0; border-top:1px solid rgba(255,255,255,.08); color:var(--psb-muted); text-align:center}
.small{font-size:.9rem; color:var(--psb-muted)}
