.bfr-radio-shows,
.bfr-radio-shows * {
    box-sizing: border-box;
}

.bfr-radio-shows {
    --bfr-border: rgba(127, 127, 127, 0.28);
    --bfr-muted: rgba(80, 80, 80, 0.82);
    --bfr-small-gap: 0.5em;
    --bfr-gap: 1em;
    --bfr-wide-gap: 1.5em;
    width: 100%;
    max-width: 100%;
    margin: 0;
    color: inherit;
    font: inherit;
}

.bfr-radio-shows a {
    color: inherit;
}

.bfr-radio-shows__controls {
    margin: 0 0 1.25em;
    padding: 0 0 1.1em;
    border: 0;
    border-bottom: 1px solid var(--bfr-border);
    background: transparent;
}

.bfr-radio-shows__control-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.8em 1em;
}

.bfr-radio-shows__search,
.bfr-radio-shows__sort,
.bfr-radio-shows__category-filter {
    display: grid;
    gap: 0.35em;
    margin: 0;
    color: inherit;
    font: inherit;
}

.bfr-radio-shows__search {
    flex: 1 1 19rem;
    min-width: min(100%, 17rem);
}

.bfr-radio-shows__sort,
.bfr-radio-shows__category-filter {
    flex: 0 1 13rem;
    min-width: min(100%, 11rem);
}

.bfr-radio-shows__search span,
.bfr-radio-shows__sort span,
.bfr-radio-shows__category-filter span {
    font-size: 0.9em;
    font-weight: 600;
    line-height: 1.3;
}

.bfr-radio-shows input[type="search"],
.bfr-radio-shows select {
    width: 100%;
    max-width: 100%;
    min-height: 2.45em;
    font: inherit;
}

.bfr-radio-shows__submit,
.bfr-radio-shows__reset,
.bfr-radio-shows__button {
    text-decoration: none;
}

.bfr-radio-shows__submit,
.bfr-radio-shows__reset {
    min-height: 2.45em;
}

.bfr-radio-shows__reset {
    display: inline-flex;
    align-items: center;
}

.bfr-radio-shows__alpha {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25em 0.6em;
    margin: 0 0 1.25em;
    padding: 0 0 1em;
    border-bottom: 1px solid var(--bfr-border);
    line-height: 1.45;
}

.bfr-radio-shows__alpha a {
    display: inline-flex;
    align-items: center;
    min-height: 1.75em;
    color: inherit;
    text-decoration: none;
    opacity: 0.78;
}

.bfr-radio-shows__alpha a:hover,
.bfr-radio-shows__alpha a:focus,
.bfr-radio-shows__alpha a.is-active {
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.bfr-radio-shows__alpha a.is-active {
    font-weight: 700;
}

.bfr-radio-shows__meta {
    margin: 0 0 1em;
    color: var(--bfr-muted);
    font-size: 0.94em;
}

.bfr-radio-shows__list {
    display: grid;
    gap: 0;
}

.bfr-radio-shows__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25em;
}

.bfr-radio-shows__card {
    min-width: 0;
    color: inherit;
    background: transparent;
}

.bfr-radio-shows__list .bfr-radio-shows__card {
    display: grid;
    grid-template-columns: minmax(5.75rem, 8.5rem) minmax(0, 1fr);
    gap: 1em;
    align-items: start;
    padding: 1.15em 0;
    border: 0;
    border-bottom: 1px solid var(--bfr-border);
    box-shadow: none;
}

.bfr-radio-shows__list .bfr-radio-shows__card:first-child {
    padding-top: 0;
}

.bfr-radio-shows__grid .bfr-radio-shows__card,
.bfr-radio-shows__card--cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.8em;
    padding: 0 0 1.15em;
    border: 0;
    border-bottom: 1px solid var(--bfr-border);
    box-shadow: none;
}

.bfr-radio-shows__thumb {
    display: block;
    color: inherit;
    line-height: 0;
    overflow: hidden;
}

.bfr-radio-shows__thumb img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

.bfr-radio-shows__list .bfr-radio-shows__thumb img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.bfr-radio-shows__card-body {
    min-width: 0;
}

.bfr-radio-shows__title {
    margin: 0 0 0.35em;
    font-size: 1.08em;
    line-height: 1.28;
}

.bfr-radio-shows__title a {
    color: inherit;
    text-decoration: none;
}

.bfr-radio-shows__title a:hover,
.bfr-radio-shows__title a:focus {
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.bfr-radio-shows__details {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3em 0.75em;
    margin: 0 0 0.55em;
    color: var(--bfr-muted);
    font-size: 0.9em;
    line-height: 1.4;
}

.bfr-radio-shows__excerpt {
    margin: 0 0 0.75em;
    color: inherit;
}

.bfr-radio-shows__excerpt p,
.bfr-radio-shows__empty p {
    margin-top: 0;
}

.bfr-radio-shows__excerpt p:last-child,
.bfr-radio-shows__empty p:last-child {
    margin-bottom: 0;
}

.bfr-radio-shows__button {
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
}

.bfr-radio-shows__pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.45em 0.65em;
    margin: 1.8em 0 0;
}

.bfr-radio-shows__pagination .page-numbers {
    color: inherit;
    text-decoration: none;
}

.bfr-radio-shows__pagination .page-numbers.current {
    font-weight: 700;
}

.bfr-radio-shows__pagination .page-numbers.current,
.bfr-radio-shows__pagination .page-numbers:hover,
.bfr-radio-shows__pagination .page-numbers:focus {
    text-decoration: underline;
    text-underline-offset: 0.16em;
}

.bfr-radio-shows__empty,
.bfr-radio-shows__notice {
    padding: 1em 0;
    border: 0;
    border-bottom: 1px solid var(--bfr-border);
    background: transparent;
    color: inherit;
}

@media (max-width: 780px) {
    .bfr-radio-shows__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .bfr-radio-shows__control-row {
        display: grid;
        align-items: stretch;
    }

    .bfr-radio-shows__search,
    .bfr-radio-shows__sort,
    .bfr-radio-shows__category-filter {
        min-width: 0;
    }

    .bfr-radio-shows__submit,
    .bfr-radio-shows__reset {
        width: 100%;
        justify-content: center;
    }

    .bfr-radio-shows__list .bfr-radio-shows__card {
        grid-template-columns: 1fr;
    }

    .bfr-radio-shows__list .bfr-radio-shows__thumb {
        max-width: 100%;
    }
}


/* Optional category/author metadata. Kept intentionally light so the active theme still drives the look. */
.bfr-radio-shows__category::before {
    content: "Radio Show Name: ";
}

.bfr-radio-shows__author::before {
    content: "Author: ";
}

.bfr-radio-shows__details a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.14em;
}

.bfr-radio-shows__related {
    margin-top: 0.75em;
    font-size: 0.92em;
    color: inherit;
}

.bfr-radio-shows__related-title {
    margin: 0 0 0.25em;
    color: var(--bfr-muted);
    font-weight: 600;
}

.bfr-radio-shows__related ul {
    margin: 0;
    padding-left: 1.1em;
}

.bfr-radio-shows__browser {
    margin: 0 0 1.25em;
    padding: 0 0 1em;
    border-bottom: 1px solid var(--bfr-border);
}

.bfr-radio-shows__browser-heading {
    margin: 0 0 0.65em;
    font-weight: 700;
}

.bfr-radio-shows__browser-category {
    padding: 0.25em 0;
}

.bfr-radio-shows__browser-category summary {
    cursor: pointer;
}

.bfr-radio-shows__browser-panel {
    padding: 0.55em 0 0 1.25em;
}

.bfr-radio-shows__browser-authors {
    margin: 0.45em 0 0;
}

.bfr-radio-shows__active-filter {
    margin: 0 0 1em;
    color: var(--bfr-muted);
    font-size: 0.94em;
}


.bfr-radio-shows__controls.is-auto-submit .bfr-radio-shows__submit {
    display: none;
}

/* v1.1.13: harden public dropdowns against aggressive theme select styling. */
.bfr-radio-shows .bfr-radio-shows__controls select,
.bfr-radio-shows select[name="bfr_cat"],
.bfr-radio-shows select[name="bfr_sort"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 0.55em 2.2em 0.55em 0.75em !important;
    border: 1px solid #c3c4c7 !important;
    border-radius: 4px !important;
    background-color: #fff !important;
    color: #1d2327 !important;
    font: inherit !important;
    line-height: 1.35 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    appearance: auto !important;
    -webkit-appearance: menulist !important;
    -moz-appearance: menulist !important;
}

.bfr-radio-shows .bfr-radio-shows__controls select option,
.bfr-radio-shows select[name="bfr_cat"] option,
.bfr-radio-shows select[name="bfr_sort"] option {
    background-color: #fff !important;
    color: #1d2327 !important;
    font: inherit !important;
    opacity: 1 !important;
}

.bfr-radio-shows .bfr-radio-shows__controls select:focus,
.bfr-radio-shows select[name="bfr_cat"]:focus,
.bfr-radio-shows select[name="bfr_sort"]:focus {
    outline: 2px solid #2271b1 !important;
    outline-offset: 1px !important;
}
