/* Eifelradio-inspired spacing and rounded live action, in CityRadio colours. */
.topbar,.topbar.internal-topbar{height:108px;gap:28px;border-bottom:1px solid rgba(255,255,255,.09);background:transparent;box-shadow:none}
.topbar .brand{flex:0 0 auto}.topbar .brand img{width:138px;height:76px;max-width:none;object-fit:contain}
.topbar .desktop-nav{flex:1;justify-content:center;gap:clamp(16px,1.6vw,28px);margin:0;min-width:0}
.topbar .desktop-nav>a,.topbar .desktop-nav>.nav-dropdown>.nav-dropdown-trigger{font-size:13px;font-weight:750;letter-spacing:.01em;padding:12px 0;color:#d9d9df;background:none;border:0;border-radius:0}
.topbar .desktop-nav>a:hover,.topbar .desktop-nav>a.active,.topbar .desktop-nav>.nav-dropdown:hover>.nav-dropdown-trigger,.topbar .desktop-nav>.nav-dropdown.active>.nav-dropdown-trigger{color:#fff}
.topbar .desktop-nav>a.active,.topbar .desktop-nav>.nav-dropdown.active>.nav-dropdown-trigger{box-shadow:inset 0 -2px var(--red)}
.topbar .nav-submenu{padding:10px;border-radius:18px;background:#17171b;border:1px solid #ffffff1f;box-shadow:0 20px 50px #0008}
.topbar .nav-submenu a{padding:13px 16px;border-radius:10px;font-size:13px}.topbar .nav-submenu a:hover,.topbar .nav-submenu a.active{background:#ffffff0d;color:#fff}
.topbar .top-actions{flex:0 0 auto;gap:10px}.topbar .station-pill{height:44px;background:transparent;border-color:#ffffff24;padding:0 13px;font-size:12px}
.header-listen{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:0 21px;border:0;border-radius:40px;background:var(--red);color:#fff;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer;transition:background .2s,transform .2s}
.header-listen:hover{background:#d31720;transform:translateY(-2px)}.header-listen:focus-visible{outline:3px solid #fff;outline-offset:4px}.header-listen .player-play-icon{font-size:14px;width:16px;text-align:center}.header-listen-pause,.is-playing .header-listen-start{display:none}.is-playing .header-listen-pause{display:inline}
@media(max-width:1200px){.topbar .desktop-nav{display:none}.topbar .menu-btn{display:block}.topbar,.topbar.internal-topbar{height:88px}.topbar .top-actions{margin-left:auto}body #mobileMenu.mobile-menu{position:fixed;z-index:88;top:88px;right:16px;left:auto;width:min(430px,calc(100% - 32px));max-height:calc(100dvh - 190px);overflow-y:auto;padding:14px;border:1px solid #ffffff1f;border-radius:20px;background:#111115;box-shadow:0 24px 65px #0009}body #mobileMenu.mobile-menu.open{display:flex;flex-direction:column;gap:4px}body.mobile-menu-open{overflow:hidden}.mobile-menu>a,.mobile-nav-group-toggle{min-height:46px}.topbar{z-index:90}}
@media(max-width:720px){.topbar,.topbar.internal-topbar{height:78px;padding:0 16px;gap:10px}.topbar .brand img{width:96px;height:62px;max-width:96px}.topbar .top-actions{gap:7px}.topbar .station-pill{width:38px;height:38px;padding:0;justify-content:center}.topbar .station-pill svg,.topbar .station-pill [data-current-station-name],.topbar .station-pill #topStationName{display:none}.topbar .menu-btn{width:38px;height:38px;padding:0 10px}.header-listen{min-height:40px;padding:0 13px;gap:7px;font-size:11px}body #mobileMenu.mobile-menu{top:78px;left:10px;right:10px;width:auto;max-height:calc(100dvh - 180px - env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.header-listen{transition:none}.header-listen:hover{transform:none}}

@media(max-width:380px){.topbar,.topbar.internal-topbar{padding-inline:10px;gap:6px}.topbar .brand img{width:82px;max-width:82px}.topbar .top-actions{gap:5px}.header-listen{padding-inline:10px;font-size:10px;gap:5px}}

/* Wide icon menus, following the current eifelradio.eu navigation. */
.topbar .desktop-nav,.topbar .nav-dropdown{position:static}
.topbar .nav-submenu.nav-mega{left:auto;right:28px;top:calc(100% - 8px);width:min(920px,calc(100% - 56px));padding:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border:1px solid rgba(255,255,255,.12);border-radius:24px;max-height:calc(100dvh - 220px);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#4a3034 transparent;background:radial-gradient(ellipse at 100% 0,rgba(239,34,40,.1),transparent 65%),linear-gradient(145deg,#19191e,#101014);box-shadow:0 24px 65px rgba(0,0,0,.55)}
.topbar .nav-submenu.nav-mega::before{content:'';position:absolute;left:0;right:0;top:-20px;height:20px}
.nav-mega-heading{grid-column:1/-1;font-size:10px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:#b0b0ba;padding:0 14px 8px}
.topbar .nav-mega a,.mobile-menu a.mobile-sub-link{display:flex!important;flex-direction:row;align-items:flex-start;gap:14px!important;min-width:0}
.topbar .nav-mega a{padding:14px 12px!important;min-height:82px;border-radius:16px;box-shadow:none;white-space:normal;border:1px solid transparent}
.nav-card-icon{color:#ff4b53;flex:0 0 38px;width:38px;height:38px;margin-top:1px;padding:8px;border-radius:12px;background:rgba(239,34,40,.1);border:1px solid rgba(239,34,40,.14)}.nav-card-icon svg{display:block;width:20px;height:20px}.nav-card-copy{display:flex;flex-direction:column;gap:7px;min-width:0}.topbar .nav-mega a b{font-size:14px;line-height:1.4}.nav-card-description{font-size:12px;line-height:1.55;font-weight:400;color:#b5b5c0;text-transform:none;letter-spacing:0}.nav-card-arrow{margin-left:auto;color:#9999a5;font-size:16px}.topbar .nav-mega a:hover .nav-card-arrow{color:#ff656a}.topbar .nav-mega a:focus-visible{outline:2px solid var(--red);outline-offset:-2px}
.mobile-menu .nav-card-copy b{font-size:13px}.mobile-menu .nav-card-description{font-size:11px}.mobile-menu a.mobile-sub-link{padding:13px!important}.mobile-menu .nav-card-icon{flex-basis:34px;width:34px;height:34px;padding:6px}.mobile-menu .nav-card-icon svg{width:20px;height:20px}

@media(min-width:1201px){.topbar .nav-dropdown:hover::after,.topbar .nav-dropdown:focus-within::after,.topbar .nav-dropdown.open::after{content:"";position:absolute;left:28px;right:28px;top:calc(50% + 18px);height:40px;z-index:119}}

.topbar .nav-mega a:hover,.topbar .nav-mega a:focus-visible{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.08)}
.topbar .nav-mega a.active{background:rgba(239,34,40,.07);border-color:rgba(239,34,40,.18)}
.nav-card-copy{overflow-wrap:anywhere}.nav-card-arrow{flex:0 0 auto}.nav-mega-heading{padding:0 12px 6px;color:#c0c0c9}

.topbar .nav-mega:not(:has(a:nth-of-type(4))){width:min(640px,calc(100% - 56px));grid-template-columns:repeat(2,minmax(0,1fr))}.topbar .nav-mega:not(:has(a:nth-of-type(2))){width:min(380px,calc(100% - 56px));grid-template-columns:minmax(0,1fr)}

body #mobileMenu.mobile-menu{scrollbar-width:thin;scrollbar-color:#4a3034 transparent}body #mobileMenu.mobile-menu::-webkit-scrollbar,.topbar .nav-mega::-webkit-scrollbar{width:5px;height:5px}body #mobileMenu.mobile-menu::-webkit-scrollbar-thumb,.topbar .nav-mega::-webkit-scrollbar-thumb{background:#4a3034;border-radius:8px}body #mobileMenu.mobile-menu::-webkit-scrollbar-track,.topbar .nav-mega::-webkit-scrollbar-track{background:transparent}@media(max-width:720px){body #mobileMenu.mobile-menu{max-height:calc(100dvh - 210px - env(safe-area-inset-bottom))}}

/* Visibility follows pointer/keyboard navigation, never a leftover focused link. */
.topbar .nav-dropdown .nav-submenu.nav-mega{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(7px)}
.topbar .nav-dropdown.is-nav-open .nav-submenu.nav-mega{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.topbar .nav-dropdown::after,.topbar .nav-submenu.nav-mega::before{content:none!important}
.topbar .nav-dropdown>.nav-dropdown-trigger>span{transform:none}.topbar .nav-dropdown.is-nav-open>.nav-dropdown-trigger>span{transform:rotate(180deg)}

/* Continuous pointer surface only between the active trigger and its panel. */
@media(min-width:1201px){.topbar .nav-dropdown.is-nav-open::after{content:""!important;position:absolute;left:var(--nav-bridge-left);right:auto;top:var(--nav-bridge-top);width:var(--nav-bridge-width);height:var(--nav-bridge-height);z-index:119;pointer-events:auto}}
