:root{
  --card-bg:#6f5a56;
  --featured:#5876d9;
  --chip:#fff;
  --chip-active:#ff7a45;
}

/* 
body{
  font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  margin:0;
  background:#fafafa;
  color:#222;
  padding:20px;
}
 */

/* 
h1{ margin:0 0 14px; font-weight:900; letter-spacing:.2px }
 */

/* Toolbar chips */
.toolbar{ display: flex;
    flex-wrap: nowrap;
    width: auto;
    gap: 10px 16px;
    align-items: center;
    margin: 0 auto 16px auto;
    justify-content: space-evenly;
    align-content: center;
}
.group{ display:flex; flex-wrap:wrap; gap:8px; align-items:center }
.label{ font-weight:800; font-size:.95rem; margin-right:4px }
.chip{
  border:0; 
  font-size: .8em;
  border-radius:999px; padding:.2em .8em; font-weight:600; cursor:pointer;
  background:var(--chip); box-shadow:0 1px 0 rgba(0,0,0,.08);
  transition: background-color .2s ease, transform .2s ease;
}
.chip:hover{ transform: translateY(-1px) }
.chip[aria-pressed="true"]{ background:var(--chip-active); color:#111 }

/* Grid of cards */
.passes{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(12px,1.8vw,18px);
}

/* Card with button pinned bottom-right */
.pass{
  position:relative;
  display:grid;
  grid-template-rows:auto auto auto 1fr auto; /* button is last row */
  row-gap:10px;
  border-radius:18px;
  background:var(--card-bg);
  box-shadow:0 8px 22px rgba(0,0,0,.12);
  padding:16px;
  color:#fff;
/* 
  min-height:260px;
 */
  opacity:0; transform: translateY(6px); /* entrance */
  transition: opacity .25s ease, transform .25s ease, box-shadow .25s ease;
}
.pass.show{ opacity:1; transform: translateY(0) }
.pass.featured{ background:var(--featured) }
.pass:hover{ box-shadow:0 10px 28px rgba(0,0,0,.15) }

.head{ display:grid; grid-template-columns:1fr auto; gap:8px 12px; align-items:start }
.title{ margin:0; font-weight:900; line-height:1.15; font-size:1.15rem }
body .pass .price .js-price{ margin:0; font-weight:900; font-size:1.6rem;  text-align:center; transition: transform .22s ease, opacity .22s ease }
.price.bump{ transform: scale(1.06) }
.price small{ display:block; font-size:.45em; font-weight:700; opacity:.9; line-height:1.1 }

.mini{ margin:0; font-size:.95rem; opacity:.95 }
.mini b{ font-weight:800 }

/* NEW: succinct tier line */
.tiers-line{ margin:0; font-size:.9rem; opacity:.9 }

/* collapsible extras (kept for possible reuse) */
details.more{ background:rgba(255,255,255,.1); border-radius:12px; padding:6px 8px; transition: background-color .2s ease }
details.more summary{ cursor:pointer; font-weight:800 }
details.more[open]{ background:rgba(255,255,255,.14) }
details.more ul{ margin:6px 0 0 18px }

/* Register button bottom-right */
.register-button{
  justify-self:end; /* right */
  align-self:end;   /* bottom */
  border-radius:999px;
  padding:9px 14px;
  background:#fff;
  color:#111;
  font-weight:900;
  text-decoration:none;
  transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.register-button:hover{ transform: translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.2) }

.pass .price span.strike{ display: none; opacity:.6; text-decoration:line-through; margin-right:.35em }
.is-hidden{ display:none !important }

/* In-card audience selector (only on special tickets) */
.aud-local{ margin:0 }
.aud-local select{ padding:6px 8px; border-radius:6px; border:none; font-weight:700; font-size:.9rem }