/* Theme Name: Egoli FM Vibrant 3D
Author: Egoli FM
Description: Vibrant three-dimensional Johannesburg radio experience.
Version: 2.0.0
Text Domain: egoli-fm-vibrant-3d */
.presenters{background:radial-gradient(circle at 10% 14%,rgba(250,44,179,.2),transparent 26%),radial-gradient(circle at 84% 80%,rgba(35,217,255,.18),transparent 25%),linear-gradient(180deg,#0c1951,#081338)}.presenters-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:38px}.presenter-card{padding:16px;border-radius:22px;background:linear-gradient(145deg,#193b95,#0b1748);border:1px solid rgba(255,255,255,.16);box-shadow:12px 14px 0 rgba(1,4,19,.38),0 22px 35px rgba(0,0,0,.25);transition:transform .25s}.presenter-card:hover{transform:translateY(-9px)}.presenter-photo{height:240px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#ffc42e,#fa2cb3 55%,#164fc0);box-shadow:inset 0 2px 0 rgba(255,255,255,.42)}.presenter-photo span{font-size:3rem;font-weight:900;color:#fff;text-shadow:0 4px 15px rgba(0,0,0,.4)}.presenter-card small{display:block;margin-top:16px;color:#23d9ff;text-transform:uppercase;font-size:.7rem;font-weight:900;letter-spacing:.1em}.presenter-card h3{margin:5px 0}.presenter-card p{margin:0;color:#ccd7fa;font-size:.91rem}@media(max-width:900px){.presenters-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.presenters-grid{grid-template-columns:1fr}.presenter-photo{height:280px}}
/* Gold live-player treatment */
.player.glass{background:linear-gradient(135deg,#fff4b0 0%,#e6ad25 42%,#9b5b08 100%)!important;border:1px solid #fff1a4!important;box-shadow:0 12px 0 #754109,0 28px 58px rgba(0,0,0,.5),inset 0 2px 0 rgba(255,255,255,.9)!important;color:#101432}.player.glass .eyebrow{color:#6d3d00!important}.player.glass h2{color:#111a37;text-shadow:0 1px 0 rgba(255,255,255,.45)}.player.glass .player-status{color:#35240a;font-weight:700}.player.glass .play{background:linear-gradient(145deg,#172b68,#08163c)!important;color:#ffc42e!important;box-shadow:0 8px 0 #02081e,0 14px 24px rgba(79,42,0,.38),inset 0 1px 0 rgba(255,255,255,.22)!important}.player.glass .wave i{background:linear-gradient(#162f75,#071737)!important;box-shadow:0 0 10px rgba(23,47,117,.6)!important}.sticky-player{background:linear-gradient(90deg,#724207,#dca120 47%,#7d4809)!important;border-top:1px solid #ffed93!important;box-shadow:0 -10px 30px rgba(0,0,0,.28)!important}.sticky-player .player-status,.sticky-player small{color:#2e1a04!important;font-weight:700}.sticky-player .play{background:linear-gradient(145deg,#182e70,#061438)!important;color:#ffc42e!important;box-shadow:0 5px 0 #020818,0 9px 15px rgba(0,0,0,.3)!important}
:root{--cyan:#23d9ff;--pink:#fa2cb3;--gold:#ffc42e;--muted:#ccd7fa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#fff;font-family:Montserrat,Arial,sans-serif;background:#060d27}a{text-decoration:none;color:inherit}.wrap{width:min(1200px,calc(100% - 40px));margin:auto}.site-header{position:absolute;top:0;left:0;right:0;z-index:20;border-bottom:1px solid #ffffff29;background:linear-gradient(#010619b8,transparent)}.nav{height:86px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;font-size:1.1rem;letter-spacing:.12em;text-shadow:0 3px #000}.brand span{color:var(--gold)}.menu{list-style:none;display:flex;gap:25px;margin:0;padding:0;font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.menu a:hover{color:var(--cyan)}.menu-toggle{display:none;background:transparent;color:white;border:0;font-size:2rem}.hero{min-height:790px;display:flex;align-items:center;position:relative;isolation:isolate;background:linear-gradient(90deg,#030926f5 0%,#030926c4 38%,#0309261f 70%),linear-gradient(0deg,#030926bd,transparent 45%),url('assets/images/egoli-city-vibrant-hero.png') center/cover}.hero:after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at 20% 45%,#843dff59,transparent 32%),radial-gradient(circle at 70% 22%,#23d9ff2e,transparent 28%)}.hero-grid{display:grid;grid-template-columns:1fr 350px;gap:50px;align-items:center;padding-top:90px}.eyebrow,.section-label{font-weight:900;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}h1{font-size:clamp(3.5rem,7.5vw,7.2rem);line-height:.87;letter-spacing:-.07em;margin:18px 0 24px;text-shadow:0 7px 28px #0008}h1 em{font-style:normal;background:linear-gradient(90deg,var(--gold),#fff0a7,var(--pink));-webkit-background-clip:text;color:transparent}.lead{max-width:545px;color:#e0e7ff;font-size:1.16rem}.button{display:inline-flex;align-items:center;gap:10px;padding:17px 25px;font-weight:900;border-radius:15px;color:#101432;background:linear-gradient(135deg,var(--gold),#ffef86);box-shadow:0 9px #a56300,0 18px 38px #ff7e0059;transition:.2s}.button:hover{transform:translateY(-4px)}.badge{padding:9px;border-radius:50%;background:conic-gradient(var(--gold),var(--pink),var(--cyan),var(--gold));box-shadow:0 0 0 12px #ffffff14,0 28px 58px #0008;animation:float 4.8s ease-in-out infinite}.badge img{width:100%;display:block;border-radius:50%;background:#fff}@keyframes float{50%{transform:translateY(-15px) rotate(3deg)}}.player-wrap{margin-top:-65px;position:relative;z-index:3}.glass{background:linear-gradient(125deg,#203582cc,#090f39d4);border:1px solid #ffffff38;box-shadow:0 25px 55px #0006,inset 0 1px #ffffff40;backdrop-filter:blur(20px);border-radius:26px}.player{padding:24px 30px;display:flex;justify-content:space-between;align-items:center;gap:24px}.now-playing{display:flex;align-items:center;gap:18px}.play{height:66px;width:66px;border:0;border-radius:50%;font-size:1.45rem;background:linear-gradient(135deg,var(--cyan),#b2f6ff);color:#071331;cursor:pointer;box-shadow:0 8px #06739b,0 17px 28px #0005}.wave{display:flex;align-items:center;gap:5px;height:45px}.wave i{height:12px;width:5px;background:linear-gradient(var(--cyan),var(--pink));border-radius:10px;animation:wave 1s ease-in-out infinite alternate;box-shadow:0 0 13px var(--cyan)}.wave i:nth-child(2n){height:35px;animation-delay:.2s}.wave i:nth-child(3n){height:24px;animation-delay:.42s}@keyframes wave{to{transform:scaleY(.28)}}section{padding:100px 0;background:linear-gradient(180deg,#080f31,#0c1951)}.section-title{font-size:clamp(2.4rem,5vw,4.4rem);line-height:.98;letter-spacing:-.05em;margin:11px 0}.section-copy{max-width:650px;color:var(--muted)}.feature-grid,.schedule{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}.card,.show{padding:27px;border-radius:22px;background:linear-gradient(145deg,#193b95,#0b1748);border:1px solid #ffffff29;box-shadow:12px 14px #01041361,0 22px 35px #0004;transition:.25s}.card:hover,.show:hover{transform:translateY(-9px)}.icon{font-size:2.2rem;color:var(--gold)}.card p,.show p{color:var(--muted)}.show time{color:var(--gold);font-weight:900}.cta{padding:52px;border-radius:30px;background:linear-gradient(115deg,#672be2,#0851bd 55%,#0aa0c9);box-shadow:0 24px #06143d,0 35px 55px #0006;display:flex;align-items:center;justify-content:space-between;gap:25px}.cta h2{margin:0;font-size:clamp(2.4rem,5vw,4.5rem);line-height:.9;letter-spacing:-.06em}.site-footer{padding:42px 0 105px;background:#050a20;color:var(--muted)}.footer-grid{display:flex;justify-content:space-between}.sticky-player{position:fixed;z-index:30;bottom:0;left:0;right:0;padding:9px 0;background:#040a22e6;backdrop-filter:blur(18px);border-top:1px solid #23d9ff47}.sticky-inner{display:flex;align-items:center;justify-content:space-between}.sticky-inner .play{height:45px;width:45px;font-size:1rem}.sticky-inner .now-playing{font-size:.88rem}@media(max-width:760px){.menu{display:none;position:absolute;top:86px;left:0;right:0;padding:22px;background:#0b1748;flex-direction:column}.menu.open{display:flex}.menu-toggle{display:block}.hero{min-height:700px;background-position:60% center}.hero-grid{grid-template-columns:1fr;padding-top:130px}.badge{display:none}.player-wrap{margin-top:-30px}.player{padding:20px;display:block}.player .wave{margin-top:18px}.feature-grid,.schedule{grid-template-columns:1fr}.cta{padding:35px;display:block}.cta .button{margin-top:24px}.footer-grid{display:block}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
