/*
Theme Name: Hits100 Hosts Grid Child (Full)
Theme URI:  https://hits100.ca/
Description: Child theme for HITS 100 Hybrid Lite. Uses existing post type `hosts` and provides a polished landscape grid + profile templates.
Author: Sylvain Boucher
Version: 1.2.0
Template: hits100-hybrid-lite
Text Domain: hits100-child
*/

/* -----------------------------
   Announcers / Hosts Grid
------------------------------ */
.announcers-wrap{max-width:1240px;margin:0 auto;padding:32px 18px 56px;}
.announcers-header{max-width:1240px;margin:0 auto;padding:64px 18px 28px;}
.announcers-header h1{margin:0 0 10px;font-size:clamp(28px,3vw,44px);line-height:1.1;}
.announcers-header p{margin:0;font-size:16px;opacity:.9;}
.announcers-hero{
  background:
    radial-gradient(1200px 500px at 20% 10%, rgba(255,0,0,.18), rgba(0,0,0,0)),
    linear-gradient(135deg, #0a0a0a, #110000 45%, #050505);
  color:#fff;
}
.announcers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;}
@media(max-width:980px){.announcers-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.announcers-grid{grid-template-columns:1fr;}}

/* Card */
.announcer-card{
  position:relative;border-radius:16px;overflow:hidden;background:#111;aspect-ratio:16/9;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
  transition:transform .28s ease, box-shadow .28s ease, filter .28s ease;
  cursor:pointer;
}
.announcer-card:hover{
  transform:scale(1.03);
  box-shadow:0 0 26px rgba(255,0,0,.30), 0 12px 40px rgba(0,0,0,.35);
  filter:brightness(1.05);
}
.announcer-card__img{position:absolute;inset:0;background-size:cover;background-position:center;}
.announcer-card__link{position:absolute;inset:0;z-index:5;text-indent:-9999px;}
.announcer-card__overlay{
  position:absolute;left:0;right:0;bottom:0;z-index:6;padding:18px;
  background:linear-gradient(to top, rgba(0,0,0,.85), rgba(0,0,0,0));
}
.announcer-card__name{
  margin:0 0 4px;color:#fff;font-size:22px;line-height:1.15;font-weight:800;
  text-shadow:0 2px 12px rgba(0,0,0,.55);
}
.announcer-card__meta{margin:0;color:rgba(255,255,255,.82);font-size:14px;line-height:1.35;}

/* -----------------------------
   Single Host
------------------------------ */
.announcer-single{max-width:980px;margin:0 auto;padding:22px 18px 60px;}
.announcer-single__hero{border-radius:18px;overflow:hidden;background:#0f0f0f;box-shadow:0 10px 34px rgba(0,0,0,.30);}
.announcer-single__hero-img{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;}
.announcer-single__hero-overlay{padding:18px 18px 20px;background:linear-gradient(to top, rgba(0,0,0,.86), rgba(0,0,0,.50));color:#fff;}
.announcer-single__title{margin:0 0 6px;font-size:clamp(26px,2.2vw,38px);line-height:1.1;}
.announcer-single__sub{margin:0;font-size:15px;opacity:.92;}
.announcer-single__content{margin-top:22px;font-size:16px;line-height:1.65;}
.announcer-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.announcer-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:13px;backdrop-filter:blur(6px);}
.announcer-listen{display:inline-block;margin-top:16px;padding:12px 16px;border-radius:12px;background:rgba(255,0,0,.85);color:#fff;text-decoration:none;font-weight:700;transition:transform .2s ease, filter .2s ease;}
.announcer-listen:hover{transform:translateY(-1px);filter:brightness(1.06);}
