/*
Theme Name: Rainbow FM Corozal
Theme URI: https://rainbowfmczl.com
Author: Rainbow FM
Author URI: https://rainbowfmczl.com
Description: Official theme for Rainbow FM 107.7 Corozal, Belize. Features a full-width homepage with Live Listen UX, sticky player, program schedule, DJ lineup, rentals, and more.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: Proprietary
Text Domain: rainbow-fm
Tags: radio, music, dark, community, caribbean, entertainment
*/
:root {
    --brand-dark: #0d0622; --surface: #1a0f35; --surface-light: #231547;
    --deep: #0f0820; --accent-gold: #f4c430; --accent-teal: #2dd4bf;
    --accent-red: #e63946; --whatsapp: #25D366; --text-muted: #a0a0c0;
    --rainbow-gradient: linear-gradient(135deg, #e63946, #f4a261, #2a9d8f, #457b9d, #9b5de5);
    --nav-height: 68px; --player-height: 72px;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; background: var(--brand-dark); color: #fff; overflow-x: hidden; padding-top: var(--nav-height); padding-bottom: var(--player-height); }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
.font-poppins { font-family: 'Poppins', sans-serif; }
.font-orbitron { font-family: 'Orbitron', monospace; }
.rainbow-text { background: var(--rainbow-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 1.25rem; }
.section-pad { padding: 5rem 0; }
.section-title { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(1.75rem,5vw,2.75rem); text-align: center; margin-bottom: 2.5rem; }
.rainbow-bg { background: var(--rainbow-gradient); }
.rainbow-line { height: 3px; background: var(--rainbow-gradient); }
.gradient-border-btn { display: inline-block; padding: 2px; border-radius: 9999px; background: var(--rainbow-gradient); border: none; cursor: pointer; text-decoration: none; }
.gradient-border-btn > span { display: flex; align-items: center; gap: 8px; background: var(--brand-dark); border-radius: 9999px; padding: 10px 24px; font-family: 'Poppins', sans-serif; font-weight: 600; color: #fff; font-size: .875rem; transition: background .2s; white-space: nowrap; }
.gradient-border-btn:hover > span { background: var(--surface); }
.gradient-border-btn.btn-light > span { background: #fff; color: var(--brand-dark); }
.btn-whatsapp { display: inline-flex; align-items: center; gap: 8px; background: var(--whatsapp); color: #fff; font-family: 'Poppins', sans-serif; font-weight: 600; padding: 12px 24px; border-radius: 9999px; font-size: .875rem; transition: background .2s, transform .2s; text-decoration: none; }
.btn-whatsapp:hover { background: #1da851; transform: translateY(-1px); }
.rfm-live-dot { width: 8px; height: 8px; background: var(--accent-red); border-radius: 50%; display: inline-block; }
@keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.4)} }
.pulse-dot { animation: pulse-dot 1.5s ease-in-out infinite; }
@keyframes radio-wave { 0%{transform:scale(.3);opacity:.6} 100%{transform:scale(2.5);opacity:0} }
.radio-wave { animation: radio-wave 3s ease-out infinite; }
.radio-wave-2 { animation-delay: 1s; }
.radio-wave-3 { animation-delay: 2s; }
@keyframes bar-bounce { 0%,100%{height:6px} 50%{height:24px} }
.audio-bar { animation: bar-bounce .8s ease-in-out infinite; }
.audio-bar:nth-child(2){animation-delay:.1s} .audio-bar:nth-child(3){animation-delay:.25s} .audio-bar:nth-child(4){animation-delay:.15s} .audio-bar:nth-child(5){animation-delay:.3s}
@keyframes spin-vinyl { 0%{transform:rotate(0)} 100%{transform:rotate(360deg)} }
.spin-vinyl { animation: spin-vinyl 3s linear infinite; }
.spin-vinyl.paused { animation-play-state: paused; }
@keyframes progress-slide { 0%{width:0%} 100%{width:100%} }
.progress-anim { animation: progress-slide 120s linear infinite; }
.progress-anim.paused { animation-play-state: paused; }
@keyframes signal-ring { 0%{transform:scale(.5);opacity:.8} 100%{transform:scale(2);opacity:0} }
.signal-ring { animation: signal-ring 2s ease-out infinite; }
.signal-ring-2{animation-delay:.7s} .signal-ring-3{animation-delay:1.4s}
@keyframes toast-in { 0%{opacity:0;transform:translateY(20px) translateX(-50%)} 100%{opacity:1;transform:translateY(0) translateX(-50%)} }
@keyframes toast-out { 0%{opacity:1;transform:translateY(0) translateX(-50%)} 100%{opacity:0;transform:translateY(20px) translateX(-50%)} }
.toast-show{animation:toast-in .3s ease forwards} .toast-hide{animation:toast-out .3s ease forwards}
.stripe-pattern { background-image: repeating-linear-gradient(135deg,transparent,transparent 40px,rgba(228,57,70,.03) 40px,rgba(228,57,70,.03) 42px,transparent 42px,transparent 82px,rgba(244,162,97,.03) 82px,rgba(244,162,97,.03) 84px,transparent 84px,transparent 124px,rgba(42,157,143,.03) 124px,rgba(42,157,143,.03) 126px); }
::-webkit-scrollbar{width:8px} ::-webkit-scrollbar-track{background:var(--brand-dark)} ::-webkit-scrollbar-thumb{background:var(--surface-light);border-radius:4px}
#rfm-nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);background:rgba(13,6,34,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:box-shadow .3s}
#rfm-nav.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.5);border-bottom:2px solid transparent;border-image:var(--rainbow-gradient) 1}
.rfm-nav-inner{display:flex;align-items:center;justify-content:space-between;height:100%}
.rfm-logo{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0}
.rfm-logo-text .logo-name{font-family:'Poppins',sans-serif;font-weight:700;font-size:1.125rem;line-height:1.2;display:block}
.rfm-logo-text .logo-freq{font-family:'Orbitron',monospace;font-weight:700;font-size:.65rem;color:var(--accent-gold);display:block}
.rfm-nav-links{display:none;align-items:center;gap:1.5rem}
.rfm-nav-links a{font-family:'Poppins',sans-serif;font-size:.875rem;font-weight:500;color:var(--text-muted);transition:color .2s;text-decoration:none}
.rfm-nav-links a:hover,.rfm-nav-links a.active{color:var(--accent-teal)}
@media(min-width:768px){.rfm-nav-links{display:flex}}
.rfm-nav-cta{display:none}
@media(min-width:768px){.rfm-nav-cta{display:block}}
.rfm-hamburger{display:flex;align-items:center;justify-content:center;padding:8px;color:#fff}
@media(min-width:768px){.rfm-hamburger{display:none}}
#rfm-mobile-menu{display:none;position:fixed;inset:0;z-index:200;flex-direction:column;background:rgba(13,6,34,.98);backdrop-filter:blur(16px)}
#rfm-mobile-menu.open{display:flex}
.rfm-mobile-menu-top{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem}
.rfm-mobile-menu-links{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:1.5rem}
.rfm-mobile-menu-links a{font-family:'Poppins',sans-serif;font-size:1.25rem;font-weight:600;color:var(--text-muted);transition:color .2s;text-decoration:none}
.rfm-mobile-menu-links a:hover{color:var(--accent-teal)}
#rfm-hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:1rem;background:radial-gradient(ellipse at center,#1a0f35 0%,#0d0622 70%);margin-top:calc(-1 * var(--nav-height));padding-top:calc(var(--nav-height) + 1rem)}
.rfm-radio-rings{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.rfm-ring{position:absolute;width:320px;height:320px;border-radius:50%;border:1px solid rgba(45,212,191,.2)}
@media(min-width:768px){.rfm-ring{width:480px;height:480px}}
.rfm-ring-2{border-color:rgba(244,196,48,.15)} .rfm-ring-3{border-color:rgba(230,57,70,.10)}
.rfm-hero-content{position:relative;z-index:2;text-align:center;max-width:800px;margin-top:4rem}
.rfm-hero-label{display:block;font-family:'Poppins',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--accent-teal);margin-bottom:1rem}
.rfm-hero-h1{font-family:'Poppins',sans-serif;font-weight:800;font-size:clamp(2.5rem,8vw,5.5rem);line-height:1.15;color:#fff;margin-bottom:1rem}
.rfm-hero-sub{font-size:1rem;color:var(--text-muted);margin-bottom:2rem}
@media(min-width:768px){.rfm-hero-sub{font-size:1.125rem}}
.rfm-hero-ctas{display:flex;flex-direction:column;align-items:center;gap:1rem}
@media(min-width:576px){.rfm-hero-ctas{flex-direction:row;justify-content:center}}
.rfm-hero-np{position:absolute;bottom:1.5rem;left:1rem;right:1rem;z-index:3;display:flex;align-items:center;gap:1rem;background:rgba(26,15,53,.8);backdrop-filter:blur(12px);border:1px solid rgba(45,212,191,.2);border-radius:1rem;padding:.75rem 1.25rem}
@media(min-width:768px){.rfm-hero-np{left:50%;right:auto;transform:translateX(-50%);max-width:680px;width:100%}}
.rfm-hero-np-meta{flex:1;min-width:0}
.rfm-hero-np-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-teal);display:block}
.rfm-hero-np-track{font-size:.875rem;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rfm-hero-np-show{font-size:.75rem;color:var(--text-muted);display:none}
@media(min-width:576px){.rfm-hero-np-show{display:block}}
.rfm-audio-bars{display:flex;align-items:flex-end;gap:3px;height:24px;flex-shrink:0}
.rfm-bar{width:3px;height:6px;border-radius:2px;background:var(--accent-teal)}
#rfm-now-playing{background:var(--brand-dark);padding:3rem 0}
.rfm-np-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:768px){.rfm-np-grid{grid-template-columns:3fr 2fr}}
.rfm-card{background:var(--surface);border-radius:1.25rem;padding:1.5rem}
.rfm-np-card{display:flex;flex-direction:column;align-items:center;gap:1.5rem;border:1px solid rgba(45,212,191,.15)}
@media(min-width:576px){.rfm-np-card{flex-direction:row}}
.rfm-np-info{flex:1;text-align:center}
@media(min-width:576px){.rfm-np-info{text-align:left}}
.rfm-np-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-teal);display:block;margin-bottom:4px}
.rfm-np-song{font-family:'Poppins',sans-serif;font-weight:700;font-size:1.375rem;color:#fff}
.rfm-np-by{font-size:.875rem;color:var(--text-muted);margin-bottom:4px}
.rfm-np-show{font-size:.75rem;color:var(--text-muted);margin-bottom:1rem}
.rfm-np-actions{display:flex;align-items:center;gap:1rem;justify-content:center}
@media(min-width:576px){.rfm-np-actions{justify-content:flex-start}}
#rfm-like-btn{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.875rem;transition:color .2s;background:none;border:none;cursor:pointer}
#rfm-like-btn.liked{color:var(--accent-red)}
#rfm-like-btn svg{width:16px;height:16px}
.rfm-upnext-card{border:1px solid rgba(155,93,229,.15)}
.rfm-upnext-tag{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-gold);display:block;margin-bottom:1rem}
.rfm-upnext-list{display:flex;flex-direction:column;gap:1rem}
.rfm-upnext-item{display:flex;align-items:center;gap:.75rem}
.rfm-upnext-time{color:var(--text-muted);font-size:.75rem;font-family:'Orbitron',monospace;width:3.5rem;flex-shrink:0}
.rfm-upnext-track{font-size:.875rem;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rfm-upnext-artist{font-size:.75rem;color:var(--text-muted)}
.rfm-last-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:1.375rem;color:#fff}
.rfm-last-artist{font-size:.875rem;color:var(--text-muted);margin-bottom:4px}
.rfm-schedule-link{display:inline-flex;align-items:center;gap:4px;color:var(--accent-teal);font-size:.875rem;font-weight:600;margin-top:1rem;text-decoration:none}
.rfm-schedule-link:hover{text-decoration:underline}
#rfm-station{background:var(--deep);padding:5rem 0}
.rfm-station-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}
@media(min-width:768px){.rfm-station-grid{grid-template-columns:1fr 1fr}}
.rfm-station-freq{font-family:'Orbitron',monospace;font-weight:900;font-size:clamp(4rem,12vw,8rem);line-height:1;margin-bottom:.5rem}
.rfm-station-sub{font-family:'Orbitron',monospace;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.5rem}
.rfm-station-h2{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(1.25rem,3vw,1.75rem);margin-bottom:.75rem}
.rfm-station-desc{color:var(--text-muted);line-height:1.7;max-width:520px;margin-bottom:1.5rem;font-size:.9375rem}
.rfm-tower-wrap{display:flex;justify-content:center}
#rfm-schedule{background:var(--brand-dark)}
.rfm-day-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem;margin-bottom:2rem;-ms-overflow-style:none;scrollbar-width:none;justify-content:flex-start}
@media(min-width:768px){.rfm-day-tabs{justify-content:center}}
.rfm-day-tabs::-webkit-scrollbar{display:none}
.rfm-day-tab{padding:.5rem 1.25rem;border-radius:9999px;font-family:'Poppins',sans-serif;font-size:.875rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .2s;background:var(--surface-light);color:var(--text-muted);border:none}
.rfm-day-tab:hover{color:#fff}
.rfm-day-tab.active{background:var(--rainbow-gradient);color:#fff}
.rfm-schedule-grid{background:var(--surface);border-radius:1.25rem;overflow:hidden}
.rfm-schedule-row{display:flex;flex-direction:column;padding:1rem 1.5rem;gap:.5rem;border-left:4px solid transparent;transition:background .2s}
@media(min-width:576px){.rfm-schedule-row{flex-direction:row;align-items:center;gap:1rem}}
.rfm-schedule-row:nth-child(even){background:rgba(255,255,255,.025)}
.rfm-schedule-row.current{border-left-color:var(--accent-red)}
.rfm-schedule-time{font-family:'Orbitron',monospace;font-size:.75rem;color:var(--text-muted);flex-shrink:0;min-width:140px;display:flex;align-items:center;gap:8px}
.rfm-schedule-show{flex:1;font-size:.9375rem;font-weight:600;color:#fff}
.rfm-schedule-dj{color:var(--text-muted);font-size:.875rem;margin-left:4px}
.rfm-badge{display:inline-block;font-size:.6875rem;font-weight:600;padding:2px 10px;border-radius:9999px;flex-shrink:0;align-self:flex-start}
@media(min-width:576px){.rfm-badge{align-self:auto}}
.badge-red{background:rgba(230,57,70,.2);color:#e63946}
.badge-teal{background:rgba(45,212,191,.2);color:#2dd4bf}
.badge-gold{background:rgba(244,196,48,.2);color:#f4c430}
#rfm-djs{background:var(--surface)}
.rfm-dj-grid{display:flex;gap:1.5rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:1rem;-ms-overflow-style:none;scrollbar-width:none}
.rfm-dj-grid::-webkit-scrollbar{display:none}
@media(min-width:768px){.rfm-dj-grid{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible;padding-bottom:0}}
.rfm-dj-card{background:var(--brand-dark);border-radius:1.25rem;padding:1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;min-width:240px;scroll-snap-align:start;transition:transform .3s,box-shadow .3s;flex-shrink:0}
@media(min-width:768px){.rfm-dj-card{min-width:0}}
.rfm-dj-card:hover{transform:translateY(-6px)}
.rfm-dj-avatar{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;flex-shrink:0}
.rfm-dj-avatar svg{width:40px;height:40px;color:#fff}
.rfm-dj-name{font-family:'Poppins',sans-serif;font-weight:700;font-size:1.125rem;margin-bottom:2px}
.rfm-dj-show{font-size:.875rem;font-weight:600;color:var(--accent-teal);margin-bottom:2px}
.rfm-dj-time{font-size:.75rem;color:var(--text-muted);margin-bottom:.75rem}
.rfm-dj-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-bottom:1rem}
.rfm-dj-tag{font-size:.625rem;font-weight:600;padding:2px 8px;border-radius:9999px}
#rfm-rentals{background:var(--surface)}
.rfm-services-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}
@media(min-width:768px){.rfm-services-grid{grid-template-columns:repeat(3,1fr)}}
.rfm-service-card{background:var(--brand-dark);border-radius:1.25rem;padding:1.5rem;border-top:3px solid transparent;position:relative;overflow:hidden}
.rfm-service-icon{font-size:2.5rem;margin-bottom:1rem}
.rfm-service-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:1.125rem;margin-bottom:.5rem;color:#fff}
.rfm-service-desc{font-size:.875rem;color:var(--text-muted);line-height:1.6;margin-bottom:1.25rem}
.rfm-services-contact{text-align:center;font-size:.9375rem;color:var(--text-muted)}
.rfm-services-contact a{color:var(--whatsapp);font-weight:600;text-decoration:none}
.rfm-services-contact a:hover{text-decoration:underline}
#rfm-social{background:#0a0418;padding:2.5rem 0}
.rfm-social-inner{display:flex;flex-direction:column;align-items:center;gap:1.5rem}
@media(min-width:768px){.rfm-social-inner{flex-direction:row;justify-content:space-between}}
.rfm-social-label{font-family:'Poppins',sans-serif;font-weight:700;font-size:1.125rem}
.rfm-social-icons{display:flex;gap:.75rem}
.rfm-social-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--rainbow-gradient);text-decoration:none;transition:transform .2s}
.rfm-social-icon:hover{transform:scale(1.1)}
.rfm-social-icon svg{width:20px;height:20px;color:#fff}
.rfm-wa-link{display:flex;align-items:center;gap:8px;color:var(--whatsapp);font-weight:600;font-size:.875rem;text-decoration:none}
.rfm-wa-link:hover{text-decoration:underline}
#rfm-footer{background:var(--surface);padding-bottom:calc(var(--player-height) + 1rem)}
.rfm-footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;padding:2.5rem 0}
@media(min-width:576px){.rfm-footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:992px){.rfm-footer-grid{grid-template-columns:repeat(4,1fr)}}
.rfm-footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:.75rem;text-decoration:none}
.rfm-footer-logo span{font-family:'Poppins',sans-serif;font-weight:700}
.rfm-footer-tagline{font-size:.875rem;color:var(--text-muted);line-height:1.6;text-align:center;}
.rfm-footer-heading{font-family:'Poppins',sans-serif;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-gold);margin-bottom:.75rem}
.rfm-footer-links{display:flex;flex-direction:column;gap:.5rem}
.rfm-footer-links a{font-size:.875rem;color:var(--text-muted);text-decoration:none;transition:color .2s}
.rfm-footer-links a:hover{color:#fff}
.rfm-footer-contact-item{display:flex;align-items:flex-start;gap:8px;font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem}
.rfm-footer-contact-item svg{width:16px;height:16px;flex-shrink:0;margin-top:2px}
.rfm-footer-np-widget{background:var(--brand-dark);border:1px solid rgba(45,212,191,.15);border-radius:.75rem;padding:1rem}
.rfm-footer-np-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-teal);display:block;margin-bottom:4px}
.rfm-footer-np-show{font-size:.875rem;font-weight:600;color:#fff}
.rfm-footer-np-dj{font-size:.75rem;color:var(--text-muted)}
.rfm-footer-np-time{font-size:.625rem;color:var(--text-muted);margin-top:8px;display:block}
.rfm-footer-bottom{border-top:1px solid rgba(255,255,255,.05);padding:1.5rem 0;text-align:center;font-size:.75rem;color:var(--text-muted)}
#rfm-player{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--surface);height:var(--player-height)}
.rfm-player-rainbow{height:3px;background:var(--rainbow-gradient)}
.rfm-player-desktop{display:none;align-items:center;justify-content:space-between;height:calc(var(--player-height) - 3px);padding:0 1.5rem}
@media(min-width:768px){.rfm-player-desktop{display:flex}}
.rfm-player-left{display:flex;align-items:center;gap:.75rem;flex:0 0 25%}
.rfm-player-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-teal);display:block}
.rfm-player-track{font-size:.875rem;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rfm-player-center{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;max-width:400px}
.rfm-player-controls{display:flex;align-items:center;gap:1rem}
.rfm-ctrl-btn{color:var(--text-muted);background:none;border:none;cursor:pointer;padding:4px;transition:color .2s}
.rfm-ctrl-btn:hover{color:#fff}
.rfm-ctrl-btn svg{width:20px;height:20px}
.rfm-play-btn{width:44px;height:44px;border-radius:50%;background:var(--rainbow-gradient);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:transform .2s}
.rfm-play-btn:hover{transform:scale(1.05)}
.rfm-play-btn svg{width:22px;height:22px;color:#fff}
.rfm-play-btn-mobile{width:44px;height:44px;border-radius:50%;background:var(--rainbow-gradient);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:transform .2s}
.rfm-play-btn-mobile:hover{transform:scale(1.05)}
.rfm-play-btn-mobile svg{width:22px;height:22px;color:#fff}
.rfm-progress-wrap{width:100%;height:4px;background:rgba(255,255,255,.1);border-radius:9999px;overflow:hidden}
.rfm-progress-bar{height:100%;border-radius:9999px;background:var(--rainbow-gradient)}
.rfm-player-right{display:flex;align-items:center;gap:1rem;flex:0 0 25%;justify-content:flex-end}
.rfm-volume-wrap{display:flex;align-items:center;gap:8px}
.rfm-volume-wrap svg{width:16px;height:16px;color:var(--text-muted)}
.rfm-volume-wrap input[type=range]{width:80px;accent-color:var(--accent-teal);cursor:pointer}
.rfm-wa-icon-btn{color:var(--whatsapp);background:none;border:none;cursor:pointer;padding:4px;text-decoration:none;display:flex}
.rfm-wa-icon-btn svg{width:20px;height:20px}
.rfm-player-mobile{display:flex;align-items:center;justify-content:space-between;height:calc(var(--player-height) - 3px);padding:0 1rem}
@media(min-width:768px){.rfm-player-mobile{display:none}}

.rfm-player-controls-mobile{display:flex;align-items:center;gap:1rem}
.rfm-ctrl-btn-mobile{color:var(--text-muted);background:none;border:none;cursor:pointer;padding:4px;transition:color .2s}

.rfm-player-mobile-track{flex:1;min-width:0;margin:0 .75rem}
.rfm-player-mobile-title{font-size:.875rem;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rfm-player-mobile-bar{width:100%;height:2px;background:rgba(255,255,255,.1);margin-top:4px;border-radius:9999px;overflow:hidden}
#rfm-toast{position:fixed;bottom:calc(var(--player-height) + 1rem);left:50%;transform:translateX(-50%);z-index:300;background:var(--surface);border:1px solid rgba(45,212,191,.4);border-radius:.75rem;padding:.75rem 1.5rem;font-size:.875rem;text-align:center;min-width:280px;display:none;box-shadow:0 8px 32px rgba(0,0,0,.4)}
.rfm-page-content{max-width:860px;margin:0 auto;padding:5rem 1.25rem}
.rfm-page-content h1,.rfm-page-content h2,.rfm-page-content h3{font-family:'Poppins',sans-serif;font-weight:700;margin-bottom:1rem}
.rfm-page-content p{color:var(--text-muted);line-height:1.75;margin-bottom:1rem}
.rfm-page-content ul{list-style:disc;padding-left:1.5rem;color:var(--text-muted);margin-bottom:1rem}
.rfm-page-content a{color:var(--accent-teal);text-decoration:underline}
body.admin-bar #rfm-nav{top:32px}
body.admin-bar #rfm-hero{padding-top:calc(var(--nav-height) + 32px + 1rem)} 
padding-top: calc(var(--nav-height) + 1rem) !important;


/* ============================================================
   CUSTOM LOGO SIZING
   ============================================================ */

/* Nav bar logo — keeps logo within the 68px nav height */
.rfm-nav-logo {
    height: 40px;
    width: auto;
    max-width: 160px;
    object-fit: contain;
    display: block;
}

/* Mobile overlay menu logo */
.rfm-mobile-logo {
    height: 36px;
    width: auto;
    max-width: 140px;
    object-fit: contain;
    display: block;
}

/* Footer logo — slightly smaller */
.rfm-footer-logo-img {
    height: 32px;
    width: auto;
    max-width: 120px;
    object-fit: contain;
    display: block;
}

/* If logo has a dark/opaque background, add a subtle drop shadow */
.rfm-custom-logo {
    filter: drop-shadow(0 1px 4px rgba(0,0,0,0.4));
}

/* Remove the rfm-logo gap when image logo replaces both SVG + text */
.rfm-logo:has(.rfm-custom-logo) .rfm-logo-text {
    margin-left: -4px; /* tighten spacing slightly */
}

/* Email link in footer contact column */
.rfm-footer-contact-item a {
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.2s;
}

.rfm-footer-contact-item a:hover {
    color: var(--accent-teal);
    text-decoration: underline;
}


/* Autoplay unlock banner */
#rfm-autoplay-banner {
    transition: opacity 0.3s;
}
#rfm-autoplay-banner:hover {
    opacity: 0.9;
}
/* Give the player relative positioning so banner sits above it */
#rfm-player {
    position: fixed;
    bottom: 0;
}

