/*
Theme Name: kontrolFM Radio
Theme URI: https://kontrolfm.com
Author: nanourrbano
Description: Tema moderno en español para kontrolFM, con radio en vivo, programación, locutores, podcasts, noticias y temporadas automáticas editables.
Version: 2.5.1
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: kontrolfm
*/
:root{--kf-bg:#08111f;--kf-bg-2:#0f1c30;--kf-card:#fff;--kf-soft:#f4f7fb;--kf-text:#0f172a;--kf-muted:#657086;--kf-accent:#ff3157;--kf-accent2:#ff5b74;--kf-border:#dfe6ef;--kf-radius:24px;--kf-shadow:0 18px 50px rgba(9,17,31,.12);--kf-max:1360px;--kf-season-surface:#f4f7fb;--kf-season-text:#0f172a;--kf-hero-image:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;color:var(--kf-text);line-height:1.55}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto;display:block}button,input{font:inherit}.kf-container{width:min(calc(100% - 36px),var(--kf-max));margin-inline:auto}.kf-btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;padding:.9rem 1.25rem;border-radius:999px;font-weight:800;border:1px solid transparent;transition:.2s ease}.kf-btn:hover{transform:translateY(-1px)}.kf-btn-primary{background:linear-gradient(135deg,var(--kf-accent),color-mix(in srgb,var(--kf-accent) 75%,white));color:#fff;box-shadow:0 12px 28px color-mix(in srgb,var(--kf-accent) 30%,transparent)}.kf-btn-outline{border-color:rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.04)}.kf-btn-light{background:#fff;border-color:var(--kf-border)}.kf-section{padding:72px 0}.kf-section-soft{background:var(--kf-season-surface,var(--kf-soft))}.kf-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.kf-eyebrow{display:inline-flex;gap:.65rem;align-items:center;color:var(--kf-accent);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.kf-eyebrow:before{content:"";width:28px;height:4px;border-radius:999px;background:var(--kf-accent)}.kf-title{margin:.35rem 0 .45rem;font-size:clamp(2rem,4vw,3.3rem);line-height:1.05}.kf-subtitle{color:var(--kf-muted);margin:0;max-width:720px}
.kf-header{position:absolute;z-index:30;top:0;left:0;right:0;color:#fff}.kf-nav{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:24px}.kf-brand{font-weight:950;font-size:1.9rem;letter-spacing:-.04em;display:flex;align-items:center;gap:.65rem}.kf-custom-logo{max-height:54px;width:auto}.kf-brand-mark{width:34px;height:26px;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;align-items:center}.kf-brand-mark i{display:block;background:var(--kf-accent);border-radius:99px}.kf-brand-mark i:nth-child(1),.kf-brand-mark i:nth-child(5){height:10px}.kf-brand-mark i:nth-child(2),.kf-brand-mark i:nth-child(4){height:19px}.kf-brand-mark i:nth-child(3){height:27px}.kf-brand .fm{color:var(--kf-accent)}.kf-menu{display:flex;gap:24px;align-items:center;font-weight:700;font-size:.93rem;list-style:none;padding:0;margin:0}.kf-menu a{opacity:.9}.kf-menu a:hover,.kf-menu .current-menu-item>a{opacity:1;color:#fff}.kf-header-actions{display:flex;align-items:center;gap:12px}.kf-menu-toggle{display:none;background:transparent;border:0;color:#fff;font-size:1.5rem}
.kf-hero{position:relative;min-height:720px;display:flex;align-items:center;color:#fff;overflow:hidden;background-image:linear-gradient(90deg,rgba(5,12,24,.96) 0%,rgba(8,16,29,.88) 40%,rgba(8,16,29,.58) 70%,rgba(8,16,29,.86) 100%),var(--kf-season-image,var(--kf-hero-image)),var(--kf-hero-image),radial-gradient(circle at 75% 30%,color-mix(in srgb,var(--kf-accent) 30%,transparent),transparent 34%),linear-gradient(135deg,#07111f,#132640);background-size:cover;background-position:center}.kf-hero:after{content:"";position:absolute;inset:auto -120px -220px auto;width:560px;height:560px;background:radial-gradient(circle,color-mix(in srgb,var(--kf-accent) 30%,transparent),transparent 65%)}.kf-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center;padding-top:120px;padding-bottom:72px}.kf-hero-copy{position:relative}.kf-hero-copy h1{font-size:clamp(3.2rem,7vw,6.2rem);line-height:.94;letter-spacing:-.055em;margin:.6rem 0 1.2rem;max-width:780px}.kf-hero-copy h1 span{color:var(--kf-accent)}.kf-hero-copy p{font-size:1.2rem;color:#d9e2ef;max-width:650px}.kf-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.kf-season-badge{display:inline-flex;align-items:center;padding:.5rem .85rem;margin:0 0 14px;border-radius:999px;background:color-mix(in srgb,var(--kf-accent) 88%,black);color:#fff;border:1px solid rgba(255,255,255,.18);font-weight:900;box-shadow:0 10px 25px rgba(0,0,0,.2)}.kf-player{position:relative;background:linear-gradient(180deg,rgba(19,33,55,.88),rgba(10,19,33,.96));border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px rgba(0,0,0,.35);border-radius:30px;padding:28px;backdrop-filter:blur(18px)}.kf-live-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--kf-accent);border-radius:999px;padding:.5rem .8rem;font-weight:900;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.kf-player-main{display:grid;grid-template-columns:76px 1fr;gap:16px;align-items:center;margin-top:18px;padding-right:140px}.kf-player-thumb{width:76px;height:76px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);box-shadow:0 12px 30px rgba(0,0,0,.18)}.kf-player-thumb img{width:100%;height:100%;object-fit:cover}.kf-player-info h3,.kf-player h3{font-size:1.8rem;margin:0 0 2px}.kf-player .show-meta{color:#aebbd0}.kf-equalizer{position:absolute;right:28px;top:82px;height:36px;display:flex;align-items:center;gap:4px}.kf-equalizer i{display:block;width:4px;background:var(--kf-accent);border-radius:5px;animation:kf-eq 1.2s ease-in-out infinite alternate}.kf-equalizer i:nth-child(1){height:12px}.kf-equalizer i:nth-child(2){height:28px;animation-delay:.1s}.kf-equalizer i:nth-child(3){height:18px;animation-delay:.2s}.kf-equalizer i:nth-child(4){height:34px;animation-delay:.3s}.kf-equalizer i:nth-child(5){height:22px;animation-delay:.4s}.kf-equalizer i:nth-child(6){height:30px;animation-delay:.5s}.kf-equalizer i:nth-child(7){height:16px;animation-delay:.6s}.kf-equalizer i:nth-child(8){height:25px;animation-delay:.7s}@keyframes kf-eq{to{transform:scaleY(.45);opacity:.65}}.kf-now-playing{margin-top:24px;padding:18px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.kf-now-playing small{color:#aebbd0}.kf-now-playing strong{display:block;font-size:1.05rem;margin-top:4px}.kf-audio{width:100%;margin-top:18px}.kf-player-note{font-size:.82rem;color:#9eabc0;margin:16px 0 0}.kf-player-empty{margin-top:18px;padding:14px;border:1px dashed rgba(255,255,255,.3);border-radius:16px;color:#d6dfeb}
.kf-grid{display:grid;gap:22px}.kf-grid-programs{grid-template-columns:repeat(5,minmax(0,1fr))}.kf-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kf-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kf-card{background:#fff;border:1px solid var(--kf-border);border-radius:22px;overflow:hidden;box-shadow:0 10px 26px rgba(15,23,42,.06);transition:.2s ease}.kf-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(15,23,42,.11)}.kf-card-image{aspect-ratio:16/10;background:linear-gradient(135deg,#18253d,var(--kf-accent));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:2rem;overflow:hidden}.kf-card-image img{width:100%;height:100%;object-fit:cover}.kf-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(135deg,var(--kf-bg-2),var(--kf-accent));color:#fff}.kf-wave{letter-spacing:2px;font-size:1rem}.kf-card-body{padding:18px}.kf-card h3{margin:8px 0 5px;font-size:1.1rem}.kf-card p{margin:.2rem 0;color:var(--kf-muted)}.kf-time{font-size:.88rem;color:var(--kf-muted);font-weight:700;margin-top:8px}.kf-pill{display:inline-flex;padding:.33rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--kf-accent) 13%,white);color:color-mix(in srgb,var(--kf-accent) 80%,black);font-weight:900;font-size:.72rem;text-transform:uppercase}.kf-podcast-section{background:linear-gradient(180deg,#0b1628,#101d31);color:#fff}.kf-podcast-section .kf-subtitle{color:#b9c5d6}.kf-podcast-section .kf-btn-light{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);color:#fff}
.kf-promo{background:linear-gradient(120deg,#111c31,color-mix(in srgb,var(--kf-accent) 50%,#111c31) 55%,#0c1423);color:#fff;border-radius:34px;padding:46px;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;overflow:hidden}.kf-promo h2{font-size:2.5rem;line-height:1.05;margin:0 0 12px}.kf-promo p{color:#d5deea}.kf-socials{display:flex;flex-wrap:wrap;gap:10px}.kf-socials a,.kf-socials span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 14px;border-radius:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11);font-weight:800}.kf-socials span{opacity:.45}.kf-store-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.kf-store{display:inline-flex;padding:11px 16px;border-radius:11px;background:#050505;border:1px solid rgba(255,255,255,.22);color:#fff;font-weight:800}
.kf-footer{background:#07101e;color:#d6dfeb;padding:48px 0 30px}.kf-footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.kf-footer h4{color:#fff;margin-top:0}.kf-footer ul{list-style:none;padding:0;margin:0}.kf-footer li{margin:7px 0}.kf-copyright{margin-top:32px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:.88rem;color:#91a0b6}
.kf-page-hero{position:relative;overflow:hidden;padding:150px 0 80px;background:linear-gradient(120deg,#07111f,#172945 70%,color-mix(in srgb,var(--kf-accent) 35%,#172945));color:#fff}.kf-page-hero .kf-container{position:relative;z-index:2}.kf-page-hero p{max-width:700px;color:#cad6e6;font-size:1.1rem}.kf-content{padding:64px 0;background:var(--kf-season-surface,#fff)}.kf-page-card,.kf-single-card{max-width:980px;margin:0 auto}.kf-prose{font-size:1.06rem}.kf-prose h2{font-size:2rem;margin-top:2rem}.kf-prose h3{font-size:1.2rem}.kf-prose p{color:#4f5d73}.kf-prose a{color:var(--kf-accent);font-weight:700}.kf-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.kf-info-grid>div,.kf-contact-card{background:#fff;border:1px solid var(--kf-border);border-radius:20px;padding:24px;box-shadow:var(--kf-shadow)}.kf-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.kf-note{background:#fff5f7;border:1px solid #ffd4df;border-radius:14px;padding:16px}.kf-single-card{background:#fff;border:1px solid var(--kf-border);border-radius:28px;overflow:hidden;box-shadow:var(--kf-shadow)}.kf-single-card .kf-prose{padding:34px}.kf-single-image img{width:100%;max-height:520px;object-fit:cover}.kf-audio-light{width:100%;margin:18px 0}.kf-pagination{margin-top:34px}.kf-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}.kf-pagination .page-numbers{padding:8px 12px;border:1px solid var(--kf-border);border-radius:10px;background:#fff}.kf-pagination .current{background:var(--kf-accent);color:#fff;border-color:var(--kf-accent)}
.kf-season-decor{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.35;background-position:center;background-size:cover}.kf-season-halloween .kf-season-decor:before,.kf-season-halloween .kf-season-decor:after,.kf-season-fall .kf-season-decor:before,.kf-season-fall .kf-season-decor:after,.kf-season-christmas .kf-season-decor:before,.kf-season-christmas .kf-season-decor:after,.kf-season-valentine .kf-season-decor:before,.kf-season-valentine .kf-season-decor:after,.kf-season-spring .kf-season-decor:before,.kf-season-spring .kf-season-decor:after,.kf-season-summer .kf-season-decor:before,.kf-season-summer .kf-season-decor:after{position:absolute;font-size:72px;filter:drop-shadow(0 12px 22px rgba(0,0,0,.25))}.kf-season-halloween .kf-season-decor:before{content:"🎃";left:2%;bottom:6%}.kf-season-halloween .kf-season-decor:after{content:"🦇";right:5%;top:18%}.kf-season-fall .kf-season-decor:before{content:"🍂";left:2%;bottom:8%}.kf-season-fall .kf-season-decor:after{content:"🍁";right:4%;top:20%}.kf-season-christmas .kf-season-decor:before{content:"🎄";left:2%;bottom:7%}.kf-season-christmas .kf-season-decor:after{content:"🎁";right:4%;bottom:8%}.kf-season-valentine .kf-season-decor:before{content:"❤";left:3%;bottom:8%;color:#ff416d}.kf-season-valentine .kf-season-decor:after{content:"🌹";right:4%;bottom:7%}.kf-season-spring .kf-season-decor:before{content:"🌸";left:2%;bottom:8%}.kf-season-spring .kf-season-decor:after{content:"🌷";right:5%;top:22%}.kf-season-summer .kf-season-decor:before{content:"☀";left:3%;top:18%;color:#ffd43b}.kf-season-summer .kf-season-decor:after{content:"🌴";right:4%;bottom:7%}.kf-season-halloween .kf-hero{background-image:linear-gradient(90deg,rgba(10,5,20,.94),rgba(25,8,32,.75)),var(--kf-season-image),radial-gradient(circle at 78% 25%,#8735a744,transparent 30%),linear-gradient(135deg,#100b18,#2d102c)}.kf-season-fall .kf-hero{background-image:linear-gradient(90deg,rgba(33,13,4,.92),rgba(76,30,7,.66)),var(--kf-season-image),linear-gradient(135deg,#3d1607,#a14111)}.kf-season-christmas .kf-hero{background-image:linear-gradient(90deg,rgba(5,32,22,.94),rgba(71,10,17,.65)),var(--kf-season-image),linear-gradient(135deg,#06291d,#6e101b)}.kf-season-valentine .kf-hero{background-image:linear-gradient(90deg,rgba(53,4,22,.94),rgba(103,8,40,.62)),var(--kf-season-image),linear-gradient(135deg,#3b071d,#8b123f)}.kf-season-spring .kf-hero{background-image:linear-gradient(90deg,rgba(15,48,31,.84),rgba(255,255,255,.1)),var(--kf-season-image),linear-gradient(135deg,#245d3a,#9ecf7b)}.kf-season-summer .kf-hero{background-image:linear-gradient(90deg,rgba(1,58,88,.88),rgba(255,143,22,.18)),var(--kf-season-image),linear-gradient(135deg,#0077b5,#f7a12c)}
@media(max-width:1000px){.kf-menu{display:none}.kf-menu-toggle{display:block}.kf-hero-grid,.kf-promo{grid-template-columns:1fr}.kf-grid-programs{grid-template-columns:repeat(2,1fr)}.kf-grid-4{grid-template-columns:repeat(2,1fr)}.kf-grid-3{grid-template-columns:repeat(2,1fr)}.kf-footer-grid{grid-template-columns:1fr 1fr}.kf-info-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.kf-section{padding:54px 0}.kf-grid-programs,.kf-grid-4,.kf-grid-3,.kf-footer-grid,.kf-info-grid,.kf-contact-grid{grid-template-columns:1fr}.kf-header-actions .kf-btn{display:none}.kf-hero{min-height:auto}.kf-hero-grid{padding-top:130px}.kf-hero-copy h1{font-size:3.4rem}.kf-promo{padding:30px}.kf-section-head{align-items:flex-start;flex-direction:column}.kf-equalizer{display:none}.kf-player-main{grid-template-columns:60px 1fr;padding-right:0}.kf-player-thumb{width:60px;height:60px;border-radius:14px}.kf-page-hero{padding-top:130px}.kf-season-decor:before,.kf-season-decor:after{font-size:48px!important}}

/* v2.1 Dominican calendar + annual seasonal engine */
.kf-season-decor-a,.kf-season-decor-b{position:absolute;font-size:74px;filter:drop-shadow(0 12px 22px rgba(0,0,0,.25));opacity:.9}.kf-season-decor-a{left:2.5%;bottom:7%}.kf-season-decor-b{right:4%;top:19%;transform:scale(.82) rotate(8deg)}
.kf-season-style-patriotic .kf-hero{background-image:linear-gradient(90deg,rgba(0,28,72,.95),rgba(0,56,118,.66) 50%,rgba(206,17,38,.32)),var(--kf-season-image),linear-gradient(135deg,#001d4b,#003876 55%,#7a0b18)}
.kf-season-style-patriotic .kf-season-badge{background:linear-gradient(90deg,#003876 0 45%,#fff 45% 55%,#ce1126 55%);text-shadow:0 1px 5px rgba(0,0,0,.65)}
.kf-season-style-reyes .kf-hero{background-image:linear-gradient(90deg,rgba(12,37,76,.94),rgba(20,63,116,.67),rgba(180,128,20,.30)),var(--kf-season-image),linear-gradient(135deg,#102d58,#184b88 60%,#a87814)}
.kf-season-style-religious .kf-hero{background-image:linear-gradient(90deg,rgba(24,38,68,.93),rgba(63,76,103,.62)),var(--kf-season-image),linear-gradient(135deg,#243c68,#b89135)}
.kf-season-style-holyweek .kf-hero{background-image:linear-gradient(90deg,rgba(41,22,54,.95),rgba(91,54,117,.65)),var(--kf-season-image),linear-gradient(135deg,#2c183b,#704b87 68%,#a48435)}
.kf-season-style-civic .kf-hero{background-image:linear-gradient(90deg,rgba(13,48,76,.94),rgba(31,85,118,.63)),var(--kf-season-image),linear-gradient(135deg,#103a5c,#c14d2e)}
.kf-season-style-mothers .kf-hero{background-image:linear-gradient(90deg,rgba(83,22,52,.92),rgba(201,63,112,.48)),var(--kf-season-image),linear-gradient(135deg,#73264d,#ed739c)}
.kf-season-style-fathers .kf-hero{background-image:linear-gradient(90deg,rgba(15,50,82,.94),rgba(28,98,153,.54)),var(--kf-season-image),linear-gradient(135deg,#123b62,#e0902a)}
.kf-season-style-newyear .kf-hero{background-image:linear-gradient(90deg,rgba(6,18,35,.95),rgba(12,51,83,.68)),var(--kf-season-image),radial-gradient(circle at 80% 20%,rgba(246,196,83,.35),transparent 30%),linear-gradient(135deg,#071526,#174f76)}
.kf-season-style-patriotic .kf-promo,.kf-season-style-reyes .kf-promo,.kf-season-style-religious .kf-promo,.kf-season-style-holyweek .kf-promo,.kf-season-style-civic .kf-promo,.kf-season-style-mothers .kf-promo,.kf-season-style-fathers .kf-promo,.kf-season-style-newyear .kf-promo{background:linear-gradient(120deg,#101b30,color-mix(in srgb,var(--kf-accent) 45%,#101b30),color-mix(in srgb,var(--kf-accent2) 40%,#101b30))}
.kf-auto-date{display:block;margin:14px 0 4px;padding:10px 12px;border-radius:10px;background:#f7f9fc}
@media(max-width:640px){.kf-season-decor-a,.kf-season-decor-b{font-size:48px}}
.kf-season-decor:before,.kf-season-decor:after{content:none!important}


/* v2.3 homepage redesign */
.kf-programming-wrap{padding-top:28px}
.kf-program-card .kf-card-image{aspect-ratio:4/3}
.kf-program-card .kf-card-body{padding:16px 16px 18px}
.kf-program-card h3{font-size:1rem;line-height:1.15}
.kf-program-card p{font-weight:700;color:#6c7790}
.kf-home-split{padding-top:8px;position:relative}
.kf-home-split-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:start}
.kf-home-column .kf-section-head{margin-bottom:20px}
.kf-home-column .kf-title{font-size:2.4rem}
.kf-host-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.kf-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kf-host-card .kf-card-image,.kf-news-card .kf-card-image{aspect-ratio:16/10}
.kf-host-card .kf-card-body,.kf-news-card .kf-card-body{padding:16px}
.kf-host-card h3,.kf-news-card h3{font-size:1.05rem;line-height:1.2}
.kf-host-card p strong{display:block;color:#16233a;font-size:1rem;margin-bottom:4px}
.kf-promo-rich{position:relative;grid-template-columns:1.05fr .55fr .8fr;min-height:250px;background-image:linear-gradient(120deg,rgba(5,14,29,.92),rgba(101,35,25,.62) 55%,rgba(5,14,29,.95)),var(--kf-promo-image,none);background-size:cover;background-position:center;border:1px solid rgba(255,255,255,.08)}
.kf-promo-rich:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 32% 48%,color-mix(in srgb,var(--kf-accent) 26%,transparent),transparent 36%),radial-gradient(circle at 82% 22%,rgba(255,255,255,.08),transparent 18%);pointer-events:none}
.kf-promo-copy,.kf-promo-phone,.kf-promo-social{position:relative;z-index:2}
.kf-promo-phone{display:flex;align-items:flex-end;justify-content:center;min-height:220px}
.kf-promo-phone img{max-width:220px;filter:drop-shadow(0 18px 35px rgba(0,0,0,.35));transform:rotate(-12deg) translateY(10px)}
.kf-promo-social h3{font-size:2rem;margin:0 0 10px}
.kf-promo-social p{margin-bottom:16px}
.kf-footer .menu{list-style:none;padding:0;margin:0}
.kf-footer .menu li{margin:7px 0}
.kf-hero-copy .kf-season-badge{margin-bottom:18px}
.kf-player{overflow:hidden}
.kf-player:after{content:"";position:absolute;right:-20px;bottom:-40px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--kf-accent) 18%,transparent),transparent 65%)}
.kf-season-active .kf-section-head .kf-btn-light{box-shadow:0 8px 18px rgba(15,23,42,.06)}
.kf-season-active .kf-programming-wrap{position:relative}
.kf-season-active .kf-programming-wrap:before,.kf-season-active .kf-home-split:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:var(--kf-section-art,none);background-repeat:no-repeat;background-position:right 42px top 24px;background-size:140px auto;opacity:.09}
.kf-season-halloween .kf-programming-wrap:before,.kf-season-halloween .kf-home-split:before{opacity:.13;background-size:180px auto}
.kf-season-christmas .kf-programming-wrap:before,.kf-season-christmas .kf-home-split:before{opacity:.16;background-size:220px auto}
.kf-season-valentine .kf-programming-wrap:before,.kf-season-valentine .kf-home-split:before{opacity:.12}
.kf-season-spring .kf-programming-wrap:before,.kf-season-spring .kf-home-split:before{opacity:.12}
.kf-season-summer .kf-programming-wrap:before,.kf-season-summer .kf-home-split:before{opacity:.12}
.kf-season-fall .kf-programming-wrap:before,.kf-season-fall .kf-home-split:before{opacity:.12}
.kf-season-halloween .kf-promo-rich{background-image:linear-gradient(120deg,rgba(10,10,20,.95),rgba(135,58,11,.72) 55%,rgba(19,16,37,.94)),var(--kf-promo-image,none)}
.kf-season-christmas .kf-promo-rich{background-image:linear-gradient(120deg,rgba(15,32,23,.95),rgba(105,17,31,.70) 55%,rgba(11,26,22,.95)),var(--kf-promo-image,none)}
.kf-season-valentine .kf-promo-rich{background-image:linear-gradient(120deg,rgba(47,9,23,.95),rgba(155,23,77,.68) 55%,rgba(62,11,33,.95)),var(--kf-promo-image,none)}
.kf-season-spring .kf-promo-rich{background-image:linear-gradient(120deg,rgba(24,58,34,.95),rgba(145,57,94,.55) 55%,rgba(24,58,34,.95)),var(--kf-promo-image,none)}
.kf-season-summer .kf-promo-rich{background-image:linear-gradient(120deg,rgba(9,35,58,.95),rgba(219,118,21,.58) 55%,rgba(9,35,58,.95)),var(--kf-promo-image,none)}
.kf-season-fall .kf-promo-rich{background-image:linear-gradient(120deg,rgba(36,20,12,.95),rgba(166,89,14,.62) 55%,rgba(36,20,12,.95)),var(--kf-promo-image,none)}
@media(max-width:1200px){.kf-grid-programs{grid-template-columns:repeat(3,minmax(0,1fr))}.kf-host-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-promo-rich{grid-template-columns:1fr 240px 1fr}}
@media(max-width:1000px){.kf-home-split-grid,.kf-promo-rich{grid-template-columns:1fr}.kf-promo-phone{order:2}.kf-promo-social{order:3}.kf-host-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.kf-grid-programs,.kf-host-grid,.kf-news-grid{grid-template-columns:1fr}.kf-home-column .kf-title{font-size:2rem}.kf-promo-phone img{max-width:170px;transform:rotate(-8deg)}.kf-programming-wrap,.kf-home-split{padding-top:0}}


/* v2.3.1 refinement */
.kf-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.04);color:#fff;font-size:1.25rem;box-shadow:0 10px 24px rgba(0,0,0,.16)}
.kf-search-btn{backdrop-filter:blur(10px)}
.kf-hero{background-position:center top}
.kf-hero-grid{grid-template-columns:minmax(0,1fr) 410px;gap:42px;padding-top:118px;padding-bottom:56px;align-items:center}
.kf-hero-copy h1{max-width:680px}
.kf-hero-eyebrow-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.kf-eyebrow-inline:before{display:none}
.kf-eyebrow-inline{font-size:.95rem;letter-spacing:.04em}
.kf-season-badge{margin-bottom:0;padding:.7rem 1rem;font-size:1rem}
.kf-player{padding:26px;border-radius:26px}
.kf-player-main{padding-right:110px}
.kf-player-info h3,.kf-player h3{font-size:1.55rem}
.kf-player .show-meta{line-height:1.45}
.kf-section-head{margin-bottom:22px}
.kf-programming-wrap{padding-top:26px;padding-bottom:30px}
.kf-grid-programs{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.kf-program-card{position:relative;border-radius:20px}
.kf-program-card-link{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center;padding:10px 12px;min-height:102px;position:relative}
.kf-program-thumb{width:88px;height:88px;border-radius:16px;overflow:hidden;flex:0 0 88px;background:#d7dfeb}
.kf-program-thumb img,.kf-program-thumb .kf-placeholder{width:100%;height:100%;object-fit:cover}
.kf-program-card-body h3{font-size:1rem;line-height:1.15;margin:0 0 2px}
.kf-program-card-body p{margin:0;color:#6d7891;font-size:.94rem;line-height:1.35}
.kf-program-card .kf-time{margin-top:8px}
.kf-program-card .kf-pill{position:absolute;right:10px;bottom:10px;font-size:.7rem;padding:.3rem .52rem}
.kf-home-split{position:relative;padding-top:24px;padding-bottom:26px}
.kf-home-split-grid{grid-template-columns:1.08fr .92fr;gap:32px}
.kf-home-column .kf-title{font-size:2.25rem;max-width:380px}
.kf-home-column .kf-subtitle{max-width:420px}
.kf-home-column .kf-section-head{align-items:flex-start}
.kf-home-column .kf-btn-light{margin-top:8px}
.kf-host-grid,.kf-news-grid{gap:14px}
.kf-host-card,.kf-news-card{border-radius:18px}
.kf-host-card .kf-card-image,.kf-news-card .kf-card-image{aspect-ratio:16/10}
.kf-host-card .kf-card-body,.kf-news-card .kf-card-body{padding:14px 14px 12px}
.kf-host-card h3,.kf-news-card h3{font-size:1rem;line-height:1.18;margin:0 0 6px}
.kf-host-role{font-weight:800;color:#17233b!important;margin:.15rem 0 .2rem}
.kf-host-quote,.kf-news-excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.kf-host-card h3,.kf-host-role{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kf-news-card h3{-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;min-height:3.5em}
.kf-news-card .kf-card-image{aspect-ratio:16/9}
.kf-news-card .kf-time{font-weight:800;color:#6a7590}
.kf-news-card .kf-card-body{min-height:200px}
.kf-promo-rich{border-radius:30px;padding:32px 36px;grid-template-columns:1.1fr .55fr .85fr;gap:28px;min-height:220px}
.kf-promo-rich .kf-promo-copy h2{font-size:2.15rem;margin:0 0 10px}
.kf-promo-rich .kf-promo-copy p{max-width:460px}
.kf-promo-phone img{max-width:190px}
.kf-promo-social h3{font-size:1.8rem}
.kf-promo-social .kf-socials a,.kf-promo-social .kf-socials span{min-width:0;padding:0 12px;height:42px;border-radius:10px}
.kf-footer{padding-top:38px}.kf-footer-grid{align-items:start}
.kf-footer .kf-brand{margin-bottom:16px}
.kf-season-decor{position:absolute;inset:0;pointer-events:none;z-index:1}
.kf-season-decor-a,.kf-season-decor-b{position:absolute;font-size:68px;opacity:.08;filter:blur(.2px)}
.kf-season-decor-a{left:40px;top:110px}.kf-season-decor-b{right:60px;bottom:50px}
.kf-season-halloween .kf-hero{background-image:linear-gradient(90deg,rgba(7,5,17,.96) 0%,rgba(13,8,27,.88) 38%,rgba(17,10,30,.58) 68%,rgba(22,11,23,.86) 100%),var(--kf-season-image),radial-gradient(circle at 78% 18%,rgba(255,158,68,.16),transparent 24%),radial-gradient(circle at 92% 80%,rgba(255,106,24,.16),transparent 18%),linear-gradient(135deg,#090611,#251023)}
.kf-season-halloween .kf-hero:before{content:"";position:absolute;inset:0;background:url("assets/images/seasonal/halloween.svg") top left/310px auto no-repeat,url("assets/images/seasonal/halloween.svg") bottom right/250px auto no-repeat;opacity:.32;pointer-events:none}
.kf-season-halloween .kf-season-badge{background:linear-gradient(135deg,#ff8a19,#ff5200);box-shadow:0 0 0 2px rgba(255,145,0,.2),0 12px 30px rgba(255,89,0,.24)}
.kf-season-halloween .kf-section-soft,.kf-season-halloween .kf-home-split{background:linear-gradient(180deg,#07101d,#091424 52%,#081220)}
.kf-season-halloween .kf-section-soft .kf-title,.kf-season-halloween .kf-home-split .kf-title,.kf-season-halloween .kf-section-soft .kf-subtitle,.kf-season-halloween .kf-home-split .kf-subtitle,.kf-season-halloween .kf-home-split .kf-eyebrow,.kf-season-halloween .kf-section-soft .kf-eyebrow{color:#fff}
.kf-season-halloween .kf-card{background:rgba(10,17,31,.88);border-color:rgba(255,145,0,.18);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.kf-season-halloween .kf-card h3,.kf-season-halloween .kf-card p,.kf-season-halloween .kf-time{color:#f3f6fb}
.kf-season-halloween .kf-card p{color:#c7d0df}
.kf-season-halloween .kf-btn-light{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#fff}
.kf-season-halloween .kf-programming-wrap:before,.kf-season-halloween .kf-home-split:before{opacity:.16;background-size:220px auto;background-position:right 22px top 24px,left bottom}
.kf-season-halloween .kf-promo-rich{background-image:linear-gradient(120deg,rgba(8,10,22,.96),rgba(88,35,8,.68) 58%,rgba(17,12,28,.94)),var(--kf-promo-image,none);border:1px solid rgba(255,145,0,.18)}
.kf-season-halloween .kf-promo-rich:after{content:"";position:absolute;inset:auto 0 0 0;height:140px;background:url("assets/images/seasonal/halloween.svg") center bottom/380px auto repeat-x;opacity:.16;pointer-events:none}
.kf-season-halloween .kf-footer{background:#060e1a}
.kf-season-halloween .kf-program-card .kf-pill,.kf-season-halloween .kf-pill{background:linear-gradient(135deg,#ff6d1b,#ff3157);color:#fff}
.kf-season-christmas .kf-hero{background-image:linear-gradient(90deg,rgba(6,24,18,.95) 0%,rgba(8,24,20,.86) 38%,rgba(14,22,23,.54) 68%,rgba(14,23,20,.84) 100%),var(--kf-season-image),radial-gradient(circle at 80% 14%,rgba(255,255,255,.08),transparent 22%),radial-gradient(circle at 85% 86%,rgba(198,30,58,.18),transparent 18%),linear-gradient(135deg,#081615,#152a22)}
.kf-season-christmas .kf-section-soft,.kf-season-christmas .kf-home-split{background:linear-gradient(180deg,#081713,#0c1e1a)}
.kf-season-christmas .kf-card{background:rgba(12,26,22,.88);border-color:rgba(255,255,255,.12)}
.kf-season-christmas .kf-card h3,.kf-season-christmas .kf-card p,.kf-season-christmas .kf-time,.kf-season-christmas .kf-title,.kf-season-christmas .kf-subtitle,.kf-season-christmas .kf-eyebrow{color:#fff}
.kf-season-christmas .kf-btn-light{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#fff}
@media(max-width:1200px){.kf-grid-programs{grid-template-columns:repeat(3,minmax(0,1fr))}.kf-home-split-grid{grid-template-columns:1fr}.kf-home-column .kf-title{max-width:none}.kf-news-card .kf-card-body{min-height:0}}
@media(max-width:900px){.kf-hero-grid{grid-template-columns:1fr}.kf-player-main{padding-right:0}.kf-grid-programs{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-program-card-link{grid-template-columns:72px 1fr}.kf-program-thumb{width:72px;height:72px}.kf-header-actions .kf-btn{padding:.85rem 1rem}}
@media(max-width:640px){.kf-header-actions .kf-icon-btn{display:none}.kf-hero-eyebrow-row{gap:10px}.kf-grid-programs{grid-template-columns:1fr}.kf-program-card-link{grid-template-columns:84px 1fr}.kf-program-thumb{width:84px;height:84px}.kf-promo-rich{padding:24px}.kf-player{padding:22px}}


/* v2.4.0 precision update */
.kf-header{background:linear-gradient(180deg,rgba(5,11,21,.78),rgba(5,11,21,.16) 68%,transparent);backdrop-filter:blur(10px)}
.kf-nav{min-height:86px}.kf-menu{gap:42px;font-size:1rem}.kf-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);color:#fff;font-size:1.3rem;backdrop-filter:blur(12px)}
.kf-hero{min-height:520px;background-position:center;background-size:cover}.kf-hero:after{display:none}
.kf-hero-grid{grid-template-columns:minmax(0,1.04fr) 530px;gap:38px;align-items:center;padding-top:112px;padding-bottom:34px}.kf-hero-copy h1{font-size:clamp(3.5rem,6vw,5.75rem);max-width:740px;margin:.45rem 0 1rem}.kf-hero-copy p{font-size:1.05rem;max-width:660px;line-height:1.4}.kf-hero-actions .kf-btn{min-width:220px;height:72px;font-size:1rem;box-shadow:0 12px 30px rgba(0,0,0,.25)}.kf-btn-outline{background:rgba(18,31,56,.42);border:2px solid rgba(147,167,208,.36)}
.kf-season-badge{padding:.7rem 1rem;font-size:1rem;margin-bottom:0}.kf-hero-eyebrow-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.kf-eyebrow-inline:before{display:none}.kf-eyebrow-inline{font-size:1rem;color:#ff406b}
.kf-player{padding:26px 28px;border-radius:30px;background:linear-gradient(180deg,rgba(22,35,60,.90),rgba(12,21,36,.96));box-shadow:0 30px 70px rgba(0,0,0,.34)}.kf-live-badge{padding:.72rem 1.1rem;font-size:.96rem;background:linear-gradient(135deg,#ff5a66,#ff2954)}.kf-player-main{grid-template-columns:86px 1fr;gap:16px;padding-right:130px;margin-top:20px}.kf-player-thumb{width:86px;height:86px;border-radius:18px}.kf-player-info h3,.kf-player h3{font-size:2.05rem;line-height:1.03}.kf-player .show-meta{font-size:1rem;line-height:1.5;color:#bed0e8}.kf-equalizer{right:32px;top:100px;width:110px;justify-content:space-between}
.kf-now-playing{margin-top:20px;padding:18px 0 16px}.kf-now-playing small{display:block;font-size:1rem;margin-bottom:4px}.kf-now-playing strong{font-size:1.05rem}
.kf-audio-ui{display:grid;grid-template-columns:64px 66px 1fr 66px 42px 42px;gap:12px;align-items:center;margin-top:18px;padding:14px 16px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.09)}
.kf-audio-ui button,.kf-audio-ui input{appearance:none;-webkit-appearance:none}.kf-audio-ui button{border:0;background:none;color:#fff;cursor:pointer}.kf-audio-toggle{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ff4f6a,#ff2954)!important;font-size:1.15rem;box-shadow:0 10px 28px rgba(255,58,92,.28)}.kf-audio-toggle .kf-icon-pause{display:none}.kf-audio-ui.is-playing .kf-audio-toggle .kf-icon-play{display:none}.kf-audio-ui.is-playing .kf-audio-toggle .kf-icon-pause{display:inline}.kf-audio-time{font-weight:700;color:#dce4f2;letter-spacing:.01em}.kf-audio-progress{width:100%;height:6px;border-radius:999px;background:rgba(255,255,255,.2);outline:none}.kf-audio-progress::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:linear-gradient(90deg,var(--kf-accent),rgba(255,255,255,.22))}.kf-audio-progress::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--kf-accent);margin-top:-5px;border:2px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.25)}.kf-audio-progress::-moz-range-track{height:6px;border-radius:999px;background:rgba(255,255,255,.24)}.kf-audio-progress::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--kf-accent);border:2px solid #fff}.kf-audio-volume,.kf-audio-share{font-size:1.2rem;opacity:.92}.kf-audio-ui.no-audio button,.kf-audio-ui.no-audio input{opacity:.55;cursor:default}.kf-hidden-audio{display:none}.kf-player-note{font-size:.88rem;color:#c7d3e6;margin:16px 0 0}.kf-player-empty{margin-top:10px;background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.25)}
.kf-programming-wrap{position:relative;padding:24px 0 30px;background:linear-gradient(180deg,#0a1121,#0c1527 75%,#09111f)}.kf-programming-wrap .kf-title,.kf-programming-wrap .kf-subtitle{color:#fff}.kf-programming-wrap .kf-subtitle{color:#c8d2e3}.kf-programming-wrap:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 0,rgba(120,78,255,.10),transparent 30%),radial-gradient(circle at 75% 0,rgba(255,107,0,.12),transparent 30%);pointer-events:none}
.kf-home-split{position:relative;background:linear-gradient(180deg,#07111f,#091422);padding:22px 0 28px}.kf-home-split .kf-title,.kf-home-split .kf-subtitle,.kf-home-split .kf-eyebrow{color:#fff}.kf-home-split .kf-subtitle{color:#c8d2e3}.kf-home-split-grid{grid-template-columns:1fr 1fr;gap:34px}.kf-home-column .kf-section-head{align-items:flex-start}
.kf-host-grid,.kf-news-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.kf-news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.kf-card{background:rgba(12,21,38,.78);border-color:rgba(255,255,255,.08);box-shadow:0 12px 28px rgba(0,0,0,.16)}.kf-card h3,.kf-card p,.kf-time{color:#fff}.kf-card p{color:#c7d0e0}.kf-host-role{font-weight:800;color:#fff!important}.kf-host-quote,.kf-news-excerpt{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.kf-host-quote{-webkit-line-clamp:3}.kf-news-excerpt{-webkit-line-clamp:4}.kf-card-image{aspect-ratio:16/10}.kf-card-body{padding:14px}.kf-news-card .kf-card-image{aspect-ratio:16/9}.kf-news-card .kf-pill{background:#ff5e63;color:#fff}.kf-btn-light{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);color:#fff}
.kf-promo-rich{position:relative;background-image:linear-gradient(120deg,rgba(11,16,31,.94),rgba(84,25,48,.54) 54%,rgba(17,23,40,.92));border:1px solid rgba(255,255,255,.08)}
.kf-season-halloween .kf-hero{background-image:linear-gradient(90deg,rgba(8,5,16,.93) 0%,rgba(13,7,22,.78) 35%,rgba(17,10,25,.52) 62%,rgba(10,7,18,.82) 100%),var(--kf-season-image),radial-gradient(circle at 83% 12%,rgba(255,195,112,.17),transparent 16%),linear-gradient(135deg,#10091b,#2d102c)}
.kf-season-halloween .kf-header{background:linear-gradient(180deg,rgba(9,6,19,.72),rgba(9,6,19,.14) 68%,transparent)}.kf-season-halloween .kf-season-decor{opacity:.65}.kf-season-halloween .kf-season-decor:before{content:"🦇";left:28%;top:14%;font-size:48px}.kf-season-halloween .kf-season-decor:after{content:"🎃";right:3%;bottom:11%;font-size:70px}.kf-season-halloween .kf-hero-copy:after{content:"La buena\Amúsica nunca\Amuere";white-space:pre-line;position:absolute;left:56%;bottom:20%;font-size:1rem;line-height:1.05;font-family:cursive;font-style:italic;transform:rotate(-10deg);color:rgba(255,255,255,.82)}
.kf-season-halloween .kf-player:before{content:"🦇";position:absolute;right:24px;top:22px;font-size:42px;opacity:.9}.kf-season-halloween .kf-programming-wrap,.kf-season-halloween .kf-home-split{background:linear-gradient(180deg,#09101e,#0a1324)}
.kf-season-halloween .kf-promo-rich:after{content:"";position:absolute;inset:0;background:url('assets/images/seasonal/halloween.svg') bottom center/420px auto repeat-x;opacity:.12;pointer-events:none}
@media(max-width:1200px){.kf-menu{gap:24px}.kf-hero-grid{grid-template-columns:1fr 460px}.kf-host-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-news-grid{grid-template-columns:1fr}.kf-home-split-grid{grid-template-columns:1fr}.kf-programming-wrap .kf-grid-programs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.kf-hero-grid{grid-template-columns:1fr;gap:26px}.kf-player{margin-top:0}.kf-programming-wrap .kf-grid-programs{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-audio-ui{grid-template-columns:56px 58px 1fr 58px 38px 38px}}
@media(max-width:640px){.kf-programming-wrap .kf-grid-programs,.kf-host-grid,.kf-news-grid{grid-template-columns:1fr}.kf-hero-copy h1{font-size:3.2rem}.kf-hero-actions .kf-btn{width:100%;min-width:0;height:60px}.kf-audio-ui{grid-template-columns:52px 50px 1fr 50px;gap:8px}.kf-audio-volume,.kf-audio-share{display:none}}


/* v2.4.1 halloween-match refinement */
.kf-container{width:min(calc(100% - 34px),1368px)}
.kf-header{background:linear-gradient(180deg,rgba(7,10,20,.82) 0%,rgba(7,10,20,.26) 66%,transparent 100%);box-shadow:inset 0 -1px 0 rgba(255,255,255,.04)}
.kf-nav{min-height:88px}.kf-brand{font-size:2rem}.kf-custom-logo{max-height:56px}.kf-menu{gap:40px;font-size:1rem}.kf-menu .current-menu-item>a{position:relative}.kf-menu .current-menu-item>a:after{content:"";position:absolute;left:0;right:0;bottom:-12px;margin:auto;width:42px;height:5px;border-radius:999px;background:linear-gradient(90deg,#ff6037,#ff2f62);box-shadow:0 4px 16px rgba(255,77,88,.32)}
.kf-header-actions{gap:14px}.kf-icon-btn{width:50px;height:50px;border-radius:17px;background:rgba(11,18,34,.42);border-color:rgba(255,255,255,.14)}
.kf-btn-primary{background:linear-gradient(135deg,#ff4669,#ff2053)}
.kf-hero{min-height:0}.kf-hero-grid{padding-top:115px;padding-bottom:20px;grid-template-columns:minmax(0,1.02fr) 510px;gap:38px}.kf-hero-copy{padding-top:8px}.kf-hero-copy h1{font-size:clamp(3.9rem,6.1vw,5.9rem);line-height:.92;letter-spacing:-.06em;max-width:760px;margin:.35rem 0 .95rem}.kf-hero-copy p{font-size:1.1rem;line-height:1.35;color:#eef3fb;max-width:640px}.kf-hero-actions .kf-btn{height:68px;min-width:230px}
.kf-player{margin-top:0;padding:26px 28px 20px;border-radius:28px}.kf-live-badge{padding:.72rem 1.2rem}.kf-player-main{margin-top:18px;grid-template-columns:80px 1fr;padding-right:112px}.kf-player-thumb{width:80px;height:80px}.kf-player-info h3,.kf-player h3{font-size:2rem}.kf-equalizer{right:28px;top:104px}.kf-now-playing{padding:16px 0 14px;margin-top:18px}.kf-audio-ui{margin-top:14px;padding:12px 14px}
.kf-programming-wrap{padding:18px 0 24px;background:linear-gradient(180deg,#091120 0%,#0a1424 55%,#0a1322 100%)}.kf-programming-wrap:before{content:"";position:absolute;inset:0;background:url('assets/images/seasonal/halloween.svg') center top/420px auto repeat-x;opacity:.07;pointer-events:none}.kf-programming-wrap .kf-section-head{margin-bottom:10px}.kf-programming-wrap .kf-title{font-size:clamp(2rem,4.4vw,3rem)}.kf-programming-wrap .kf-grid-programs{gap:14px}.kf-program-card{border-radius:18px}.kf-program-card-link{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;padding:12px 14px;min-height:106px}.kf-program-thumb{width:96px;height:72px;border-radius:14px;overflow:hidden}.kf-program-thumb img,.kf-program-thumb .kf-placeholder{width:100%;height:100%;object-fit:cover}.kf-program-card-body h3{font-size:1.02rem;line-height:1.12;margin:0 0 4px}.kf-program-card-body p{font-size:.93rem;margin:0 0 2px}.kf-program-card .kf-time{font-size:.9rem;margin-top:4px}.kf-program-card .kf-pill{position:absolute;right:12px;bottom:12px;background:#ff375a;color:#fff}
.kf-home-split{padding:18px 0 18px;background:linear-gradient(180deg,#091120 0%,#08111f 100%)}.kf-home-split:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 32% 0,rgba(103,51,175,.18),transparent 22%),radial-gradient(circle at 74% 0,rgba(255,108,34,.12),transparent 18%);pointer-events:none}.kf-home-split .kf-section-head{margin-bottom:12px}.kf-home-column .kf-title{font-size:clamp(2rem,4vw,2.85rem);line-height:1}.kf-home-column .kf-subtitle{max-width:430px}.kf-host-grid,.kf-news-grid{gap:12px}.kf-host-card,.kf-news-card{border-radius:16px}.kf-host-card .kf-card-image,.kf-news-card .kf-card-image{aspect-ratio:16/10}.kf-news-card .kf-card-image{aspect-ratio:16/9}.kf-host-card .kf-card-body,.kf-news-card .kf-card-body{padding:10px 12px 12px}.kf-host-card h3,.kf-news-card h3{font-size:1rem;line-height:1.15;margin:0 0 5px}.kf-host-role,.kf-news-excerpt,.kf-host-quote,.kf-time{font-size:.9rem}.kf-news-card .kf-card-body{min-height:154px}.kf-host-card .kf-card-body{min-height:124px}.kf-pill{font-size:.67rem;padding:.34rem .58rem}
.kf-promo-rich{padding:28px 34px;border-radius:28px;grid-template-columns:1.1fr .6fr .85fr;gap:20px;min-height:170px;background-size:cover}.kf-promo-rich .kf-promo-copy h2{font-size:2.1rem;margin:0 0 8px}.kf-promo-rich .kf-promo-copy p{margin:0;max-width:420px}.kf-promo-phone img{max-width:160px}.kf-promo-social h3{font-size:2rem;margin:0 0 4px}.kf-store{height:48px;align-items:center}.kf-socials a,.kf-socials span{height:42px;border-radius:12px}
.kf-footer{padding:26px 0 18px;background:#07101e}.kf-footer-grid{grid-template-columns:1.05fr .95fr 1fr;gap:20px}.kf-footer ul{display:grid;grid-template-columns:repeat(6,auto);gap:16px}.kf-footer li{margin:0}.kf-copyright{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:.9rem}
.kf-season-halloween .kf-hero{background-image:linear-gradient(90deg,rgba(6,5,15,.84) 0%,rgba(9,8,19,.58) 33%,rgba(13,10,21,.34) 58%,rgba(10,7,17,.76) 100%),var(--kf-season-image),radial-gradient(circle at 72% 8%,rgba(255,208,128,.18),transparent 13%),linear-gradient(135deg,#10091b,#281028)}
.kf-season-halloween .kf-season-badge{background:linear-gradient(135deg,#ff9a1f,#ff5d18);border:2px solid rgba(255,185,94,.55);box-shadow:0 0 0 1px rgba(29,16,4,.5) inset,0 10px 24px rgba(255,103,15,.25);text-transform:uppercase;letter-spacing:.02em}
.kf-season-halloween .kf-hero-copy:before{content:"";position:absolute;left:-28px;top:-6px;width:130px;height:88px;background:url('assets/images/seasonal/halloween.svg') left top/contain no-repeat;opacity:.32}
.kf-season-halloween .kf-hero-copy:after{left:60%;bottom:18%;font-size:1.05rem;color:rgba(255,255,255,.88)}
.kf-season-halloween .kf-player:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 1px rgba(255,128,56,.16) inset}
.kf-season-halloween .kf-programming-wrap .kf-card,.kf-season-halloween .kf-home-split .kf-card,.kf-season-halloween .kf-promo-rich{background-color:rgba(13,21,37,.84)}
.kf-season-halloween .kf-promo-rich{background-image:linear-gradient(120deg,rgba(11,16,31,.90),rgba(82,26,48,.38) 56%,rgba(16,21,39,.88)),var(--kf-promo-image)}
.kf-season-halloween .kf-footer{background:linear-gradient(180deg,#07101e,#08111f)}
@media(max-width:1200px){.kf-programming-wrap .kf-grid-programs{grid-template-columns:repeat(3,minmax(0,1fr))}.kf-news-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.kf-promo-rich{grid-template-columns:1fr}.kf-footer ul{grid-template-columns:repeat(3,auto)}}
@media(max-width:980px){.kf-hero-grid{grid-template-columns:1fr}.kf-programming-wrap .kf-grid-programs,.kf-host-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-news-grid{grid-template-columns:1fr}.kf-footer-grid{grid-template-columns:1fr}.kf-copyright{flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.kf-programming-wrap .kf-grid-programs,.kf-host-grid,.kf-news-grid{grid-template-columns:1fr}.kf-program-card-link{grid-template-columns:84px 1fr}.kf-program-thumb{width:84px;height:66px}}


/* v2.4.3 hero scale correction — desktop only */
@media(min-width:981px){
  .kf-nav{min-height:72px}
  .kf-brand{font-size:1.75rem}
  .kf-custom-logo{max-height:48px}
  .kf-menu{gap:30px;font-size:.92rem}
  .kf-icon-btn{width:44px;height:44px;border-radius:14px}
  .kf-header-actions .kf-btn{height:48px;padding:.72rem 1.05rem;font-size:.92rem}

  .kf-hero{min-height:398px!important;background-size:cover,auto 100%,auto 100%,cover,cover!important;background-repeat:no-repeat!important;background-position:center 42%,center center,center center,center center,center center!important}
  .kf-hero-grid{grid-template-columns:minmax(0,1.08fr) 430px!important;gap:30px!important;padding-top:82px!important;padding-bottom:16px!important;align-items:center!important}
  .kf-hero-copy{padding-top:0!important}
  .kf-hero-eyebrow-row{gap:12px!important;margin-bottom:4px!important}
  .kf-season-badge{font-size:.82rem!important;padding:.52rem .8rem!important}
  .kf-eyebrow-inline{font-size:.82rem!important}
  .kf-hero-copy h1{font-size:clamp(3rem,4.3vw,4.55rem)!important;line-height:.93!important;max-width:620px!important;margin:.3rem 0 .65rem!important}
  .kf-hero-copy p{font-size:.96rem!important;max-width:560px!important;line-height:1.35!important;margin:.45rem 0 0!important}
  .kf-hero-actions{gap:12px!important;margin-top:18px!important}
  .kf-hero-actions .kf-btn{height:52px!important;min-width:185px!important;padding:.75rem 1rem!important;font-size:.9rem!important}

  .kf-player{width:100%!important;max-width:430px!important;padding:18px 20px 14px!important;border-radius:22px!important;margin:0!important}
  .kf-live-badge{font-size:.78rem!important;padding:.5rem .78rem!important}
  .kf-player-main{grid-template-columns:60px 1fr!important;gap:12px!important;padding-right:86px!important;margin-top:12px!important}
  .kf-player-thumb{width:60px!important;height:60px!important;border-radius:13px!important}
  .kf-player-info h3,.kf-player h3{font-size:1.35rem!important;line-height:1.05!important}
  .kf-player .show-meta{font-size:.82rem!important;line-height:1.35!important}
  .kf-equalizer{right:20px!important;top:71px!important;width:78px!important;height:28px!important}
  .kf-equalizer i{width:3px!important}
  .kf-now-playing{margin-top:12px!important;padding:12px 0 10px!important}
  .kf-now-playing small{font-size:.78rem!important}
  .kf-now-playing strong{font-size:.9rem!important}
  .kf-audio-ui{grid-template-columns:42px 44px 1fr 44px 30px 30px!important;gap:7px!important;margin-top:10px!important;padding:8px 10px!important}
  .kf-audio-toggle{width:38px!important;height:38px!important;font-size:.9rem!important}
  .kf-audio-time{font-size:.74rem!important}
  .kf-audio-volume,.kf-audio-share{font-size:.9rem!important}
  .kf-player-note{font-size:.7rem!important;margin-top:9px!important;line-height:1.25!important}
  .kf-player-empty{font-size:.72rem!important;margin-top:7px!important;padding:8px 10px!important}

  .kf-season-halloween .kf-hero{background-size:cover,auto 100%,cover,cover!important;background-repeat:no-repeat!important;background-position:center 45%,center center,center center,center center!important}
  .kf-season-halloween .kf-season-decor:before{font-size:36px!important;left:30%!important;top:18%!important}
  .kf-season-halloween .kf-season-decor:after{font-size:52px!important;right:2.5%!important;bottom:8%!important}
  .kf-season-halloween .kf-hero-copy:after{font-size:.78rem!important;left:62%!important;bottom:18%!important}
  .kf-season-halloween .kf-player:before{font-size:28px!important;right:16px!important;top:15px!important}
}


/* v2.5.0 editable media and button controls */
.kf-programming-wrap,.kf-home-split,.kf-footer,.kf-page-hero{position:relative;isolation:isolate}
.kf-has-section-bg::after{content:"";position:absolute;inset:0;z-index:0;background-image:var(--kf-section-bg-image);background-repeat:no-repeat;background-size:cover;background-position:center;opacity:.14;pointer-events:none}
.kf-has-section-bg>.kf-container,.kf-has-section-bg article,.kf-has-section-bg .kf-page-card,.kf-has-section-bg .kf-single-card{position:relative;z-index:1}
.kf-programming-wrap.kf-has-section-bg::after{opacity:.12;mix-blend-mode:screen}
.kf-home-split.kf-has-section-bg::after{opacity:.12}
.kf-promo-rich.kf-has-section-bg{background-image:linear-gradient(120deg,rgba(11,18,34,.96),rgba(26,38,62,.76) 56%,rgba(10,19,33,.92)),var(--kf-section-bg-image)!important;background-repeat:no-repeat!important;background-size:cover!important;background-position:center!important}
.kf-footer.kf-has-section-bg{background-image:linear-gradient(180deg,rgba(7,16,30,.95),rgba(7,16,30,.92)),var(--kf-section-bg-image);background-repeat:no-repeat;background-size:cover;background-position:center}
.kf-page-hero.kf-has-section-bg{background-image:linear-gradient(120deg,rgba(7,17,31,.90),rgba(23,41,69,.76) 70%,color-mix(in srgb,var(--kf-accent) 28%,#172945)),var(--kf-section-bg-image);background-repeat:no-repeat;background-size:cover;background-position:center}
.kf-promo-phone img{width:auto;height:auto;max-width:100%}


/* v2.5.1 page and podcast admin additions */
.kf-page-dynamic-grid{margin-top:32px}.kf-page-dynamic-grid .kf-card{height:100%}.kf-podcast-details{margin-top:28px;padding-top:24px;border-top:1px solid var(--kf-border)}.kf-podcast-details .kf-btn{margin-right:10px;margin-top:8px}
