/* WordPress, Elementor and accessibility integration layer. */
.admin-bar .site-header { top: 32px; }
.logo-custom { display: block; width: auto; max-width: 220px; height: 52px; object-fit: contain; }
.nav-menu, .drawer-menu { display: contents; }
.nav-links .menu-item a { color: var(--navy); font-size: .88rem; font-weight: 700; padding: .45rem .1rem; position: relative; }
.site-header.on-dark .nav-links .menu-item a { color: var(--white); }
.nav-links .current-menu-item a::after, .nav-links .current-menu-ancestor a::after { background: currentColor; border-radius: 2px; bottom: -.1rem; content: ""; height: 2px; left: 0; position: absolute; right: 0; }
.drawer-links .drawer-menu { display: flex; flex-direction: column; gap: 1rem; }
.drawer-links .drawer-menu li a { font-size: 1.25rem; font-weight: 800; }
.entry-content, .narrow { max-width: 820px; }
.entry-content > * + *, .prose > * + * { margin-top: 1.25rem; }
.prose ul, .prose ol, .entry-content ul, .entry-content ol { list-style: initial; margin-left: 1.5rem; }
.prose a, .entry-content a { color: var(--blue); text-decoration: underline; }
.featured-image img { border-radius: var(--r-md); width: 100%; }
.posts-grid { display: grid; gap: 2rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.post-card { border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; }
.post-card img { aspect-ratio: 4/3; object-fit: cover; width: 100%; }
.post-card-body { padding: 1.5rem; }
.post-card-body .h-md { margin: .65rem 0 1rem; }
.navigation.pagination { margin-top: 3rem; }
.nav-links { align-items: center; display: flex; gap: 1.4rem; }
.promusic-hp { height: 1px !important; left: -10000px !important; overflow: hidden !important; position: absolute !important; width: 1px !important; }
.promusic-form-status { border-radius: 12px; font-weight: 700; padding: .9rem 1rem; }
.promusic-form-status.success { background: #e9f8ef; color: var(--success); }
.promusic-form-status.error { background: #fff0ef; color: var(--danger); }
body:not(.elementor-page) .elementor-location-header + .site-header { display: none; }
.promusic-elementor-full-width { min-height: 40vh; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute !important; width: 1px; word-wrap: normal !important; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #50b9e8; outline-offset: 3px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 900px) {
  .posts-grid { grid-template-columns: 1fr; }
  /* The header has its own accessible drawer. Never leave a compressed
     desktop WordPress menu visible beside it on a phone. */
  .site-header .main-nav, .site-header .nav-menu { display: none; }
  .site-header .header-actions > .btn { display: none; }
  .site-header .menu-btn { display: flex; }
}
