/* Deliberately scoped. Never override body, .wrapper, h1 or B2 article fonts. */
.bukids-library, .bukids-series-layout, .bk2-category { --bk-control-height: 40px; }
.bukids-series-layout .bukids-subtitle-line { margin: 8px 0; color: #475467; font-size: 13px; line-height: 1.6; white-space: normal; overflow-wrap: anywhere; }
.bk2-mobile-filters { min-width: 0; }
.bk2-mobile-filters > summary, .bk2-mobile-filters > .bk2-mobile-apply { display: none; }
.bk2-filter-count { color: #667085; font-weight: 400; }
/* Shared controls and compact layouts for the library and topic detail only. */
.bukids-library input, .bukids-library select, .bukids-series-controls input, .bukids-series-controls select { box-shadow: none; border: 1px solid #d0d5dd; border-radius: 4px; font-family: inherit; font-size: 13px; height: 40px; min-width: 0; max-width: 100%; box-sizing: border-box; }
.bukids-library button, .bukids-series-controls button { font-family: inherit; font-size: 13px; border-radius: 4px; min-height: 40px; box-shadow: none; }
.bukids-library .bukids-search-field, .bukids-library .bukids-sort-field { border-radius: 4px; height: var(--bk-control-height); min-height: var(--bk-control-height); box-shadow: none; }
.bukids-library .bukids-search-field input, .bukids-library .bukids-sort-field select { height: 100%; min-height: 0; border: 0; background-color: transparent; box-shadow: none; }
.bukids-library .bukids-search-row > button, .bukids-library .bukids-filter-actions > button { height: var(--bk-control-height); min-height: var(--bk-control-height); }
.bukids-library .bukids-filter-actions > a { display: inline-flex; align-items: center; min-height: var(--bk-control-height); }
.bukids-library .bukids-search-field:focus-within, .bukids-library .bukids-sort-field:focus-within { outline: 2px solid #667085; outline-offset: 2px; }
.bukids-library select, .bukids-series-layout .bukids-series-controls select { appearance: none; padding-right: 30px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23667085' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-position: right 10px center; background-size: 12px 12px; background-repeat: no-repeat; }
.bukids-library .bukids-library-hero { padding: 20px 0 18px; }
.bukids-library .bukids-library-hero h1 + p { margin-top: 8px; }
.bukids-library .bukids-library-main { padding-top: 12px; }
.bukids-library .bukids-library-form { padding: 12px; margin-bottom: 10px; }
.bukids-library .bukids-results-toolbar { margin-top: 16px; margin-bottom: 14px; padding: 0; }
.bukids-library .bukids-eyebrow { display: none; }
.bukids-series-layout { min-width: 0; padding-bottom: 20px; }
.bukids-series-layout .bukids-series-controls { padding: 16px; margin-bottom: 12px; }
.bukids-series-layout .bukids-series-hero { padding: 16px; }
.bukids-series-layout .bukids-series-hero-content { padding: 0; }
.bukids-series-layout .bk2-series-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; min-width: 0; }
.bukids-series-layout .bk2-series-heading > h1,
.bukids-series-layout .bk2-series-heading > .bukids-series-kicker { flex: 0 1 auto; min-width: 0; }
.bukids-series-layout .bk2-series-heading > h1 { margin-top: 0; }
.bukids-series-layout .bk2-series-heading .bukids-series-kicker > span { display: block; }
.bukids-series-layout .bukids-breadcrumbs { padding-inline: 16px; }
.bukids-series-layout .bukids-series-actions > a, .bukids-series-layout .bukids-series-actions > button {
    display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
    height: var(--bk-control-height); min-height: var(--bk-control-height); margin: 0;
    padding-block: 0; font-size: 13px; line-height: 20px; border-radius: 6px;
}
@media (min-width: 1041px) {
    /* Keep ordinary landscape covers and the compact heading visually balanced. */
    .bukids-series-layout .bukids-series-hero:not(.bk2-textbook-hero) { grid-template-columns: minmax(0, 49%) minmax(0, 1fr); }
    /* Let both columns share a bottom edge without cropping or stretching art. */
    .bukids-series-layout .bukids-series-hero > .bukids-series-cover-wrap { align-self: end; }
    .bukids-series-layout .bukids-series-cover { object-position: center bottom; }
    .bukids-series-layout .bukids-series-hero-content { display: flex; flex-direction: column; align-self: stretch; }
    .bukids-series-layout .bukids-series-actions { margin-top: auto; padding-top: 18px; }
    /* Expanded copy grows independently from the cover's collapsed position. */
    .bukids-series-layout .bukids-series-hero[data-bk-intro-expanded="true"] > .bukids-series-cover-wrap { align-self: start; margin-top: var(--bk-intro-cover-offset, 0px); }
}
@media (min-width: 769px) and (max-width: 1040px) {
    /* At tablet / narrow-laptop widths the side-by-side columns become too
       short for a three-line introduction. Stack them instead of allowing
       the heading or actions to protrude above or below the cover. */
    .bukids-series-layout .bukids-series-hero { display: block; }
    .bukids-series-layout .bukids-series-cover-wrap { width: min(100%, 480px); max-width: 480px; margin: 0 auto 16px; align-self: auto; }
    .bukids-series-layout .bukids-series-hero-content { display: block; align-self: auto; }
    .bukids-series-layout .bukids-series-actions { margin-top: 15px; padding-top: 0; }
    .bukids-series-layout .bk2-textbook-hero .bukids-series-cover-wrap { width: min(100%, 220px); max-width: 220px; }
}
.bukids-series-layout .bukids-series-toolbar { margin: 0 0 10px; padding: 0; }
.bukids-series-layout .bukids-series-toolbar h2 { font-size: 16px; }
.bukids-series-layout .bukids-series-search { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 0; padding: 0; border: 0; }
.bukids-series-layout .bukids-series-search .bk2-search-row label { flex: 1; min-width: 0; }
.bukids-series-layout .bukids-series-search input { width: 100%; }
.bukids-series-layout .bukids-series-search .bk2-filter { min-width: 0; flex: 1 1 130px; }
.bukids-series-layout .bukids-series-search select { width: 100%; }
.bk2-reset-actions { display: flex; flex-wrap: wrap; gap: 10px 16px; font-size: 12px; }
.bk2-reset-actions:empty { display: none; }
.bk2-current-audio { margin: 8px 0; color: #475467; font-size: 13px; }
/* A single quiet information row; narrow screens wrap whole groups naturally. */
.bukids-series-layout .bukids-series-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; min-width: 0; margin-top: 12px; color: #667085; font-size: 13px; line-height: 1.65; }
.bukids-series-layout .bukids-series-meta > .bukids-series-facts { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; min-width: 0; max-width: 100%; margin: 0; padding: 0; list-style: none; }
.bukids-series-layout .bukids-series-meta .bukids-series-facts li { max-width: 100%; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font-size: inherit; line-height: inherit; list-style: none; overflow-wrap: anywhere; }
.bukids-series-layout .bukids-series-meta > p { min-width: 0; max-width: 100%; margin: 0; padding: 0; color: inherit; font-size: inherit; line-height: inherit; overflow-wrap: anywhere; }
.bukids-series-layout .bukids-series-native-resources { scroll-margin-top: var(--bk-anchor-offset, 140px); min-width: 0; }
.bukids-series-layout .bukids-series-native-resources .post-list .item-in .post-info h2 { display: block; height: auto; max-height: none; overflow: visible; -webkit-line-clamp: unset; white-space: normal; overflow-wrap: anywhere; }
.bukids-series-native-resources .post-list-meta-box { display: none; }
.bk2-alphabet-wrap { display: flex; align-items: center; gap: 4px; margin-bottom: 14px; min-width: 0; }
.bk2-alphabet-wrap .bukids-alphabet { flex: 1; min-width: 0; margin: 0; scrollbar-width: none; }
.bk2-alphabet-wrap .bukids-alphabet::-webkit-scrollbar { display: none; }
.bk2-alphabet-wrap > button { display: inline-flex; align-items: center; justify-content: center; align-self: stretch; box-sizing: border-box; flex: 0 0 28px; height: auto; min-height: 40px; margin: 0; padding: 0; font-family: inherit; font-size: 20px; line-height: 1; border: 1px solid #e4e7ec; background: #fff; color: #475467; border-radius: 4px; cursor: pointer; }
.bk2-alphabet-wrap > button[hidden] { display: none; }
.bk2-alphabet-wrap > button:disabled { opacity: .35; cursor: default; }
.bukids-series-layout :focus-visible, .bukids-library .bk2-alphabet-wrap :focus-visible { outline: 2px solid #667085; outline-offset: 3px; }
/* The jump target is a whole section, not a control. Keep its focus for keyboard
   navigation without drawing a frame around every resource after an anchor jump. */
.bukids-series-layout #bukids-series-resources:focus,
.bukids-series-layout .bk2-version-section:focus { outline: none; }
/* Language sections retain B2's native card grid, outside our typography box. */
.bukids-series-layout .bk2-version-section {
    min-width: 0; margin-top: 22px;
    scroll-margin-top: var(--bk-anchor-offset, 140px);
}
.bukids-series-layout .bk2-version-section + .bk2-version-section { margin-top: 32px; }
.bukids-series-layout .bk2-version-heading {
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; min-width: 0; padding: 10px 0; border-top: 1px solid var(--bk-line, #e6e9ef);
}
.bukids-series-layout .bk2-version-heading > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; min-width: 0; }
.bukids-series-layout .bk2-version-heading h2 { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 600; }
.bukids-series-layout .bk2-version-heading > div > span { color: #687385; font-size: 12px; line-height: 1.6; }
.bukids-series-layout .bk2-version-heading > a {
    display: inline-flex; align-items: center; justify-content: flex-end; gap: 4px;
    flex-shrink: 0; min-height: 40px; font-size: 13px; line-height: 1.5; color: var(--b2color, #fd4c4c);
}
.bukids-series-layout .bk2-version-empty { margin: 0; padding: 18px 14px; border: 1px solid var(--bk-line, #e6e9ef); border-radius: 6px; background: #fff; color: #687385; font-size: 13px; line-height: 1.7; }
@media (max-width: 768px) {
    .bukids-series-layout .bk2-version-section { margin-top: 16px; }
    .bukids-series-layout .bk2-version-section + .bk2-version-section { margin-top: 24px; }
    .bukids-series-layout .bk2-version-heading { padding-block: 6px; }
    .bukids-series-layout .bk2-version-heading > a { min-height: 44px; }
}
@media (min-width: 769px) and (max-width: 1040px) {
    .bukids-series-layout .bukids-series-native-resources .post-list ul.b2_gap > li { width: 33.333333%; }
}
@media (max-width: 768px) {
    .bukids-series-layout .bukids-series-native-resources .post-list ul.b2_gap > li { width: 50%; }
    .bukids-series-layout { padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
    .bukids-series-layout .bukids-series-search .bk2-filter { flex-basis: calc(50% - 16px); }
    .bukids-series-layout .bukids-series-hero { gap: 14px; padding: 14px; }
    .bukids-series-layout .bukids-series-cover-wrap { max-width: 360px; }
    .bukids-series-layout .bukids-series-description { margin-top: 10px; margin-bottom: 10px; }
    .bukids-library .bukids-library-hero { padding: 16px 0; }
}
@media (max-width: 359px) {
    /* B2 mobile.css uses !important for its two-column rule. */
    .bukids-series-layout .bukids-series-native-resources .post-list ul.b2_gap > li { width: 100% !important; }
}

/* Mixed library results keep one 16:9 canvas, while textbook-only category
   pages use their configured portrait ratio (for example 4:5). */
.bukids-library .bukids-card.bk2-textbook-card .bukids-card-media { aspect-ratio: 16 / 9; }
.bukids-card.bk2-textbook-card .bukids-card-media { background: #f4f5f7; }
.bk2-category .bukids-card.bk2-textbook-card .bukids-card-media { aspect-ratio: var(--bk-topic-cover-ratio, 4 / 5); }
@media (max-width: 768px) {
    .bk2-category .bukids-card.bk2-textbook-card .bukids-card-media { aspect-ratio: var(--bk-topic-cover-ratio-mobile, var(--bk-topic-cover-ratio, 4 / 5)); }
}
.bukids-card.bk2-textbook-card .bukids-card-media img { object-fit: contain; }
.bukids-card.bk2-textbook-card:hover .bukids-card-media img { transform: none; }
/* Keep a failed remote cover quiet and preserve its original canvas ratio. */
.bukids-card-placeholder.bk2-cover-unavailable {
    display: flex; align-items: center; justify-content: center;
    box-sizing: border-box; width: 100%; height: 100%; padding: 12px;
    font-size: 13px; font-weight: 400; line-height: 1.6; letter-spacing: normal;
    color: #687385; text-align: center; overflow-wrap: anywhere;
}
.bk2-textbook-native .post-list .post-module-thumb .post-thumb { object-fit: contain; }
.bk2-textbook-native .post-list .post-list-item:hover .post-thumb { transform: none; }
.bukids-series-layout .bk2-textbook-hero { grid-template-columns: minmax(0, 240px) minmax(0, 1fr); }
.bukids-series-layout .bk2-textbook-hero .bukids-series-cover-wrap { aspect-ratio: var(--bk-topic-cover-ratio, 2 / 3); }
@media (max-width: 768px) {
    .bukids-series-layout .bk2-textbook-hero .bukids-series-cover-wrap { width: min(100%, 220px); aspect-ratio: var(--bk-topic-cover-ratio-mobile, var(--bk-topic-cover-ratio, 2 / 3)); }
}
.bk2-category { min-width: 0; }
body.bukids-category-archive .site-header { margin-bottom: 0; }
body.bukids-category-archive #content { padding-top: 0; margin-top: 0; }
.bk2-nav, .bk2-tabs { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 14px 0; }
.bk2-nav a, .bk2-tabs a { border: 1px solid #e4e7ec; border-radius: 5px; padding: 9px 13px; background: #fff; font-size: 13px; color: #475467; }
.bk2-nav a:hover, .bk2-tabs a[aria-current] { background: #f2f4f7; border-color: #98a2b3; color: #101828; }
.bk2-category .bk2-nav a { border-color: transparent; background: transparent; padding: 8px 11px; }
.bk2-category .bk2-nav a:hover { background: #f2f4f7; }
/* Ancestor labels must not push a deep channel breadcrumb outside a phone. */
.bk2-category .bukids-breadcrumbs { margin: 12px 0 0; padding: 10px 0; background: transparent; }
.bk2-category .bukids-breadcrumbs ol, .bukids-series-layout .bukids-breadcrumbs ol { flex-wrap: wrap; gap: 4px 8px; }
.bk2-category .bukids-breadcrumbs li, .bukids-series-layout .bukids-breadcrumbs li { min-width: 0; max-width: 100%; }
.bk2-category .bukids-breadcrumbs a, .bukids-series-layout .bukids-breadcrumbs a { overflow-wrap: anywhere; }
.bk2-category .bukids-breadcrumbs-current span, .bukids-series-layout .bukids-breadcrumbs-current span { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
.bukids-series-layout .bk2-source-return { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; max-width: 100%; box-sizing: border-box; padding: 0 16px; margin: -4px 0 8px; color: #667085; font-size: 13px; overflow-wrap: anywhere; }
.bukids-series-layout .bk2-source-return:hover { color: var(--b2color, #ff3355); }
.bk2-category .bk2-tabs { margin: 0 0 16px; gap: 8px 24px; border-bottom: 1px solid #e4e7ec; align-items: center; }
.bk2-category .bk2-tabs a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; box-sizing: border-box; line-height: 22px; white-space: nowrap; padding: 10px 0; margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; font-size: 14px; color: #667085; }
.bk2-category .bk2-tabs a[aria-current] { border-bottom-color: var(--b2color, #fd4c4c); color: #182033; font-weight: 600; }
.bk2-category .bk2-tabs a:hover { color: #182033; }
.bk2-tabs span { margin-left: auto; color: #667085; font-size: 13px; line-height: 22px; white-space: nowrap; }
.bk2-search { display: flex; flex-wrap: wrap; gap: 14px 12px; padding: 18px; background: #fff; border: 1px solid #e4e7ec; border-radius: 6px; align-items: flex-end; }
.bk2-search input, .bk2-search select { box-sizing: border-box; max-width: 100%; min-width: 0; width: 100%; height: var(--bk-control-height); padding: 8px 10px; border: 1px solid #d0d5dd; border-radius: 4px; font: inherit; font-size: 13px; background: #fff; }
.bk2-search-input { flex: 1 1 100%; }
.bk2-filter { display: grid; gap: 7px; min-width: 100px; flex: 1 1 130px; font-size: 12px; color: #475467; }
.bk2-search > a { padding: 10px 0; font-size: 13px; }
.bk2-category .bk2-search { display: grid; padding: 14px; gap: 12px; border: 0; background: #f6f7f9; border-radius: 6px; }
    .bk2-category .bk2-search:has(.bk2-filter-row > .bk2-filter:only-child > select[name="bk_order"]) { grid-template-columns: minmax(0, 1fr) auto; }
.bk2-search-row { display: flex; gap: 10px; align-items: center; }
.bk2-search-row .bk2-search-input { flex: 1; min-width: 0; }
.bk2-category .bk2-search input, .bk2-category .bk2-search select, .bk2-category .bk2-search-row button, .bk2-category .bk2-reset { box-sizing: border-box; height: var(--bk-control-height); min-height: var(--bk-control-height); margin: 0; border-radius: 4px; font-family: inherit; font-size: 13px; font-weight: 400; line-height: 20px; box-shadow: none; }
.bukids-series-layout .bk2-search-row button { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; height: var(--bk-control-height); min-height: var(--bk-control-height); margin: 0; line-height: 20px; }
.bk2-category .bk2-search-row button { flex-shrink: 0; padding: 9px 16px; border: 1px solid transparent; }
.bk2-category .bk2-reset { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; padding: 9px 14px; border: 1px solid #d0d5dd; background: #fff; color: #475467; white-space: nowrap; text-decoration: none; }
.bk2-category .bk2-reset:hover { background: #f2f4f7; border-color: #98a2b3; color: #182033; }
.bk2-filter-row { display: flex; flex-wrap: wrap; gap: 10px 16px; }
.bk2-filter-row:not(:has(.bk2-filter)) { display: none; }
.bk2-category .bk2-filter-row, .bukids-series-layout .bk2-filter-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; }
.bk2-category .bk2-filter { display: grid; min-width: 0; gap: 7px; }
.bk2-category .bk2-filter > span { white-space: nowrap; }
.bk2-category .bk2-filter select { -webkit-appearance: none; -moz-appearance: none; appearance: none; width: 100%; max-width: 100%; padding: 9px 32px 9px 10px; border: 1px solid #d0d5dd; color: #475467; cursor: pointer; background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23667085' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-position: right 10px center; background-size: 12px 12px; background-repeat: no-repeat; }
.bk2-category .bk2-search input[type="search"] { -webkit-appearance: none; appearance: none; color: #182033; }
.bk2-category .bk2-search select:hover { border-color: #98a2b3; }
.bk2-category > .post-1.post-list,
.bk2-category > .bk2-textbook-native { margin-top: 14px; }
.bk2-auto-selects .bk2-mobile-apply,
.bukids-library-form.bk2-auto-selects .bukids-filter-actions button[type="submit"] { display: none !important; }
/* Before JS the nav owns the gap; after enhancement only the wrapper does. */
.bk2-category > .bukids-alphabet, .bk2-category > .bk2-alphabet-wrap { margin: 0 0 16px; }
.bk2-category > .bukids-series-page > .bukids-alphabet,
.bk2-category > .bukids-series-page > .bk2-alphabet-wrap { margin: 14px 0; }
.bk2-note { font-size: 12px; color: #667085; line-height: 1.8; margin: 10px 0; }
.bukids-resource-card .bk2-labels { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0 14px; padding: 0; list-style: none; }
.bukids-resource-card .bk2-labels li { background: #f2f4f7; color: #667085; font-size: 11px; padding: 3px 6px; border-radius: 3px; }
.bk2-article-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 12px; }
.bk2-article-tools button { border: 1px solid #d0d5dd; background: #fff; color: #475467; border-radius: 4px; padding: 7px 11px; font: inherit; font-size: 12px; cursor: pointer; }
.bk2-category .bukids-empty-state { min-height: 210px; padding: 36px 20px; }
.bk2-category .bukids-empty-state h2 { font-size: 18px; }
.bk2-category .bukids-empty-state .bukids-primary-button { margin-top: 16px; color: #fff; font-size: 13px; }
.bk2-empty-reset { display: block; margin-top: 12px; font-size: 12px; }
.bk2-article-tools { margin-top: 20px; padding: 15px 0; border-top: 1px solid #e4e7ec; }
.bk2-article-tools button { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-height: 40px; margin: 0; line-height: 20px; }
.bk2-article-tools .bk2-note { width: 100%; margin: 0; }
.bk2-article-tools [data-bk-status]:empty { display: none; }
.bk2-category > .bukids-series-page :focus-visible, .bk2-article-tools :focus-visible { outline: 2px solid #667085; outline-offset: 3px; }
.bukids-series-page .bukids-series-description { display: block; overflow: visible; -webkit-line-clamp: unset; overflow-wrap: anywhere; }
/* With JavaScript disabled the same public introduction remains fully readable. */
.bukids-series-page .bukids-series-description[data-bk-collapsed="true"] { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.bukids-series-layout .bk2-intro-toggle { display: inline-flex; align-items: center; justify-content: flex-start; min-height: 40px; margin: 0; padding: 0; border: 0; border-radius: 4px; background: transparent; box-shadow: none; color: var(--b2color, #fd4c4c); font: inherit; font-size: 13px; line-height: 20px; cursor: pointer; }
.bukids-series-layout .bk2-intro-toggle:hover { text-decoration: underline; }
.bukids-series-layout .bk2-intro-toggle[hidden] { display: none; }
@media (max-width: 600px) {
    .bk2-nav a { font-size: 12px; padding: 8px 10px; }
    .bk2-category .bk2-nav a { padding: 7px 9px; }
    .bk2-search { padding: 12px; gap: 12px 8px; } .bk2-filter { flex-basis: calc(50% - 8px); }
    .bk2-category .bk2-search, .bk2-category .bk2-search:has(.bk2-filter-row > .bk2-filter:only-child > select[name="bk_order"]) { padding: 10px; gap: 10px; grid-template-columns: minmax(0, 1fr); }
    .bk2-filter-row { gap: 8px; }
    .bk2-category .bk2-filter { flex: 1 1 calc(50% - 8px); display: grid; gap: 5px; }
    .bk2-category .bk2-filter select { width: 100%; max-width: none; }
    .bk2-category .bk2-filter:only-child { display: flex; flex: 0 1 auto; }
    .bk2-category .bk2-filter:only-child select { width: auto; min-width: 120px; }
    .bk2-category .bk2-tabs { gap: 22px; margin-bottom: 12px; }
    .bk2-category .bk2-tabs a { font-size: 13px; }
    .bk2-category .bk2-tabs span { font-size: 12px; }
}

/* 2.0.20: mobile-only usability; parent B2 still owns native card markup. */
@media (min-width: 769px) and (max-width: 1040px) {
    .bk2-category .bk2-filter-row, .bukids-series-layout .bk2-filter-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* The desktop floating rail has no outside gutter on narrow catalogue pages.
   Keep an explicitly opened account drawer and B2's mobile footer untouched. */
@media (min-width: 769px) and (max-width: 1279px) {
    body.bukids-collection-landing .aside-container:not(.aside-show) > .aside-bar,
    body.tax-collection .aside-container:not(.aside-show) > .aside-bar,
    body.bukids-category-archive .aside-container:not(.aside-show) > .aside-bar { display: none; }
}
@media (max-width: 768px) {
    .bukids-library, .bukids-series-layout, .bk2-category { --bk-control-height: 44px; }
    .bukids-library, .bk2-category {
        padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
    }
    .bukids-library input[type="search"], .bukids-library select,
    .bk2-category .bk2-search input[type="search"], .bk2-category .bk2-search select,
    .bukids-series-layout .bukids-series-controls input[type="search"],
    .bukids-series-layout .bukids-series-controls select {
        font-size: 16px;
        height: 44px;
        min-height: 44px;
    }
    .bukids-library .bukids-search-field, .bukids-library .bukids-sort-field { min-height: 44px; }
    .bukids-library .bukids-search-field input, .bukids-library .bukids-sort-field select { height: 100%; min-height: 0; }
    .bukids-library .bukids-primary-button, .bukids-library .bukids-secondary-button,
    .bk2-category .bk2-search-row button, .bk2-category .bk2-reset,
    .bukids-series-layout .bukids-primary-button, .bukids-series-layout .bukids-secondary-button,
    .bukids-library .bukids-sort-field select { max-width: none; width: 100%; }
    .bukids-library .bukids-search-row { grid-template-columns: minmax(0, 1fr) auto; }
    .bukids-library .bukids-search-field { grid-column: 1 / -1; }
    .bukids-library .bukids-filter-body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bukids-library .bukids-filter-actions { grid-column: 1 / -1; }
    .bukids-library .bukids-card-grid, .bk2-category .bukids-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bukids-library .bukids-results-toolbar h2 { font-size: 17px; }
    .bukids-library .bukids-results-toolbar p { line-height: 1.6; }
    .bk2-category .bk2-search,
    .bk2-category .bk2-search:has(.bk2-filter-row > .bk2-filter:only-child > select[name="bk_order"]) {
        grid-template-columns: minmax(0, 1fr);
        padding: 10px;
        gap: 6px;
    }
    .bk2-category .bk2-search-row, .bukids-series-layout .bk2-search-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
    }
    .bk2-category .bk2-search-row:has(.bk2-reset) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bk2-category .bk2-search-row:has(.bk2-reset) > label { grid-column: 1 / -1; }
    .bukids-series-layout .bk2-search-row > label { grid-column: auto; }
    .bk2-mobile-filters > summary {
        display: list-item;
        min-height: 44px;
        box-sizing: border-box;
        padding: 12px 0;
        font-size: 13px;
        line-height: 20px;
        cursor: pointer;
    }
    .bk2-mobile-filters .bk2-filter-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        padding: 2px 0 10px;
    }
    .bk2-mobile-filters .bk2-filter-row > .bk2-filter,
    .bk2-category .bk2-mobile-filters .bk2-filter:only-child { display: grid; min-width: 0; gap: 5px; }
    .bk2-category .bk2-mobile-filters select,
    .bk2-category .bk2-mobile-filters .bk2-filter:only-child select { width: 100%; max-width: 100%; min-width: 0; }
    .bk2-mobile-filters > .bk2-mobile-apply { display: flex; width: 100%; min-height: 44px; margin: 0 0 4px; }
    .bukids-library .bukids-filter-details > summary { display: list-item; min-height: 44px; box-sizing: border-box; padding: 10px 0; }
    .bukids-library .bukids-filter-details { margin-top: 8px; padding-top: 4px; }
    .bukids-library .bukids-filter-actions a, .bk2-reset-actions a {
        display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px;
    }
    .bk2-reset-actions { gap: 0 12px; }
    .bk2-category .bk2-tabs { gap: 20px; }
    .bk2-category .bk2-tabs a { display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 8px 0; }
    .bk2-category .bk2-tabs > span { line-height: 1.5; }
    .bukids-series-layout .bk2-source-return { min-height: 44px; }
    .bk2-alphabet-wrap .bukids-alphabet { padding: 4px; overscroll-behavior-x: contain; }
    .bk2-alphabet-wrap > button { flex-basis: 44px; min-height: 44px; }
    .bukids-alphabet a { min-width: 44px; height: 44px; box-sizing: border-box; }
    .bukids-series-layout .bukids-series-cover-wrap { width: min(100%, 280px); margin-bottom: 12px; }
    .bukids-series-layout .bukids-series-hero { display: block; padding: 12px; }
    .bukids-series-layout .bukids-series-cover-wrap { margin-inline: auto; }
    .bukids-series-layout .bukids-series-controls { padding: 12px; }
    .bukids-series-layout .bukids-breadcrumbs, .bukids-series-layout .bk2-source-return { padding-inline: 12px; }
    .bukids-series-layout .bukids-series-description { line-height: 1.7; }
    .bukids-series-layout .bukids-series-meta { column-gap: 12px; font-size: 12px; }
    .bukids-series-layout .bukids-series-actions { gap: 8px; margin-top: 12px; }
    .bukids-series-layout .bukids-series-actions a { flex: 1 1 auto; min-width: 0; padding-inline: 12px; }
    .bukids-library .bukids-card-stats, .bk2-category .bukids-card-stats { font-size: 12px; line-height: 1.6; }
    .bukids-pagination .page-numbers li > * { min-width: 44px; min-height: 44px; box-sizing: border-box; }
    .bk2-article-tools button, .bukids-series-layout .bk2-intro-toggle { min-height: 44px; }
    /* Match B2's 8px mobile card margin; do not touch other native layouts. */
    .bukids-series-layout .bukids-series-native-resources .post-1.post-list ul.b2_gap,
    .bk2-category .post-1.post-list ul.b2_gap { margin-right: -8px; }
    .bk2-category .post-list .post-info h2 {
        display: block; height: auto; max-height: none; overflow: visible;
        -webkit-line-clamp: unset; white-space: normal; overflow-wrap: anywhere;
    }
}
@media (max-width: 359px) {
    .bukids-library .bukids-card-grid, .bk2-category .bukids-card-grid { grid-template-columns: minmax(0, 1fr); }
    .bk2-category .post-list ul.b2_gap > li { width: 100% !important; }
    .bukids-library .bukids-filter-body, .bk2-mobile-filters .bk2-filter-row { grid-template-columns: minmax(0, 1fr); }
    /* Keep short pagers together without reducing the 44px touch target. */
    .bukids-pagination .page-numbers { gap: 6px; }
    .bukids-pagination .page-numbers li > * { padding-inline: 6px; font-size: 12px; }
}

/* B2 keeps its fixed bottom navigation through 1180px. Match that real
   breakpoint so the final card or pager can scroll fully above the bar. */
@media (min-width: 769px) and (max-width: 1180px) {
    .bukids-library,
    .bk2-category,
    .bukids-series-layout {
        padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    }
}

/* Keep every child-theme filter select quiet on pointer hover. B2 and browser
   defaults can otherwise draw a dark outline around the native control. */
.bukids-library select:hover,
.bukids-series-layout select:hover,
.bk2-category select:hover {
    outline: 0 !important;
    box-shadow: none !important;
}
.bk2-category .bk2-search select:hover,
.bukids-library .bukids-filter-field select:hover,
.bukids-series-layout .bukids-series-controls select:hover {
    border-color: #d0d5dd !important;
}
.bukids-library .bukids-sort-field:hover {
    border-color: var(--bk-line, #e4e7ec);
}

/* Keyboard focus remains visible, but uses a restrained site-colour halo
   instead of the black rectangular outline. */
.bk2-category .bk2-search select:focus,
.bk2-category .bk2-search select:focus-visible,
.bukids-library .bukids-filter-field select:focus,
.bukids-library .bukids-filter-field select:focus-visible,
.bukids-series-layout .bukids-series-controls select:focus,
.bukids-series-layout .bukids-series-controls select:focus-visible {
    outline: 0 !important;
    border-color: rgba(253, 76, 76, 0.62) !important;
    box-shadow: 0 0 0 2px rgba(253, 76, 76, 0.12) !important;
}
.bukids-library .bukids-sort-field:focus-within {
    outline: 0 !important;
    border-color: rgba(253, 76, 76, 0.62);
    box-shadow: 0 0 0 2px rgba(253, 76, 76, 0.12);
}

/* Submission feedback without changing control widths, disabling form values
   or introducing animation. pageshow/cancel resets aria-busy in the script. */
.bukids-library-form[aria-busy="true"],
.bk2-search[aria-busy="true"],
.bukids-series-search[aria-busy="true"] { cursor: progress; }
.bukids-library-form[aria-busy="true"] button[type="submit"],
.bk2-search[aria-busy="true"] button[type="submit"],
.bukids-series-search[aria-busy="true"] button[type="submit"] {
    cursor: progress; opacity: .72;
}
.bukids-library .bukids-sort-field select:focus,
.bukids-library .bukids-sort-field select:focus-visible {
    outline: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Fill desktop filter rows when a category exposes fewer than four facets. */
@media (min-width: 1041px) {
    .bk2-category .bk2-filter-row:has(> .bk2-filter:nth-child(2):last-child),
    .bukids-series-layout .bk2-filter-row:has(> .bk2-filter:nth-child(2):last-child) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .bk2-category .bk2-filter-row:has(> .bk2-filter:nth-child(3):last-child),
    .bukids-series-layout .bk2-filter-row:has(> .bk2-filter:nth-child(3):last-child) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
