/*
Theme Name: GAPFM Platinum Plum
Theme URI: https://gapfm.com/
Author: GAPFM.COM
Description: Tema personalizado para GAPFM.COM - Renovando Tu Mente, con fotografías originales, ondas de audio ciruela y reproductor de radio en vivo persistente.
Version: 1.7.0
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gapfm-platinum-plum
Tags: custom-logo, custom-menu, featured-images, one-column, blog, accessibility-ready
*/
:root{--ink:#0e0b11;--panel:#161019;--deep:#100b14;--plum:#6a184f;--plum-lite:#bb5a9e;--platinum:#c9c6cc;--paper:#faf9fb;--shadow:0 15px 32px rgba(26,14,26,.075);--gutter:clamp(20px,4vw,52px);--max:1260px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:85px}
body{margin:0;background:var(--paper);color:#17151a;font-family:"Inter","Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;padding-bottom:90px}
button,input{font:inherit}button{cursor:pointer}
a{color:inherit;text-decoration:none}a:hover{text-decoration:none}
img{max-width:100%;height:auto}p,h1,h2,h3{margin-top:0}
.container{width:min(var(--max),calc(100% - var(--gutter)*2));margin:0 auto}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute!important;white-space:nowrap;width:1px}
.screen-reader-text:focus{clip:auto;clip-path:none;display:block;height:auto;width:auto;left:12px;top:10px;padding:10px 14px;z-index:200;background:#fff;color:#111}
:focus-visible{outline:3px solid #d67eb5;outline-offset:4px}
.site-header{height:82px;background:#100d12;position:relative;z-index:30;border-bottom:1px solid rgba(255,255,255,.14);color:#fff}
.nav-wrap{height:100%;display:flex;align-items:center;gap:28px}
.header-brand{display:flex;align-items:center;gap:11px;flex:0 0 auto;min-width:240px}
.header-brand img{display:block;width:59px;height:59px;object-fit:contain;border-radius:50%}
.header-brand strong{display:block;white-space:nowrap;font-size:clamp(19px,1.9vw,26px);font-weight:900;letter-spacing:-1px;line-height:1.1}
.header-brand small{display:block;white-space:nowrap;color:#d9d0dd;letter-spacing:2.3px;font-size:8px;margin-top:6px}
.brand-plum{color:#c273ac}.brand-silver{color:#d7d4da}
.site-nav{flex:1;min-width:0}.nav-links{display:flex;justify-content:center;gap:clamp(14px,2.6vw,37px);align-items:center;margin:0;padding:0;list-style:none}
.nav-links a{font-size:13px;color:#faf7fb;display:block;padding:8px 0;transition:color .2s ease}
.nav-links a:hover,.nav-links a:focus-visible{color:#e6a5d0}
.nav-links li:first-child a{position:relative}.nav-links li:first-child a::after{content:"";position:absolute;left:0;bottom:0;height:2px;background:#ba438e;width:30px}
.listen-top{border-radius:28px;border:1px solid #a73f85;background:linear-gradient(130deg,#82215f,#3e0d31);color:#fff;display:flex;gap:9px;align-items:center;padding:12px 19px;font-size:13px;font-weight:650;white-space:nowrap}
.listen-top:hover,.listen-hero:hover{filter:brightness(1.15)}
.play-arrow{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:100%;color:#5d1747;background:white;font-size:10px;padding-left:2px}
.menu-toggle{display:none}
.hero{position:relative;min-height:546px;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 48% 60%,#32132c 0%,#100a12 60%,#08070a 100%);color:white}
.hero-photo{position:absolute;z-index:-3;right:0;top:0;width:74%;height:100%;object-fit:cover;object-position:49% 40%;filter:none;opacity:1;mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 100%)}
.hero-equalizer{pointer-events:none;position:absolute;z-index:-2;left:38%;right:2%;top:9%;height:220px;background:url('assets/images/wave-equalizer.svg') center/100% 100% no-repeat;opacity:.68;filter:drop-shadow(0 0 13px rgba(214,48,170,.4));-webkit-mask-image:linear-gradient(90deg,transparent,black 9%,black 27%,transparent 63%,black 86%,transparent);mask-image:linear-gradient(90deg,transparent,black 9%,black 27%,transparent 63%,black 86%,transparent)}
.hero-shade{pointer-events:none;position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(10,7,13,1) 0%,rgba(16,9,19,.98) 23%,rgba(16,9,19,.75) 43%,rgba(16,9,19,.05) 72%,rgba(16,9,19,.08) 100%)}
.hero-bottom-waves{pointer-events:none;position:absolute;left:0;bottom:0;height:94px;width:100%;background:url('assets/images/wave-ribbons.svg') bottom/cover no-repeat;opacity:.74}
.hero-layout{position:relative;min-height:546px;display:flex;align-items:center;padding-top:18px;padding-bottom:50px}
.hero-copy{position:relative;z-index:2;max-width:600px}
.hero-emblem{width:135px;height:135px;object-fit:contain;display:block;mix-blend-mode:screen;margin:0 0 12px -8px}
.eyebrow{color:#e4d8e3;font-size:11px;letter-spacing:4px;font-weight:600;margin-bottom:12px;line-height:1.5}
.hero-eyebrow{color:#d5acc7;font-size:11px;margin-bottom:10px}
.hero-title{font-size:clamp(45px,5.3vw,78px);font-weight:950;letter-spacing:-4px;line-height:.97;margin:0 0 10px;white-space:nowrap}
.hero-title .plum{color:#bb70ab}.hero-title .silver{color:#d2ced5}
.hero-subtitle{letter-spacing:clamp(3px,.55vw,8px);font-size:clamp(14px,1.6vw,23px);font-weight:700;margin-bottom:14px;white-space:nowrap}
.hero-description{font-size:clamp(14px,1.75vw,21px);font-weight:400;color:#e4dce4;margin:0 0 25px}
.listen-hero{display:inline-flex;align-items:center;gap:10px;color:#fff;background:linear-gradient(115deg,#6d1c51 0%,#5a113f 100%);padding:6px 25px 6px 6px;border:1px solid #bc5397;border-radius:55px;box-shadow:0 7px 24px rgba(97,24,70,.34);text-align:left}
.play-disc{background:linear-gradient(140deg,#b55e9d,#641749);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:24px;padding-left:3px;box-shadow:inset 0 1px 7px #cf7cb5}
.listen-hero strong{display:block;font-size:14px;letter-spacing:.6px;font-weight:850;line-height:1.2}.listen-hero small{display:block;font-size:9px;color:#e6d5e1;letter-spacing:2.2px;margin-top:4px}
.program-section{padding:64px 0 66px;background:#faf9fb;overflow:hidden}
.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}
.eyebrow-dark{color:#6e6672;margin-bottom:4px}.eyebrow-line{display:inline-block;width:43px;height:2px;background:#a23c7c;vertical-align:middle;margin-right:14px;position:relative;top:-3px}
.section-title-row h2{font-weight:950;font-size:clamp(33px,4.3vw,51px);line-height:1.12;letter-spacing:-2.5px;margin:0;color:#121015}
.outline-btn{border:1px solid #c2bec7;border-radius:99px;padding:11px 19px;font-size:12px;display:inline-flex;gap:15px;align-items:center;color:#252128;background:#fff;transition:all .2s ease;white-space:nowrap}
.outline-btn:hover{border-color:#a83f81;color:#93296b;transform:translateY(-1px)}.outline-btn span{font-size:18px;line-height:1}
.program-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.program-card{border-radius:7px;background:#fff;overflow:hidden;box-shadow:var(--shadow);border:1px solid #ede9ef;min-width:0;transition:transform .25s ease,box-shadow .25s ease}
.program-card:hover{transform:translateY(-4px);box-shadow:0 24px 38px rgba(35,19,31,.12)}
.program-cover{display:block;width:100%;height:144px;object-fit:cover}
.program-content{padding:19px 18px 24px}
.program-category{font-size:10px;color:#79727d;letter-spacing:1.4px;display:block;line-height:1.4;min-height:18px}
.program-line{display:block;width:34px;background:#a94686;height:2px;margin:10px 0 15px}
.program-card h3{font-size:clamp(20px,2vw,26px);letter-spacing:-.9px;line-height:1.14;color:#111016;font-weight:850;margin:0 0 12px;min-height:60px}
.program-card p{font-size:14px;line-height:1.46;color:#6a6570;margin:0}
.about-section{background:radial-gradient(circle at 80% 20%,#35142e,#17111b 54%,#120e16);color:#fff;position:relative;overflow:hidden;padding:69px 0}
.about-glow{position:absolute;left:44%;right:-5%;bottom:-60%;height:110%;background:radial-gradient(ellipse,rgba(123,36,100,.35),transparent 70%);pointer-events:none}
.about-layout{position:relative;display:grid;grid-template-columns:1fr .95fr;align-items:center;gap:clamp(48px,7vw,100px)}
.about-copy .eyebrow{color:#e0cddd;margin-bottom:16px}
.about-copy h2{font-size:clamp(29px,3.2vw,43px);font-weight:850;letter-spacing:-1.45px;line-height:1.2;margin:0 0 20px;max-width:595px}
.about-copy h2 span{display:block;color:#bb6a9f}
.about-copy>p:not(.eyebrow){color:#ebe5ec;max-width:540px;font-size:17px;line-height:1.65;margin-bottom:27px}
.outline-btn-light{color:#fff;border-color:#b969a4;background:transparent;font-size:13px;padding:13px 21px}
.outline-btn-light:hover{color:#fff;background:#582146;border-color:#d07db2}
.pastors-figure{margin:0;position:relative;border:1px solid rgba(195,116,167,.66);border-radius:13px;overflow:hidden;box-shadow:0 19px 36px rgba(0,0,0,.25);background:#a9a19b;aspect-ratio:1.48}
.pastors-figure img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 18%}
.pastors-figure figcaption{position:absolute;right:12px;bottom:11px;color:#fff;background:rgba(16,12,18,.85);padding:7px 13px;font-size:10px;letter-spacing:1.1px;border-radius:30px;max-width:calc(100% - 24px);text-align:right}
.site-footer{background:#0f0d11;color:#b9afb9;padding:22px 0 23px;border-top:1px solid #3c2c3a;font-size:12px}
.site-footer-row{display:flex;justify-content:space-between;gap:18px;align-items:center}
.radio-player{height:90px;position:fixed;z-index:80;left:0;right:0;bottom:0;display:grid;grid-template-columns:minmax(240px,1fr) 140px minmax(240px,1fr);gap:12px;align-items:center;background:rgba(10,9,13,.985);color:white;border-top:1px solid #543148;padding:10px max(20px,calc((100vw - var(--max))/2));box-shadow:0 -6px 25px rgba(0,0,0,.14)}
.player-brand{display:flex;align-items:center;min-width:0;gap:12px}.player-brand img{width:61px;height:61px;border:1px solid #512a47;border-radius:6px;object-fit:contain;flex-shrink:0;background:#08070a}
.player-station{min-width:0}.onair{display:flex;align-items:center;gap:7px;color:#d987bd;font-size:10px;letter-spacing:1.5px;line-height:1.1}.onair i{display:block;background:#c44b9a;width:8px;height:8px;border-radius:50%}
.player-station strong{display:block;font-size:16px;line-height:1.4;font-weight:750;white-space:nowrap}.player-station small{display:block;font-size:11px;color:#cabfc9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-center{text-align:center}.player-play{border:2px solid #bb5a9f;border-radius:50%;background:#110d14;color:#fff;width:55px;height:55px;display:inline-grid;place-items:center;transition:background .2s}.player-play:hover{background:#642451}
.player-play svg{width:24px;height:24px}.svg-pause{display:none}.is-playing .svg-play{display:none}.is-playing .svg-pause{display:block}
.player-right{display:flex;align-items:center;justify-content:flex-end;gap:15px}.player-icon{background:transparent;border:0;color:#fff;width:29px;height:30px;display:grid;place-items:center;padding:0}.player-icon svg{width:26px;height:26px}
#gapfm-volume{width:min(160px,24vw);accent-color:#b55797;cursor:pointer}
.player-external{font-size:22px;color:#dfb2d0;line-height:1;padding:4px}.player-external:hover{color:white}
.radio-player.has-error .onair{color:#ffbfce}.radio-player.has-error .onair i{background:#e9859d}
.standard-page{min-height:55vh;padding:70px 0 95px;background:#faf9fb}
.standard-content{max-width:900px}.standard-content h1{font-size:clamp(35px,5vw,55px);line-height:1.1;letter-spacing:-2px}
.standard-content a:not(.outline-btn){color:#84245f;text-decoration:underline}.entry-summary{border-bottom:1px solid #ddd5df;padding:18px 0}.entry-summary h2{margin-bottom:8px}
.entry-content img{height:auto;max-width:100%}.entry-content{font-size:17px;line-height:1.75}.post-date{color:#716b76;font-size:13px}
@media (max-width:1080px){
 .header-brand{min-width:195px}.header-brand strong{font-size:20px}.header-brand small{font-size:7px;letter-spacing:1.65px}.header-brand img{height:49px;width:49px}
 .nav-wrap{gap:17px}.nav-links{gap:16px}.nav-links a{font-size:12px}.listen-top{padding:10px 12px;font-size:12px}
 .hero-title{font-size:clamp(47px,6.2vw,65px)}.hero-copy{max-width:550px}.hero-photo{width:78%}
 .program-grid{gap:17px}.program-content{padding:16px 13px 21px}.program-card h3{font-size:22px}
}
@media (max-width:760px){
 body{padding-bottom:76px}.site-header{height:72px}.header-brand{min-width:0;flex:1}.nav-wrap{gap:8px}.header-brand strong{font-size:21px}.header-brand small{letter-spacing:1.5px}
 .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:4px;border:1px solid #654059;background:transparent;color:#fff;padding:10px;border-radius:8px;order:3}
 .menu-toggle span{display:block;width:20px;height:2px;background:currentColor}.listen-top{font-size:0;width:40px;height:40px;padding:0;justify-content:center;border-radius:100%}.listen-top .play-arrow{font-size:10px}
 .site-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#150e19;padding:16px 5%;box-shadow:0 12px 20px rgba(0,0,0,.3)}.site-nav.is-open{display:block}.nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-links a{padding:12px 10px;font-size:15px;border-bottom:1px solid #3a2939}
 .hero{min-height:760px}.hero-layout{min-height:760px;align-items:end;padding-bottom:110px}
 .hero-photo{width:100%;height:57%;top:0;bottom:auto;object-position:center 22%;mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,transparent 100%)}
 .hero-shade{background:linear-gradient(0deg,#100a13 0%,#100a13 36%,rgba(16,10,19,.65) 63%,rgba(16,10,19,.08) 97%)}
 .hero-equalizer{top:13%;left:1%;right:1%;height:170px;opacity:.47}.hero-bottom-waves{height:80px}
 .hero-copy{max-width:100%;width:100%}.hero-emblem{display:none}.hero-eyebrow{margin-bottom:12px}.hero-title{font-size:clamp(45px,9.2vw,69px);letter-spacing:-2.7px}.hero-subtitle{font-size:clamp(12px,2.7vw,18px);letter-spacing:clamp(2px,.9vw,6px)}.hero-description{font-size:17px}
 .program-section{padding:48px 0 56px}.section-title-row h2{font-size:34px;letter-spacing:-1.5px}.section-title-row .outline-btn{font-size:0;width:39px;height:39px;padding:0;display:grid;place-items:center}.section-title-row .outline-btn span{font-size:22px}
 .program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.program-cover{height:136px}.program-card h3{min-height:0}
 .about-section{padding:60px 0 58px}.about-layout{grid-template-columns:1fr;gap:30px}.about-copy h2{font-size:34px}.about-copy>p:not(.eyebrow){font-size:16px}.pastors-figure{max-width:580px;width:100%;justify-self:center}
 .site-footer-row{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.radio-player{height:76px;grid-template-columns:minmax(0,1fr) 58px 72px;gap:8px;padding:8px 14px}
 .player-brand img{height:51px;width:51px}.player-brand{gap:8px}.player-station strong{font-size:14px}.player-station small{font-size:10px;max-width:32vw}.player-play{width:46px;height:46px}.player-right{gap:5px}.player-icon{width:27px}.player-icon svg{width:23px}#gapfm-volume{display:none}.player-external{font-size:18px}
}
@media (max-width:430px){
 .header-brand img{height:45px;width:45px}.header-brand strong{font-size:18px}.header-brand small{font-size:6px}
 .hero{min-height:700px}.hero-layout{min-height:700px;padding-bottom:95px}.hero-photo{height:56%}
 .hero-title{font-size:clamp(37px,10.3vw,49px);letter-spacing:-2.5px}.hero-subtitle{font-size:12px;letter-spacing:2.6px}.hero-description{font-size:16px}.listen-hero{padding-right:15px}.listen-hero strong{font-size:12px}.listen-hero small{font-size:8px;letter-spacing:1px}
 .section-title-row h2{font-size:28px}.program-grid{gap:11px}.program-content{padding:13px 11px 18px}.program-cover{height:107px}.program-category{font-size:9px;letter-spacing:.8px}.program-card h3{font-size:19px;letter-spacing:-.6px}.program-card p{font-size:12px}.about-copy h2{font-size:29px}
 .pastors-figure figcaption{font-size:8px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* v1.1: Un solo reproductor de radio, fijo en la parte inferior. */
.listen-top,.listen-hero{display:none!important}
.hero-onair-hint{display:inline-flex;align-items:center;gap:10px;color:#e9c5df;font-size:12px;font-weight:750;letter-spacing:2.2px;margin:7px 0 0}
.onair-dot{height:9px;width:9px;flex:0 0 9px;border-radius:50%;background:#cb459b;box-shadow:0 0 0 4px rgba(187,68,141,.16),0 0 16px rgba(235,94,180,.78)}
/* Capas no negativas para que la onda esté visible sobre el fondo fotográfico.
   El área central de la silueta queda despejada: ni el rostro ni el cuerpo reciben los trazos. */
.hero-photo{z-index:0}
.hero-shade{z-index:1}
.hero-equalizer{
  z-index:2;
  left:26%;right:0;top:12%;height:238px;
  background-image:url('assets/images/wave-equalizer.svg');
  background-size:100% 100%;background-position:center;
  opacity:.93;
  filter:drop-shadow(0 0 9px rgba(232,79,174,.56));
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 30%,transparent 48%,transparent 75%,#000 89%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 9%,#000 30%,transparent 48%,transparent 75%,#000 89%,transparent 100%);
}
.hero-bottom-waves{z-index:2;opacity:.6}
.hero-layout{z-index:3}
.hero-copy{max-width:600px}
@media (max-width:760px){
  .hero-equalizer{top:11%;left:0;right:0;height:180px;opacity:.9;
    -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 18%,transparent 36%,transparent 66%,#000 88%,#000 100%);
    mask-image:linear-gradient(90deg,#000 0%,#000 18%,transparent 36%,transparent 66%,#000 88%,#000 100%)}
  .hero-onair-hint{font-size:11px}
  .nav-wrap{gap:14px}
}

/* v1.2: Sin barra superior. El encabezado flota sobre la portada (solo en la página de inicio). */
.home .site-header{position:absolute;top:0;left:0;right:0;background:transparent;border-bottom:0;
  background-image:linear-gradient(180deg,rgba(8,6,10,.55) 0%,rgba(8,6,10,0) 100%)}
.admin-bar.home .site-header{top:32px}
.home .hero{padding-top:82px}
.home .hero-layout{min-height:546px}
@media (max-width:782px){.admin-bar.home .site-header{top:46px}}
@media (max-width:760px){
  .home .hero{padding-top:72px}
  .home .site-nav{top:72px;border-radius:0 0 10px 10px}
}
/* La foto empieza debajo del menú y se funde hacia arriba: el menú nunca tapa la gorra ni el rostro. */
.home .hero-photo{top:70px;height:calc(100% - 70px);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 100%),linear-gradient(180deg,transparent 0%,#000 14%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 100%),linear-gradient(180deg,transparent 0%,#000 14%,#000 100%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
@media (max-width:760px){
  .home .hero-photo{top:62px;height:57%;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 55%,transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 55%,transparent 100%);
    -webkit-mask-composite:source-over;mask-composite:add}
}

/* =====================================================================
   v1.3: Dial de radio en la portada y más negro en todo el sitio.
   ===================================================================== */
:root{--black:#000;--black-soft:#070508;--card:#0e0b10;--line:#2a1d28}
body{background:var(--black)}

/* Portada más negra */
.hero{min-height:640px;background:radial-gradient(circle at 62% 45%,#2a0f25 0%,#0a050a 52%,#000 100%)}
.hero-layout{min-height:640px;padding-bottom:170px}
.hero-shade{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.97) 22%,rgba(0,0,0,.72) 42%,rgba(0,0,0,.05) 72%,rgba(0,0,0,.1) 100%)}

/* Dial: la aguja sintoniza GAPFM al cargar y brilla más mientras suena la radio */
.dial{position:absolute;left:0;right:0;bottom:0;height:150px;z-index:4;pointer-events:none;background:linear-gradient(0deg,#000 40%,rgba(0,0,0,0))}
.dial-inner{position:relative;height:100%}
.dial-scale{position:absolute;left:0;right:0;bottom:48px;height:30px;display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid rgba(201,198,204,.4)}
.dial-scale i{display:block;width:1px;height:8px;background:rgba(201,198,204,.3)}
.dial-scale i.mid{height:14px;background:rgba(201,198,204,.5)}
.dial-scale i.major{height:24px;background:rgba(201,198,204,.8)}
.dial-ends{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2.4px;font-weight:600;color:#a99aa8}
.dial-needle{position:absolute;bottom:38px;left:47%;width:2px;height:84px;background:#d67eb5;border-radius:2px;
  box-shadow:0 0 10px rgba(214,126,181,.95),0 0 28px rgba(187,68,141,.8);animation:gapfm-tune 1.8s cubic-bezier(.3,.7,.2,1) .2s both}
.dial-flag{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);white-space:nowrap;display:flex;align-items:center;gap:9px;
  background:linear-gradient(130deg,#82215f,#3e0d31);border:1px solid #a73f85;color:#fff;font-size:11px;font-weight:750;letter-spacing:1.8px;padding:7px 14px 7px 11px;border-radius:999px}
.dial-flag b{width:8px;height:8px;border-radius:50%;background:#e771bd;box-shadow:0 0 0 3px rgba(231,113,189,.22),0 0 12px rgba(235,94,180,.8)}
@keyframes gapfm-tune{0%{left:3%}62%{left:50%}82%{left:45.5%}100%{left:47%}}
.gapfm-playing .dial-flag b{animation:gapfm-pulse 1.4s ease-in-out infinite}
.gapfm-playing .dial-needle{box-shadow:0 0 14px #e771bd,0 0 44px rgba(231,113,189,.7)}
@keyframes gapfm-pulse{50%{box-shadow:0 0 0 8px rgba(231,113,189,0),0 0 12px rgba(235,94,180,.8)}}

/* Programación en negro */
.program-section{background:var(--black-soft)}
.section-title-row h2{color:#fff}
.eyebrow-dark{color:#b9aab7}
.program-section .outline-btn{background:transparent;color:#fff;border-color:#5a3a52}
.program-section .outline-btn:hover{border-color:#c273ac;color:#fff;background:#2a0f25}
.program-card{background:var(--card);border-color:var(--line);box-shadow:none}
.program-card:hover{box-shadow:0 22px 40px rgba(0,0,0,.6),0 0 0 1px #4b2742}
.program-category{color:#c99bbb}
.program-card h3{color:#fff}
.program-card p{color:#b3a8b4}

/* Nosotros, pie y reproductor más negros */
.about-section{background:radial-gradient(circle at 82% 25%,#2a0f25,#0a060b 52%,#000)}
.about-glow{background:radial-gradient(ellipse,rgba(123,36,100,.25),transparent 70%)}
.pastors-figure{border-color:rgba(195,116,167,.45)}
.site-footer{background:#000;border-top-color:#241a22}
.radio-player{background:rgba(0,0,0,.97);border-top-color:#3d2436}
.player-brand img{background:#000}
.standard-page{background:#faf9fb}

@media (max-width:760px){
  .hero{min-height:780px}
  .hero-layout{min-height:780px;padding-bottom:165px}
  .dial{height:132px}
  .dial-needle{height:70px;left:68%;animation-name:gapfm-tune-m}
  .dial-flag{font-size:10px;letter-spacing:1.4px}
  .dial-ends{font-size:9px;letter-spacing:1.6px}
  @keyframes gapfm-tune-m{0%{left:3%}62%{left:71%}82%{left:66%}100%{left:68%}}
}
@media (prefers-reduced-motion:reduce){.dial-needle,.dial-flag b{animation:none!important}}
/* Las ondas quedan a los lados de BK: rostro y gorra siempre despejados */
.hero-equalizer{
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 24%,transparent 33%,transparent 70%,#000 79%,#000 93%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 7%,#000 24%,transparent 33%,transparent 70%,#000 79%,#000 93%,transparent 100%)}
.program-cover{transform:scale(1.02)}
@media (max-width:760px){
  .hero{min-height:720px}
  .hero-layout{min-height:720px;padding-bottom:150px}
  .hero-photo{height:62%}
}

/* =====================================================================
   v1.4: Las ondas pasan DETRÁS de BK (no se cortan).
   Capas: foto > sombra > ondas > silueta de BK > sombra sobre la silueta.
   ===================================================================== */
.hero-shade{z-index:0}
.hero-art{position:absolute;z-index:1;right:0;top:70px;width:74%;height:calc(100% - 70px);pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 100%),linear-gradient(180deg,transparent 0%,#000 14%,#000 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 100%),linear-gradient(180deg,transparent 0%,#000 14%,#000 100%);
  mask-composite:intersect;
  --art-pos:49% 40%;
  --art-shade:linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.72) 21.6%,rgba(0,0,0,.05) 62.2%,rgba(0,0,0,.1) 100%)}
.hero-art>*{position:absolute;inset:0;width:100%;height:100%}
.hero-art-photo,.hero-art-cutout{object-fit:cover;object-position:var(--art-pos);max-width:none}
.hero-art-shade{background:var(--art-shade)}
.hero .hero-art .hero-equalizer{inset:auto;left:0;right:0;top:2%;width:auto;height:238px;z-index:auto;opacity:.95;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 92%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 92%,transparent 100%)}
.hero-art-cutshade{background:var(--art-shade);
  -webkit-mask-image:var(--gapfm-cutout);-webkit-mask-size:cover;-webkit-mask-position:var(--art-pos);-webkit-mask-repeat:no-repeat;
  mask-image:var(--gapfm-cutout);mask-size:cover;mask-position:var(--art-pos);mask-repeat:no-repeat}
@media (max-width:1080px){.hero-art{width:78%}}
@media (max-width:760px){
  .hero-art{top:62px;width:100%;height:57%;--art-pos:center 22%;
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 55%,transparent 100%);-webkit-mask-composite:source-over;
    mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 55%,transparent 100%);mask-composite:add;
    --art-shade:linear-gradient(180deg,rgba(16,10,19,.17) 0%,rgba(16,10,19,.65) 50%,#100a13 97%)}
  .hero .hero-art .hero-equalizer{top:4%;height:180px;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0%,#000 6%,#000 94%,transparent 100%)}
}

/* v1.5: Nueva foto vertical de los pastores (blanco y negro, fondo negro) */
.about-layout{grid-template-columns:1fr minmax(0,.72fr)}
.pastors-figure{aspect-ratio:4/5;background:#000;border-color:rgba(195,116,167,.4);max-width:520px;justify-self:end;width:100%}
.pastors-figure img{object-position:50% 0}
.pastors-figure figcaption{left:12px;right:auto;bottom:14px;text-align:left;background:rgba(0,0,0,.72);border:1px solid rgba(195,116,167,.35)}
@media (max-width:760px){.about-layout{grid-template-columns:1fr}.pastors-figure{justify-self:center;max-width:460px}}

/* v1.6: La foto de BK mantiene su proporción real (sin agrandarse ni recortarse arriba)
   y empieza debajo del menú en cualquier tamaño de pantalla. */
.hero-art{top:88px;height:calc(100% - 88px);width:auto;aspect-ratio:1536/1022;max-width:100%;
  right:max(0px,calc((100vw - var(--max))/2 - 140px));
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 90%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 7%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 90%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 7%,#000 100%)}
@media (min-width:1500px){.hero-art{
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 82%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 7%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 24%,#000 82%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 7%,#000 100%)}}
@media (max-width:1080px){.hero-art{width:auto}}
@media (max-width:760px){.hero-art{top:62px;right:0;width:100%;height:57%;aspect-ratio:auto}}

/* Foto de los pastores más pequeña */
.about-layout{grid-template-columns:1fr minmax(0,380px)}
.pastors-figure{max-width:380px}
@media (max-width:760px){.about-layout{grid-template-columns:1fr}.pastors-figure{max-width:320px;justify-self:start}}
/* v1.7: Foto de los pastores aún más pequeña */
.about-layout{grid-template-columns:1fr minmax(0,280px)}
.pastors-figure{max-width:280px}
.pastors-figure figcaption{font-size:9px;letter-spacing:.9px;padding:6px 10px;left:10px;bottom:10px}
@media (max-width:760px){.about-layout{grid-template-columns:1fr}.pastors-figure{max-width:240px}}
.pastors-figure figcaption{white-space:nowrap;max-width:none}
@media (max-width:760px){.pastors-figure figcaption{font-size:8px;letter-spacing:.6px}}
