/* BaBooks Core 0.5.0 — type-specific catalogue layouts (SWELL-scoped). */
.bab-wrap.bab-cat-v5 {
  --bab-cat-blue: #0089e9;
  --bab-cat-text: #1b3451;
  --bab-cat-border: #dce7f0;
  --bab-cat-radius: 10px;
  width: min(1460px, calc(100vw - 48px)) !important;
  max-width: none !important;
  box-sizing: border-box;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin: 10px 0 64px !important;
  padding: 0 !important;
  color: var(--bab-cat-text);
  line-height: 1.65;
  overflow: visible;
}
.bab-cat-v5, .bab-cat-v5 * {box-sizing:border-box; min-width:0;}
.bab-cat-v5 a {color:inherit; text-decoration:none;}
.bab-cat-v5 .screen-reader-text {position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important;clip-path:inset(50%)!important;margin:-1px!important;padding:0!important;border:0!important;}
.bab-cat-v5 a:hover {color:#006fb9; text-decoration:underline;}
.bab-cat-v5 a:focus-visible, .bab-cat-v5 button:focus-visible,
.bab-cat-v5 select:focus-visible, .bab-cat-v5 input:focus-visible {outline:3px solid #ffae55; outline-offset:2px;}
/* Avoid SWELL heading background, decorative underlines, quotation frames. */
.bab-cat-v5 h1, .bab-cat-v5 h2, .bab-cat-v5 h3,
.bab-cat-v5 .bab-card__title, .bab-cat-v5 .bab-card__title a {
  position:static !important; border:0 !important; border-radius:0 !important;
  box-shadow:none !important; background:none !important; background-image:none !important;
  padding:0 !important; text-decoration:none !important; color:var(--bab-cat-text);
}
.bab-cat-v5 h1::before,.bab-cat-v5 h1::after,
.bab-cat-v5 h2::before,.bab-cat-v5 h2::after,
.bab-cat-v5 h3::before,.bab-cat-v5 h3::after,
.bab-cat-v5 .bab-card__title a::before,.bab-cat-v5 .bab-card__title a::after {
  content:none!important; display:none!important;
}
.bab-cat-v5__breadcrumbs {display:flex;align-items:center;gap:11px;color:#748398;font-size:.79rem;margin:0 0 16px;padding:0 3px;}
.bab-cat-v5__breadcrumbs a {color:#4378a7;}
.bab-cat-v5__hero {position:relative;isolation:isolate;overflow:hidden;border-radius:10px;min-height:246px;
  margin:0 0 24px;display:flex;align-items:center;background:linear-gradient(120deg,#f2f8ff 0%,#e5f4ff 68%,#e3f0ff 100%);
  border:1px solid #e5edf4;}
.bab-cat-v5__hero-photo {position:absolute;inset:0 0 0 38%;z-index:0;overflow:hidden;}
.bab-cat-v5__hero-photo img {display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;}
.bab-cat-v5__hero-photo::after {content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,#f2f8ff 0%,rgba(242,248,255,.91) 15%,rgba(242,248,255,.53) 39%,rgba(242,248,255,0) 75%);}
.bab-cat-v5__hero-copy {position:relative;z-index:1;max-width:52%;padding:35px clamp(24px,4.5vw,65px);}
.bab-cat-v5__eyebrow {display:block;color:#0073c6;font-weight:700;letter-spacing:.07em;font-size:.82rem;margin-bottom:5px;}
.bab-cat-v5__hero-copy h1 {font-size:clamp(2.15rem,4.5vw,3.55rem)!important;font-weight:800!important;line-height:1.32!important;letter-spacing:.04em!important;margin:0 0 14px!important;}
.bab-cat-v5__hero-copy p {font-size:.95rem;line-height:1.8;color:#48627a;margin:0!important;overflow-wrap:anywhere;}
.bab-cat-v5__columns {display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,312px);gap:24px;align-items:start;}
.bab-cat-v5__main {min-width:0;width:100%;}
.bab-cat-v5__find {margin:0 0 23px;display:flex;flex-direction:column;gap:12px;}
.bab-cat-v5__tabs {display:flex;gap:0;flex-wrap:wrap;}
.bab-cat-v5__tabs a {display:inline-flex;align-items:center;justify-content:center;min-height:41px;padding:9px 17px;border:1px solid var(--bab-cat-border);
  color:#344963;background:#f8fbfe;white-space:nowrap;font-size:.87rem;font-weight:650;}
.bab-cat-v5__tabs a:first-child {border-radius:7px 0 0 7px;}
.bab-cat-v5__tabs a:last-child {border-radius:0 7px 7px 0;}
.bab-cat-v5__tabs a + a {border-left:0;}
.bab-cat-v5__tabs a.is-active {background:var(--bab-cat-blue);border-color:var(--bab-cat-blue);color:white;text-decoration:none;}
.bab-cat-v5__filters {display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:0!important;padding:0!important;background:transparent!important;border:0!important;}
.bab-cat-v5__filters label {display:flex;align-items:center;flex:0 1 auto;max-width:100%;margin:0!important;}
.bab-cat-v5__filters .bab-cat-v5__search {flex:1 1 180px;}
.bab-cat-v5__filters input, .bab-cat-v5__filters select {box-sizing:border-box;display:block;width:100%;height:42px;max-width:100%;margin:0!important;padding:8px 11px!important;border:1px solid #cfdae6!important;border-radius:7px!important;
  background:#fff!important; color:#25374c!important;font-size:.86rem;line-height:1.25;box-shadow:none!important;}
.bab-cat-v5__filters select {min-width:144px;width:auto;max-width:100%;padding-right:30px!important;}
.bab-cat-v5__filters .bab-cat-v5__submit {min-height:42px;padding:9px 17px;border:0;border-radius:7px;background:var(--bab-cat-blue);
  color:#fff;font-size:.86rem;font-weight:700;cursor:pointer;white-space:nowrap;}
.bab-cat-v5__filters .bab-cat-v5__submit:hover {background:#066db6;}
.bab-cat-v5__reset {color:#52718f!important;font-size:.77rem;white-space:nowrap;}
.bab-cat-v5__results {display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:5px 0 15px;}
.bab-cat-v5__results h2 {font-size:1.28rem!important;font-weight:750!important;margin:0!important;line-height:1.45!important;}
.bab-cat-v5__results p {color:#728196;font-size:.86rem;margin:0!important;white-space:nowrap;}
.bab-cat-v5__grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch;}
.bab-cat-v5__grid .bab-card {min-width:0;width:100%;margin:0;display:flex;flex-direction:column;border:1px solid var(--bab-cat-border);border-radius:8px;box-shadow:0 3px 16px rgba(14,54,96,.045);overflow:hidden;background:#fff;}
.bab-cat-v5__grid .bab-card__image {display:flex;align-items:center;justify-content:center;flex:0 0 auto;aspect-ratio:4 / 4.65;background:#edf4fa;padding:8px;overflow:hidden;}
.bab-cat-v5__grid .bab-card__image img {display:block;width:100%;height:100%;max-height:100%;max-width:100%;object-fit:contain!important;transform:none!important;}
.bab-cat-v5__grid .bab-card__body {padding:11px 12px 13px;display:flex;flex-direction:column;gap:3px;flex:1;}
.bab-cat-v5__grid .bab-tags {order:0;}
.bab-cat-v5__grid .bab-tags span {font-size:.7rem;}
.bab-cat-v5__grid .bab-card__title {font-size:.94rem!important;font-weight:700!important;line-height:1.55!important;overflow-wrap:anywhere;margin:6px 0 2px!important;}
.bab-cat-v5__grid .bab-card__title a {display:inline!important;font-size:inherit!important;font-weight:inherit!important;}
.bab-cat-v5__grid .bab-card__chapter {white-space:normal;margin:2px 0;color:#617287;font-size:.78rem;overflow-wrap:anywhere;}
.bab-cat-v5__grid .bab-card__date {margin:auto 0 0;padding-top:8px;color:#75859a;font-size:.76rem;}
.bab-cat-v5__grid .bab-cover-fallback {width:100%;height:100%;min-height:0;font-size:1rem;}
.bab-cat-v5__empty {grid-column:1/-1;padding:46px 16px;border:1px dashed #cad8e5;border-radius:9px;text-align:center;color:#64778a;background:#f8fbff;}
.bab-cat-v5__pagination {display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;margin:28px 0 12px;}
.bab-cat-v5__pagination a,.bab-cat-v5__pagination span {display:inline-flex;align-items:center;justify-content:center;min-width:39px;min-height:39px;border:1px solid #dbe7f0;border-radius:7px;font-size:.88rem;background:#fff;}
.bab-cat-v5__pagination .is-active {background:var(--bab-cat-blue);color:#fff;border-color:var(--bab-cat-blue);}
.bab-cat-v5__sidebar {display:flex;flex-direction:column;gap:17px;min-width:0;}
.bab-cat-v5__panel {background:#fff;border:1px solid var(--bab-cat-border);border-radius:9px;padding:17px 16px;min-width:0;box-shadow:0 2px 14px rgba(14,54,96,.025);}
.bab-cat-v5__panel h2 {position:relative!important;font-size:1.07rem!important;line-height:1.5!important;font-weight:750!important;margin:0 0 16px!important;padding:0 0 10px 11px!important;border-bottom:1px solid var(--bab-cat-border)!important;}
.bab-cat-v5__panel h2::after {content:''!important;display:block!important;position:absolute!important;bottom:0;left:0;height:3px;width:55px;background:var(--bab-cat-blue);}
.bab-cat-v5__spotlight {display:grid;grid-template-columns:92px minmax(0,1fr);gap:13px;align-items:start;}
.bab-cat-v5__spotlight-cover {display:block;height:133px;min-width:0;background:#edf4fa;border-radius:5px;overflow:hidden;}
.bab-cat-v5__spotlight-cover img {display:block;width:100%;height:100%;object-fit:contain;}
.bab-cat-v5__spotlight h3 {font-size:.92rem!important;font-weight:750!important;line-height:1.45!important;margin:0 0 5px!important;overflow-wrap:anywhere;}
.bab-cat-v5__spotlight p {font-size:.78rem;color:#60758c;line-height:1.65;margin:0 0 11px!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
.bab-cat-v5__small-btn {display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 12px;border-radius:6px;background:var(--bab-cat-blue);color:#fff!important;font-size:.77rem;font-weight:700;}
.bab-cat-v5__taglist {display:flex;flex-wrap:wrap;gap:8px;}
.bab-cat-v5__taglist a {display:inline-flex;align-items:center;padding:5px 11px;border-radius:100px;background:#eaf5ff;color:#1678bc;font-size:.77rem;}
.bab-cat-v5__recent {list-style:none;margin:0;padding:0;}
.bab-cat-v5__recent li {list-style:none!important;padding:0!important;margin:0!important;border-bottom:1px solid #edf1f5;}
.bab-cat-v5__recent li:last-child {border:0;}
.bab-cat-v5__recent li a {display:flex;align-items:center;gap:9px;padding:9px 0;color:#263b55;}
.bab-cat-v5__recent-img {flex:0 0 50px;height:63px;background:#edf4fa;overflow:hidden;border-radius:4px;}
.bab-cat-v5__recent-img img {width:100%;height:100%;object-fit:contain;display:block;}
.bab-cat-v5__recent-body {flex:1;display:flex;flex-direction:column;gap:4px;min-width:0;}
.bab-cat-v5__recent-body strong {font-size:.82rem;line-height:1.45;overflow-wrap:anywhere;}
.bab-cat-v5__recent-body small {font-size:.7rem;color:#7b8999;line-height:1.4;overflow-wrap:anywhere;}
.bab-cat-v5__thumb-empty {font-size:.7rem;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#dcecf8;color:#1267a7;}
/* :has only enriches compatible browsers; full-width shortcode breakout works without it. */
body.babooks-catalog-layout .l-sidebar {display:none!important;}
body.babooks-catalog-layout .l-mainContent {width:100%!important;max-width:100%!important;}
@media(max-width:1180px){
  .bab-cat-v5__columns {grid-template-columns:minmax(0,1fr) 268px;gap:16px;}
  .bab-cat-v5__grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;}
}
@media(max-width:850px){
  .bab-cat-v5__columns {grid-template-columns:minmax(0,1fr);}
  .bab-cat-v5__grid {grid-template-columns:repeat(3,minmax(0,1fr));}
  .bab-cat-v5__sidebar {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
  .bab-cat-v5__hero-copy {max-width:63%;}
}
@media(max-width:640px){
  .bab-wrap.bab-cat-v5 {width:calc(100vw - 24px)!important;margin-top:8px!important;}
  .bab-cat-v5__hero {min-height:185px;margin-bottom:21px;}
  .bab-cat-v5__hero-copy {max-width:100%;padding:24px 18px 25px;}
  .bab-cat-v5__hero-copy h1 {font-size:2.05rem!important;}
  .bab-cat-v5__hero-copy p {max-width:80%;font-size:.81rem;line-height:1.6;}
  .bab-cat-v5__hero-photo {inset:0 0 0 27%;opacity:.72;}
  .bab-cat-v5__hero-photo::after {background:linear-gradient(90deg,#f2f8ff 0%,rgba(242,248,255,.98) 22%,rgba(242,248,255,.82) 50%,rgba(242,248,255,.14) 100%);}
  .bab-cat-v5__find {gap:10px;margin-bottom:20px;}
  .bab-cat-v5__tabs {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;}
  .bab-cat-v5__tabs a {padding:9px 2px;min-height:42px;font-size:.79rem;}
  .bab-cat-v5__filters {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .bab-cat-v5__filters label,.bab-cat-v5__filters label.bab-cat-v5__search {width:100%;max-width:100%;grid-column:auto;}
  .bab-cat-v5__filters label.bab-cat-v5__search {grid-column:1/-1;}
  .bab-cat-v5__filters input,.bab-cat-v5__filters select {width:100%;min-width:0;}
  .bab-cat-v5__filters .bab-cat-v5__submit {grid-column:1/-1;}
  .bab-cat-v5__reset {grid-column:1/-1;text-align:center;}
  .bab-cat-v5__grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;}
  .bab-cat-v5__grid .bab-card__image {aspect-ratio:4/4.5;padding:6px;}
  .bab-cat-v5__grid .bab-card__body {padding:10px 9px;}
  .bab-cat-v5__grid .bab-card__title {font-size:.84rem!important;line-height:1.5!important;}
  .bab-cat-v5__grid .bab-card__date {font-size:.7rem;}
  .bab-cat-v5__sidebar {display:flex;flex-direction:column;gap:13px;}
  .bab-cat-v5__panel {width:100%;padding:16px;}
}
@media(max-width:350px){
  .bab-cat-v5__hero-copy h1 {font-size:1.7rem!important;}
  .bab-cat-v5__tabs a {font-size:.7rem;}
}
@media(prefers-reduced-motion:reduce){.bab-cat-v5 *, .bab-cat-v5 *::before,.bab-cat-v5 *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
