/*
 * CLGC FM — City of Light Global Church visual identity
 * Loaded at the end of the public page so the church theme consistently
 * overrides legacy page-level styles without changing radio functionality.
 */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Montserrat:wght@500;600;700;800;900&display=swap');
:root {
  --clgc-navy: #101044;
  --clgc-navy-deep: #08082f;
  --clgc-gold: #c99a32;
  --clgc-gold-light: #e8c77d;
  --clgc-ivory: #fbf8f1;
  --clgc-white: #ffffff;
  --clgc-ink: #20243a;
  --clgc-muted: #697084;
  --clgc-line: #e9e4d9;
  --bg: var(--clgc-ivory) !important;
  --surface: #fff !important;
  --surface-2: #fffdf8 !important;
  --gold: var(--clgc-gold) !important;
  --gold-soft: var(--clgc-gold-light) !important;
  --text: var(--clgc-ink) !important;
  --muted: var(--clgc-muted) !important;
  --border: var(--clgc-line) !important;
  --shadow: 0 16px 42px rgba(16,16,68,.09) !important;
}
html, body { background:var(--clgc-ivory) !important; color:var(--clgc-ink) !important; }
body { font-family:'DM Sans',Arial,sans-serif !important; line-height:1.7 !important; }
h1,h2,h3,h4,.section-header h2,.section-heading h2 { font-family:'Montserrat','DM Sans',sans-serif !important; color:var(--clgc-navy) !important; letter-spacing:-.025em; }
p { color:inherit; }
a { transition:color .2s ease,background .2s ease,transform .2s ease; }
.topbar { position:sticky; top:0; z-index:100; display:flex; align-items:center; justify-content:space-between; gap:22px; padding:10px clamp(18px,5vw,72px) !important; min-height:88px; background:rgba(255,255,255,.97) !important; border-bottom:1px solid var(--clgc-line) !important; box-shadow:0 8px 24px rgba(16,16,68,.06); backdrop-filter:blur(14px); }
.brand { display:flex !important; align-items:center; gap:12px; color:var(--clgc-navy) !important; font-family:'Montserrat',sans-serif; font-size:1.02rem !important; font-weight:900 !important; line-height:1.1; }
.brand__logo { display:block; width:170px; max-height:66px; object-fit:contain; }
.brand__station { display:grid; gap:4px; white-space:nowrap; }
.brand__station small { color:var(--clgc-gold); font-family:'DM Sans',sans-serif; font-size:.67rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.topbar nav { display:flex; align-items:center; justify-content:center; gap:clamp(10px,1.6vw,24px); flex:1; }
.topbar nav a { color:#343750 !important; font-size:.88rem; font-weight:700; white-space:nowrap; }
.topbar nav a:hover { color:var(--clgc-gold) !important; }
.live-btn,.btn--primary,.btn:not(.btn--ghost) { display:inline-flex; align-items:center; justify-content:center; gap:9px; border:1px solid var(--clgc-gold) !important; border-radius:7px !important; padding:12px 21px !important; background:var(--clgc-gold) !important; color:#fff !important; font-weight:800 !important; letter-spacing:.035em; box-shadow:0 8px 20px rgba(201,154,50,.2); }
.live-btn:hover,.btn--primary:hover,.btn:not(.btn--ghost):hover { background:var(--clgc-navy) !important; border-color:var(--clgc-navy) !important; transform:translateY(-2px); }
.live-btn__dot { width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18); }
.btn--ghost { background:transparent !important; color:var(--clgc-navy) !important; border:1px solid rgba(16,16,68,.28) !important; border-radius:7px !important; }
.btn--ghost:hover { background:var(--clgc-navy) !important; color:#fff !important; }
.hero { min-height:540px !important; padding:clamp(76px,10vw,132px) clamp(22px,8vw,120px) !important; background:linear-gradient(90deg,rgba(8,8,47,.88) 0%,rgba(8,8,47,.66) 52%,rgba(8,8,47,.18) 100%),url('https://clgc-s3.s3.amazonaws.com/static/images/slide/clgc-img-1.JPG') center 42%/cover no-repeat !important; border:0 !important; }
.hero__content { max-width:760px !important; }
.hero h1 { color:#fff !important; font-family:'Montserrat',sans-serif !important; font-size:clamp(2.7rem,6.5vw,5.2rem) !important; line-height:1.04 !important; font-weight:900 !important; }
.hero p { max-width:640px !important; color:rgba(255,255,255,.91) !important; font-size:clamp(1.05rem,2vw,1.25rem) !important; }
.live-pill { color:#fff !important; background:rgba(201,154,50,.24) !important; border:1px solid rgba(232,199,125,.65) !important; }
.live-pill i { background:var(--clgc-gold-light) !important; }
.container { width:min(1180px,calc(100% - 42px)) !important; }
.section { padding:54px 0 !important; }
.section-kicker { color:var(--clgc-gold) !important; font-family:'DM Sans',sans-serif; font-weight:800; }
.section-header { margin-bottom:25px !important; }
.section-header h2,.section-heading h2 { color:var(--clgc-navy) !important; font-size:clamp(1.6rem,3vw,2.15rem) !important; }
.section-header a,.section-heading a { color:var(--clgc-gold) !important; }
.player-card,.live-player,.now-card,.history-list,.card,.action-card,.show-card,.about-card,.stat,.player { background:#fff !important; color:var(--clgc-ink) !important; border:1px solid var(--clgc-line) !important; border-radius:16px !important; box-shadow:0 14px 38px rgba(16,16,68,.07) !important; }
.player-card { padding:22px !important; border-top:4px solid var(--clgc-gold) !important; }
.player-card iframe { background:#fff !important; border:1px solid var(--clgc-line) !important; }
.now-card__header { border-bottom:1px solid var(--clgc-line) !important; }
.now-card__header h2,.now-card__info h3,.show-card h3,.action-card h3 { color:var(--clgc-navy) !important; }
.now-card__body { color:var(--clgc-ink) !important; }
.now-card__artist,.about-text p,.show-card p,.action-card p,.muted { color:var(--clgc-muted) !important; }
.now-card__meta-item { background:#fbf8f1 !important; border:1px solid var(--clgc-line) !important; }
.now-card__meta-item span { color:#7c7e8d !important; }
.now-card__meta-item strong { color:var(--clgc-navy) !important; }
.now-card__status.is-live { color:#167a50 !important; background:#e8f7ef !important; border-color:#c8ead7 !important; }
.history-item { border-bottom:1px solid var(--clgc-line) !important; }
.history-item:hover { background:#fbf8f1 !important; }
.history-song strong { color:var(--clgc-navy) !important; }
.history-song span,.history-time { color:var(--clgc-muted) !important; }
.history-num,.show-card__icon { color:var(--clgc-gold) !important; background:#fbf5e8 !important; border:1px solid #f0dfba !important; }
.about-text h2,.about-card strong { color:var(--clgc-navy) !important; }
.about-card p { color:var(--clgc-muted) !important; }
.action-card,.show-card { padding:26px !important; }
.action-card:hover,.show-card:hover,.discover-card:hover { transform:translateY(-4px); border-color:rgba(201,154,50,.6) !important; }
.show-card__presenter { color:#a77a20 !important; }
.discover-section { padding-top:28px !important; }
.discover-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.discover-card { display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-height:260px; padding:27px; background:#fff; border:1px solid var(--clgc-line); border-radius:15px; box-shadow:0 12px 32px rgba(16,16,68,.06); color:var(--clgc-ink); }
.discover-card__icon { display:grid; place-items:center; width:50px;height:50px;border-radius:12px;background:#fbf5e8;color:var(--clgc-gold);font-size:1.5rem; }
.discover-card__eyebrow { color:var(--clgc-gold); font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.discover-card strong { color:var(--clgc-navy); font-family:'Montserrat',sans-serif; font-size:1.18rem; }
.discover-card>span:not(.discover-card__icon):not(.discover-card__eyebrow) { color:var(--clgc-muted); font-size:.94rem; }
.discover-card>b { margin-top:auto; color:var(--clgc-navy); font-size:.86rem; }
.discover-card>b i { color:var(--clgc-gold); font-style:normal; }
.site-footer { margin-top:65px !important; background:var(--clgc-navy-deep) !important; color:#e9e8f2 !important; border-top:4px solid var(--clgc-gold) !important; }
.footer-main { width:min(1180px,100%) !important; }
.footer-logo { display:flex !important; align-items:center; gap:14px !important; color:#fff !important; }
.footer-logo img { display:block; width:min(245px,55vw); max-height:84px; object-fit:contain; background:#fff; border-radius:6px; padding:5px 9px; }
.footer-logo span { display:grid; gap:4px; font-family:'Montserrat',sans-serif; font-size:1.2rem; font-weight:900; }
.footer-logo small { color:var(--clgc-gold-light); font-family:'DM Sans',sans-serif; font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; }
.footer-brand h2 { color:#fff !important; }
.footer-caption,.footer-bottom { color:#d0cfe0 !important; }
.footer-links h3,.footer-motto { color:var(--clgc-gold-light) !important; }
.footer-links a { color:#e0deeb !important; }
.footer-links a:hover { color:var(--clgc-gold-light) !important; }
.anchor-target { display:block; position:relative; top:-95px; visibility:hidden; }
@media(max-width:980px) { .topbar { flex-wrap:wrap; justify-content:center; } .topbar nav { order:3; flex-basis:100%; overflow-x:auto; padding:8px 0 3px; } .brand { margin-right:auto; } .discover-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .topbar { gap:10px; padding:9px 15px !important; min-height:auto; } .brand__logo { width:112px; max-height:48px; } .brand__station { font-size:.85rem; } .brand__station small { font-size:.55rem; } .topbar nav { justify-content:flex-start; gap:17px; } .topbar nav a { font-size:.82rem; } .live-btn { padding:9px 12px !important; font-size:.72rem; } .hero { min-height:460px !important; padding:70px 24px !important; background-position:58% center !important; } .hero h1 { font-size:clamp(2.45rem,12vw,3.6rem) !important; } .container { width:min(100% - 30px,1180px) !important; } .now-card__body { grid-template-columns:1fr !important; } .now-card__art { max-width:170px; margin:auto; } .now-card__meta { grid-template-columns:1fr !important; } .discover-grid { grid-template-columns:1fr; } .discover-card { min-height:220px; } .footer-main { grid-template-columns:1fr !important; gap:28px !important; } .footer-brand { grid-column:auto !important; } .footer-bottom { align-items:flex-start !important; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }
