/* Styles for Boston Musicians Theme */

/* Mobile Menu */
.mobile-menu {
    top: 154px;
}

.admin-bar .mobile-menu {
    top: calc(154px + 32px)
}

@media only screen and (min-width: 800px) {
    .mobile-menu {
        top: 167px;
    }

    .admin-bar .mobile-menu {
        top: calc(167px + 32px)
    }
}

html {
    scroll-behavior: smooth;
}

:root {
    --bm-red: #ED313A;
    --bm-red-film: rgba(237, 49, 58, 0.8);
    --bm-blue: #53668D;
    --bm-blue-film: rgba(83, 102, 141, .5);
    --bm-black: #3D3D3D;
    --color-black: var(--bm-black);
    --bm-white: #FFFFFF;
    --color-white: var(--bm-white);
    --bm-alt-white: #F4F4F4;
    --bm-gray: #DCDCDC;
    --color-success: #7BC559;

    --font-size-ml: calc(calc(var(--font-size-md) + var(--font-size-lg)) / 2);
    --font-size-ms: calc(calc(var(--font-size-md) + var(--font-size-sm)) / 2);
    --font-size-sx: calc(calc(var(--font-size-xs) + var(--font-size-sm)) / 2);

    --bm-transition: all ease-in-out 90ms;

    --button-border-radius: 6px;
    --button-border: 2px solid var(--button-background, var(--color-primary));
    --button-background-hover: transparent;
    --button-color-hover: var(--button-background, var(--color-primary));

    --button-secondary-background: var(--bm-blue);
    --button-secondary-background-hover: transparent;

    --button-secondary-color-hover: var(--bm-blue);

    --bm-border-radius-sm: 6px;
    --bm-border-radius-md: 16px;
    --bm-border-radius-bubble: 2rem;

    --bm-box-shadow: 0 0 15px rgba(0, 0, 0, .1);
    --bm-box-shadow-top: -5px -5px 15px rgba(0, 0, 0, .1);
}

@media only screen and (max-width: 499px) {
    .hide-mobile {
        display: none;
    }
}

body.logged-in .hide-logged-in {
    display: none;
}

body:not(.logged-in) .hide-logged-out {
    display: none;
}

body:not(.logged-in) .has-member-submenu .sub-menu {
    display: none;
}
body:not(.logged-in) .has-member-submenu a:after {
    display: none;
}

.no-link-item {
    --menu-item-link-text-decoration-hover: none !important;
}

.lg-margin-top {
    margin-top: var(--spacing-lg);
}

.preheading {
    font-family: var(--body-font-family);
    font-weight: 400;
    text-transform: uppercase;
    font-size: var(--font-size-ms);
    letter-spacing: 2px;
}

/* WP Overrides */
:root :where(.wp-block-cover h1:not(.has-text-color)),
:root :where(.wp-block-cover h2:not(.has-text-color)),
:root :where(.wp-block-cover h3:not(.has-text-color)),
:root :where(.wp-block-cover h4:not(.has-text-color)),
:root :where(.wp-block-cover h5:not(.has-text-color)),
:root :where(.wp-block-cover h6:not(.has-text-color)) {
    color: var(--heading-color, var(--color-heading)) !important;
}

:root :where(.wp-block-cover p:not(.has-text-color)) {
    color: var(--body-color, var(--color-body)) !important;
}

/* Before Header */
.before-header .bh-links {
    gap: 1.2rem;
}

.before-header a {
    font-size: var(--font-size-ms);
}

.before-header .wp-block-search .wp-block-search__input {
    padding: .5em;
    border-radius: 6px;
}

.before-header .wp-block-search button {
    padding: .25em .8em;
    --button-background-hover: var(--bm-white);
    --button-color-hover: var(--bm-blue) !important;
    --button-border-hover: 2px solid var(--bm-blue) !important;
}

@media only screen and (max-width: 799px) {
    .before-header .wp-block-search {
        display: none;
    }

    .before-header .bh-container {
        justify-content: end;
    }
}

@media only screen and (max-width: 499px) {
    .before-header .sc-view-profile {
        display: none;
    }
}

/* Nav Buttons */
.nav-header .genesis-nav-menu>li {
    --menu-item-link-color-hover: var(--bm-red);
}

.mobile-menu .menu-item-button {
    flex-basis: 46%;
}

.mobile-menu .button,
.nav-header .button {
    --button-background: var(--bm-red);
    --button-color: var(--bm-white);
    --button-color-hover: var(--bm-red);
    transition: var(--bm-transition);
}

.mobile-menu .button.menu-item-link-current,
.nav-header .button.menu-item-link-current {
    --button-background: var(--bm-white);
    --button-color: var(--bm-red);
    color: var(--button-color);
    --button-background-hover: var(--bm-red);
    --button-color-hover: var(--bm-white);
}

.mobile-menu .button.menu-item-link-current:hover,
.nav-header .button.menu-item-link-current:hover {
    color: var(--button-color-hover);
}

.mobile-menu .button.button-secondary,
.nav-header .button.button-secondary,
button.button-secondary,
.button.button-secondary {
    --button-border: 2px solid var(--button-secondary-background);
    --button-background: var(--bm-blue);
    --button-color-hover: var(--bm-blue);
}

.mobile-menu .button.button-secondary.menu-item-link-current,
.nav-header .button.button-secondary.button.menu-item-link-current {
    --button-background: transparent;
    --button-color: var(--bm-blue);
    --button-background-hover: var(--bm-blue);
    --button-color-hover: var(--bm-white);
}

.menu-item-button:not(.menu-item-last) {
    margin-right: 0;
}

button,
.button {
    transition: var(--bm-transition);
}

button.button-primary-outline,
.button.button-primary-outline {
    --button-background: transparent;
    --button-color: var(--bm-red);
    --button-background-hover: var(--bm-red);
    --button-color-hover: var(--bm-white);
}

.woocommerce-button {
    --button-background: var(--bm-blue);
    --button-color: var(--bm-white);
    --button-color-hover: var(--bm-blue);
    --button-border: 2px solid var(--bm-blue);
}

.has-background-dim:not(.has-white-background-color)~.wp-block-cover__inner-container .button:not(.button-link),
.has-background-dim:not(.has-white-background-color)~.wp-block-cover__inner-container .button.button-secondary {
    --button-color-hover: var(--bm-white);
    --button-border-hover: 2px solid var(--bm-white);
}

.has-background-dim:not(.has-white-background-color)~.wp-block-cover__inner-container .button.button-outline {
    --button-color-hover: var(--bm-red);
}

.button.button-white-outline,
.button-white-outline .button {
    --button-background: transparent;
    --button-color: var(--bm-white);
    --button-color-hover: var(--bm-red) !important;
    --button-background-hover: var(--bm-white);
    --button-border: 2px solid var(--bm-white);
}

.button-twins {
    display: flex;
    flex-direction: row;
    gap: .5rem;
}

/* Gravity Forms */
body .gform_wrapper .gform_footer input[type=submit] {
    background-color: var(--button-background, var(--color-primary)) !important;
    color: var(--button-color) !important;
    font-weight: var(--button-font-weight, var(--body-font-weight)) !important;
    text-transform: var(--button-text-transform, none) !important;
    font-family: var(--button-font-family, var(--body-font-family)) !important;
    border-radius: var(--button-border-radius, var(--border-radius)) !important;
    border: var(--button-border, 0) !important;
}

body .gform_wrapper .gform_footer input[type=submit]:hover,
body .gform_wrapper .gform_footer input[type=submit]:active,
body .gform_wrapper .gform_footer input[type=submit]:focus {
    background-color: var(--button-background-hover, var(--color-primary-dark, var(--button-background, var(--color-primary)))) !important;
    border: var(--button-border-hover, var(--button-border, 0)) !important;
    color: var(--button-color-hover, var(--button-color)) !important;
}

.gform-theme--foundation .gform_fields {
    row-gap: var(--spacing-md);
}

/* Popup Maker */
button.pum-close:hover {
    background: var(--bm-blue) !important;
    color: var(--bm-white) !important;
}


/* WooCommerce Shop */
.woocommerce-shop .woocommerce-result-count,
.woocommerce-shop .woocommerce-ordering {
    display: none;
}

/* BM Social Icons - single musician */
.bm-social-icons {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .75rem;
    --bm-icon-size: 1.75rem;
    --bm-icon-color: var(--bm-black);
    --bm-icon-hover-color: var(--bm-white);
}

.bm-social-icons a {
    display: flex;
    align-items: center;
    gap: .35rem;
    --link-color: var(--bm-black);
    --link-text-decoration: none;
    --link-text-decoration-hover: none;
    --link-color-hover: var(--bm-white);
    background: var(--bm-gray);
    border-radius: 2rem;
    line-height: 1.1;
    padding: 0 1em;
    transition: var(--bm-transition);
}

.bm-social-icons a:hover,
.bm-social-icons a:active,
.bm-social-icons a:focus {
    background: var(--bm-blue);
    --link-color: var(--link-color-hover);
    --bm-icon-color: var(--bm-icon-hover-color);
}

.bm-social-icon {
    display: inline-block;
    width: var(--bm-icon-size);
    height: var(--bm-icon-size);
    background-color: var(--bm-icon-color);
    transition: background-color 0.2s ease;
}

.bm-social-icon:hover,
.bm-social-icon:focus {
    background-color: var(--bm-icon-hover-color);
    outline: none;
}

.bm-social-name {
    padding: .5em 0;
}

.bm-bandcamp {
    -webkit-mask: url("../img/icons/bandcamp.svg") no-repeat center;
    mask: url("../img/icons/bandcamp.svg") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bm-spotify {
    -webkit-mask: url("../img/icons/spotify.svg") no-repeat center;
    mask: url("../img/icons/spotify.svg") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bm-patreon {
    -webkit-mask: url("../img/icons/patreon.svg") no-repeat center;
    mask: url("../img/icons/patreon.svg") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bm-substack {
    -webkit-mask: url("../img/icons/substack.svg") no-repeat center;
    mask: url("../img/icons/substack.svg") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bm-facebook {
    -webkit-mask: url("../img/icons/facebook.svg") no-repeat center;
    mask: url("../img/icons/facebook.svg") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bm-youtube {
    -webkit-mask: url("../img/icons/youtube.svg") no-repeat center;
    mask: url("../img/icons/youtube.svg") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bm-linkedin {
    -webkit-mask: url("../img/icons/linkedin.svg") no-repeat center;
    mask: url("../img/icons/linkedin.svg") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bm-instagram {
    -webkit-mask: url("../img/icons/instagram.svg") no-repeat center;
    mask: url("../img/icons/instagram.svg") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bm-x {
    -webkit-mask: url("../img/icons/twitter.svg") no-repeat center;
    mask: url("../img/icons/twitter.svg") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bm-bluesky {
    -webkit-mask: url("../img/icons/bluesky.svg") no-repeat center;
    mask: url("../img/icons/bluesky.svg") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bm-threads {
    -webkit-mask: url("../img/icons/threads.svg") no-repeat center;
    mask: url("../img/icons/threads.svg") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bm-tiktok {
    -webkit-mask: url("../img/icons/tiktok.svg") no-repeat center;
    mask: url("../img/icons/tiktok.svg") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.bm-website {
    -webkit-mask: url("../img/icons/globe.svg") no-repeat center;
    mask: url("../img/icons/globe.svg") no-repeat center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* Section Defaults */
.site-inner section {
    padding-top: var(--spacing-lg);
    padding-bottom: var(--spacing-lg);
}

/* Musician Profiles */
.pronouns {
    white-space: nowrap;
}

.musician-detail-bubbles {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .75rem;
}

.musician-detail-bubble {
    --link-color: var(--bm-black);
    --link-text-decoration: none;
    --link-text-decoration-hover: none;
    --link-color-hover: var(--bm-white);
    background: var(--bm-gray);
    border-radius: var(--bm-border-radius-bubble);
    line-height: 1.1;
    padding: .5em 1em;
    transition: var(--bm-transition);
}

.musician-detail-bubble:hover,
.musician-detail-bubble:active,
.musician-detail-bubble:focus {
    background: var(--bm-blue);
    --link-color: var(--link-color-hover);
}

/* Responsive Video Embeds */
.embed-wrap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9 */
    overflow: hidden;
}

.embed-wrap iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* Masonry Galleries */
.bm-grid {
    --bm-row: 8px;
    --bm-gap: 12px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    grid-auto-rows: var(--bm-row);
    gap: var(--bm-gap);
    list-style: none;
    margin: 0;
    padding: 0
}

.bm-masonry .bm-item {
    height: auto;
    aspect-ratio: auto;
}

.bm-masonry .bm-item {
    display: block;
    cursor: zoom-in;
    outline: none;
}

.bm-item .bm-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    transition: var(--bm-transition);
}

.bm-item .bm-img:hover {
    transform: scale(1.03);
    cursor: zoom-in;
}

/* Lightbox overlay */
.bm-lightbox[hidden] {
    display: none;
}

.bm-lightbox {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    background: rgba(0, 0, 0, .92);
}

.bm-lightbox__backdrop {
    position: absolute;
    inset: 0;
}

.bm-lightbox__stage {
    position: relative;
    margin: 0;
    max-width: 90vw;
    max-height: 90vh;
}

.bm-lightbox__img {
    display: block;
    max-width: 90vw;
    max-height: 80vh;
    width: auto;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .5);
}

.bm-lightbox__cap {
    margin-top: .5rem;
    color: #f2f2f2;
    font-size: .95rem;
    text-align: center;
    min-height: 1.2em;
}

.bm-lightbox__close,
.bm-lightbox__close:hover,
.bm-lightbox__close:active,
.bm-lightbox__close:focus {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 0;
    color: #fff;
    font-size: 28px;
    line-height: 40px;
    cursor: pointer;
}

.bm-lightbox__nav,
.bm-lightbox__nav:hover,
.bm-lightbox__nav:active,
.bm-lightbox__nav:focus {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 64px;
    border: 0;
    border-radius: 8px;
    color: #fff;
    font-size: 28px;
    cursor: pointer;
}

.bm-lightbox__prev {
    left: 16px;
}

.bm-lightbox__next {
    right: 16px;
}

.bm-lightbox__nav,
.bm-lightbox__close {
    background: rgba(255, 255, 255, .12);
}

.bm-lightbox__nav:hover,
.bm-lightbox__close:hover {
    background: rgba(255, 255, 255, .2);
}

.bm-lightbox__count {
    position: absolute;
    bottom: 16px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: .9rem;
    background: rgba(0, 0, 0, .35);
    padding: .25rem .5rem;
    border-radius: 6px;
}

body.bm-no-scroll {
    overflow: hidden;
}

/* Musicians Archive */
.bm-justified {
    --row-h: 220px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-content: flex-start;
    justify-content: space-around;
}

.bm-justified .bm-item[hidden] {
    display: none !important;
}

.bm-block .bm-justified {
    justify-content: space-around;
}

.bm-justified .bm-item {
    height: var(--row-h);
    aspect-ratio: max(var(--ar, 1), 0.75);
    flex: 0 0 auto;
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    background: #111;
}

.bm-card-media {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

.bm-card-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.bm-card-fallback {
    position: absolute;
    inset: 0;
    background: var(--bm-red);
}

.bm-card-overlay {
    position: absolute;
    inset: auto 0 0 0;
    padding: 10px 12px;
    background: linear-gradient(to top, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0));
    color: #fff;
    display: grid;
    gap: 6px;
}

.bm-card-title {
    margin: 0;
    font-size: 1rem;
    line-height: 1.25;
    /* white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; */
}

.bm-card-titlelink {
    --link-color: var(--bm-white);
    --link-color-hover: var(--bm-gray);
}

.bm-card-row,
.bm-card-terms,
.bm-card-intro {
    margin: 0;
    font-size: .85rem;
    line-height: 1.2;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.bm-card-terms {
    -webkit-line-clamp: 1;
}

.bm-card-intro {
    -webkit-line-clamp: 2;
    opacity: .9;
}

.bm-ico {
    width: 14px;
    height: 14px;
}

/* Archive Pagination */ 
.bm-pagination {
	display: flex;
	flex-direction: row; 
	justify-content: center;
	gap: 1rem;
	margin: var(--spacing-lg) 0 var(--spacing-md) 0;
}

.bm-pagination .page-numbers.prev, 
.bm-pagination .pagae-numbers.next {
    display: flex;
    align-items: center;
}

.bm-pagination .page-numbers:not(.prev, .next) {
	background: var(--bm-blue);
	border-radius: 50%;
	width: 2em;
	height: 2em;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--bm-white);
	border: 2px solid var(--bm-blue);
}

.bm-pagination .page-numbers:not(.prev, .next):hover,
.bm-pagination .page-numbers.current {
	background: transparent; 
	color: var(--bm-blue);
	text-decoration: none;
}

/* Archive Drawer */
.bm-archive-musicians .bm-item {
    position: relative;
}

.bm-archive-musicians .bm-card-media,
.bm-archive-musicians .bm-card-img {
    display: block;
    width: 100%;
    height: auto;
}

.bm-archive-musicians .bm-card-drawer {
    --bar-h: 2.75rem;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--bm-red-film);
    color: #fff;
    transform: translateY(calc(100% - var(--bar-h)));
    transition: transform 260ms cubic-bezier(.2, .8, .2, 1);
    z-index: 2;
    backdrop-filter: blur(10px) saturate(115%);
    -webkit-backdrop-filter: blur(10px) saturate(115%);
    /* Safari */
    isolation: isolate;
}

.bar-hidden.bm-archive-musicians .bm-card-drawer {
    --bar-h: 0rem;
}

.bar-hidden .bm-card-title {
    padding-top: .5rem;
}

/* Bar row */
.bm-archive-musicians .bm-card-bar {
    min-height: var(--bar-h);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: 0 1.5rem;
}

.bm-archive-musicians .bm-card-titlelink {
    --link-text-decoration: none;
    --link-text-decoration-hover: underline;
}

.bm-archive-musicians .bm-card-toggle {
    appearance: none;
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: .5rem;
    margin: 0;
    inline-size: 2.25rem;
    block-size: 2.25rem;
    display: grid;
    place-items: center;
    color: inherit;
}

.bm-archive-musicians .bm-card-toggle:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.bm-archive-musicians .bm-icon--chev {
    display: inline-block;
    inline-size: .75rem;
    block-size: .75rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
}

/* Panel content */
.bm-archive-musicians .bm-card-panel {
    max-block-size: clamp(120px, 30vh, 240px);
    overflow: auto;
}

.bm-archive-musicians .bm-card-drawer.has-drawer .bm-card-panel {
    padding: 0 1rem .5rem 1rem;
}

.bm-archive-musicians .bm-card-row,
.bm-archive-musicians .bm-card-terms {
    display: flex;
    gap: .25rem;
    margin-block: .25rem;
    align-items: center;
    flex-wrap: nowrap;
}

.bm-archive-musicians .bm-card-row img,
.bm-archive-musicians .bm-card-terms img {
    width: 2rem;
    height: 2rem;
}

.bm-archive-musicians .bm-item:hover .bm-card-drawer,
.bm-archive-musicians .bm-item:focus-within .bm-card-drawer,
.bm-archive-musicians .bm-item.is-open .bm-card-drawer {
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .bm-archive-musicians .bm-card-drawer {
        transition: none;
    }
}

@media only screen and (max-width: 600px) {
    .bm-justified {
        --row-h: 160px;
    }

    /* General archive rule */
    .bm-justified .bm-item {
        flex: 0 0 100%;
        width: 100%;
        height: auto;
        aspect-ratio: max(0.8, var(--ar, 1));
    }

    /* Block widget - more specific, wins */
    .bm-block .bm-justified .bm-item {
        height: 120px;
        aspect-ratio: max(var(--ar, 1), 0.5);
        flex: 0 0 auto;
        width: auto;
        background: var(--bm-red-film);
    }

    .bm-block .bm-justified .bm-item .bm-card-drawer {
        display: none;
    }

    .bm-block .bm-item a:hover img {
        opacity: .6;
        filter: blur(1px) saturate(115%);
    }

    .bm-archive-musicians .bm-card-media {
        height: 100%;
    }

    .bm-archive .bm-card-terms,
    .bm-archive .bm-card-loc {
        display: none;
    }
}

@media (min-width:1200px) {
    .bm-justified {
        --row-h: 260px;
    }
}

/* Clip Block */
.bm-block--musicians-slice .bm-slice-viewport {
    overflow: hidden;
    position: relative;
}

.bm-block--musicians-slice .bm-slice-stage {
    width: 104%;
    margin-left: -2%;
    margin-right: -2%;
}

@media (max-width: 640px) {
    .bm-block--musicians-slice .bm-slice-stage {
        width: 108%;
        margin-left: -4%;
        margin-right: -4%;
    }
}

@media (min-width: 1200px) {
    .bm-block--musicians-slice .bm-slice-stage {
        width: 112%;
        margin-left: -6%;
        margin-right: -6%;
    }
}



/* Filter bar accordions */
.bm-filterbar {
    background: var(--bm-white);
    border-radius: var(--bm-border-radius-md);
    padding: 16px;
    margin: 0 0 20px;
}

.bm-acc {
    border: 1px solid #ddd;
    border-radius: 10px;
    overflow: hidden;
}

.bm-acc__summary {
    cursor: pointer;
    padding: 10px 12px;
    font-weight: 600;
    list-style: none;
    padding-right: 1.2em;
    display: flex;
    align-items: center;
}

.bm-acc .bm-acc__summary::after {
    content: '';
    display: inline-block;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(-45deg);
    transition: var(--bm-transition);
    width: .65rem;
    height: .65rem;
    margin-left: .5rem;
}

.bm-acc[open] .bm-acc__summary::after {
    transform: rotate(45deg);
}

.bm-acc__content {
    position: absolute;
    z-index: 9;
    background: var(--bm-white);
    padding: 10px 12px 14px;
    border-radius: var(--bm-border-radius-sm);
    margin-top: .25rem;
    box-shadow: var(--bm-box-shadow);
    max-height: 40vh;
    overflow: scroll;
}

.bm-filter-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 0 8px;
}

.filterbar-options {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.bm-filter-item {
    display: flex;
    align-items: center;
    gap: 4px;
    --label-font-size: var(--font-size-ms);
    --label-font-weight: 400;
}

.bm-filter-item input[type=checkbox] {
    margin-right: 1px;
}

.bm-filter-actions {
    display: flex;
    gap: 10px;
    flex-direction: column;
	justify-content: end;
    margin-top: 12px;
}

.bm-filter-actions-inner {
	display: inline-flex; 
	flex-direction: row; 
	gap: 10px;
	max-height: 52px;
}

@media only screen and (max-width: 599px) {
    .filterbar-options {
        gap: .5rem;
    }

    .bm-acc__summary {
        padding: 10px;
        font-size: var(--font-size-sm);
    }
}

@media only screen and (min-width: 1200px) {
    .bm-filterbar {
        display: flex;
        flex-direction: row;
        gap: 1rem;
        justify-content: space-between;
    }

    .bm-filter-actions {
        margin-top: 0;
    }
}

/* Filter Chips */
.bm-chips {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: .75rem;
    margin: var(--spacing-md) 0;
}

.bm-chip {
    --link-color: var(--bm-black);
    --link-text-decoration: none;
    --link-text-decoration-hover: none;
    --link-color-hover: var(--bm-white);
    background: var(--bm-gray);
    border-radius: var(--bm-border-radius-bubble);
    line-height: 1.1;
    padding: .5em 1em;
    transition: var(--bm-transition);
}

.bm-chip:hover,
.bm-chip:active,
.bm-chip:focus {
    background: var(--bm-blue);
    --link-color: var(--link-color-hover);
    color: var(--link-color);
}

.bm-chip:not(.bm-chip--clear):hover,
.bm-chip:not(.bm-chip--clear):focus {
    text-decoration: line-through;
}

/* Footer */

.bm-footer-menu {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: start;
}

.bm-footer-menu>li {
    flex-basis: 100%;
}

@media only screen and (min-width: 500px) {
    .bm-footer-menu>li {
        flex-basis: 48%;
    }
}

@media only screen and (min-width: 1000px) {
    .bm-footer-menu>li {
        flex-basis: 25%;
    }
}

.bm-footer-menu>li>a {
    font-size: var(--font-size-lg);
    margin-top: var(--spacing-lg);
    font-family: var(--heading-font-family);
}

.bm-footer-menu ul {
    margin: 0;
}

.bm-footer-menu li {
    list-style: none;
    text-align: left;
    justify-content: start;
    --menu-item-link-color: var(--bm-white);
    --menu-item-link-color-hover: var(--bm-white);
    --menu-item-link-text-decoration-hover: underline;
}

.bm-footer-menu a {
    text-align: left;
    justify-content: start;
}

.footer-credits p {
    font-size: var(--font-size-sx);
}

/* My Account */
.woocommerce-account .entry-title.entry-title-single {
    text-transform: capitalize;
}

/* Heading Line */
.heading-line {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.heading-line:before,
.heading-line:after {
    content: "";
    width: 12%;
    height: 1px;
    background-color: currentcolor;
}

@media only screen and (min-width: 600px) {

    .heading-line:before,
    .heading-line:after {
        width: 128px;
    }
}

/* Membership Dues -- Hide Disabled, 35, and 50 Year Plans from N/A Users and Logged Out */
body:not(.plan-Life) .product.post-41297,
body:not(.plan-Life) .product.post-41301,
body:not(.plan-L_Honorary) .product.post-41302,
body:not(.plan-L_Honorary) .product.post-41303,
body:not(.plan-R_Disabled) .product.post-41304,
body:not(.plan-R_Disabled) .product.post-41305 {
    display: none;
}

/* SUMO - Hide Excerpt Read More */
.sumo_read_more {
    display: none !important;
}

.post-type-archive-product .entry.product, .related.products .entry.product {
	background: var(--bm-blue);
	padding: var(--spacing-md) !important;
	border-radius: var(--bm-border-radius-md);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.post-type-archive-product .entry.product h2, .related.products .entry.product h2 {
	color: var(--bm-white)
}
.post-type-archive-product .entry.product .price, .related.products .entry.product .price {
	color: var(--bm-white) !important;
	font-size: var(--font-size-lg);
	margin: var(--spacing-xs) 0;
}
.post-type-archive-product .entry.product .button, .related.products .entry.product .button {
	--button-border: 2px solid var(--bm-white);
	--button-background-hover: var(--bm-white);
}

.wbte_sc_block_coupon_wrapper_div {
	display: none;
}




/* Sumo Membership */ 
.woocommerce-MyAccount-content .sumomemberships-linked-plans, .woocommerce-MyAccount-content .sumomemberships-actions {
	display: none;
}

.woocommerce-button {
	--button-border: 2px solid var(--bm-blue);
}

/* Hide random Coupon undefined for Smart Coupons on Cart and Checkout */ 
.wbte_sc_block_giveaway_products_wrapper_div, .wbte_sc_block_bogo_products_wrapper_div {
	display: none;
}

/* Download Button */ 
.wp-block-file a.wp-block-file__button {
	border: 2px solid var(--bm-blue);
	background: var(--bm-blue);
	color: var(--bm-white);
	text-decoration: none;
}
.wp-block-file a.wp-block-file__button:hover {
	background: transparent;
	color: var(--bm-blue);
}

/* Split Content */ 
.split-content .wp-block-columns {
	gap: var(--spacing-lg);
}

/* Accordions */ 
.wp-block-woocommerce-accordion-item {
	margin-bottom: var(--spacing-sm);
}
.wp-block-woocommerce-accordion-item button {
	border: 2px solid var(--bm-gray);
	padding: var(--spacing-sm);
	color: var(--body-color);
}
.wp-block-woocommerce-accordion-item.is-open button {
	border: 2px solid var(--bm-blue);
}
.wp-block-woocommerce-accordion-item button:hover {
	color: var(--bm-blue);
}
.wp-block-woocommerce-accordion-item .accordion-content__wrapper {
	padding-top: var(--spacing-md);
}

/* Search */ 
.search-form .search-form-input {
	border-radius: var(--bm-border-radius-sm);
}
.search-form button {
	--button-background-hover: var(--bm-white);
}

/* My Account */ 
.woocommerce-MyAccount-navigation-link--downloads, 
.woocommerce-MyAccount-navigation-link--wt-smart-coupon {
    display: none;
}

/* Login */ 
.bma-login {
    max-width: 400px;
}

/* Membership Required Message */ 
.bm-mem-req {
    background: var(--bm-white);
    border-left: 4px solid var(--bm-blue);
    padding: var(--spacing-md);
    margin: var(--spacing-md) 0;
    border-radius: var(--bm-border-radius-sm);
    box-shadow: var(--bm-box-shadow);
}

.private-contact-musician {
	display: flex;
	flex-direction: row;
	gap: var(--spacing-sm);
	margin: var(--spacing-md) 0 0 0;
}
.home-news .mai-grid .entry-image-link img {
	aspect-ratio: 16/9;
	object-fit: contain;
}
.home-news .mai-grid h3.entry-title:hover {
	text-decoration: underline;
}
.home-news .mai-grid .entry-image-link img:hover {
	opacity: .8;
}

/* Musicians Search */
input#musician-search {
	border: 1px solid #ddd;
	border-radius: 10px;
	--search-input-max-width: 200px;
padding-left: 2.4rem;
}
.bm-search-bar::before {
    content: 'search';
    font-family: 'Material Icons';
    font-size: 1.5rem;
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: #666;
    pointer-events: none; /* Allows clicking through to input */
}
.bm-search-bar {
    position: relative;
}

/* Edit Profile Media Library */ 
.media-router .media-menu-item {
    --button-color: var(--bm-blue);
}
