/* =====================================================================
   Redditch HC – Home page styling
   File: rhc-home.css
   Safe: namespaced or scoped to new classes; won't disturb other pages
   ===================================================================== */

/* -------------------- RHC palette & tokens -------------------- */
:root{
  --rhc-navy:#062c4c;         /* page background / e */
  --rhc-deep:#0a2e40;         /* slightly lighter navy for blocks */
  --rhc-card:#0c3449;         /* panels/cards */
  --rhc-accent:#f0b90b;       /* gold accent (buttons/pills) */
  --rhc-muted:#9fb6c5;        /* subtle text */
  --rhc-white:#fff;
  --radius:14px;
  --radius-sm:10px;
  --shadow:0 8px 24px rgba(0,0,0,.28);
  --space: clamp(16px, 2vw, 28px);
  --section-gap: clamp(32px, 5vw, 70px);
}

/* Keep page in club navy; text legible on dark. */
body{ background:var(--rhc-navy); color:#e9f2f8; }

/* Utility section helper (optional; harmless if unused) */
.section{ padding-block: var(--section-gap); }

/* =====================================================================
   HERO – controlled height
   ===================================================================== */
.rhc-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;                /* avoids z-index bleed into next sections */
  background:var(--rhc-navy);
}

/* If your hero has an inner wrapper (hero-stage / container), keep height sane */
.rhc-hero,
.rhc-hero .rhc-hero__stage,
.rhc-hero .hero-stage{
  min-height: clamp(380px, 48vw, 640px);
}

/* Images in hero */
.rhc-hero img,
.rhc-hero .hero-image{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(95%);
}

/* Dark scrim + fade into solid navy at the bottom */
.rhc-hero::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.00) 0%, rgba(0,0,0,.25) 45%, rgba(0,0,0,.55) 70%),
    linear-gradient(to bottom, transparent 62%, var(--rhc-navy) 100%);
  pointer-events:none;
  z-index:1;
}

/* Navy “tail” that continues visually into the next row a little */
.rhc-hero::after{
  content:"";
  position:absolute; left:0; right:0; bottom:-1px;
  height: clamp(90px, 12vw, 200px);
  background: var(--rhc-navy);
  z-index:0;
}

/* Ensure text/buttons inside hero sit above scrim */
.rhc-hero .container,
.rhc-hero .hero-content{ position:relative; z-index:2; }

/* Pull the next section up slightly so it kisses the hero edge */
.section--after-hero{ margin-top: -clamp(70px, 8vw, 140px); }

/* =====================================================================
   NEWS / ALBUM CARDS – locked blur, consistent ratios, stronger shadows
   ===================================================================== */

/* If your first rail container has this helper, we add top spacing only when
   the hero isn’t present (harmless otherwise). */
.rhc-rail{ padding-top: max(0px, 0.5rem); }

.card-rail{ gap: clamp(16px, 2vw, 24px); }

.post-card{
  background:var(--rhc-card);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow: var(--shadow);
}

.post-card__media{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
}

.post-card__img{
  width:100%; height:100%;
  object-fit:cover;
  transform:scale(1.02);
  transition: transform .25s ease;
}

.post-card:hover .post-card__img{ transform:scale(1.06); }

/* Locked gallery blur + small lock pill */
.post-card--locked .post-card__img{
  filter: blur(3px) brightness(.82);
}
.post-card--locked .lock{
  position:absolute; left:12px; top:12px;
  background:rgba(255,255,255,.92); color:#112;
  padding:.4rem .6rem;
  border-radius:999px;
  font-size:.8rem; font-weight:700;
  line-height:1;
}

/* Meta/footer area inside cards */
.post-card__body{ padding: .9rem .95rem 1rem; }
.post-card__kicker{
  display:inline-block;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--rhc-muted);
  margin-bottom:.4rem;
}
.post-card__title{
  font-weight:800; line-height:1.15;
  color:var(--rhc-white);
  margin:0 0 .25rem;
}
.post-card__meta{ font-size:.85rem; color:var(--rhc-muted); }

/* =====================================================================
   FIXTURES – filters (“chips”) and two-column panels
   ===================================================================== */

/* Filter chips */
.btn-chip{
  --bg:transparent; --bd:rgba(255,255,255,.22); --fg:#dbedf7;
  background:var(--bg); color:var(--fg);
  border:1px solid var(--bd);
  border-radius:999px;
  padding:.35rem .9rem;
  font-weight:700; letter-spacing:.02em;
  transition:.2s ease;
  box-shadow:none;
}
.btn-chip:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.36);
}
.btn-chip.is-active{
  background:var(--rhc-accent);
  color:#111;
  border-color:var(--rhc-accent);
}

/* Panels */
.fx-panel{
  background:var(--rhc-card);
  border-radius:var(--radius);
  padding:.8rem;
  box-shadow: var(--shadow);
}

.fx-panel-head{
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#d9e8f1;
  opacity:.9;
  margin:.2rem .4rem .8rem;
}

.fx-list{ margin:0; }

/* Fixture items */
.fx-item{
  position:relative;
  padding:.65rem .9rem;
  border-radius:12px;
  background:rgba(255,255,255,.045);
}
.fx-item + .fx-item{ margin-top:.5rem; }

.fx-league{
  font-size:.75rem;
  opacity:.85;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--rhc-muted);
  margin-bottom:.25rem;
}

.fx-row{
  display:flex; justify-content:space-between; align-items:center;
  gap:.75rem; flex-wrap:wrap;
}

.fx-teams{ display:flex; gap:1rem; align-items:center; }

.fx-team-name{ font-weight:700; }

.fx-score{
  background:#0d2132;
  padding:.15rem .5rem;
  border-radius:.5rem;
  min-width:1.75rem;
  text-align:center;
  font-weight:800;
}

/* Link overlay for a whole item (optional) */
.fx-link{ position:absolute; inset:0; }

/* =====================================================================
   SPONSOR rail
   ===================================================================== */
.sponsor-rail{
  background:var(--rhc-card);
  border-radius:var(--radius);
  padding:1.2rem;
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:1fr;
  gap:1rem;
  align-items:center;
  box-shadow: var(--shadow);
}
.sponsor-rail img{
  max-height:40px; width:auto;
  margin-inline:auto;
  opacity:.96; filter:saturate(88%);
}

/* =====================================================================
   Buttons / small utilities
   ===================================================================== */
.btn.btn--rhc{
  background:var(--rhc-accent);
  color:#111; border:0;
  font-weight:800;
  border-radius:999px;
  padding:.55rem 1.1rem;
}
.btn.btn--rhc:hover{ filter:brightness(.96); }

.text-muted, .muted{ color:var(--rhc-muted) !important; }
.hr-soft{ height:1px; background:rgba(255,255,255,.08); border:0; margin:1rem 0; }

/* =====================================================================
   Responsive tweaks
   ===================================================================== */
@media (max-width: 991.98px){
  .section--after-hero{ margin-top: -90px; }
  .post-card__title{ font-size:1.05rem; }
}
@media (max-width: 575.98px){
  .section--after-hero{ margin-top: -70px; }
  .btn-chip{ padding:.32rem .75rem; }
}
