/*
Theme Name: BRMedia
Theme URI: https://blackburnravers.co.uk
Author: Blackburn Ravers
Description: Native BRMedia WordPress theme built for continuous playback and BRMedia integration.
Version: 0.4.3
Text Domain: brmedia
*/

:root {
    --brm-navy: #07142D;
    --brm-panel: #0D2147;
    --brm-panel-soft: #132A55;
    --brm-blue: #1FA9FF;
    --brm-white: #FFFFFF;
    --brm-orange: #F2A007;
    --brm-border: rgba(31,169,255,.28);
    --brm-muted: rgba(255,255,255,.68);
    --brm-width: 1180px;
}

* {
    box-sizing: border-box;
}

html {
    margin: 0;
    background: var(--brm-navy);
    scroll-behavior: smooth;
}

body.brmedia-theme {
    margin: 0;
    min-height: 100vh;
    background: var(--brm-navy);
    color: var(--brm-white);
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    line-height: 1.5;
}

body.brmedia-theme a {
    color: var(--brm-blue);
}

img {
    max-width: 100%;
    height: auto;
}

#brmedia-app-shell {
    min-height: 100vh;
    background: var(--brm-navy);
}

.brmedia-site-header {
    min-height: 80px;
    display: grid;
    grid-template-columns: 72px minmax(0,1fr) 112px;
    align-items: center;
    gap: 10px;
    padding: 8px max(14px,env(safe-area-inset-right)) 8px max(14px,env(safe-area-inset-left));
    background: #07142D;
    border-bottom: 1px solid rgba(31,169,255,.35);
    position: relative;
    z-index: 500;
}

.brmedia-site-brand {
    justify-self: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(320px,100%);
    height: 64px;
    overflow: hidden;
}

.brmedia-site-brand img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 64px;
    object-fit: contain;
}

.brmedia-header-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.brmedia-header-action {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--brm-blue) !important;
    text-decoration: none;
    cursor: pointer;
}

.brmedia-home-link {
    font-size: 42px;
    line-height: 1;
    font-weight: 400;
}

.brmedia-profile-link {
    font-size: 36px;
    line-height: 1;
}

.brmedia-menu-toggle {
    flex-direction: column;
    gap: 6px;
}

.brmedia-menu-toggle span {
    width: 31px;
    height: 3px;
    border-radius: 3px;
    background: var(--brm-blue);
    display: block;
}

.brmedia-mobile-menu {
    background: #091A38;
    border-bottom: 1px solid var(--brm-border);
    position: relative;
    z-index: 490;
}

.brmedia-mobile-menu-inner {
    max-width: var(--brm-width);
    margin: 0 auto;
    padding: 12px 18px 20px;
}

.brmedia-mobile-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.brmedia-mobile-menu li {
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.brmedia-mobile-menu a {
    display: block;
    padding: 14px 4px;
    color: var(--brm-white);
    text-decoration: none;
    font-weight: 700;
}

.brmedia-page-content {
    width: 100%;
    max-width: var(--brm-width);
    margin: 0 auto;
    padding: 22px 18px 80px;
    min-height: 60vh;
}

.brmedia-page-content > article {
    margin: 0;
}

.brmedia-site-footer {
    border-top: 1px solid rgba(242,160,7,.45);
    text-align: center;
    padding: 34px 18px 120px;
    background: #061126;
}

.brmedia-footer-logo {
    width: 110px;
    max-height: 70px;
    object-fit: contain;
    margin: 0 auto 14px;
}

.brmedia-footer-tagline {
    color: var(--brm-orange);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    margin: 0 0 12px;
}

.brmedia-footer-copy {
    color: var(--brm-muted);
    margin: 0;
    font-size: 13px;
}

/* Existing BRMedia plugin output */

.brm-home,
.brm-homepage,
.brm-home-section,
.brm-home-random-section,
.brm-home-series-section {
    color: var(--brm-white);
}

.brm-home-section,
.brm-home-random-section,
.brm-home-series-section {
    margin-left: auto;
    margin-right: auto;
}

.brm-home-section-title,
.brm-section-title,
.brm-home-kicker,
.brm-eyebrow {
    color: var(--brm-orange);
}

.brm-home-card,
.brm-home-series,
.brm-release-card,
.brm-player-shell,
.brm-player-card {
    border-color: var(--brm-border);
}

button,
input,
select,
textarea {
    font: inherit;
}

body.brmedia-theme input,
body.brmedia-theme textarea,
body.brmedia-theme select {
    max-width: 100%;
}

@media (max-width: 700px) {

    .brmedia-site-header {
        grid-template-columns: 54px minmax(0,1fr) 94px;
        min-height: 76px;
        padding-left: 8px;
        padding-right: 8px;
    }

    .brmedia-site-brand {
        height: 58px;
    }

    .brmedia-site-brand img {
        max-height: 58px;
    }

    .brmedia-header-action {
        width: 42px;
        height: 42px;
    }

    .brmedia-home-link {
        font-size: 36px;
    }

    .brmedia-profile-link {
        font-size: 31px;
    }

    .brmedia-menu-toggle span {
        width: 28px;
    }

    .brmedia-page-content {
        padding: 16px 12px 70px;
    }
}

@media (min-width: 900px) {

    .brmedia-site-header {
        padding-left: max(30px,calc((100vw - var(--brm-width))/2));
        padding-right: max(30px,calc((100vw - var(--brm-width))/2));
    }

    .brmedia-page-content {
        padding-top: 34px;
    }
}

/* === BRMedia Pass 2 polish === */

.brmedia-site-header {
    min-height: 82px;
    grid-template-columns: 56px minmax(0,1fr) 100px;
    padding-top: 8px;
    padding-bottom: 8px;
    box-shadow: 0 1px 0 rgba(31,169,255,.18);
}

.brmedia-site-brand {
    width: min(350px,100%);
    height: 66px;
}

.brmedia-site-brand img {
    max-height: 66px;
}

.brmedia-header-action svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: #1FA9FF;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.brmedia-home-link svg path {
    fill: none;
}

.brmedia-profile-link svg circle {
    fill: none;
}

.brmedia-profile-link svg path {
    fill: none;
}

.brmedia-menu-toggle span {
    background: #1FA9FF;
    height: 2.5px;
}

.brmedia-page-content {
    padding-top: 20px;
}

.brm-home-section,
.brm-home-random-section,
.brm-home-series-section {
    margin-bottom: 30px;
}

.brm-home-card,
.brm-release-card,
.brm-player-shell,
.brm-player-card,
.brm-home-series,
.brm-home-crew-card,
.brm-home-archive-card {
    border-radius: 18px !important;
    border: 1px solid rgba(31,169,255,.24) !important;
    background: linear-gradient(
        180deg,
        rgba(13,33,71,.98),
        rgba(7,20,45,.98)
    ) !important;
}

.brm-home-section-title,
.brm-section-title {
    margin-bottom: 14px !important;
    line-height: 1.08 !important;
}

.brm-home-kicker,
.brm-eyebrow {
    font-size: 11px !important;
    letter-spacing: .16em !important;
    font-weight: 800 !important;
    text-transform: uppercase;
}

.brm-home-card a,
.brm-home-series a,
.brm-home-crew-card a,
.brm-home-archive-card a {
    text-decoration: none;
}

.brm-home-series {
    overflow: hidden;
}

.brm-home-series a {
    display: flex;
    align-items: center;
    min-height: 48px;
}

.brm-home-series a:hover,
.brm-home-series a:focus-visible {
    background: rgba(31,169,255,.07);
}

.brm-home-archive-card {
    overflow: hidden;
}

.brm-home-archive-card img {
    display: block;
    object-fit: cover;
}

.brmedia-site-footer {
    padding-top: 40px;
    padding-bottom: 120px;
}

.brmedia-footer-logo {
    width: 138px;
    max-height: 76px;
}

.brmedia-footer-tagline {
    color: #F2A007;
    letter-spacing: .18em;
}

@media (max-width: 700px) {
    .brmedia-site-header {
        min-height: 72px;
        grid-template-columns: 46px minmax(0,1fr) 86px;
        gap: 6px;
    }

    .brmedia-site-brand {
        height: 54px;
    }

    .brmedia-site-brand img {
        max-height: 54px;
    }

    .brmedia-header-action {
        width: 40px;
        height: 40px;
    }

    .brmedia-header-action svg {
        width: 24px;
        height: 24px;
    }

    .brmedia-menu-toggle span {
        width: 25px;
    }

    .brmedia-page-content {
        padding: 14px 8px 70px;
    }
}


/* === BRMedia Pass 3: compact MiniPlayer + mobile shell === */

@media (max-width: 700px) {

    .brm-global-player {
        width: 100% !important;
        max-width: none !important;
        border-radius: 0 !important;
    }

    .brm-mini-fixed {
        min-height: 66px !important;
        padding: 7px 58px 7px 10px !important;
        gap: 8px !important;
    }

    .brm-mini-progress {
        height: 3px !important;
    }

    .brm-global-art {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        border-radius: 9px !important;
    }

    .brm-global-meta {
        min-width: 0 !important;
        overflow: hidden !important;
    }

    .brm-global-title {
        font-size: .88rem !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .brm-global-artist {
        font-size: .73rem !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .brm-mini-controls {
        gap: 2px !important;
    }

    .brm-mini-controls .brm-global-back,
    .brm-mini-controls .brm-global-forward {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
    }

    .brm-mini-controls .brm-global-play {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
    }

    .brm-mini-controls svg {
        max-width: 21px !important;
        max-height: 21px !important;
    }

    .brm-mini-controls .brm-global-play svg {
        max-width: 24px !important;
        max-height: 24px !important;
    }

    .brm-mini-minimise,
    .brm-mini-restore {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        border-width: 2px !important;
    }

    .brm-mini-minimise svg,
    .brm-mini-restore svg {
        width: 22px !important;
        height: 22px !important;
    }

    .brmedia-mobile-menu-inner {
        padding: 4px 18px 10px !important;
    }

    .brmedia-mobile-menu a {
        padding: 11px 4px !important;
        font-size: 15px !important;
    }

    .brmedia-mobile-menu li:last-child {
        border-bottom: 0;
    }
}

/* Ensure page content never disappears beneath the persistent player */
body.brmedia-theme {
    padding-bottom: 76px;
}


/* === Pass 4: content breathing room === */

@media (max-width: 700px) {
    .brmedia-page-content {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .brm-home,
    .brm-homepage,
    .brm-home-section,
    .brm-home-random-section,
    .brm-home-series-section {
        width: 100% !important;
        max-width: 100% !important;
    }
}

@media (min-width: 701px) {
    .brmedia-page-content {
        padding-left: 24px;
        padding-right: 24px;
    }
}


@media (max-width: 700px) {
    .brmedia-page-content {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

html.brm-ajax-loading #brmedia-page-content {
    opacity: .72;
    pointer-events: none;
}

#brmedia-page-content {
    transition: opacity .12s ease;
}

/* === Pass 6: BRMedia archive/category cards === */

.tax-brmedia_player_category .brm-archive-teaser,
.brm-archive-teaser {
    display: grid !important;
    grid-template-columns: 112px minmax(0,1fr) !important;
    gap: 14px !important;
    align-items: center !important;
    margin: 0 0 14px !important;
    padding: 10px !important;
    min-height: 132px !important;
    border: 1px solid rgba(31,169,255,.28) !important;
    border-radius: 16px !important;
    background: #0D2147 !important;
    overflow: hidden !important;
}

.brm-archive-teaser-art {
    width: 112px !important;
    height: 112px !important;
    min-width: 112px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 11px !important;
    background: #07142D !important;
    position: relative !important;
}

.brm-archive-teaser-art img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    margin: 0 !important;
}

/* Missing artwork: compact BRMedia placeholder instead of giant blank space */
.brm-archive-teaser-art:not(:has(img))::before {
    content: "BR";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1FA9FF;
    font-size: 27px;
    font-weight: 900;
    letter-spacing: -.08em;
    background:
        radial-gradient(circle at center, rgba(31,169,255,.12), transparent 60%),
        #07142D;
}

.brm-archive-teaser-copy {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.brm-archive-teaser-copy h2,
.brm-archive-teaser-copy h3,
.brm-archive-teaser-copy h4 {
    margin: 0 0 5px !important;
    color: #FFFFFF !important;
    line-height: 1.16 !important;
}

.brm-archive-teaser-copy p {
    margin: 4px 0 !important;
    line-height: 1.35 !important;
}

.brm-archive-teaser-copy a {
    text-decoration: none !important;
}

.brm-archive-teaser-copy a[href*="brmedia_release"],
.brm-archive-teaser-link {
    color: #1FA9FF !important;
    font-weight: 750 !important;
}

.tax-brmedia_player_category .brmedia-page-content {
    max-width: 980px !important;
}

/* Never allow empty artwork/media wrappers to create tall dead areas */
.brm-archive-teaser-art:empty {
    min-height: 112px !important;
    max-height: 112px !important;
}

@media (max-width: 480px) {
    .tax-brmedia_player_category .brm-archive-teaser,
    .brm-archive-teaser {
        grid-template-columns: 96px minmax(0,1fr) !important;
        min-height: 116px !important;
        gap: 11px !important;
        padding: 9px !important;
    }

    .brm-archive-teaser-art {
        width: 96px !important;
        height: 96px !important;
        min-width: 96px !important;
    }

    .brm-archive-teaser-art:empty {
        min-height: 96px !important;
        max-height: 96px !important;
    }
}


/* Category/archive controls */
.tax-brmedia_player_category .page-title,
.tax-brmedia_player_category .archive-title,
.tax-brmedia_player_category h1 {
    color: #FFFFFF !important;
    margin-top: 4px !important;
    margin-bottom: 18px !important;
    line-height: 1.08 !important;
}

.tax-brmedia_player_category select,
.tax-brmedia_player_category input[type="search"] {
    width: 100% !important;
    min-height: 44px !important;
    border: 1px solid rgba(31,169,255,.35) !important;
    border-radius: 10px !important;
    background: #0D2147 !important;
    color: #FFFFFF !important;
    padding: 8px 12px !important;
}


/* === Pass 7: BRMedia slide-in mega menu === */

.brmedia-mega-backdrop {
    position: fixed;
    inset: 0;
    z-index: 800;
    background: rgba(0,0,0,.58);
    opacity: 0;
    transition: opacity .22s ease;
}

.brmedia-mega-backdrop.is-open {
    opacity: 1;
}

.brmedia-mega-menu {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(92vw,420px);
    z-index: 810;
    background: #07142D;
    border-right: 1px solid rgba(31,169,255,.35);
    transform: translateX(-102%);
    transition: transform .24s ease;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.brmedia-mega-menu.is-open {
    transform: translateX(0);
}

.brmedia-mega-head {
    min-height: 90px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(31,169,255,.22);
}

.brmedia-mega-head img {
    width: 190px;
    max-height: 64px;
    object-fit: contain;
}

.brmedia-mega-close {
    width: 42px;
    height: 42px;
    border: 0;
    background: transparent;
    color: #1FA9FF;
    font-size: 34px;
}

.brmedia-mega-body {
    flex: 1;
    overflow-y: auto;
    padding: 8px 12px 120px;
}

.brmedia-mega-item {
    display: grid;
    grid-template-columns: 52px minmax(0,1fr) 22px;
    gap: 12px;
    align-items: center;
    min-height: 78px;
    padding: 9px 7px;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.brmedia-mega-icon {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    background: #0D2147;
    border: 1px solid rgba(31,169,255,.2);
}

.brmedia-mega-copy a,
.brmedia-mega-open-sub {
    width: 100%;
    display: block;
    border: 0;
    padding: 0;
    text-align: left;
    background: transparent;
    color: #fff;
    text-decoration: none;
}

.brmedia-mega-title {
    display: block;
    color: #1FA9FF;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.15;
}

.brmedia-mega-desc {
    display: block;
    margin-top: 4px;
    color: rgba(255,255,255,.7);
    font-size: 12px;
    line-height: 1.3;
}

.brmedia-mega-arrow {
    color: #F2A007;
    font-size: 26px;
    text-align: right;
}

.brmedia-mega-submenu {
    position: absolute;
    inset: 0;
    z-index: 5;
    background: #07142D;
    transform: translateX(102%);
    transition: transform .22s ease;
    overflow-y: auto;
    padding: 18px 14px 100px;
}

.brmedia-mega-submenu.is-open {
    transform: translateX(0);
}

.brmedia-mega-submenu h2 {
    color: #fff;
    margin: 16px 8px;
}

.brmedia-mega-back {
    border: 0;
    background: transparent;
    color: #1FA9FF;
    font-size: 15px;
    font-weight: 800;
}

.brmedia-mega-profile {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9;
    padding: 12px 18px max(16px,env(safe-area-inset-bottom));
    background: #091A38;
    border-top: 1px solid rgba(31,169,255,.28);
}

.brmedia-mega-profile-label {
    display: block;
    color: #F2A007;
    font-size: 10px;
    letter-spacing: .16em;
    font-weight: 900;
}

.brmedia-mega-profile a {
    display: block;
    margin-top: 4px;
    text-decoration: none;
}

.brmedia-mega-profile strong {
    display: block;
    color: #1FA9FF;
}

.brmedia-mega-profile span {
    color: rgba(255,255,255,.7);
    font-size: 12px;
}

body.brmedia-menu-open {
    overflow: hidden;
}


/* === Pass 8: account header + floating navigation === */

.brmedia-header-avatar {
    width: 38px;
    height: 38px;
    display: block;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #1FA9FF;
}

.brmedia-account-link svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: #1FA9FF;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.brmedia-header-right {
    justify-content: flex-end;
}

.brmedia-menu-toggle.is-floating {
    position: fixed !important;
    right: 14px !important;
    top: 18px !important;
    z-index: 790 !important;
    width: 52px !important;
    height: 52px !important;
    border-radius: 50% !important;
    background: #0D2147 !important;
    border: 2px solid #1FA9FF !important;
    box-shadow: 0 7px 20px rgba(0,0,0,.28) !important;
}

.brmedia-menu-toggle.is-floating span {
    width: 25px !important;
}

.brmedia-mega-profile-row {
    display: grid !important;
    grid-template-columns: 48px minmax(0,1fr) !important;
    gap: 11px !important;
    align-items: center !important;
    margin-top: 7px !important;
}

.brmedia-mega-profile-avatar {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0D2147;
    border: 2px solid #1FA9FF;
}

.brmedia-mega-profile-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.brmedia-mega-profile-avatar svg {
    width: 25px;
    height: 25px;
    fill: none;
    stroke: #1FA9FF;
    stroke-width: 1.8;
}

.brmedia-mega-profile-copy {
    min-width: 0;
}

.brmedia-mega-profile-copy strong,
.brmedia-mega-profile-copy span {
    display: block;
}


/* Larger main header logo */
.brmedia-site-brand {
    width: min(390px,100%) !important;
    height: 72px !important;
}

.brmedia-site-brand img {
    max-height: 72px !important;
    width: auto !important;
}

@media (max-width: 700px) {
    .brmedia-site-brand {
        width: min(230px,100%) !important;
        height: 66px !important;
    }

    .brmedia-site-brand img {
        max-height: 66px !important;
    }
}


/* Larger BRMedia branding */
.brmedia-site-brand {
    width: min(440px,100%) !important;
    height: 82px !important;
}

.brmedia-site-brand img {
    width: min(440px,100%) !important;
    max-height: 82px !important;
    object-fit: contain !important;
}

.brmedia-mega-head img {
    width: min(440px,100%) !important;
    max-height: 82px !important;
    object-fit: contain !important;
}

@media (max-width: 700px) {
    .brmedia-site-brand {
        width: min(280px,100%) !important;
        height: 74px !important;
    }

    .brmedia-site-brand img {
        width: min(280px,100%) !important;
        max-height: 74px !important;
    }

    .brmedia-mega-head img {
        width: min(280px,100%) !important;
        max-height: 74px !important;
    }
}


/* === Pass 9: mathematically centred header branding === */

.brmedia-site-header {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.brmedia-site-brand {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%,-50%) !important;
    width: min(440px,58vw) !important;
    height: 82px !important;
    margin: 0 !important;
    z-index: 1 !important;
}

.brmedia-site-brand img {
    width: 100% !important;
    height: 100% !important;
    max-height: 82px !important;
    object-fit: contain !important;
}

.brmedia-account-link,
.brmedia-header-right {
    position: relative !important;
    z-index: 2 !important;
}

.brmedia-header-right {
    margin-left: auto !important;
}

@media (max-width:700px) {
    .brmedia-site-brand {
        width: min(290px,57vw) !important;
        height: 76px !important;
    }

    .brmedia-site-brand img {
        max-height: 76px !important;
    }
}


/* === Pass 10: WordPress admin-bar safe mega navigation === */

body.admin-bar .brmedia-mega-menu {
    top: 32px !important;
    height: calc(100dvh - 32px) !important;
}

body.admin-bar .brmedia-mega-backdrop {
    top: 32px !important;
}

@media screen and (max-width:782px) {
    body.admin-bar .brmedia-mega-menu {
        top: 46px !important;
        height: calc(100dvh - 46px) !important;
    }

    body.admin-bar .brmedia-mega-backdrop {
        top: 46px !important;
    }
}

.brmedia-mega-head {
    flex: 0 0 auto !important;
    min-height: 108px !important;
    padding: 12px 18px !important;
}

.brmedia-mega-head img {
    width: min(440px,78%) !important;
    max-height: 90px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}


/* Real BRMedia mega-menu icons */
.brmedia-mega-icon {
    background: transparent !important;
    border: 0 !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.brmedia-mega-icon img {
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    object-fit: contain !important;
}

.brmedia-mega-icon svg {
    width: 31px !important;
    height: 31px !important;
    fill: none !important;
    stroke: #1FA9FF !important;
    stroke-width: 1.8 !important;
}


/* Category/archive header breathing room */
.brm-archive-sort,
.brm-archive-filters,
.brm-category-sort {
    margin-top: 22px !important;
}

.brmedia-page-content > form:first-child,
.brmedia-page-content > .brm-archive-sort:first-child,
.brmedia-page-content > .brm-archive-filters:first-child {
    margin-top: 20px !important;
}


/* BRMedia native widget zones */
.brmedia-widget-zone {
    width: 100%;
    max-width: 1180px;
    margin: 28px auto;
}

.brmedia-widget {
    margin: 0 0 22px;
    padding: 18px;
    border: 1px solid rgba(31,169,255,.28);
    border-radius: 18px;
    background: #0D2147;
}

.brmedia-widget-title {
    margin: 0 0 14px;
    color: #FFFFFF;
    font-size: 1.25rem;
}

@media (max-width:700px) {
    .brmedia-widget-zone {
        padding-left: 18px;
        padding-right: 18px;
    }
}


/* My BRMedia unified account */
.brm-profile-account-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 12px;
}

.brm-profile-password,
.brm-profile-wp-options {
    margin-top:18px;
    padding-top:12px;
    border-top:1px solid rgba(31,169,255,.18);
}

.brm-profile-password h3,
.brm-profile-wp-options h3 {
    color:#F2A007;
    margin:0 0 8px;
}

.brm-profile-card input[readonly],
.brm-profile-card input:disabled {
    opacity:.65;
    cursor:not-allowed;
}

@media(max-width:600px) {
    .brm-profile-account-grid {
        grid-template-columns:1fr;
    }
}


/* MiniPlayer controls must respect their real visibility state */
.brm-mini-restore[hidden],
.brm-mini-minimise[hidden] {
    display: none !important;
}

/* Restore/EQ control is only for the collapsed MiniPlayer state */
.brm-global-player:not([hidden]) .brm-mini-restore[hidden] {
    display: none !important;
}


/* === Pass 12: Release sharing + comments === */

.brmedia-release-share,
.brmedia-comments {
    margin:30px 0 0;
    padding:20px;
    border:1px solid rgba(31,169,255,.28);
    border-radius:18px;
    background:#0D2147;
}

.brmedia-section-kicker {
    margin-bottom:5px;
    color:#F2A007;
    font-size:10px;
    font-weight:900;
    letter-spacing:.16em;
}

.brmedia-release-share h2,
.brmedia-comments > h2 {
    margin:0 0 16px;
    color:#fff;
}

.brmedia-share-buttons {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}

.brmedia-share-buttons a {
    display:flex;
    min-height:44px;
    align-items:center;
    justify-content:center;
    padding:8px 10px;
    border:1px solid rgba(31,169,255,.45);
    border-radius:12px;
    background:#07142D;
    color:#1FA9FF !important;
    font-weight:800;
    text-decoration:none !important;
}

.brmedia-comment-list {
    list-style:none;
    padding:0;
    margin:0 0 22px;
}

.brmedia-comment {
    margin:0 0 12px;
}

.brmedia-comment-card {
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:12px;
    padding:14px;
    border:1px solid rgba(31,169,255,.24);
    border-radius:15px;
    background:#07142D;
}

.brmedia-comment-avatar img {
    width:52px;
    height:52px;
    border-radius:50%;
}

.brmedia-comment-head {
    display:flex;
    gap:10px;
    align-items:center;
    justify-content:space-between;
}

.brmedia-comment-head strong {
    color:#1FA9FF;
}

.brmedia-comment-time {
    border:1px solid rgba(242,160,7,.65);
    border-radius:999px;
    background:transparent;
    color:#F2A007;
    padding:5px 10px;
    font-weight:800;
}

.brmedia-comment-text {
    margin-top:7px;
    color:#fff;
}

.brmedia-comment-meta,
.brmedia-no-comments,
.brmedia-comment-awaiting {
    margin-top:7px;
    color:rgba(255,255,255,.62);
    font-size:.78rem;
}

.brmedia-comments textarea,
.brmedia-comments input[type="text"],
.brmedia-comments input[type="email"],
.brmedia-comments input[type="url"] {
    width:100%;
    border:1px solid rgba(31,169,255,.34);
    border-radius:10px;
    background:#07142D;
    color:#fff;
    padding:11px;
}

.brmedia-comment-submit {
    min-height:44px;
    border:0;
    border-radius:12px;
    padding:10px 18px;
    background:#1FA9FF;
    color:#07142D;
    font-weight:900;
}

@media(max-width:600px) {
    .brmedia-share-buttons {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}


/* Official-style social sharing buttons */

.brmedia-share-buttons a {
    gap:9px;
    border:0 !important;
    color:#fff !important;
    font-weight:850;
}

.brmedia-share-buttons svg {
    width:22px;
    height:22px;
    fill:currentColor;
    flex:0 0 auto;
}

.brmedia-share-facebook {
    background:#1877F2 !important;
}

.brmedia-share-x {
    background:#000000 !important;
    border:1px solid rgba(255,255,255,.18) !important;
}

.brmedia-share-whatsapp {
    background:#25D366 !important;
}

.brmedia-share-email {
    background:#F2A007 !important;
    color:#07142D !important;
}

.brmedia-share-buttons a:active {
    transform:scale(.97);
}


/* Waveform overlapping-comment navigation */

.brm-live-comment-counter {
    margin-left:7px;
    color:#F2A007;
    font-size:.75rem;
    font-weight:850;
}

.brm-live-comment-actions {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:8px;
}

.brm-live-comment-actions button {
    min-height:32px;
    padding:5px 9px;
    border-radius:999px;
    font-size:.75rem;
    font-weight:800;
    cursor:pointer;
}

.brm-live-comment-next {
    border:1px solid #1FA9FF;
    background:#1FA9FF;
    color:#07142D;
}

.brm-live-comment-view-all {
    border:1px solid rgba(255,255,255,.28);
    background:#07142D;
    color:#FFFFFF;
}


/* Fix My BRMedia Continue Listening button */
.brm-profile-card a.brm-profile-primary {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:44px !important;
    padding:10px 18px !important;
    border-radius:12px !important;
    background:#1FA9FF !important;
    color:#07142D !important;
    font-weight:900 !important;
    text-decoration:none !important;
    opacity:1 !important;
    visibility:visible !important;
}

.brm-profile-card a.brm-profile-primary:visited,
.brm-profile-card a.brm-profile-primary:hover,
.brm-profile-card a.brm-profile-primary:focus {
    color:#07142D !important;
}


/* === Pass 13: header breathing room === */

.brmedia-site-header {
    min-height: 112px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

.brmedia-site-brand {
    height: 90px !important;
}

.brmedia-site-brand img {
    max-height: 90px !important;
}

@media (max-width:700px) {
    .brmedia-site-header {
        min-height: 106px !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }

    .brmedia-site-brand {
        height: 84px !important;
    }

    .brmedia-site-brand img {
        max-height: 84px !important;
    }
}


/* BRMedia category page heading */
.brmedia-category-header {
    margin: 8px 0 28px !important;
}

.brmedia-category-kicker {
    margin-bottom: 7px;
    color: #F2A007;
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.brmedia-category-header h1 {
    margin: 0 !important;
    color: #FFFFFF !important;
    font-size: clamp(2rem,7vw,3.4rem) !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
}

.brmedia-category-header + * {
    margin-top: 0 !important;
}

/* Keep filter/sort card away from title/header */
.brm-archive-sort,
.brm-archive-filters,
.brm-category-sort {
    margin-top: 26px !important;
}

@media(max-width:700px) {
    .brmedia-category-header {
        margin-top: 10px !important;
        margin-bottom: 24px !important;
    }
}


/* Stronger archive/card titles */
.brm-archive-title {
    font-weight: 950 !important;
    color: #FFFFFF !important;
    letter-spacing: -.01em;
}


/* Archive/card release titles */
.brm-archive-title {
    color:#1FA9FF !important;
    font-weight:950 !important;
    letter-spacing:-.01em;
}


/* === Pass 14: header search drawer === */

.brmedia-search-toggle svg {
    width:26px;
    height:26px;
    fill:none;
    stroke:#1FA9FF;
    stroke-width:2;
    stroke-linecap:round;
}

.brmedia-header-right {
    gap:6px !important;
}

.brmedia-header-search {
    position:relative;
    z-index:480;
    width:100%;
    background:#091A38;
    border-bottom:1px solid rgba(31,169,255,.35);
    transform:translateY(-12px);
    opacity:0;
    transition:transform .22s ease, opacity .22s ease;
}

.brmedia-header-search.is-open {
    transform:translateY(0);
    opacity:1;
}

.brmedia-header-search-inner {
    max-width:1180px;
    margin:0 auto;
    padding:14px 18px;
}

.brmedia-header-search-form {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:8px;
    align-items:center;
}

.brmedia-header-search-form input[type="search"] {
    width:100%;
    min-height:46px;
    padding:10px 13px;
    border:1px solid rgba(31,169,255,.38);
    border-radius:12px;
    background:#07142D;
    color:#fff;
    outline:none;
}

.brmedia-header-search-form input[type="search"]:focus {
    border-color:#1FA9FF;
    box-shadow:0 0 0 2px rgba(31,169,255,.14);
}

.brmedia-search-submit {
    min-height:46px;
    padding:0 16px;
    border:0;
    border-radius:12px;
    background:#1FA9FF;
    color:#07142D;
    font-weight:900;
}

.brmedia-search-close {
    width:42px;
    height:42px;
    border:0;
    background:transparent;
    color:#1FA9FF;
    font-size:30px;
    line-height:1;
}

@media(max-width:700px) {
    .brmedia-header-search-inner {
        padding:10px 14px 12px;
    }

    .brmedia-header-search-form {
        grid-template-columns:minmax(0,1fr) 42px;
    }

    .brmedia-search-submit {
        grid-column:1 / -1;
        order:3;
        width:100%;
    }
}


/* Compact category sorting */
.brmedia-category-sort {
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:10px;
    align-items:end;
    margin:0 0 24px;
    padding:12px;
    border:1px solid rgba(31,169,255,.28);
    border-radius:14px;
    background:#0D2147;
}

.brmedia-category-sort label {
    display:block;
}

.brmedia-category-sort label > span {
    display:block;
    margin-bottom:5px;
    color:rgba(255,255,255,.7);
    font-size:.74rem;
    font-weight:800;
}

.brmedia-category-sort select {
    width:100%;
    min-height:40px;
    padding:7px 10px;
    border:1px solid rgba(31,169,255,.35);
    border-radius:9px;
    background:#07142D;
    color:#fff;
    font-weight:750;
}

.brmedia-category-sort button {
    min-height:40px;
    padding:7px 15px;
    border:0;
    border-radius:9px;
    background:#1FA9FF;
    color:#07142D;
    font-weight:900;
}

@media(max-width:600px) {
    .brmedia-category-sort {
        grid-template-columns:1fr 1fr;
    }

    .brmedia-category-sort button {
        grid-column:1 / -1;
        width:100%;
    }
}


/* Header controls: white icons */
.brmedia-account-link svg,
.brmedia-search-toggle svg,
.brmedia-menu-toggle {
    color:#FFFFFF !important;
}

.brmedia-account-link svg,
.brmedia-search-toggle svg {
    stroke:#FFFFFF !important;
}

.brmedia-menu-toggle span {
    background:#FFFFFF !important;
}

/* Keep avatar border blue */
.brmedia-header-avatar {
    border-color:#1FA9FF !important;
}


/* White dropdown chevrons for BRMedia selects */
.brmedia-category-sort select,
.brm-archive-sort select,
.brm-archive-filters select,
.brm-category-sort select {
    -webkit-appearance:none !important;
    appearance:none !important;

    padding-right:42px !important;

    background-color:#07142D !important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") !important;
    background-repeat:no-repeat !important;
    background-position:right 13px center !important;
    background-size:18px 18px !important;

    color:#FFFFFF !important;
}


/* === BRMedia Download page polish === */

.brm-downloads {
    max-width:980px;
    margin:0 auto;
}

.brm-downloads-platforms {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px !important;
    margin:24px 0 30px !important;
}

.brm-downloads-platforms > * {
    position:relative;
    padding:22px !important;
    border:1px solid rgba(31,169,255,.32) !important;
    border-radius:20px !important;
    background:#0D2147 !important;
    overflow:hidden;
}

.brm-downloads-platforms > *:before {
    display:flex;
    align-items:center;
    justify-content:center;
    width:54px;
    height:54px;
    margin-bottom:14px;
    border-radius:50%;
    background:#07142D;
    border:1px solid rgba(31,169,255,.35);
    color:#fff;
    font-size:26px;
    font-weight:900;
}

.brm-downloads-platforms > *:first-child:before {
    content:"A";
    color:#1FA9FF;
}

.brm-downloads-platforms > *:nth-child(2):before {
    content:"";
    color:#fff;
}

.brm-downloads-platforms h2,
.brm-downloads-platforms h3,
.brm-downloads-platforms strong {
    color:#fff !important;
}

.brm-downloads-platforms p,
.brm-downloads-platforms li,
.brm-downloads-platforms small {
    color:#A9BCD2 !important;
}

.brm-downloads-platforms a {
    width:100%;
    min-height:48px;
    display:flex !important;
    align-items:center;
    justify-content:center;
    margin-top:16px !important;
    padding:10px 16px !important;
    border:0 !important;
    border-radius:12px !important;
    background:#1FA9FF !important;
    color:#07142D !important;
    font-size:15px !important;
    font-weight:900 !important;
    text-decoration:none !important;
    box-shadow:none !important;
}

.brm-downloads-platforms a img {
    display:none !important;
}

.brm-downloads-platforms > *:first-child a:after {
    content:"Android · Coming soon";
}

.brm-downloads-platforms > *:nth-child(2) a:after {
    content:"iPhone · Coming soon";
}

.brm-downloads-platforms a {
    font-size:0 !important;
}

.brm-downloads-platforms a:after {
    font-size:15px !important;
}

.brm-downloads-section,
.brm-downloads-brand-block,
.brm-downloads-cta {
    border-radius:18px !important;
}

.brm-downloads-cta-buttons a {
    min-height:46px;
    border-radius:12px !important;
    font-weight:900 !important;
}

@media(max-width:700px) {
    .brm-downloads-platforms {
        grid-template-columns:1fr !important;
    }

    .brm-downloads-platforms > * {
        padding:18px !important;
    }
}

/* BRM store button hotfix */
.brm-downloads-platforms a,
.brm-downloads-platforms .wp-block-button__link{
  font-size:15px!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  color:#07142D!important;
  background:#F2A007!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:12px 16px!important;
  min-height:48px!important;
  width:100%!important;
  white-space:normal!important;
  text-decoration:none!important;
}
.brm-downloads-platforms a:after,
.brm-downloads-platforms .wp-block-button__link:after{content:none!important;}
.brm-downloads-platforms a img,
.brm-downloads-platforms .wp-block-button__link img{display:none!important;}
.brm-downloads-platforms > *:first-child a::before,
.brm-downloads-platforms > *:first-child .wp-block-button__link::before{
  content:"";
  width:22px;height:22px;flex:0 0 22px;
  background:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 512 512%27%3E%3Cpolygon points=%2748,32 48,480 288,256%27 fill=%27%2334A853%27/%3E%3Cpolygon points=%2748,32 384,224 288,256%27 fill=%27%234285F4%27/%3E%3Cpolygon points=%27384,224 464,272 384,320 288,256%27 fill=%27%23FBBC04%27/%3E%3Cpolygon points=%2748,480 384,320 288,256%27 fill=%27%23EA4335%27/%3E%3C/svg%3E") no-repeat center/contain;
}
.brm-downloads-platforms > *:nth-child(2) a::before,
.brm-downloads-platforms > *:nth-child(2) .wp-block-button__link::before{
  content:"";
  font-size:22px;
  line-height:1;
  color:#07142D;
}

/* Footer legal links + highlighted copyright */
.brmedia-footer-blue {
    color:#1FA9FF !important;
}

.brmedia-site-footer {
    padding-bottom:18px !important;
    min-height:0 !important;
}

.brmedia-legal-links {
    margin-top:6px !important;
    padding:6px 18px 18px !important;
    gap:16px !important;
}

