/* ══════════════════════════════════════════════════════════════
   CONFERENCES PAGE — SPECIFIC STYLES
   ══════════════════════════════════════════════════════════════ */

/* ─── FILTER BAR ─── */
.filter-bar {
  position:sticky; top:56px; z-index:100;
  background:rgba(10,22,40,0.92);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--border-gold);
  padding:1rem 5vw;
  display:flex; align-items:center; gap:1rem;
  flex-wrap:wrap;
}
.filter-bar-label {
  font-size:.58rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--dim); font-weight:600;
}
.filter-pill {
  padding:.45rem 1.1rem; border:1px solid var(--border-gold);
  background:transparent; color:var(--dim); font-size:.66rem;
  letter-spacing:.1em; text-transform:uppercase; font-family:'Inter',sans-serif;
  cursor:pointer; transition:all .25s;
}
.filter-pill.active { background:var(--saffron); color:var(--white); border-color:var(--saffron); }
.filter-pill:hover:not(.active) { border-color:var(--saffron); color:var(--cream); }

/* Type legend */
.type-legend {
  display:flex; gap:2rem; justify-content:center;
  padding:1.5rem 0; flex-wrap:wrap;
}
.legend-item { display:flex; align-items:center; gap:.5rem; font-size:.7rem; color:var(--dim); }
.legend-dot { width:10px; height:10px; border-radius:50%; }
.legend-dot.flagship { background:var(--saffron); }
.legend-dot.school { background:var(--gold-light); }
.legend-dot.legal { background:#7C6FB3; }
.legend-dot.training { background:#5BA08A; }

/* ─── YEAR GROUP ─── */
.year-group {
  margin-bottom:4rem;
}
.year-group.hidden { display:none; }
.year-header {
  display:flex; align-items:center; gap:1.5rem; margin-bottom:2rem;
}
.year-number {
  font-family:'Cinzel',serif; font-size:2.4rem; font-weight:700;
  color:var(--saffron); line-height:1;
}
.year-line { flex:1; height:1px; background:var(--border-gold); }
.year-count {
  font-size:.62rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--dim); font-weight:600;
}

/* ─── CONFERENCE CARDS ─── */
.conf-cards-grid { display:flex; flex-direction:column; gap:1.5rem; }
.conf-cards-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.compact-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; }

/* Featured Card */
.conf-card-featured {
  display:grid; grid-template-columns:.45fr .55fr; align-items:center;
  background:var(--glass-bg); backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  overflow:hidden;
  transition:transform .3s, box-shadow .3s, border-color .3s;
}
.conf-card-featured:hover {
  transform:translateY(-4px);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  border-color:rgba(212,80,10,.3);
}
.conf-card-featured .card-visual {
  position:relative; overflow:hidden;
  aspect-ratio: 16 / 9;
  width: 100%;
}
.conf-card-featured .card-visual img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s;
}
.conf-card-featured:hover .card-visual img { transform:scale(1.05); }

/* Standard Card */
.conf-card-standard {
  background:var(--glass-bg); backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  overflow:hidden;
  transition:transform .3s, box-shadow .3s, border-color .3s;
}
.conf-card-standard:hover {
  transform:translateY(-5px);
  box-shadow:0 16px 48px rgba(0,0,0,.3);
  border-color:rgba(212,80,10,.3);
}
.conf-card-standard .card-visual {
  position:relative; overflow:hidden;
  aspect-ratio: 16 / 9;
  width: 100%;
}
.conf-card-standard .card-visual img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s;
}
.conf-card-standard:hover .card-visual img { transform:scale(1.05); }

/* Compact Card */
.conf-card-compact {
  display:grid; grid-template-columns:.35fr .65fr; align-items:center;
  background:var(--glass-bg); backdrop-filter:blur(14px);
  border:1px solid var(--glass-border);
  overflow:hidden;
  transition:transform .3s, box-shadow .3s;
}
.conf-card-compact:hover {
  transform:translateY(-3px);
  box-shadow:0 12px 38px rgba(0,0,0,.25);
}
.conf-card-compact .card-visual {
  position:relative; overflow:hidden;
  aspect-ratio: 16 / 9;
  width: 100%;
}
.conf-card-compact .card-visual img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s;
}
.conf-card-compact:hover .card-visual img { transform:scale(1.05); }

/* Card Shared Elements */
.card-badge {
  position:absolute; top:1rem; left:1rem;
  background:var(--saffron); color:var(--white);
  font-size:.54rem; letter-spacing:.14em; text-transform:uppercase;
  padding:.3rem .7rem; font-weight:700; z-index:2;
}
.card-content { padding:1.5rem; }
.card-meta {
  display:flex; align-items:center; gap:.8rem; flex-wrap:wrap;
  margin-bottom:.6rem;
}
.card-meta-item { font-size:.72rem; color:var(--cream); opacity:.7; }
.card-meta-divider { width:1px; height:14px; background:var(--border-gold); }
.card-title {
  font-family:'Cinzel',serif; font-size:1.05rem; font-weight:700;
  color:var(--cream); margin-bottom:.4rem; line-height:1.3;
}
.card-subtitle {
  font-family:'IM Fell English',serif; font-style:italic;
  font-size:.82rem; color:var(--saffron-light); margin-bottom:.5rem; font-weight:600;
}
.card-desc { font-size:.76rem; color:var(--dim); line-height:1.7; margin-bottom:1rem; }
.card-highlights {
  display:flex; gap:1.2rem; margin-bottom:1rem; flex-wrap:wrap;
}
.card-highlight-item { text-align:center; }
.card-highlight-number {
  display:block; font-family:'Cinzel',serif;
  font-size:1.1rem; font-weight:700; color:var(--saffron); line-height:1;
}
.card-highlight-label {
  font-size:.54rem; letter-spacing:.12em; text-transform:uppercase; color:var(--dim);
}
.card-tags { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem; }
.card-tag {
  font-size:.56rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.25rem .6rem; border:1px solid var(--border-gold);
  color:var(--dim);
}
.card-link {
  font-family:'Cinzel',serif; font-size:.66rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--saffron); display:inline-flex; align-items:center; gap:.3rem;
  transition:gap .25s;
}
.card-link:hover { gap:.6rem; }

/* ─── RESPONSIVE ─── */
@media(max-width:960px) {
  .conf-card-featured { grid-template-columns:1fr; }
  .conf-cards-row { grid-template-columns:repeat(2,1fr); }
  .compact-grid { grid-template-columns:1fr; }
  .conf-card-compact { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  .conf-cards-row { grid-template-columns:1fr; }
  .filter-bar { flex-wrap:wrap; justify-content:center; }
  .year-number { font-size:1.8rem; }
}
