:root {
  --navy: #0d1b2a;
  --blue: #2563eb;
  --light-blue: #60a5fa;
  --orange: #ff7a59;
  --gray: #6b7280;
  --ink: #111827;
  --muted: #667085;
  --line: #d9e2ef;
  --paper: #ffffff;
  --soft: #f5f8fc;
  --shadow: 0 22px 60px rgba(13, 27, 42, 0.14);
}

/* Temporary Reference Books menu switch. Change only this attribute to
   "true" to restore the tab; its route, data and filters stay live. */
[data-public-reference-menu-enabled="false"] {
  display: none !important;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  font-family:
    Pretendard,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  background:
    radial-gradient(circle at 18% 0%, rgba(96, 165, 250, 0.35), transparent 34rem),
    linear-gradient(145deg, #f7fbff 0%, #edf5ff 46%, #ffffff 100%);
  letter-spacing: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

.site-header {
  position: sticky;
  z-index: 20;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 76px;
  padding: 14px clamp(18px, 5vw, 72px);
  background: rgba(255, 255, 255, 0.86);
  border-bottom: 1px solid rgba(217, 226, 239, 0.9);
  backdrop-filter: blur(18px);
}

.brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}

.brand-logo {
  display: block;
  width: auto;
  height: 48px;
  max-width: 154px;
  object-fit: contain;
}

.top-nav {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.top-nav::-webkit-scrollbar {
  display: none;
}

.top-nav a {
  padding: 10px 14px;
  color: #334155;
  font-size: 0.94rem;
  font-weight: 750;
  border-radius: 999px;
  white-space: nowrap;
}

.top-nav a:hover,
.top-nav a.is-active {
  color: var(--blue);
  background: #eaf2ff;
}

.top-nav .login-link {
  color: #fff;
  background: var(--navy);
}

.top-nav .login-link:hover {
  color: #fff;
  background: #1e3a8a;
}

.admin-mobile-link {
  display: none;
}

main {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 900px);
  gap: 28px;
  align-items: center;
  min-height: 320px;
  padding: 58px 0 38px;
}

.hero-copy h1 {
  max-width: 740px;
  margin: 0;
  color: var(--navy);
  font-size: clamp(2.4rem, 6vw, 5.2rem);
  font-weight: 900;
  line-height: 1.02;
  overflow-wrap: break-word;
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--blue);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-text {
  max-width: 900px;
  margin: 22px 0 0;
  color: #344054;
  font-size: 1.1rem;
  font-weight: 520;
  line-height: 1.75;
}

.hero-actions {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
  width: min(100%, 900px);
  margin-top: 28px;
}

.signal-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.primary-action,
.secondary-action,
.signal-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  width: 100%;
  min-height: 54px;
  padding: 0 12px;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 850;
  border-radius: 14px;
  white-space: nowrap;
}

.primary-action {
  color: #fff;
  background: linear-gradient(135deg, var(--blue), #0b4ddb);
  box-shadow: 0 16px 32px rgba(37, 99, 235, 0.25);
}

.secondary-action {
  color: var(--navy);
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 10px 26px rgba(13, 27, 42, 0.07);
}

.ar-ranking-action {
  color: #0b4ddb;
  border-color: rgba(37, 99, 235, 0.24);
}

.newbery-action {
  color: #7a4b00;
  border-color: rgba(180, 118, 16, 0.28);
  background: #fffdf7;
}

.classic-ebook-action {
  color: #08745d;
  border-color: rgba(8, 116, 93, 0.26);
  background: #f4fffb;
}

.signal-action {
  width: auto;
  gap: 8px;
  min-height: 48px;
  padding-inline: 14px;
  color: var(--navy);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(217, 226, 239, 0.95);
  box-shadow: 0 10px 26px rgba(13, 27, 42, 0.07);
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.signal-action:hover,
.signal-action:focus-visible {
  border-color: rgba(37, 99, 235, 0.34);
  box-shadow: 0 16px 38px rgba(13, 27, 42, 0.12);
  outline: none;
  transform: translateY(-2px);
}

.signal-count {
  display: inline-flex;
  align-items: baseline;
  gap: 1px;
  color: var(--blue);
  font-size: 0.84rem;
  font-weight: 900;
  line-height: 1;
}

.signal-count strong {
  font-size: 0.96rem;
  font-weight: 950;
}

.signal-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 950;
  line-height: 1;
  letter-spacing: 0;
  transform: translateY(-1px);
}

.signal-badge-new {
  color: #0f5f43;
  background: rgba(22, 163, 74, 0.13);
  border: 1px solid rgba(22, 163, 74, 0.2);
}

.signal-badge-rise {
  min-width: 22px;
  width: 22px;
  height: 22px;
  padding: 0;
  color: #d92d38;
  background: #ffffff;
  border: 1px solid #f3b7bd;
  box-shadow: 0 3px 7px rgba(217, 45, 56, 0.14);
  font-size: 1rem;
  font-weight: 950;
  transform: translateY(-1px);
}

.signal-action em {
  color: var(--navy);
  font-size: 0.88rem;
  font-style: normal;
  font-weight: 850;
  line-height: 1;
}

.section {
  scroll-margin-top: 94px;
  padding: 34px 0 54px;
}

.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.section h1,
.section h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  font-weight: 900;
}

.seo-route-page main {
  min-height: calc(100vh - 220px);
}

.seo-route-page .section {
  padding-top: 52px;
}

.seo-breadcrumb {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 24px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 720;
}

.seo-breadcrumb a:hover {
  color: var(--blue);
}

.seo-book-count {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 13px;
  color: var(--blue);
  font-size: 0.84rem;
  font-weight: 900;
  background: #eaf2ff;
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 10px;
}

.seo-route-page .book-card h2 {
  display: -webkit-box;
  min-height: 3.15em;
  margin: 14px 0 8px;
  overflow: hidden;
  font-size: 1.05rem;
  line-height: 1.45;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.section-description {
  max-width: 680px;
  margin: 10px 0 0;
  color: #475467;
  font-size: 0.98rem;
  font-weight: 560;
  line-height: 1.65;
}

.section-link {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 14px;
  color: #fff;
  font-size: 0.88rem;
  font-weight: 900;
  background: var(--navy);
  border-radius: 999px;
}

.is-hidden {
  display: none !important;
}

.hashtag-section {
  padding: 6px 0 22px;
}

.hashtag-section .section-head {
  margin-bottom: 10px;
}

.hashtag-section .eyebrow {
  margin-bottom: 5px;
  font-size: 0.68rem;
}

.hashtag-section h2 {
  font-size: clamp(1rem, 1.5vw, 1.18rem);
}

.hashtag-section .section-description {
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

.hashtag-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.hashtag-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 34px;
  max-width: 100%;
  padding: 0 11px;
  color: var(--navy);
  font: inherit;
  font-size: 0.84rem;
  font-weight: 880;
  text-align: left;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(217, 226, 239, 0.96);
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(13, 27, 42, 0.05);
  cursor: pointer;
  transition: color 0.16s ease, background 0.16s ease, border-color 0.16s ease, transform 0.16s ease;
}

.hashtag-chip:hover,
.hashtag-chip:focus-visible {
  color: var(--blue);
  background: #eaf2ff;
  border-color: rgba(37, 99, 235, 0.28);
  outline: none;
  transform: translateY(-1px);
}

.hashtag-chip.is-active {
  color: #fff;
  background: var(--blue);
  border-color: var(--blue);
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.2);
}

.hashtag-chip span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hashtag-chip em {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 7px;
  color: var(--blue);
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 900;
  background: #eaf2ff;
  border-radius: 999px;
}

.hashtag-chip.is-active em {
  color: var(--blue);
  background: #ffffff;
}

.hashtag-detail {
  scroll-margin-top: 92px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(217, 226, 239, 0.96);
}

.hashtag-detail-head {
  margin-bottom: 14px;
}

.hashtag-detail h3 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  font-weight: 900;
  line-height: 1.25;
}

.discovery-section {
  padding-top: 26px;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.feature-panel {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 14px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(217, 226, 239, 0.96);
  border-radius: 22px;
  box-shadow: 0 18px 46px rgba(13, 27, 42, 0.09);
}

.feature-panel-head span {
  color: var(--orange);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
}

.feature-panel h3 {
  margin: 6px 0 0;
  color: var(--navy);
  font-size: 1.22rem;
  font-weight: 900;
  line-height: 1.25;
}

.feature-panel p {
  margin: 8px 0 0;
  color: #475467;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.48;
}

.mini-book-list {
  display: grid;
  gap: 8px;
}

.mini-book {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 62px;
  padding: 8px;
  text-align: left;
  background: #f8fbff;
  border: 1px solid rgba(217, 226, 239, 0.9);
  border-radius: 14px;
  cursor: pointer;
}

.mini-book:hover {
  border-color: rgba(37, 99, 235, 0.3);
  background: #eef5ff;
}

.mini-cover .cover {
  width: 100%;
  border-radius: 9px;
}

.mini-book strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.88rem;
  font-weight: 860;
  line-height: 1.35;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.mini-book em {
  display: block;
  margin-top: 2px;
  overflow: hidden;
  color: var(--muted);
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 720;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mini-book em.rising-meta {
  color: #c22b1d;
  font-weight: 900;
}

.panel-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  color: var(--blue);
  font: inherit;
  font-size: 0.88rem;
  font-weight: 900;
  background: #eaf2ff;
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 12px;
  cursor: pointer;
  text-decoration: none;
}

.collection-view {
  margin-top: 28px;
  padding-top: 28px;
  border-top: 1px solid rgba(217, 226, 239, 0.9);
}

.collection-head {
  align-items: center;
}

.collection-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.collection-tabs button {
  min-height: 40px;
  padding: 0 12px;
  color: var(--navy);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 900;
  background: #ffffff;
  border: 1px solid rgba(217, 226, 239, 0.96);
  border-radius: 999px;
  cursor: pointer;
}

.collection-tabs button.is-active {
  color: #fff;
  background: var(--blue);
  border-color: var(--blue);
}

.book-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.newbery-head {
  align-items: center;
  margin-bottom: 0;
}

.newbery-head > div:first-child {
  flex: 1 1 auto;
  min-width: 0;
}

.newbery-head .section-description,
.world-literature-head .section-description {
  max-width: none;
  overflow-wrap: break-word;
  text-wrap: balance;
  word-break: keep-all;
}

.newbery-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
  margin: 16px 0 20px;
}

.newbery-controls strong,
.newbery-controls select {
  min-height: 40px;
  color: var(--navy);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 850;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(217, 226, 239, 0.96);
  border-radius: 10px;
}

.newbery-controls strong {
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  color: #7a4b00;
  background: #fff9e8;
  border-color: rgba(180, 118, 16, 0.22);
}

.newbery-controls select {
  min-width: 132px;
  padding: 0 34px 0 11px;
  cursor: pointer;
}

.newbery-card .rank-badge {
  color: #3f2a00;
  background: rgba(255, 224, 142, 0.96);
}

.newbery-card.is-honor .rank-badge {
  color: #344054;
  background: rgba(229, 235, 244, 0.96);
}

.newbery-line strong {
  color: #7a4b00;
}

.awards-section {
  padding-top: 30px;
}

.awards-overview {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(430px, 1.55fr) minmax(230px, 0.9fr);
  gap: 22px;
  align-items: stretch;
  padding: 24px 0 30px;
}

.awards-intro {
  position: relative;
  align-self: center;
  min-width: 0;
}

.awards-breadcrumb {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 24px;
  color: #54708e;
  font-size: 0.8rem;
  font-weight: 760;
}

.awards-breadcrumb a:hover {
  color: var(--blue);
}

.awards-intro h1 {
  font-size: clamp(2.8rem, 5vw, 4.8rem);
  line-height: 1;
}

.awards-intro .section-description {
  max-width: 290px;
  margin-top: 18px;
  color: #314761;
  font-size: 0.94rem;
  line-height: 1.72;
  word-break: keep-all;
}

.award-region-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-width: 230px;
  margin-top: 26px;
}

.award-region-tabs a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 16px;
  color: #263b58;
  font-size: 0.9rem;
  font-weight: 900;
  background: #fff;
  border: 1px solid #cdd9e8;
  border-radius: 6px;
}

.award-region-tabs a:hover,
.award-region-tabs a.is-active {
  color: #fff;
  background: #1559dc;
  border-color: #1559dc;
}

.award-category-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.award-category-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  color: #25405f;
  font-size: 0.78rem;
  font-weight: 850;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid #d7e2ef;
  border-radius: 18px;
}

.award-category-tabs a:hover,
.award-category-tabs a.is-active {
  color: #1559dc;
  background: #edf4ff;
  border-color: #8bb3f4;
}

.award-featured,
.award-recent {
  min-width: 0;
  background: #fff;
  border: 1px solid #d7e2ef;
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(27, 63, 108, 0.11);
}

.award-featured {
  position: relative;
  display: grid;
  grid-template-columns: minmax(160px, 42%) minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  min-height: 356px;
  padding: 22px 44px 34px 22px;
}

.award-feature-cover {
  width: 100%;
  aspect-ratio: 0.72;
  overflow: hidden;
  border-radius: 6px;
  box-shadow: 0 12px 28px rgba(13, 27, 42, 0.2);
}

.award-feature-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.award-feature-copy {
  min-width: 0;
}

.award-feature-label {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  color: #7c5000;
  font-size: 0.74rem;
  font-weight: 900;
  background: #fff0bd;
  border-radius: 15px;
}

.award-feature-copy h3 {
  margin: 16px 0 8px;
  color: var(--navy);
  font-size: clamp(1.45rem, 2.4vw, 2.2rem);
  font-weight: 900;
  line-height: 1.14;
  overflow-wrap: anywhere;
}

.award-feature-meta {
  margin: 0;
  color: #415875;
  font-size: 0.84rem;
  font-weight: 750;
  line-height: 1.5;
}

.award-feature-description {
  display: -webkit-box;
  margin: 18px 0 0;
  overflow: hidden;
  color: #34495f;
  font-size: 0.84rem;
  line-height: 1.7;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}

.award-text-link {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 0;
  color: #1559dc;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 900;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.award-feature-open {
  margin-top: 20px;
}

.award-feature-nav {
  position: absolute;
  z-index: 2;
  top: 50%;
  display: grid;
  width: 38px;
  height: 38px;
  padding: 0;
  color: #1b4f99;
  font-size: 1.9rem;
  line-height: 1;
  background: #fff;
  border: 1px solid #cad9ea;
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(13, 27, 42, 0.12);
  cursor: pointer;
  place-items: center;
  transform: translateY(-50%);
}

.award-feature-nav:hover,
.award-feature-nav:focus-visible {
  color: #fff;
  background: #1559dc;
  border-color: #1559dc;
  outline: none;
}

.award-feature-nav.is-previous {
  left: -18px;
}

.award-feature-nav.is-next {
  right: -18px;
}

.award-feature-dots {
  position: absolute;
  right: 0;
  bottom: 14px;
  left: 0;
  display: flex;
  gap: 7px;
  justify-content: center;
}

.award-feature-dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  background: #c4cfde;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}

.award-feature-dots button.is-active {
  background: #1559dc;
}

.award-feature-empty {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  align-content: center;
  justify-items: center;
  min-height: 260px;
  color: #61738a;
  text-align: center;
}

.award-feature-empty strong {
  color: var(--navy);
  font-size: 1.15rem;
}

.award-recent {
  display: flex;
  flex-direction: column;
  padding: 14px 16px 0;
  overflow: hidden;
}

.award-recent h2 {
  margin: 0 0 8px;
  font-size: 1rem;
}

.award-recent-list {
  display: grid;
}

.award-recent-item {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 74px;
  padding: 8px 0;
  text-align: left;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #e1e8f1;
  cursor: pointer;
}

.award-recent-cover {
  width: 54px;
  height: 58px;
  overflow: hidden;
  border-radius: 4px;
}

.award-recent-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.award-recent-item small,
.award-recent-item strong,
.award-recent-item em {
  display: block;
  min-width: 0;
}

.award-recent-item small {
  color: #2863ba;
  font-size: 0.67rem;
  font-weight: 850;
}

.award-recent-item strong {
  margin-top: 3px;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.78rem;
  font-weight: 900;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.award-recent-item em {
  margin-top: 3px;
  overflow: hidden;
  color: #667085;
  font-size: 0.68rem;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.award-recent > .award-text-link {
  justify-content: center;
  min-height: 46px;
  margin: auto -16px 0;
  border-top: 1px solid #e1e8f1;
}

.award-program-band {
  display: grid;
  grid-template-columns: minmax(210px, 0.65fr) minmax(0, 2.35fr);
  gap: 22px;
  margin-top: 4px;
  padding: 24px;
  color: #fff;
  background: #1257cb;
  border-radius: 8px;
}

.award-program-intro {
  align-self: center;
}

.award-seal {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 9px;
  color: #114391;
  font-size: 0.68rem;
  font-weight: 950;
  background: #f5d76d;
  border-radius: 14px;
}

.award-program-intro h2 {
  margin-top: 12px;
  color: #fff;
  font-size: 1.55rem;
}

.award-program-intro p {
  margin: 10px 0 0;
  color: #d8e8ff;
  font-size: 0.84rem;
  line-height: 1.6;
}

.award-program-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  align-items: stretch;
}

.award-program-card {
  display: grid;
  grid-template-rows: 92px auto;
  min-width: 0;
  overflow: hidden;
  color: var(--navy);
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 8px;
}

.award-program-card.is-active {
  border-color: #f4cc54;
  box-shadow: 0 0 0 2px rgba(244, 204, 84, 0.4);
}

.award-program-mark {
  display: grid;
  color: #fff;
  font-family: Georgia, serif;
  font-size: 3.2rem;
  font-weight: 700;
  background: #173f8c;
  place-items: center;
}

.award-program-copy {
  display: grid;
  gap: 5px;
  align-content: start;
  padding: 14px;
}

.award-program-copy h4 {
  margin: 0;
  color: var(--navy);
  font-size: 1rem;
}

.award-program-copy p,
.award-program-copy span {
  margin: 0;
  color: #52667f;
  font-size: 0.72rem;
  font-style: normal;
}

.award-program-copy a {
  margin-top: 8px;
  color: #1559dc;
  font-size: 0.78rem;
  font-weight: 900;
}

.award-empty {
  grid-column: 1 / -1;
  display: grid;
  min-height: 120px;
  margin: 0;
  padding: 24px;
  color: #d9e9ff;
  font-size: 0.86rem;
  text-align: center;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 8px;
}

.award-recent .award-empty {
  min-height: 160px;
  color: #61738a;
  border-color: #dce5ef;
}

.award-program-detail {
  margin-top: 42px;
  padding-top: 32px;
  border-top: 1px solid #cfdae8;
}

@media (max-width: 1040px) {
  .awards-overview {
    grid-template-columns: minmax(220px, 0.8fr) minmax(430px, 1.6fr);
  }

  .award-recent {
    grid-column: 1 / -1;
  }

  .award-recent-list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
  }

  .award-recent-item {
    grid-template-columns: 48px minmax(0, 1fr);
    border-bottom: 0;
  }
}

@media (max-width: 760px) {
  .awards-section {
    padding-top: 16px;
  }

  .awards-overview {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-top: 14px;
  }

  .awards-intro {
    padding-bottom: 4px;
  }

  .awards-breadcrumb {
    margin-bottom: 14px;
  }

  .awards-intro h1 {
    font-size: 2.8rem;
  }

  .awards-intro .section-description {
    max-width: none;
  }

  .award-region-tabs {
    max-width: none;
  }

  .award-featured {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 16px;
    min-height: 258px;
    padding: 18px 28px 34px 18px;
  }

  .award-feature-copy h3 {
    margin-top: 10px;
    font-size: 1.28rem;
  }

  .award-feature-description {
    margin-top: 10px;
    font-size: 0.76rem;
    -webkit-line-clamp: 3;
  }

  .award-feature-open {
    margin-top: 12px;
  }

  .award-feature-nav {
    width: 34px;
    height: 34px;
  }

  .award-feature-nav.is-previous {
    left: -10px;
  }

  .award-feature-nav.is-next {
    right: -10px;
  }

  .award-recent-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .award-program-band {
    grid-template-columns: 1fr;
    padding: 22px 18px;
    border-radius: 8px;
  }

  .award-program-list {
    grid-auto-columns: minmax(190px, 72vw);
    grid-auto-flow: column;
    grid-template-columns: none;
    overflow-x: auto;
    padding: 2px 2px 10px;
    scroll-snap-type: x mandatory;
  }

  .award-program-card {
    scroll-snap-align: start;
  }
}

@media (max-width: 440px) {
  .award-featured {
    grid-template-columns: 92px minmax(0, 1fr);
    min-height: 232px;
  }

  .award-feature-label {
    min-height: 26px;
    padding: 0 8px;
    font-size: 0.64rem;
  }

  .award-feature-copy h3 {
    font-size: 1.08rem;
  }

  .award-feature-meta,
  .award-feature-description {
    font-size: 0.7rem;
  }

  .award-recent-list {
    grid-template-columns: 1fr;
  }
}

.classic-ebook-head {
  display: block;
}

.classic-recent-section,
.classic-recommended-section {
  margin-bottom: 34px;
}

.classic-recent-section[hidden],
.classic-recommended-section[hidden] {
  display: none;
}

.classic-subsection-head,
.classic-catalog-head {
  display: flex;
  gap: 18px;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 16px;
}

.classic-subsection-head h2,
.classic-subsection-head h3,
.classic-catalog-head h3 {
  margin: 4px 0 0;
  color: var(--navy);
  font-size: 1.45rem;
  line-height: 1.25;
}

.classic-subsection-head > span {
  color: #08745d;
  font-size: 0.78rem;
  font-weight: 850;
}

.classic-recent-section {
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(196, 209, 225, 0.82);
}

.classic-recent-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.classic-recent-item {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
  padding: 12px;
  background: #fff;
  border: 1px solid rgba(201, 213, 229, 0.95);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(13, 27, 42, 0.06);
}

.classic-recent-cover {
  width: 76px;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: #f1f5f9;
  border-radius: 6px;
}

.classic-recent-cover img,
.classic-recent-cover .cover-fallback {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.classic-recent-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}

.classic-recent-copy > span {
  color: #08745d;
  font-size: 0.7rem;
  font-weight: 900;
}

.classic-recent-copy strong {
  display: -webkit-box;
  margin-top: 5px;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.88rem;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.classic-recent-copy small {
  display: block;
  width: 100%;
  margin-top: 3px;
  overflow: hidden;
  color: #667085;
  font-size: 0.68rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.classic-recent-copy button {
  min-height: 30px;
  margin-top: auto;
  padding: 0 10px;
  color: #fff;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 850;
  background: #08745d;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
}

.classic-catalog-head {
  display: block;
  margin-top: 40px;
}

.classic-ebook-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
  max-width: none;
  margin-top: 18px;
}

.classic-ebook-controls strong,
.classic-ebook-controls input,
.classic-ebook-controls select {
  min-height: 40px;
  color: var(--navy);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(217, 226, 239, 0.96);
  border-radius: 10px;
}

.classic-ebook-controls strong {
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  color: #08745d;
  background: #eafaf4;
  border-color: rgba(8, 116, 93, 0.2);
}

.classic-ebook-controls input {
  width: min(300px, 32vw);
  padding: 0 12px;
}

.classic-ebook-controls select {
  min-width: 124px;
  padding: 0 32px 0 10px;
  cursor: pointer;
}

.classic-ebook-card .rank-badge {
  color: #064e3b;
  background: rgba(209, 250, 229, 0.96);
}

.classic-ebook-card {
  min-height: 420px;
}

.classic-ebook-card h3 {
  margin-bottom: 4px;
}

.classic-original-title,
.classic-detail-original-title {
  color: #667085;
  font-weight: 650;
}

.classic-original-title {
  display: -webkit-box;
  min-height: 2.45em;
  margin: 0 0 7px;
  overflow: hidden;
  font-size: 0.72rem;
  line-height: 1.38;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.classic-detail-original-title {
  margin: -4px 0 8px;
  font-size: 0.86rem;
}

.classic-card-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 10px;
  margin-top: auto;
  padding-top: 13px;
  border-top: 1px solid rgba(217, 226, 239, 0.9);
}

.classic-card-facts span {
  min-width: 0;
}

.classic-card-facts small,
.classic-card-facts strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.classic-card-facts small {
  color: #7a8798;
  font-size: 0.64rem;
  font-weight: 750;
}

.classic-card-facts strong {
  margin-top: 2px;
  color: #1f3448;
  font-size: 0.73rem;
  font-weight: 900;
}

.classic-edition-count {
  margin: 10px 0 0;
  color: #08745d;
  font-size: 0.68rem;
  font-weight: 800;
}

.classic-edition-selector {
  display: grid;
  gap: 6px;
  margin: 14px 0 4px;
}

.classic-edition-selector span {
  color: #475467;
  font-size: 0.72rem;
  font-weight: 850;
}

.classic-edition-selector select {
  width: 100%;
  min-height: 42px;
  padding: 0 34px 0 11px;
  color: var(--navy);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 750;
  background: #fff;
  border: 1px solid #d9e2ef;
  border-radius: 8px;
}

.classic-empty-request {
  grid-column: 1 / -1;
  display: grid;
  gap: 6px;
  padding: 30px;
  color: #475467;
  text-align: center;
  background: #f7fafc;
  border: 1px dashed #b8c7d9;
  border-radius: 8px;
}

.classic-empty-request strong {
  color: var(--navy);
  font-size: 1rem;
}

.ebook-complete-button[aria-pressed="true"] {
  color: #fff;
  background: #08745d;
  border-color: #08745d;
}

.classic-ebook-line strong,
.classic-level-chip {
  color: #08745d;
}

.classic-ebook-load-more {
  display: block;
  min-width: 190px;
  min-height: 46px;
  margin: 26px auto 0;
  padding: 0 20px;
  color: #08745d;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 900;
  background: #eafaf4;
  border: 1px solid rgba(8, 116, 93, 0.22);
  border-radius: 12px;
  cursor: pointer;
}

.classic-ebook-load-more:hover {
  color: #fff;
  background: #08745d;
}

.classic-ebook-load-more[hidden] {
  display: none;
}

.hashtag-detail .book-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

.hashtag-detail .book-card {
  min-height: 340px;
  padding: 12px;
  border-radius: 16px;
}

.hashtag-detail .book-card h3 {
  margin: 10px 0 6px;
  font-size: 0.9rem;
}

.hashtag-detail .meta {
  font-size: 0.78rem;
}

.hashtag-detail .rank-badge {
  top: 8px;
  left: 8px;
  height: 28px;
  padding: 0 8px;
  font-size: 0.74rem;
}

.hashtag-detail .score-line {
  font-size: 0.74rem;
}

.book-card {
  position: relative;
  display: grid;
  min-height: 386px;
  padding: 16px;
  overflow: hidden;
  text-align: left;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(217, 226, 239, 0.94);
  border-radius: 20px;
  box-shadow: 0 16px 42px rgba(13, 27, 42, 0.09);
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.book-card:hover {
  border-color: rgba(37, 99, 235, 0.35);
  box-shadow: 0 20px 50px rgba(13, 27, 42, 0.14);
  transform: translateY(-3px);
}

.cover {
  position: relative;
  display: grid;
  width: 100%;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  color: #fff;
  background: #eef3f8;
  border-radius: 14px;
  place-items: center;
}

.cover img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.cover-fallback {
  display: grid;
  padding: 18px;
  text-align: center;
  place-items: center;
}

.cover-fallback span {
  font-size: 0.92rem;
  font-weight: 850;
  line-height: 1.45;
}

.rank-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 10px;
  color: #fff;
  font-size: 0.86rem;
  font-weight: 900;
  background: rgba(13, 27, 42, 0.88);
  border-radius: 999px;
}

.book-card h3 {
  display: -webkit-box;
  min-height: 3.15em;
  margin: 14px 0 8px;
  overflow: hidden;
  color: var(--navy);
  font-size: 1.05rem;
  font-weight: 880;
  line-height: 1.45;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.meta {
  min-height: 2.8em;
  margin: 0;
  color: #475467;
  font-size: 0.88rem;
  font-weight: 620;
  line-height: 1.55;
}

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 8px;
  color: #1d4ed8;
  font-size: 0.75rem;
  font-weight: 850;
  background: #eaf2ff;
  border-radius: 999px;
}

.chip.orange {
  color: #b93815;
  background: #fff0eb;
}

.chip.rising {
  color: #b42318;
  background: #feeceb;
}

.chip.ebook-chip {
  color: #075985;
  background: #e0f2fe;
}

.chip.preview-status-chip {
  gap: 5px;
}

.chip.preview-status-chip::before {
  width: 6px;
  height: 6px;
  content: "";
  background: currentColor;
  border-radius: 999px;
}

.chip.preview-status-chip.is-available {
  color: #087443;
  background: #e6f7ef;
}

.chip.preview-status-chip.is-unavailable {
  color: #667085;
  background: #f0f2f5;
}

.score-line {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  padding-top: 12px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 760;
  border-top: 1px solid var(--line);
}

.score-line strong {
  color: var(--blue);
}

.curated-line strong {
  max-width: 11em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.book-dialog {
  width: min(1240px, calc(100vw - 28px));
  max-height: min(900px, calc(100dvh - 28px));
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 12px;
  box-shadow: 0 30px 90px rgba(13, 27, 42, 0.32);
}

.book-dialog::backdrop {
  background: rgba(13, 27, 42, 0.58);
  backdrop-filter: blur(8px);
}

.dialog-x {
  position: absolute;
  z-index: 5;
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  color: var(--navy);
  font-size: 1.5rem;
  line-height: 1;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid var(--line);
  border-radius: 999px;
  cursor: pointer;
}

.detail-nav-control {
  position: absolute;
  z-index: 6;
  top: 50%;
  width: 42px;
  height: 72px;
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  opacity: 0.56;
  transform: translateY(-50%);
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.detail-nav-control[hidden] {
  display: none;
}

.detail-nav-control::before {
  display: block;
  width: 0;
  height: 0;
  margin: auto;
  content: "";
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
}

.detail-nav-control.is-previous {
  left: 8px;
}

.detail-nav-control.is-previous::before {
  border-right: 18px solid #91a4bf;
}

.detail-nav-control.is-next {
  right: 8px;
}

.detail-nav-control.is-next::before {
  border-left: 18px solid #91a4bf;
}

.detail-nav-control:hover,
.detail-nav-control:focus-visible {
  opacity: 0.92;
  transform: translateY(-50%) scale(1.06);
}

.dialog-detail {
  padding: 36px 58px 26px;
  overflow: auto;
  max-height: min(900px, calc(100dvh - 28px));
  background: #fff;
}

.detail-hero {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 12px 38px;
  padding-right: 28px;
}

.dialog-detail .cover {
  border: 1px solid #e6ebf2;
  border-radius: 8px;
  box-shadow: 0 18px 42px rgba(13, 27, 42, 0.12);
}

.detail-media {
  grid-row: 1 / 3;
  min-width: 0;
}

.detail-cover-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  width: 100%;
  margin-top: 12px;
}

.detail-cover-actions .detail-link {
  flex: 0 1 142px;
  gap: 7px;
  width: auto;
  min-width: 0;
  min-height: 42px;
  margin: 0;
  padding: 0 15px;
  color: #1456c8;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 850;
  background: #fff;
  border: 1px solid #cbdaf0;
  border-radius: 7px;
  cursor: pointer;
}

.detail-cover-actions .detail-link:hover {
  color: #fff;
  background: #1456c8;
  border-color: #1456c8;
}

.detail-media .detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: 12px;
}

.detail-media .detail-actions .detail-link {
  width: 42px;
  min-height: 42px;
  padding: 0;
}

.detail-media .affiliate-disclosure {
  margin-top: 8px;
  font-size: 0.68rem;
  line-height: 1.45;
}

.detail-copy h3 {
  margin: 12px 0 10px;
  color: var(--navy);
  font-size: clamp(1.7rem, 3.2vw, 2.55rem);
  font-weight: 900;
  line-height: 1.22;
}

.detail-copy .meta {
  min-height: auto;
  margin-top: 8px;
  color: #475467;
  font-size: 0.95rem;
  font-weight: 720;
}

.detail-lead {
  display: -webkit-box;
  margin: 16px 0 0;
  overflow: hidden;
  color: #475467;
  font-size: 0.94rem;
  line-height: 1.72;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.detail-hero-footer {
  grid-column: 2;
  min-width: 0;
}

.detail-mobile-chips {
  display: none;
}

.detail-summary-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 20px 0 0;
  padding: 16px 0;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.detail-summary-stats div {
  min-width: 0;
  padding: 0 16px;
  text-align: center;
  border-left: 1px solid var(--line);
}

.detail-summary-stats div:first-child {
  border-left: 0;
}

.detail-summary-stats dt,
.detail-summary-stats dd {
  margin: 0;
}

.detail-summary-stats dt {
  color: #667085;
  font-size: 0.76rem;
  font-weight: 800;
}

.detail-stat-label {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
}

.detail-stat-label .detail-action-icon {
  width: 16px;
  height: 16px;
}

.detail-stat-label.is-rank,
.detail-stat-label.is-score {
  color: #2563eb;
}

.detail-stat-label.is-store {
  color: #e9a008;
}

.detail-stat-label > span {
  color: #667085;
}

.detail-summary-stats dd {
  margin-top: 7px;
  overflow-wrap: anywhere;
  color: var(--navy);
  font-size: 1.08rem;
  font-weight: 900;
  line-height: 1.35;
}

.detail-summary-stats div:last-child dd {
  font-size: 0.84rem;
  line-height: 1.5;
}

.detail-rank-medal {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
  min-width: 108px;
  color: var(--navy);
}

.detail-rank-medal strong {
  color: currentColor;
  font-size: 1.55rem;
  font-weight: 950;
  line-height: 1;
}

.detail-rank-medal.is-gold {
  color: #bd8a08;
}

.detail-rank-medal.is-silver {
  color: #778394;
}

.detail-rank-medal.is-bronze {
  color: #a75e2f;
}

.detail-score-metric {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.detail-score-number {
  display: inline-flex;
  gap: 3px;
  align-items: baseline;
  color: var(--navy);
}

.detail-score-number strong {
  font-size: 1.55rem;
  font-weight: 950;
  line-height: 1;
}

.detail-score-number small {
  font-size: 0.78rem;
  font-weight: 900;
}

.detail-rank-laurel {
  display: block;
  flex: 0 0 auto;
  width: 38px;
  height: 42px;
  overflow: visible;
  color: currentColor;
}

.detail-rank-laurel.is-right {
  transform: scaleX(-1);
}

.detail-rank-laurel path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  opacity: 0.78;
}

.detail-rank-laurel ellipse {
  fill: currentColor;
  opacity: 0.86;
}

.detail-content-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.75fr);
  gap: 34px;
  margin-top: 28px;
  padding-top: 6px;
  border-top: 1px solid var(--line);
}

.detail-position {
  display: grid;
  gap: 7px;
  justify-items: center;
  margin-top: 16px;
  color: #667085;
}

.detail-position strong {
  font-size: 0.8rem;
  font-weight: 820;
}

.detail-position > span {
  display: flex;
  gap: 7px;
}

.detail-position i {
  width: 6px;
  height: 6px;
  background: #c9d3e1;
  border-radius: 50%;
}

.detail-position i.is-current {
  background: #2563eb;
}

.detail-primary-info {
  display: grid;
  gap: 0;
  margin-top: 0;
}

.detail-supplemental-info {
  display: contents;
}

.detail-reading-section {
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}

.detail-primary-info > .detail-reading-section:first-child {
  border-top: 2px solid var(--blue);
}

.detail-reading-section h4,
.detail-reading-section summary {
  margin: 0;
  color: var(--navy);
  font-size: 1rem;
  font-weight: 900;
}

.detail-reading-section summary {
  cursor: pointer;
}

.detail-reading-section p {
  margin: 10px 0 0;
  color: #344054;
  font-size: 0.94rem;
  line-height: 1.78;
}

.detail-table-of-contents p {
  max-height: 280px;
  padding-right: 10px;
  overflow: auto;
  white-space: normal;
  scrollbar-width: thin;
}

.detail-author-info {
  margin: 0;
}

.detail-author-info h4 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 0.94rem;
  font-weight: 900;
}

.detail-author-info strong {
  display: block;
  color: var(--navy);
  font-size: 0.96rem;
  font-weight: 850;
}

.detail-author-info > span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 700;
}

.detail-author-info p {
  margin: 8px 0 0;
  color: #475467;
  font-size: 0.92rem;
  line-height: 1.72;
}

.detail-secondary-info {
  margin-top: 20px;
}

.detail-secondary-info > h4 {
  margin: 0;
  color: var(--navy);
  font-size: 1rem;
  font-weight: 900;
}

.detail-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 12px;
}

.detail-grid div {
  padding: 12px;
  background: var(--soft);
  border-radius: 7px;
}

.detail-grid span {
  display: block;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 820;
}

.detail-grid strong {
  display: block;
  margin-top: 4px;
  color: var(--navy);
  font-size: 0.98rem;
  font-weight: 880;
}

.source-evidence {
  margin-top: 20px;
  padding: 16px;
  background: #f8fbff;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.source-evidence h4 {
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 0.94rem;
  font-weight: 900;
}

.source-evidence ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.source-evidence li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(217, 226, 239, 0.78);
}

.source-evidence li:first-child {
  border-top: 0;
}

.source-evidence strong {
  display: block;
  color: var(--navy);
  font-size: 0.9rem;
  font-weight: 850;
}

.source-evidence p {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 680;
}

.detail-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 20px;
  padding: 0 16px;
  color: #fff;
  font-weight: 850;
  background: var(--navy);
  border-radius: 12px;
}

.detail-actions {
  display: block;
  margin-top: 12px;
}

.detail-purchase-block {
  flex: 1 1 auto;
  min-width: 0;
}

.detail-purchase-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.detail-purchase-actions {
  flex: 1 1 auto;
}

.detail-actions .detail-link {
  position: relative;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  min-width: 42px;
  min-height: 42px;
  margin-top: 0;
  padding: 0;
  border-radius: 11px;
  text-align: center;
}

.detail-action-icon {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.detail-actions .detail-link::after {
  position: absolute;
  z-index: 8;
  bottom: calc(100% + 8px);
  left: 50%;
  width: max-content;
  max-width: 190px;
  padding: 6px 8px;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
  pointer-events: none;
  content: attr(data-tooltip);
  background: rgba(13, 27, 42, 0.94);
  border-radius: 7px;
  opacity: 0;
  transform: translate(-50%, 4px);
  transition: opacity 0.15s ease, transform 0.15s ease;
}

.detail-actions .detail-link:hover::after,
.detail-actions .detail-link:focus-visible::after {
  opacity: 1;
  transform: translate(-50%, 0);
}

.detail-actions .coupang-link {
  background: #d92d20;
}

.detail-actions .coupang-link:hover {
  background: #b42318;
}

.detail-actions .yes24-link {
  color: #fff;
  background: #1456c8;
}

.detail-actions .yes24-link:hover {
  background: #0f47a9;
}

.detail-actions .kyobo-link {
  color: #fff;
  background: #235648;
}

.detail-actions .kyobo-link:hover {
  background: #19483d;
}

.detail-media .detail-actions .detail-link.coupang-link,
.detail-actions .detail-link.coupang-link,
.detail-media .detail-actions .detail-link.kyobo-link,
.detail-actions .detail-link.kyobo-link,
.detail-media .detail-actions .detail-link.yes24-link,
.detail-actions .detail-link.yes24-link,
.detail-media .detail-actions .detail-link.amazon-link,
.detail-actions .detail-link.amazon-link,
.detail-media .detail-actions .detail-link.kindle-link,
.detail-actions .detail-link.kindle-link {
  flex-basis: auto;
  width: auto;
  min-width: 82px;
  padding: 0 11px;
  gap: 6px;
  font-size: 0.75rem;
  letter-spacing: 0;
}

.detail-purchase-actions .detail-link.coupang-link,
.detail-purchase-actions .detail-link.kyobo-link,
.detail-purchase-actions .detail-link.yes24-link,
.detail-purchase-actions .detail-link.amazon-link,
.detail-purchase-actions .detail-link.kindle-link {
  flex: 1 1 108px;
  width: auto;
  min-width: 108px;
  height: 44px;
  min-height: 44px;
  padding-inline: 16px;
  font-size: 0.82rem;
}

.detail-actions .amazon-link {
  color: #111827;
  background: #ffb21a;
}

.detail-actions .kindle-link {
  color: #fff;
  background: #0f766e;
}

.detail-actions .google-preview-link {
  color: #fff;
  font: inherit;
  font-weight: 850;
  background: #1967d2;
  border: 0;
  cursor: pointer;
}

.detail-actions .google-preview-link:hover {
  background: #1557b0;
}

.detail-actions .share-link {
  color: #1456c8;
  font: inherit;
  background: #edf4ff;
  border: 1px solid #c8daf8;
  cursor: pointer;
}

.detail-actions .share-link:hover,
.detail-actions .share-link.is-confirmed {
  color: #fff;
  background: #1456c8;
  border-color: #1456c8;
}

.share-feedback {
  position: fixed;
  z-index: 120;
  left: 50%;
  bottom: max(24px, calc(env(safe-area-inset-bottom) + 16px));
  max-width: calc(100vw - 32px);
  padding: 11px 16px;
  color: #fff;
  font-size: 0.86rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: center;
  pointer-events: none;
  background: rgba(13, 27, 42, 0.95);
  border-radius: 10px;
  box-shadow: 0 14px 36px rgba(13, 27, 42, 0.28);
  opacity: 0;
  transform: translate(-50%, 10px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.share-feedback.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.detail-actions .ebook-link,
.ebook-status .ebook-link {
  color: #fff;
  font: inherit;
  font-weight: 850;
  background: #1456c8;
  border: 0;
  cursor: pointer;
}

.detail-actions .ebook-link:hover,
.ebook-status .ebook-link:hover {
  background: #0f47a9;
}

.google-books-dialog {
  width: min(980px, calc(100vw - 28px));
  height: min(820px, calc(100dvh - 28px));
  max-width: none;
  max-height: none;
  padding: 0;
  overflow: hidden;
  color: #172033;
  background: #f5f7fb;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 30px 100px rgba(13, 27, 42, 0.38);
}

.google-books-dialog::backdrop {
  background: rgba(8, 20, 38, 0.72);
  backdrop-filter: blur(7px);
}

.google-preview-shell {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  height: 100%;
}

.google-preview-toolbar {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  gap: 12px;
  align-items: center;
  min-height: 66px;
  padding: 10px 14px;
  background: #fff;
  border-bottom: 1px solid #d9e2ef;
}

.google-preview-heading {
  min-width: 0;
}

.google-preview-heading span {
  display: block;
  color: #1967d2;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.google-preview-heading strong {
  display: block;
  overflow: hidden;
  color: #0d1b2a;
  font-size: 0.98rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.google-preview-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  color: #25364d;
  font: inherit;
  font-size: 1.25rem;
  font-weight: 850;
  background: #f4f7fb;
  border: 1px solid #d9e2ef;
  border-radius: 8px;
  cursor: pointer;
}

.google-preview-icon:hover {
  color: #1967d2;
  border-color: #a9c4ee;
}

.google-preview-stage {
  position: relative;
  min-height: 0;
  padding: 14px;
  overflow: auto;
  background: #e8edf4;
}

.google-preview-metadata {
  overflow: hidden;
  background: #fff;
  border: 1px solid #d9e2ef;
}

.google-preview-reader {
  margin-top: 14px;
  padding: 14px;
  background: #fff;
  border: 1px solid #d9e2ef;
}

.google-preview-reader[hidden] {
  display: none;
}

.google-preview-reader h3 {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 900;
}

.google-preview-reader-frame {
  position: relative;
  height: clamp(520px, 68dvh, 720px);
  overflow: hidden;
  background: #fff;
  border: 1px solid #d9e2ef;
}

#google-books-preview-canvas {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: #fff;
  opacity: 0;
}

#google-books-preview-canvas.is-ready {
  opacity: 1;
}

.google-book-info-preview {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  gap: 30px;
  align-items: start;
  width: min(820px, 100%);
  min-height: auto;
  margin-inline: auto;
  padding: clamp(24px, 5vw, 52px);
}

.google-book-info-cover {
  width: 100%;
  max-width: 240px;
  margin-inline: auto;
  aspect-ratio: 2 / 3;
}

.google-book-info-cover img,
.google-book-info-cover .cover-fallback {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f4f7fb;
  border-radius: 8px;
}

.google-book-info-copy {
  min-width: 0;
}

.google-book-info-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 9px;
  color: #7a4b00;
  font-size: 0.72rem;
  font-weight: 900;
  background: #fff5d6;
  border-radius: 999px;
}

.google-book-info-copy h4 {
  margin: 14px 0 0;
  color: var(--navy);
  font-size: clamp(1.45rem, 3vw, 2.15rem);
  line-height: 1.2;
}

.google-book-info-author {
  margin: 8px 0 0;
  color: #475467;
  font-size: 0.95rem;
  font-weight: 750;
}

.google-book-info-copy dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
  margin: 24px 0 0;
  border-top: 1px solid #d9e2ef;
}

.google-book-info-copy dl div {
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr);
  gap: 8px;
  padding: 10px 0;
  border-bottom: 1px solid #e7edf5;
}

.google-book-info-copy dt,
.google-book-info-copy dd {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
}

.google-book-info-copy dt {
  color: #667085;
  font-weight: 750;
}

.google-book-info-copy dd {
  overflow-wrap: anywhere;
  color: var(--navy);
  font-weight: 850;
}

.google-book-info-sections {
  margin: 24px 0 0;
  padding-top: 20px;
  border-top: 2px solid var(--navy);
}

.google-book-info-sections section + section {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid #e7edf5;
}

.google-book-info-sections h5 {
  margin: 0 0 8px;
  color: var(--navy);
  font-size: 0.92rem;
  font-weight: 900;
}

.google-book-info-sections p {
  margin: 0;
  color: #344054;
  font-size: 0.9rem;
  line-height: 1.72;
}

.google-book-info-copy .google-preview-external {
  width: fit-content;
  min-width: 0;
  margin-top: 22px;
  padding-inline: 14px;
  background: #1967d2;
}

.google-preview-status {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  color: #475467;
  text-align: center;
  background: #fff;
  border: 1px solid #d9e2ef;
}

.google-preview-status[hidden] {
  display: none;
}

.google-preview-status strong {
  color: #0d1b2a;
  font-size: 1.05rem;
}

.google-preview-status span {
  max-width: 520px;
  margin-top: 8px;
  font-size: 0.86rem;
  line-height: 1.6;
}

.google-preview-status .google-preview-external {
  margin-top: 18px;
  background: #1967d2;
}

.google-preview-footer {
  min-height: 46px;
  padding: 13px 16px;
  color: #667085;
  font-size: 0.76rem;
  font-weight: 700;
  text-align: center;
  background: #fff;
  border-top: 1px solid #d9e2ef;
}

.ebook-dialog {
  width: min(1120px, calc(100vw - 28px));
  height: min(840px, calc(100dvh - 28px));
  max-width: none;
  max-height: none;
  padding: 0;
  overflow: hidden;
  color: #172033;
  background: #f5f7fb;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 30px 100px rgba(13, 27, 42, 0.38);
}

.ebook-dialog:fullscreen,
.ebook-dialog.is-pseudo-fullscreen {
  width: calc(100vw - var(--ranking-hero-scrollbar-width, 0px));
  height: 100dvh;
  max-width: none;
  max-height: none;
  margin: 0;
  border-radius: 0;
}

.ebook-dialog:fullscreen {
  background: #f5f7fb;
}

.ebook-dialog.is-pseudo-fullscreen {
  position: fixed;
  z-index: 1000;
  inset: 0;
}

html.ebook-fullscreen-active,
html.ebook-fullscreen-active body {
  overflow: hidden;
}

.ebook-dialog::backdrop {
  background: rgba(8, 20, 38, 0.72);
  backdrop-filter: blur(7px);
}

.ebook-shell {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  height: 100%;
}

.ebook-toolbar {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 66px;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid #d9e2ef;
}

.ebook-heading {
  min-width: 0;
}

.ebook-heading span {
  display: block;
  color: #1456c8;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.ebook-heading strong {
  display: block;
  overflow: hidden;
  color: #0d1b2a;
  font-size: 0.98rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ebook-tools,
.ebook-pagination {
  display: flex;
  gap: 6px;
  align-items: center;
}

.ebook-icon-button,
.ebook-page-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  color: #25364d;
  font: inherit;
  font-size: 1.15rem;
  font-weight: 850;
  background: #f4f7fb;
  border: 1px solid #d9e2ef;
  border-radius: 8px;
  cursor: pointer;
}

.ebook-icon-button:hover,
.ebook-page-button:hover {
  color: #1456c8;
  border-color: #a9c4ee;
}

.ebook-icon-button:focus-visible,
.ebook-page-button:focus-visible,
.ebook-toc button:focus-visible,
#ebook-progress-slider:focus-visible {
  outline: 3px solid rgba(20, 86, 200, 0.32);
  outline-offset: 2px;
}

.ebook-icon-button:disabled,
.ebook-page-button:disabled {
  color: #a8b2c1;
  background: #f7f8fa;
  cursor: default;
}

.ebook-font-button {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.85rem;
}

.ebook-fullscreen-button {
  font-size: 1.05rem;
}

.ebook-workspace {
  position: relative;
  min-height: 0;
  overflow: hidden;
  background: #e8edf4;
}

.ebook-stage {
  position: relative;
  isolation: isolate;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: #fffefb;
  perspective: 1800px;
  transform-style: preserve-3d;
}

.ebook-stage.is-page-turning {
  background: #fffefb;
}

.ebook-stage::after {
  position: absolute;
  z-index: 6;
  top: 1.5%;
  bottom: 1.5%;
  left: 50%;
  width: 1px;
  pointer-events: none;
  content: "";
  background: linear-gradient(180deg, transparent, rgba(13, 27, 42, 0.18) 8%, rgba(13, 27, 42, 0.18) 92%, transparent);
  box-shadow: -6px 0 18px rgba(13, 27, 42, 0.08), 6px 0 18px rgba(13, 27, 42, 0.08);
}

.ebook-stage.is-pdf {
  background: #dfe4eb;
  perspective: none;
}

.ebook-stage.is-pdf::after {
  display: none;
}

.ebook-pdf-frame {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  background: #dfe4eb;
  border: 0;
}

.ebook-dialog.is-pdf .ebook-shell {
  grid-template-rows: auto minmax(0, 1fr);
}

.ebook-dialog.is-pdf .ebook-footer {
  display: none;
}

.ebook-dialog [hidden] {
  display: none !important;
}

.ebook-page-turn {
  position: absolute;
  z-index: 8;
  top: 0;
  bottom: 0;
  width: 50%;
  pointer-events: none;
  background: linear-gradient(90deg, #fffefb 0%, #f5f1e8 84%, #e4ded1 100%);
  border: 1px solid rgba(13, 27, 42, 0.08);
  backface-visibility: hidden;
  box-shadow: 0 0 34px rgba(13, 27, 42, 0.28);
  transform-style: preserve-3d;
  will-change: transform, opacity;
}

.ebook-page-turn.is-next {
  left: 50%;
  transform-origin: left center;
}

.ebook-page-turn.is-prev {
  left: 0;
  background: linear-gradient(270deg, #fffefb 0%, #f5f1e8 84%, #e4ded1 100%);
  transform-origin: right center;
}

.ebook-toc {
  position: absolute;
  z-index: 4;
  inset: 0 auto 0 0;
  width: min(340px, 88%);
  padding: 20px 14px;
  overflow: auto;
  background: #fff;
  border-right: 1px solid #d9e2ef;
  box-shadow: 18px 0 45px rgba(13, 27, 42, 0.18);
}

.ebook-toc h3 {
  margin: 0 8px 14px;
  color: #0d1b2a;
  font-size: 1rem;
}

.ebook-toc nav {
  display: grid;
  gap: 2px;
}

.ebook-toc button {
  width: 100%;
  padding: 9px 10px;
  overflow: hidden;
  color: #344054;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 700;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: transparent;
  border: 0;
  border-radius: 6px;
  cursor: pointer;
}

.ebook-toc button:hover {
  color: #0f47a9;
  background: #edf4ff;
}

.ebook-toc-empty {
  padding: 20px 10px;
  color: #667085;
  font-size: 0.86rem;
}

.ebook-footer {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  min-height: 58px;
  padding: 8px 14px;
  background: #fff;
  border-top: 1px solid #d9e2ef;
}

.ebook-footer .ebook-pagination {
  justify-content: center;
  width: 100%;
}

.ebook-source {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  min-width: 0;
  color: #667085;
  font-size: 0.72rem;
  font-weight: 700;
}

.ebook-source a {
  color: #1456c8;
}

.ebook-pagination span {
  min-width: 42px;
  color: #475467;
  font-size: 0.78rem;
  font-weight: 800;
  text-align: center;
}

.ebook-position {
  width: clamp(240px, 34vw, 430px);
  min-width: 0;
}

.ebook-position > strong {
  display: block;
  margin-bottom: 4px;
  overflow: hidden;
  color: #344054;
  font-size: 0.72rem;
  font-weight: 820;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ebook-position > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 8px;
  align-items: center;
}

#ebook-progress-slider {
  width: 100%;
  height: 18px;
  margin: 0;
  accent-color: #1456c8;
  cursor: pointer;
}

#ebook-progress-slider:disabled {
  opacity: 0.45;
  cursor: default;
}

.ebook-page-button {
  width: 38px;
  height: 38px;
  font-size: 1.65rem;
}

.ebook-status {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: min(100% - 32px, 520px);
  height: 100%;
  min-height: 320px;
  margin: auto;
  color: #344054;
  text-align: center;
}

.ebook-status strong {
  color: #0d1b2a;
  font-size: 1.12rem;
}

.ebook-status span {
  margin-top: 8px;
  color: #667085;
  font-size: 0.88rem;
  line-height: 1.6;
}

.ebook-status .detail-link {
  min-width: 220px;
  margin-top: 20px;
}

.ebook-error-state strong {
  color: #b42318;
}

.ebook-dialog.is-night .ebook-workspace,
.ebook-dialog.is-night .ebook-stage {
  background: #111827;
}

.ebook-dialog.is-night .ebook-page-turn {
  background: linear-gradient(90deg, #111827 0%, #182235 84%, #263348 100%);
  border-color: rgba(148, 163, 184, 0.2);
}

.ebook-dialog.is-night .ebook-page-turn.is-prev {
  background: linear-gradient(270deg, #111827 0%, #182235 84%, #263348 100%);
}

.ebook-dialog.is-night {
  color: #e9eef7;
  background: #0f172a;
}

.ebook-dialog.is-night .ebook-toolbar,
.ebook-dialog.is-night .ebook-footer {
  background: #0f172a;
  border-color: #334155;
}

.ebook-dialog.is-night .ebook-heading span,
.ebook-dialog.is-night .ebook-source a {
  color: #93c5fd;
}

.ebook-dialog.is-night .ebook-heading strong,
.ebook-dialog.is-night .ebook-position > strong,
.ebook-dialog.is-night .ebook-pagination span,
.ebook-dialog.is-night .ebook-source {
  color: #e9eef7;
}

.ebook-dialog.is-night .ebook-icon-button,
.ebook-dialog.is-night .ebook-page-button {
  color: #e9eef7;
  background: #1e293b;
  border-color: #475569;
}

.ebook-dialog.is-night .ebook-icon-button:hover,
.ebook-dialog.is-night .ebook-page-button:hover {
  color: #fff;
  border-color: #93c5fd;
}

.ebook-dialog.is-night .ebook-icon-button:disabled,
.ebook-dialog.is-night .ebook-page-button:disabled {
  color: #64748b;
  background: #172033;
}

.ebook-dialog.is-night #ebook-progress-slider {
  accent-color: #60a5fa;
}

.detail-actions .amazon-link:hover {
  background: #f59e0b;
}

.detail-actions .kindle-link:hover {
  background: #115e59;
}

.affiliate-disclosure {
  margin: 10px 0 0;
  color: #667085;
  font-size: 0.75rem;
  font-weight: 650;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.affiliate-disclosure > span {
  display: block;
}

footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding: 34px 18px 46px;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 650;
}

.footer-contact {
  display: inline-flex;
  flex-basis: 100%;
  justify-content: center;
  color: var(--navy);
  font-weight: 780;
  text-decoration: none;
}

.footer-contact:hover {
  color: var(--blue);
  text-decoration: underline;
}

@media (max-width: 980px) {
  .hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: 44px;
  }

  .hero-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .book-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hashtag-detail .book-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (max-width: 960px) and (min-width: 721px) {
  .dialog-detail {
    padding: 30px 48px 24px;
  }

  .detail-hero {
    grid-template-columns: 238px minmax(0, 1fr);
    gap: 12px 28px;
    padding-right: 20px;
  }

  .detail-copy h3 {
    font-size: 1.85rem;
  }

  .detail-cover-actions .detail-link {
    flex-basis: 112px;
    padding-inline: 11px;
  }

  .detail-content-layout {
    grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr);
    gap: 24px;
  }
}

@media (max-width: 720px) {
  .site-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    min-height: 64px;
    padding: 9px 12px 8px;
  }

  .brand-logo {
    width: auto;
    height: 40px;
    max-width: 128px;
  }

  .top-nav {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-column: 1 / -1;
    gap: 5px;
    width: 100%;
    padding-bottom: 1px;
    overflow: visible;
  }

  .top-nav a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 6px 4px;
    font-size: 0.74rem;
    text-align: center;
  }

  .admin-mobile-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 12px;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 900;
    background: var(--navy);
    border-radius: 999px;
  }

  main {
    width: min(100% - 24px, 560px);
    padding-bottom: 24px;
  }

  .hero {
    gap: 18px;
    padding: 34px 0 26px;
  }

  .hero-copy h1 {
    max-width: 8.4em;
    font-size: clamp(2.05rem, 10.4vw, 2.82rem);
    line-height: 1.08;
  }

  .hero-text {
    max-width: 21rem;
    margin-top: 16px;
    font-size: 1rem;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 20px;
  }

  .signal-actions {
    grid-column: 1 / -1;
    gap: 8px;
  }

  .hero-actions > .classic-ebook-action {
    grid-column: 1 / -1;
  }

  .primary-action,
  .secondary-action {
    width: 100%;
    min-height: 50px;
    padding-inline: 12px;
    font-size: 0.88rem;
  }

  .signal-action {
    width: auto;
    gap: 4px;
    min-height: 50px;
    padding-inline: 12px;
    font-size: 0.88rem;
  }

  .signal-action em {
    font-size: 0.84rem;
  }

  .section {
    scroll-margin-top: 76px;
    padding: 28px 0 38px;
  }

  .seo-route-page .section {
    padding-top: 30px;
  }

  .seo-book-count {
    margin-top: 14px;
  }

  .section-head {
    display: block;
  }

  .section-link {
    width: 100%;
    margin-top: 14px;
  }

  .feature-grid {
    grid-template-columns: 1fr;
  }

  .hashtag-section {
    padding-bottom: 18px;
  }

  .hashtag-section .section-description {
    display: none;
  }

  .hashtag-grid {
    flex-wrap: nowrap;
    gap: 7px;
    margin-right: -12px;
    margin-left: -12px;
    padding: 0 12px 4px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .hashtag-grid::-webkit-scrollbar {
    display: none;
  }

  .hashtag-chip {
    flex: 0 0 auto;
    min-height: 32px;
    font-size: 0.82rem;
  }

  .hashtag-detail {
    scroll-margin-top: 76px;
    margin-top: 14px;
    padding-top: 16px;
  }

  .collection-tabs {
    justify-content: flex-start;
    margin-top: 14px;
  }

  .newbery-head {
    display: block;
  }

  .newbery-controls {
    justify-content: flex-start;
    margin: 14px 0 18px;
  }

  .newbery-controls strong {
    flex: 1 0 auto;
  }

  .newbery-controls select {
    flex: 1 1 132px;
    min-width: 0;
  }

  .classic-ebook-head {
    display: block;
  }

  .classic-recent-section,
  .classic-recommended-section {
    margin-bottom: 24px;
  }

  .classic-subsection-head,
  .classic-catalog-head {
    align-items: flex-start;
  }

  .classic-subsection-head h2,
  .classic-subsection-head h3,
  .classic-catalog-head h3 {
    font-size: 1.2rem;
  }

  .classic-recent-list {
    grid-template-columns: 1fr;
  }

  .classic-recent-item {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .classic-recent-cover {
    width: 64px;
  }

  .classic-ebook-controls {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
    max-width: none;
    margin-top: 14px;
  }

  .classic-ebook-card {
    min-height: 384px;
  }

  .classic-ebook-controls strong,
  .classic-ebook-controls input {
    grid-column: 1 / -1;
    width: 100%;
  }

  .classic-ebook-controls select {
    width: 100%;
    min-width: 0;
  }

  .book-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .hashtag-detail .book-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hashtag-detail .book-card {
    min-height: 306px;
    padding: 10px;
  }

  .book-card {
    min-height: 326px;
    padding: 12px;
    border-radius: 16px;
  }

  .book-card h3 {
    font-size: 0.94rem;
  }

  .meta {
    font-size: 0.8rem;
  }

  .score-line {
    display: block;
  }

  .score-line span {
    display: block;
    margin-bottom: 2px;
  }

  .book-dialog {
    width: calc(100vw - 12px);
    max-height: calc(100dvh - 12px);
    border-radius: 14px;
  }

  .dialog-x {
    top: 9px;
    right: 9px;
    width: 36px;
    height: 36px;
  }

  .detail-nav-control {
    top: 44%;
    width: 30px;
    height: 58px;
    opacity: 0.62;
  }

  .detail-nav-control.is-previous {
    left: 1px;
  }

  .detail-nav-control.is-next {
    right: 1px;
  }

  .detail-nav-control::before {
    border-top-width: 15px;
    border-bottom-width: 15px;
  }

  .detail-nav-control.is-previous::before {
    border-right-width: 12px;
  }

  .detail-nav-control.is-next::before {
    border-left-width: 12px;
  }

  .dialog-detail {
    max-height: calc(100dvh - 12px);
    padding: 16px;
  }

  .detail-hero {
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 10px 15px;
    padding-right: 0;
  }

  .detail-media {
    grid-row: 1;
    width: 100%;
    margin: 0;
  }

  .detail-media .cover {
    width: 100%;
    margin: 0;
  }

  .detail-cover-actions {
    gap: 6px;
    margin-top: 7px;
  }

  .detail-cover-actions .detail-link {
    flex: 0 0 44px;
    width: 44px;
    min-height: 38px;
    padding: 0;
  }

  .detail-cover-actions .detail-link span {
    display: none;
  }

  .detail-actions .detail-link {
    flex-basis: 44px;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
  }

  .detail-purchase-actions .detail-link {
    flex: 1 1 calc((100% - 12px) / 3);
    width: auto;
    min-width: 76px;
    padding: 0 7px;
    font-size: 0.7rem;
    white-space: nowrap;
  }

  .detail-copy h3 {
    margin: 0 28px 7px 0;
    font-size: 1.2rem;
    line-height: 1.28;
  }

  .detail-title-chips {
    display: none;
  }

  .detail-mobile-chips {
    display: flex;
    margin: 4px 0 0;
  }

  .detail-copy .meta {
    margin-top: 5px;
    font-size: 0.78rem;
  }

  .detail-lead {
    margin-top: 9px;
    font-size: 0.8rem;
    line-height: 1.55;
    -webkit-line-clamp: 2;
  }

  .detail-hero-footer {
    grid-column: 1 / -1;
  }

  .detail-summary-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 6px;
    padding: 0;
  }

  .detail-summary-stats div {
    padding: 13px 10px;
  }

  .detail-summary-stats div:nth-child(3) {
    grid-column: 1 / -1;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .detail-summary-stats dd {
    margin-top: 5px;
    font-size: 0.98rem;
  }

  .detail-rank-medal {
    gap: 5px;
    min-width: 92px;
  }

  .detail-rank-medal strong {
    font-size: 1.32rem;
  }

  .detail-score-number strong {
    font-size: 1.28rem;
  }

  .detail-rank-laurel {
    width: 29px;
    height: 34px;
  }

  .detail-rank-laurel.is-right {
    transform: scaleX(-1);
  }

  .detail-actions {
    align-items: stretch;
  }

  .detail-purchase-block {
    flex: 1 1 100%;
  }

  .detail-purchase-actions {
    flex: 1 1 auto;
  }

  .detail-purchase-actions .detail-link.coupang-link,
  .detail-purchase-actions .detail-link.kyobo-link,
  .detail-purchase-actions .detail-link.yes24-link,
  .detail-purchase-actions .detail-link.amazon-link,
  .detail-purchase-actions .detail-link.kindle-link {
    flex: 1 1 90px;
    width: auto;
    min-width: 90px;
  }

  .detail-content-layout {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 20px;
  }

  .detail-position {
    margin-top: 12px;
  }

  .detail-primary-info {
    margin-top: 0;
  }

  .detail-reading-section {
    padding: 17px 0;
  }

  .detail-table-of-contents p {
    max-height: 220px;
  }

  .detail-grid {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  .ebook-dialog {
    width: 100%;
    max-width: 100%;
    height: 100dvh;
    margin: 0;
    border-radius: 0;
  }

  .google-books-dialog {
    width: 100%;
    max-width: 100%;
    height: 100dvh;
    margin: 0;
    border-radius: 0;
  }

  .google-book-info-preview {
    grid-template-columns: 1fr;
    gap: 20px;
    min-height: auto;
    padding: 20px 16px 28px;
  }

  .google-book-info-cover {
    max-width: 164px;
  }

  .google-book-info-copy h4 {
    font-size: 1.45rem;
  }

  .google-book-info-copy dl {
    grid-template-columns: 1fr;
    margin-top: 18px;
  }

  .google-book-info-sections {
    margin-top: 18px;
  }

  .google-book-info-sections p {
    font-size: 0.86rem;
  }

  .google-preview-toolbar {
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    gap: 8px;
    min-height: 58px;
    padding: max(7px, env(safe-area-inset-top)) 8px 7px;
  }

  .google-preview-heading span {
    display: none;
  }

  .google-preview-heading strong {
    font-size: 0.85rem;
  }

  .google-preview-icon {
    width: 36px;
    height: 36px;
  }

  .google-preview-stage {
    padding: 0;
  }

  .google-preview-metadata {
    border: 0;
  }

  .google-preview-reader {
    margin-top: 8px;
    padding: 12px 0 0;
    border-width: 1px 0 0;
  }

  .google-preview-reader h3 {
    padding-inline: 14px;
  }

  .google-preview-reader-frame {
    height: 72dvh;
    border-width: 1px 0 0;
  }

  #google-books-preview-canvas {
    border: 0;
  }

  .google-preview-status {
    inset: 0;
  }

  .google-preview-footer {
    padding-bottom: max(13px, env(safe-area-inset-bottom));
  }

  .ebook-toolbar {
    grid-template-columns: 38px minmax(0, 1fr) auto;
    gap: 8px;
    min-height: 58px;
    padding: max(7px, env(safe-area-inset-top)) 8px 7px;
  }

  .ebook-heading span {
    display: none;
  }

  .ebook-heading strong {
    font-size: 0.85rem;
  }

  .ebook-tools {
    gap: 2px;
  }

  .ebook-icon-button {
    width: 31px;
    height: 36px;
    font-size: 0.96rem;
  }

  .ebook-font-button {
    font-size: 0.74rem;
  }

  .ebook-footer {
    grid-template-columns: 1fr;
    gap: 5px;
    min-height: 72px;
    padding: 5px 8px max(6px, env(safe-area-inset-bottom));
  }

  .ebook-source {
    justify-content: center;
    font-size: 0.66rem;
  }

  .ebook-pagination {
    justify-content: center;
    width: 100%;
  }

  .ebook-position {
    flex: 1 1 auto;
    width: auto;
    max-width: 390px;
  }

  .ebook-position > strong {
    font-size: 0.68rem;
  }

  .ebook-page-button {
    width: 42px;
    height: 34px;
  }

  .ebook-stage::after {
    display: none;
  }

  .ebook-page-turn,
  .ebook-page-turn.is-next,
  .ebook-page-turn.is-prev {
    left: 0;
    width: 100%;
  }

}

@media (prefers-reduced-motion: reduce) {
  .ebook-page-turn {
    display: none;
  }
}



@media (max-width: 420px) {
  main {
    width: min(100% - 18px, 390px);
  }

  .hero-copy h1 {
    max-width: 7.8em;
    font-size: clamp(1.95rem, 10vw, 2.35rem);
  }

  .primary-action,
  .secondary-action {
    min-height: 50px;
    font-size: 0.88rem;
  }

  .book-grid {
    grid-template-columns: 1fr;
  }

  .hashtag-detail .book-grid {
    grid-template-columns: 1fr;
  }

  .book-card {
    grid-template-columns: 96px minmax(0, 1fr);
    column-gap: 12px;
    min-height: 160px;
  }

  .hashtag-detail .book-card {
    grid-template-columns: 96px minmax(0, 1fr);
    min-height: 160px;
    padding: 12px;
  }

  .book-card .cover {
    grid-row: span 4;
  }

  .book-card h3 {
    margin-top: 0;
  }

  .seo-route-page .book-card h2 {
    margin-top: 0;
    font-size: 0.94rem;
  }

  .book-card .chips,
  .book-card .score-line {
    grid-column: 2;
  }

  .source-evidence {
    padding: 12px;
  }

  .source-evidence li {
    align-items: flex-start;
  }
}

.world-literature-head {
  display: block;
}

.world-literature-head > div:first-child {
  min-width: 0;
}

.world-literature-view-tabs {
  display: inline-flex;
  gap: 4px;
  max-width: 100%;
  margin-top: 18px;
  padding: 4px;
  overflow-x: auto;
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: 0 8px 22px rgba(13, 27, 42, 0.06);
  scrollbar-width: none;
}

.world-literature-view-tabs::-webkit-scrollbar {
  display: none;
}

.world-literature-view-tabs button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 16px;
  color: #475467;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 850;
  white-space: nowrap;
  background: transparent;
  border: 0;
  border-radius: 7px;
  cursor: pointer;
}

.world-literature-view-tabs button strong {
  color: inherit;
  font-size: 0.78rem;
  font-weight: 900;
}

.world-literature-view-tabs button:hover {
  color: var(--blue);
  background: #f4f8ff;
}

.world-literature-view-tabs button.is-active {
  color: #fff;
  background: var(--navy);
  box-shadow: 0 6px 14px rgba(13, 27, 42, 0.18);
}

.world-literature-controls {
  display: grid;
  grid-template-columns: auto minmax(210px, 1.5fr) repeat(5, minmax(126px, 1fr));
  gap: 8px;
  align-items: center;
  margin-top: 18px;
}

.world-literature-controls strong,
.world-literature-controls input,
.world-literature-controls select {
  min-width: 0;
  min-height: 42px;
  color: var(--navy);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.world-literature-controls strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  color: #164a8a;
  background: #eaf3ff;
  border-color: #bfd8fa;
  white-space: nowrap;
}

.world-literature-controls input {
  width: 100%;
  padding: 0 12px;
}

.world-literature-controls select {
  width: 100%;
  padding: 0 30px 0 10px;
  cursor: pointer;
}

.world-literature-grid {
  display: grid;
}

.world-literature-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-height: 22px;
}

.world-literature-flag {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 7px;
  color: #1d4ed8;
  font-size: 0.65rem;
  font-weight: 900;
  background: #eaf2ff;
  border-radius: 999px;
}

.world-literature-flag.essential {
  color: #8a4b08;
  background: #fff4d8;
}

.world-literature-flag.ebook {
  color: #08745d;
  background: #e6f7ef;
}

.world-literature-edition-summary {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #e5ebf3;
}

.world-literature-edition-summary b {
  color: #164a8a;
  font-size: 0.78rem;
}

.world-literature-edition-summary span {
  overflow: hidden;
  color: #667085;
  font-size: 0.68rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.book-dialog.world-literature-dialog {
  width: min(1040px, calc(100vw - 28px));
  max-height: min(880px, calc(100dvh - 30px));
  border-radius: 8px;
}

.world-literature-detail {
  max-height: min(880px, calc(100dvh - 30px));
  padding: 28px;
  overflow: auto;
}

.book-dialog.has-detail-navigation .world-literature-detail {
  padding-right: 52px;
  padding-left: 52px;
}

.world-literature-detail-hero {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 26px;
  padding-right: 36px;
}

.world-literature-detail-cover {
  display: grid;
  width: 190px;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: transparent;
  border-radius: 6px;
  box-shadow: 0 15px 35px rgba(13, 27, 42, 0.16);
  place-items: center;
}

.world-literature-detail-cover img {
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  background: transparent;
}

.world-literature-detail-copy h3 {
  margin: 10px 0 4px;
  color: var(--navy);
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.2;
}

.world-literature-original-title {
  margin: 0 0 10px;
  color: #667085;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1rem;
  font-style: italic;
  line-height: 1.4;
}

.world-literature-detail-actions {
  display: flex;
  gap: 8px;
  margin-top: 14px;
}

.world-literature-detail-actions .detail-link {
  width: 40px;
  height: 40px;
  min-height: 40px;
  padding: 0;
}

.world-literature-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 20px 0 0;
}

.world-literature-facts div {
  min-width: 0;
  padding: 11px;
  background: #f4f7fb;
  border: 1px solid #e1e8f1;
  border-radius: 6px;
}

.world-literature-facts dt {
  color: #667085;
  font-size: 0.68rem;
  font-weight: 800;
}

.world-literature-facts dd {
  margin: 4px 0 0;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.86rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.world-literature-description,
.world-literature-editions {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.world-literature-description h4,
.world-literature-editions h4 {
  margin: 0;
  color: var(--navy);
  font-size: 1.05rem;
  font-weight: 900;
}

.world-literature-description p {
  margin: 10px 0 0;
  color: #344054;
  font-size: 0.94rem;
  line-height: 1.75;
}

.world-literature-editor-note {
  padding: 12px 14px;
  color: #174776 !important;
  background: #eef6ff;
  border-left: 3px solid #60a5fa;
}

.world-literature-editions-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
}

.world-literature-editions-head span {
  color: var(--blue);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.world-literature-editions-head strong {
  color: #164a8a;
  font-size: 0.82rem;
}

.world-literature-edition-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.world-literature-edition {
  position: relative;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 12px;
  min-height: 132px;
  padding: 12px;
  border: 1px solid #dce4ef;
  border-radius: 8px;
  background: #fff;
}

.world-literature-edition.is-default {
  border-color: #82afe8;
  box-shadow: inset 3px 0 #2563eb;
}

.world-literature-edition-cover {
  width: 76px;
  border-radius: 4px;
}

.world-literature-edition-copy {
  min-width: 0;
  padding-bottom: 36px;
}

.world-literature-edition.has-affiliate-disclosure .world-literature-edition-copy {
  padding-bottom: 58px;
}

.world-literature-edition-publisher {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.world-literature-edition-publisher strong {
  color: #164a8a;
  font-size: 0.76rem;
}

.world-literature-edition-publisher span {
  padding: 2px 5px;
  color: #fff;
  font-size: 0.6rem;
  font-weight: 900;
  background: #2563eb;
  border-radius: 3px;
}

.world-literature-edition h5 {
  display: -webkit-box;
  margin: 5px 0;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.84rem;
  font-weight: 900;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.world-literature-edition p {
  margin: 2px 0;
  color: #667085;
  font-size: 0.68rem;
  line-height: 1.4;
}

.world-literature-edition-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 9px;
  margin-top: 6px;
  color: #667085;
  font-size: 0.62rem;
}

.world-literature-purchase-block {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  align-items: flex-end;
  max-width: calc(100% - 20px);
}

.world-literature-buy-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: flex-end;
}

.world-literature-purchase-block > .affiliate-disclosure {
  margin: 0;
  max-width: 100%;
  font-size: 0.62rem;
  text-align: right;
}

.world-literature-edition.is-comparison-card {
  min-height: 158px;
}

.world-literature-edition.is-comparison-card .world-literature-edition-copy {
  padding-bottom: 40px;
}

.world-literature-edition-title {
  display: flex;
  gap: 7px;
  align-items: flex-start;
}

.world-literature-edition-title h5 {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}

.world-literature-edition-title span {
  flex: 0 0 auto;
  padding: 2px 5px;
  color: #fff;
  font-size: 0.6rem;
  font-weight: 900;
  background: #2563eb;
  border-radius: 3px;
}

.world-literature-edition-series {
  margin-top: 5px !important;
  color: #31577f !important;
  font-weight: 750;
}

.world-literature-edition-publisher-name {
  color: #718096 !important;
}

.world-literature-edition-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 12px;
  margin: 8px 0 0;
}

.world-literature-edition-specs div {
  display: flex;
  min-width: 0;
  gap: 5px;
  align-items: baseline;
}

.world-literature-edition-specs dt,
.world-literature-edition-specs dd {
  margin: 0;
  font-size: 0.64rem;
  line-height: 1.35;
}

.world-literature-edition-specs dt {
  flex: 0 0 auto;
  color: #7b8ca3;
}

.world-literature-edition-specs dd {
  overflow: hidden;
  color: #344f71;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.world-literature-comparison-disclosure .affiliate-disclosure {
  margin: 8px 0 0;
  font-size: 0.65rem;
  text-align: right;
}

.world-literature-buy-button {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  min-height: 30px;
  padding: 0 9px;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 900;
  background: #d92d20;
  border-radius: 5px;
}

.world-literature-buy-button:hover {
  background: #b42318;
}

.world-literature-buy-button.yes24-link {
  background: #1456c8;
}

.world-literature-buy-button.yes24-link:hover {
  background: #0f47a9;
}

.world-literature-buy-button.kyobo-link {
  background: #235648;
}

.world-literature-buy-button.kyobo-link:hover {
  background: #19483d;
}

.world-literature-buy-button .detail-action-icon {
  width: 14px;
  height: 14px;
}

@media (max-width: 1120px) {
  .world-literature-controls {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .world-literature-controls input {
    grid-column: span 2;
  }
}

@media (max-width: 720px) {
  .world-literature-action {
    grid-column: auto;
  }

  .hero-actions > .classic-ebook-action {
    grid-column: auto;
  }

  .world-literature-view-tabs {
    display: flex;
    width: 100%;
    margin-top: 14px;
  }

  .world-literature-view-tabs button {
    flex: 1 0 auto;
    min-height: 38px;
    padding: 0 13px;
    font-size: 0.8rem;
  }

  .world-literature-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 14px;
  }

  .world-literature-controls strong,
  .world-literature-controls input {
    grid-column: 1 / -1;
  }
.book-dialog.world-literature-dialog {
    width: 100%;
    max-width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    border-radius: 0;
  }

  .world-literature-detail {
    max-height: 100dvh;
    padding: 18px 14px max(28px, env(safe-area-inset-bottom));
  }

  .book-dialog.has-detail-navigation .world-literature-detail {
    padding-right: 30px;
    padding-left: 30px;
  }

  .world-literature-detail-hero {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 14px;
    padding-right: 32px;
  }

  .world-literature-detail-cover {
    width: 108px;
  }

  .world-literature-detail-copy h3 {
    margin-top: 6px;
    font-size: 1.35rem;
  }

  .world-literature-original-title {
    font-size: 0.82rem;
  }

  .world-literature-facts {
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .world-literature-edition-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 420px) {
.world-literature-detail-hero {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 12px;
  }

  .world-literature-detail-cover {
    width: 88px;
  }

  .world-literature-detail-copy h3 {
    font-size: 1.2rem;
  }

  .world-literature-facts {
    grid-template-columns: 1fr 1fr;
  }

  .world-literature-edition {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .world-literature-edition-cover {
    width: 64px;
  }
}

/* Awards: final approved hierarchical reference */
.awards-section {
  position: relative;
  width: 100%;
  margin: 0;
  padding-top: 52px;
  padding-bottom: 72px;
}

.seo-route-page .awards-section {
  padding-top: 52px;
}

.awards-intro {
  position: relative;
  min-height: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.awards-intro::after {
  display: none;
}

.awards-breadcrumb {
  margin: 0 0 24px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 720;
}

.awards-breadcrumb span {
  padding: 0 6px;
  color: #a5b4c7;
}

.awards-intro .eyebrow {
  display: block;
}

.awards-intro h1,
.awards-intro h2 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  line-height: normal;
  letter-spacing: 0;
}

.awards-intro .section-description {
  max-width: 620px;
  margin: 10px 0 0;
  color: #475467;
  font-size: 0.98rem;
  line-height: 1.65;
}

.awards-trophy {
  position: absolute;
  top: 40px;
  right: clamp(4px, 3.2vw, 48px);
  z-index: 1;
  width: clamp(168px, 15vw, 220px);
  pointer-events: none;
}

.awards-trophy img {
  display: block;
  width: 100%;
  height: auto;
  opacity: 0.5;
  filter: none;
}

.awards-filter-shell {
  margin-top: 18px;
  padding: 0 0 34px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.award-region-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  max-width: none;
  margin-top: 0;
  padding-top: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid #dbe6f2;
  border-radius: 12px;
}

.award-region-tabs a {
  min-height: 44px;
  color: #30455f;
  font-size: 0.86rem;
  font-weight: 900;
  background: #fff;
  border: 0;
  border-radius: 10px;
}

.award-region-tabs a + a {
  border-left: 1px solid #e2eaf3;
}

.award-region-tabs a:hover,
.award-region-tabs a.is-active {
  color: #fff;
  background: var(--blue);
  border-color: transparent;
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.16);
}

.award-category-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  min-height: 56px;
  margin: 0;
  padding: 10px 2px;
  border-bottom: 1px solid #e5edf5;
}

.award-category-tabs a {
  min-height: 34px;
  padding: 0 14px;
  color: #53677e;
  font-size: 0.78rem;
  font-weight: 850;
  background: #fff;
  border: 1px solid #d9e3ef;
  border-radius: 9px;
}

.award-category-tabs a:hover,
.award-category-tabs a.is-active {
  color: #1264dc;
  background: #f4f8ff;
  border-color: #4e91f3;
  box-shadow: inset 0 0 0 1px rgba(78, 145, 243, 0.08);
}

.award-program-picker {
  display: block;
  align-items: center;
  min-height: 52px;
  padding: 8px 2px;
  border-bottom: 1px solid #e5edf5;
}

.award-step-label {
  display: none;
}

.award-program-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.award-program-chip {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  color: #435972;
  background: #fff;
  border: 1px solid #d9e3ef;
  border-radius: 9px;
}

.award-program-chip span {
  font-size: 0.8rem;
  font-weight: 900;
}

.award-program-chip small {
  display: none;
}

.award-program-chip:hover,
.award-program-chip.is-active {
  color: #1264dc;
  background: #f4f8ff;
  border-color: #4e91f3;
}

.award-program-chip.is-active small {
  color: #4b7fc7;
}

.award-program-list .award-empty {
  min-height: auto;
  padding: 7px 0;
  color: #7a8ba0;
  background: transparent;
  border: 0;
}

.award-program-detail {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.award-program-detail.is-hidden {
  display: none;
}

.award-results-heading {
  display: none;
}

.award-results-heading .eyebrow {
  margin-bottom: 5px;
  font-size: 0.66rem;
}

.award-results-heading h3 {
  margin: 0;
  color: #142944;
  font-size: 1.25rem;
  letter-spacing: -0.025em;
}

.award-results-heading .section-description {
  margin-top: 6px;
  color: #6a7c92;
  font-size: 0.78rem;
}

#award-book-count {
  flex: 0 0 auto;
  color: #1a63ca;
  font-size: 0.82rem;
}

.award-filter-bar {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-top: 16px;
}

.award-filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.award-select-control {
  display: grid;
  grid-template-columns: auto minmax(100px, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 40px;
  padding-left: 13px;
  overflow: hidden;
  color: #66778d;
  background: #fff;
  border: 1px solid #dbe5f0;
  border-radius: 10px;
}

.award-select-control > span {
  font-size: 0.72rem;
  font-weight: 900;
  white-space: nowrap;
}

.award-select-control select {
  min-width: 126px;
  min-height: 38px;
  padding: 0 34px 0 0;
  color: #30445e;
  font: inherit;
  font-size: 0.76rem;
  font-weight: 750;
  background: #fff;
  border: 0;
  cursor: pointer;
}

.award-select-control select:focus-visible {
  outline: 2px solid #60a5fa;
  outline-offset: -3px;
}

.award-sort-control {
  margin-left: auto;
}

.award-book-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.award-book-grid .book-card {
  min-height: 0;
  background: #fff;
  border-color: #e0e8f1;
  border-radius: 14px;
  box-shadow: 0 7px 22px rgba(37, 65, 105, 0.075);
}

.award-book-grid .book-card:hover {
  box-shadow: 0 12px 28px rgba(37, 65, 105, 0.13);
  transform: translateY(-2px);
}

/* Awards inherit the ranking cover's 3:4 box, contain fit and card inset. */

.award-book-grid .rank-badge {
  top: 7px;
  left: 7px;
  max-width: calc(100% - 14px);
  height: 25px;
  padding: 0 8px;
  overflow: hidden;
  font-size: 0.64rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.award-book-grid .book-card h3 {
  min-height: 2.65em;
  margin: 8px 0 3px;
  font-size: 0.88rem;
  line-height: 1.32;
}

.award-book-grid .meta {
  min-height: 2.35em;
  font-size: 0.69rem;
  line-height: 1.4;
}

.award-book-grid .chips {
  gap: 4px;
  margin-top: 6px;
}

.award-book-grid .chip {
  min-height: 22px;
  padding: 0 6px;
  font-size: 0.62rem;
}

.award-book-grid .score-line {
  gap: 3px;
  margin-top: 6px;
  padding-top: 6px;
  font-size: 0.65rem;
}

.award-book-grid .score-line strong {
  font-size: 0.68rem;
}

.award-card-detail {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
  margin-top: 6px;
  padding-top: 6px;
  color: #1670ec;
  font-size: 0.7rem;
  font-weight: 900;
  border-top: 1px solid #edf1f6;
}

@media (max-width: 1120px) {
  .awards-section {
    width: 100%;
  }

  .award-book-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .awards-trophy {
    top: 42px;
    right: 6px;
    width: 158px;
  }

}

@media (max-width: 720px) {
  .awards-section {
    width: 100%;
    padding-top: 30px;
    padding-bottom: 44px;
  }

  .seo-route-page .awards-section {
    padding-top: 30px;
  }

  .awards-intro {
    min-height: 0;
    padding: 0;
    border-radius: 0;
  }

  .awards-intro .section-description {
    max-width: 64%;
    font-size: 0.86rem;
  }

  .awards-trophy {
    top: 44px;
    right: -4px;
    width: 122px;
  }

  .awards-trophy img {
    opacity: 0.34;
  }

  .awards-filter-shell {
    margin-top: 16px;
    padding: 0 0 24px;
    border-radius: 0;
  }

  .award-region-tabs a {
    min-height: 42px;
  }

  .award-category-tabs {
    gap: 7px;
    padding: 12px 0;
  }

  .award-category-tabs a {
    flex: 1 1 auto;
    justify-content: center;
    padding: 0 10px;
  }

  .award-program-picker {
    padding: 12px 0;
  }

  .award-program-list {
    gap: 7px;
  }

  .award-program-chip {
    flex: 1 1 auto;
    justify-content: center;
  }

  .award-results-heading {
    align-items: start;
    padding: 22px 0 14px;
  }

  .award-results-heading .section-description {
    display: none;
  }

  .award-filter-bar,
  .award-filter-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .award-sort-control {
    grid-column: 1 / -1;
    margin-left: 0;
  }

  .award-select-control {
    grid-template-columns: auto minmax(0, 1fr);
    min-width: 0;
  }

  .award-select-control select {
    width: 100%;
    min-width: 0;
  }

  .award-book-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .awards-intro h1,
  .awards-intro h2 {
    font-size: 2rem;
  }

  .awards-intro .eyebrow {
    display: block;
  }

  .awards-intro .section-description {
    max-width: 64%;
    line-height: 1.55;
  }

  .award-category-tabs a {
    flex: 0 1 auto;
  }

  .award-program-chip small {
    display: none;
  }

  .award-filter-bar,
  .award-filter-group {
    grid-template-columns: 1fr;
  }

  .award-sort-control {
    grid-column: auto;
  }

  .award-book-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .award-book-grid .book-card {
    display: grid;
    grid-template-columns: 1fr;
  }

  .award-book-grid .book-card .cover {
    grid-row: auto;
  }

  .award-book-grid .book-card h3,
  .award-book-grid .book-card .chips,
  .award-book-grid .book-card .score-line {
    grid-column: auto;
  }
}

@media (max-width: 340px) {
  .award-book-grid {
    grid-template-columns: 1fr;
  }
}

/* Shared ranking/Awards layout. Deliberately excludes World Literature/eBooks. */
:is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) {
  --book-grid-columns: 5;
  display: grid;
  grid-template-columns: repeat(var(--book-grid-columns), minmax(0, 1fr));
}

:is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) > .book-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}

:is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) > .book-card > * {
  min-width: 0;
  max-width: 100%;
}

:is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) .cover {
  flex-shrink: 0;
  /* Keep each surface's existing aspect-ratio and image fit unchanged. */
}

:is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) .book-card :is(h2, h3) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  overflow-wrap: anywhere;
  line-height: 1.45;
  min-height: 2.9em;
  max-height: 2.9em;
  margin-top: 10px;
}

:is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) :is(.meta, .chip, .score-line) {
  overflow-wrap: anywhere;
}

:is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) .score-line {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
}

:is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) .rank-badge {
  max-width: calc(100% - 14px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 1119px) {
  :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) { --book-grid-columns: 3; }
}

@media (max-width: 720px) {
  :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) { --book-grid-columns: 2; }
}
/* Shared Awards presentation: cards by default; historical facts remain opt-in. */
#awards:not([data-awards-archive-enabled="true"]) .archive-view-controls,
#awards:not([data-awards-archive-enabled="true"]) #award-history,
#award-book-list .cover > .rank-badge {
  display: none !important;
}
#award-book-list .award-result-meta {
  display: block;
  margin: 8px 0 0;
  color: #466078;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
#awards #award-book-list .award-archive-placeholder {
  padding: 12px 8px;
}

/* Awards navigation hierarchy: quiet tabs first, compact program pills last. */
.awards-filter-shell {
  margin-top: 30px;
}

.award-region-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: visible;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #cfdbeb;
  border-radius: 0;
}

.award-region-tabs a,
.award-region-tabs a:hover,
.award-region-tabs a.is-active {
  position: relative;
  min-height: 52px;
  color: #52667f;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.award-region-tabs a.is-active {
  color: #1769e8;
}

.award-region-tabs a.is-active::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: #2374eb;
  content: "";
}

.award-region-tabs a + a {
  border-left: 0;
}

.award-category-tabs {
  gap: 34px;
  min-height: 62px;
  padding: 15px 2px 0;
}

.award-category-tabs a,
.award-category-tabs a:hover,
.award-category-tabs a.is-active {
  position: relative;
  min-height: 46px;
  padding: 0 8px;
  color: #5a6c83;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.award-category-tabs a.is-active {
  color: #1769e8;
}

.award-category-tabs a.is-active::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: #2374eb;
  content: "";
}

.award-program-picker {
  padding: 18px 2px 20px;
}

.award-program-list {
  gap: 10px;
}

.award-program-chip,
.award-program-chip:hover,
.award-program-chip.is-active {
  min-height: 34px;
  padding: 0 13px;
  color: #50637b;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid #d7e1ed;
  border-radius: 8px;
  box-shadow: none;
}

.award-program-chip:hover,
.award-program-chip.is-active {
  color: #1769e8;
  background: #f3f7ff;
  border-color: #b8d1f7;
}

.contained-award-works ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.contained-award-works li {
  min-width: 0;
  padding: 12px 14px;
  background: #f7faff;
  border: 1px solid #e1eaf6;
  border-radius: 9px;
}

.contained-award-works li strong,
.contained-award-works li span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.contained-award-result {
  display: block;
  color: #1769e8;
  font-size: 0.76rem;
  font-weight: 800;
}

.contained-award-works li > a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  color: inherit;
  text-decoration: none;
}

.contained-award-works li > a strong,
.contained-award-works li > a > span:not(.contained-award-link-label) {
  grid-column: 1;
}

.contained-award-link-label {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  color: #1769e8;
  font-size: 0.72rem;
  font-weight: 800;
  white-space: nowrap;
}

.has-contained-award-detail .detail-hero {
  padding-bottom: 24px;
  border-bottom: 2px solid #2374eb;
}

.has-contained-award-detail .detail-content-layout {
  margin-top: 0;
  padding-top: 24px;
  border-top: 0;
}

.detail-hero-footer > .contained-award-works {
  padding: 18px 0 8px;
  border-bottom: 0;
}

.detail-hero-footer > .contained-award-works h4 {
  font-size: 1rem;
}

.detail-hero-footer > .containing-book-options {
  padding: 18px 0 4px;
}

.containing-book-options h4 {
  margin: 0;
  color: var(--navy);
  font-size: 1rem;
  font-weight: 900;
}

.containing-book-options ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.containing-book-options li {
  min-width: 0;
}

.containing-book-options a {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 10px;
  min-height: 76px;
  padding: 9px;
  color: inherit;
  text-decoration: none;
  background: #f8faff;
  border: 1px solid #e1e9f4;
  border-radius: 9px;
}

.containing-book-options li.is-current a {
  background: #f2f7ff;
  border-color: #8bb8f7;
  box-shadow: inset 0 0 0 1px rgba(23, 105, 232, 0.08);
}

.contained-book-mini-cover {
  display: block;
  width: 48px;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: #eef3f8;
  border-radius: 5px;
}

.contained-book-mini-cover .cover {
  height: 100%;
  border-radius: 5px;
}

.contained-book-copy {
  display: grid;
  align-content: center;
  gap: 3px;
  min-width: 0;
}

.contained-book-copy small,
.contained-book-copy span {
  overflow: hidden;
  color: #667085;
  font-size: 0.7rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contained-book-copy strong {
  overflow: hidden;
  color: var(--navy);
  font-size: 0.8rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.other-contained-books {
  grid-column: 1 / -1;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.other-contained-books-heading h4 {
  margin: 0;
  color: var(--navy);
  font-size: 1rem;
  font-weight: 900;
}

.other-contained-books-list {
  display: grid;
  grid-auto-columns: minmax(250px, 1fr);
  grid-auto-flow: column;
  gap: 12px;
  margin-top: 12px;
  padding-bottom: 6px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
}

.other-contained-book-card {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
  padding: 10px;
  color: inherit;
  text-decoration: none;
  background: #f8faff;
  border: 1px solid #e1e9f4;
  border-radius: 10px;
}

.other-contained-book-card:hover,
.other-contained-book-card:focus-visible {
  border-color: #a9c8f7;
  box-shadow: 0 8px 22px rgba(23, 105, 232, 0.08);
}

.other-contained-book-cover {
  display: block;
  width: 62px;
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: #eef3f8;
  border-radius: 6px;
}

.other-contained-book-cover img,
.other-contained-book-cover .cover-fallback {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.other-contained-book-copy {
  display: grid;
  align-content: center;
  gap: 4px;
  min-width: 0;
}

.other-contained-book-copy strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--navy);
  font-size: 0.82rem;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.other-contained-book-copy span {
  color: #667085;
  font-size: 0.72rem;
}

@media (max-width: 720px) {
  .awards-filter-shell {
    margin-top: 22px;
  }

  .award-category-tabs {
    gap: 20px;
  }

  .award-category-tabs a {
    flex: 0 0 auto;
    padding: 0 3px;
  }

  .award-program-picker {
    padding: 14px 0 18px;
  }

  .award-program-chip {
    flex: 0 1 auto;
  }

  .contained-award-works li {
    padding: 11px 12px;
  }

  .contained-award-works ul {
    grid-template-columns: 1fr;
  }

  .containing-book-options ul {
    grid-template-columns: 1fr;
  }

  .contained-award-link-label {
    display: none;
  }

  .has-contained-award-detail .detail-hero {
    padding-bottom: 18px;
  }

  .has-contained-award-detail .detail-content-layout {
    padding-top: 18px;
  }

  .other-contained-books-list {
    grid-auto-columns: minmax(220px, 82vw);
  }
}

/* Shared primary tabs for ranking, awards, and world-literature surfaces. */
.shared-underline-tabs {
  --shared-tab-columns: 2;
  display: grid;
  grid-template-columns: repeat(var(--shared-tab-columns), minmax(0, 1fr));
  gap: 0;
  width: 100%;
  max-width: none;
  margin: 30px 0 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #cfdbeb;
  border-radius: 0;
  box-shadow: none;
  scrollbar-width: none;
}

.shared-underline-tabs::-webkit-scrollbar {
  display: none;
}

.shared-underline-tabs > :is(a, button, span),
.shared-underline-tabs > :is(a, button):hover,
.shared-underline-tabs > :is(a, button).is-active {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  min-height: 52px;
  padding: 0 12px;
  color: #263b58;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 850;
  white-space: nowrap;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  text-decoration: none;
}

.shared-underline-tabs > button {
  cursor: pointer;
}

.shared-underline-tabs > span[aria-disabled="true"] {
  cursor: default;
}

.shared-underline-tabs > :is(a, button):hover,
.shared-underline-tabs > :is(a, button):focus-visible,
.shared-underline-tabs > :is(a, button).is-active {
  color: #1769e8;
  background: transparent;
  outline-offset: -4px;
}

.shared-underline-tabs > :is(a, button).is-active::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: #2374eb;
  content: "";
}

.award-region-tabs.shared-underline-tabs {
  --shared-tab-columns: 2;
  margin-top: 0;
}

.award-region-tabs.shared-underline-tabs a + a {
  border-left: 0;
}

.world-literature-view-tabs.shared-underline-tabs {
  --shared-tab-columns: 3;
  display: grid;
  margin-top: 30px;
  padding: 0;
}

.world-literature-view-tabs.shared-underline-tabs > button,
.world-literature-view-tabs.shared-underline-tabs > button:hover,
.world-literature-view-tabs.shared-underline-tabs > button.is-active {
  min-height: 52px;
  padding: 0 12px;
  color: #263b58;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

.world-literature-view-tabs.shared-underline-tabs > button:hover,
.world-literature-view-tabs.shared-underline-tabs > button:focus-visible,
.world-literature-view-tabs.shared-underline-tabs > button.is-active {
  color: #1769e8;
}

.domestic-category-tabs {
  display: flex;
  justify-content: space-between;
  gap: clamp(18px, 3vw, 54px);
  margin-bottom: 28px;
}

.domestic-category-tabs > :is(a, span) {
  flex: 0 0 auto;
}

.domestic-child-navigation {
  margin: -10px 0 24px;
}

.domestic-subcategory-tabs {
  display: flex;
  justify-content: flex-start;
  gap: clamp(22px, 3vw, 48px);
  margin: 0;
}

.domestic-subcategory-tabs > a {
  flex: 0 0 auto;
  padding-right: 4px;
  padding-left: 4px;
}

.reference-filter-shell {
  display: grid;
  gap: 0;
  margin: -8px 0 28px;
  padding: 6px 18px;
  background: transparent;
  border: 1px solid rgba(207, 219, 235, 0.72);
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(52, 91, 140, 0.06);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.reference-tools-layout {
  display: grid;
  grid-template-columns: calc((100% - 64px) / 5) minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
  margin: -8px 0 28px;
}

.reference-tools-layout > :is(.reference-quick-shell, .reference-filter-shell) {
  min-width: 0;
  margin: 0;
}

.reference-quick-shell {
  display: flex;
  flex-direction: column;
  padding: 12px 14px;
  background: transparent;
  border: 1px solid rgba(207, 219, 235, 0.72);
  border-radius: 16px;
  box-shadow: 0 14px 34px rgba(52, 91, 140, 0.06);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.reference-quick-heading { display: flex; gap: 12px; align-items: baseline; margin-bottom: 8px; }
.reference-quick-heading strong { color: #132c4d; font-size: 1rem; font-weight: 900; }
.reference-quick-heading span { color: #72839a; font-size: 0.75rem; font-weight: 650; }
.reference-quick-menu { display: grid; flex: 1 1 auto; grid-template-columns: minmax(0, 1fr); grid-template-rows: repeat(4, minmax(54px, 1fr)); gap: 6px; }
.reference-quick-menu > button {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
  min-height: 54px;
  padding: 7px 10px;
  color: #263b58;
  text-align: left;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid #d4e0ef;
  border-radius: 10px;
}
.reference-quick-menu > button:hover,
.reference-quick-menu > button:focus-visible,
.reference-quick-menu > button.is-active { color: #1769e8; border-color: #2f7aed; box-shadow: inset 0 0 0 1px rgba(47, 122, 237, 0.12); }
.reference-quick-menu > button > span:last-child { min-width: 0; }
.reference-quick-menu > button strong,
.reference-quick-menu > button small { display: block; overflow-wrap: anywhere; }
.reference-quick-menu > button strong { font-size: 0.84rem; font-weight: 900; }
.reference-quick-menu > button small { margin-top: 2px; color: #8491a3; font-size: calc(0.66rem - 1px); font-weight: 600; line-height: 1.35; }
.reference-quick-icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; color: #1769e8; font-size: 0.7rem; font-weight: 950; background: #eef6ff; border-radius: 10px; }

@media (max-width: 1440px) {
  .reference-quick-menu, .reference-filter-shell { width: 100%; }
}

@media (max-width: 1119px) and (min-width: 721px) {
  .reference-tools-layout { grid-template-columns: calc((100% - 32px) / 3) minmax(0, 1fr); }
}

.reference-filter-row {
  display: grid;
  order: 0 !important;
  grid-template-columns: 112px minmax(0, 1fr);
  align-items: center;
  min-height: 52px;
  border-bottom: 1px solid rgba(207, 219, 235, 0.68);
}

.reference-filter-row:last-child {
  border-bottom: 0;
}

.reference-filter-row > strong {
  display: flex;
  align-items: center;
  align-self: stretch;
  color: #1769e8;
  font-size: 0.86rem;
  font-weight: 850;
  border-right: 1px solid rgba(207, 219, 235, 0.78);
}

.reference-filter-options.shared-underline-tabs {
  display: flex;
  gap: 6px;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 6px 0 6px 18px;
  overflow: visible;
  flex-wrap: wrap;
  border-bottom: 0;
}

.reference-filter-options.shared-underline-tabs > :is(button, span) {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 13px;
  font-size: 0.8rem;
}

.reference-facet-row .reference-filter-options.shared-underline-tabs > button,
.reference-facet-row .reference-filter-options.shared-underline-tabs > button:hover,
.reference-facet-row .reference-filter-options.shared-underline-tabs > button:focus-visible {
  color: #344966;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  outline-offset: -3px;
}

.reference-facet-row .reference-filter-options.shared-underline-tabs > button:hover,
.reference-facet-row .reference-filter-options.shared-underline-tabs > button:focus-visible {
  color: #1769e8;
}

.reference-facet-row .reference-filter-options.shared-underline-tabs > button.is-active {
  color: #1769e8;
  background: transparent;
  box-shadow: none;
}

.reference-filter-count {
  font-size: 0.72em;
  font-weight: 600;
  color: #71839a;
}

.reference-filter-options > button.is-active .reference-filter-count {
  color: currentColor;
}

.reference-school-row .reference-filter-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  border-bottom: 1px solid rgba(207, 219, 235, 0.72);
}

.reference-school-row .reference-filter-options > button {
  justify-content: center;
}

.reference-filter-unmapped {
  color: #8a99ab !important;
  font-weight: 700 !important;
}

.reference-publisher-control {
  display: flex;
  gap: 18px;
  align-items: center;
  min-height: 52px;
  padding-left: 18px;
}

.reference-publisher-control input {
  flex: 1 1 640px;
  width: min(640px, 100%);
  min-width: 0;
  min-height: 40px;
  padding: 0 42px 0 16px;
  color: #263b58;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 750;
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(157, 187, 226, 0.9);
  border-radius: 12px;
}

.reference-publisher-helper {
  flex: 1 1 220px;
  color: #72839a;
  font-size: 0.74rem;
  font-weight: 650;
  line-height: 1.4;
}

.reference-publisher-control input:focus {
  border-color: #2f7aed;
  outline: 2px solid rgba(47, 122, 237, 0.16);
  outline-offset: 1px;
}

/* Exact supplied ranking artwork lives in a full-bleed decorative layer. */
.domestic-section,
.foreign-section {
  position: relative;
  isolation: isolate;
  background: transparent;
}

.domestic-section::before,
.foreign-section::before {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  width: calc(100vw - var(--ranking-hero-scrollbar-width, 0px));
  height: clamp(240px, 33.333vw, 724px);
  pointer-events: none;
  background-color: #eef6ff;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 82%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, #000 82%, transparent 100%);
  transform: translateX(-50%);
  content: "";
}

/* Homepage sections share one quiet canvas; artwork fades into it instead of
   ending as a rectangular panel. SEO route surfaces keep their own layout. */
body:not(.seo-route-page) {
  background:
    radial-gradient(circle at 18% 0%, rgba(96, 165, 250, 0.2), transparent 34rem),
    linear-gradient(180deg, #f8fbff 0%, #f1f7ff 46%, #f7fbff 100%);
}

body:not(.seo-route-page) :is(.domestic-section, .foreign-section, .world-literature-section) {
  padding-top: clamp(44px, 5vw, 64px);
  padding-bottom: clamp(54px, 6vw, 76px);
}

body:not(.seo-route-page) :is(.domestic-section, .foreign-section)::before {
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 7%, #000 82%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 7%, #000 82%, transparent 100%);
}

body:not(.seo-route-page) .world-literature-section {
  background: linear-gradient(180deg, rgba(244, 249, 255, 0), rgba(238, 246, 255, 0.58) 30%, rgba(248, 251, 255, 0));
}

/* Delay only Home's offscreen decoration. Layout and no-JS rendering are intact. */
html.defer-section-artwork body:not(.seo-route-page) :is(.domestic-section, .foreign-section, .awards-section, .world-literature-section):not(.artwork-ready)::before {
  background-image: none;
}

.domestic-section::before {
  background-image: url("/assets/domestic-ranking-hero-final-20260912-q95.webp");
}

/* The supplied Domestic artwork ends in a near-white wash.  Let that edge
   dissolve into the route canvas instead of exposing the fallback color. */
.seo-route-page .domestic-section::before {
  z-index: -2;
  background-color: transparent;
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 70%, rgba(0, 0, 0, 0.84) 80%, rgba(0, 0, 0, 0.38) 92%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, #000 70%, rgba(0, 0, 0, 0.84) 80%, rgba(0, 0, 0, 0.38) 92%, transparent 100%);
}

.seo-route-page .domestic-section::after {
  position: absolute;
  top: max(72px, calc(33.333vw - 64px));
  left: 50%;
  z-index: -1;
  width: calc(100vw - var(--ranking-hero-scrollbar-width, 0px));
  height: 160px;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent, rgba(248, 251, 255, 0.96) 32%, rgba(248, 251, 255, 0.96) 70%, transparent 100%);
  transform: translateX(-50%);
  content: "";
}

.foreign-section::before {
  background-image: url("/assets/foreign-ranking-hero-final-20260912-q95.webp");
}

.foreign-category-tabs {
  display: flex;
  justify-content: space-between;
  gap: clamp(16px, 2vw, 38px);
  margin: 0 0 28px;
}

.foreign-category-tabs > :is(a, span) {
  flex: 0 0 auto;
}

/* Awards child navigation shares the canonical region-tab treatment. */
.award-category-tabs.shared-underline-tabs {
  display: flex;
  gap: clamp(22px, 3vw, 46px);
  min-height: 0;
  margin: 0;
  padding: 0;
}

.award-category-tabs.shared-underline-tabs > a,
.award-category-tabs.shared-underline-tabs > a:hover,
.award-category-tabs.shared-underline-tabs > a.is-active {
  min-height: 52px;
  flex: 0 0 auto;
  padding: 0 4px;
  color: #263b58;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.award-category-tabs.shared-underline-tabs > a:hover,
.award-category-tabs.shared-underline-tabs > a:focus-visible,
.award-category-tabs.shared-underline-tabs > a.is-active {
  color: #1769e8;
}

.award-program-picker {
  min-height: 0;
  padding: 0;
  border-bottom: 0;
}

.award-program-list.shared-underline-tabs {
  display: flex;
  gap: 0;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: hidden;
}

.award-program-list.shared-underline-tabs > .award-program-chip,
.award-program-list.shared-underline-tabs > .award-program-chip:hover,
.award-program-list.shared-underline-tabs > .award-program-chip.is-active {
  flex: 0 0 auto;
  justify-content: center;
  min-width: 116px;
  min-height: 52px;
  padding: 0 14px;
  color: #263b58;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.award-program-list.shared-underline-tabs > .award-program-chip:hover,
.award-program-list.shared-underline-tabs > .award-program-chip:focus-visible,
.award-program-list.shared-underline-tabs > .award-program-chip.is-active {
  color: #1769e8;
}

.award-program-list.shared-underline-tabs > .award-empty {
  margin: 0;
  border: 0;
}

@media (min-width: 721px) and (max-width: 900px) {
  .domestic-category-tabs,
  .foreign-category-tabs {
    gap: 10px;
  }

  .domestic-category-tabs > :is(a, span),
  .foreign-category-tabs > :is(a, span) {
    padding: 0 4px;
    font-size: 0.8rem;
  }
}

@media (max-width: 720px) {
  .shared-underline-tabs {
    margin-top: 22px;
  }

  .shared-underline-tabs > :is(a, button, span) {
    min-height: 48px;
    padding: 0 10px;
    font-size: 0.82rem;
  }

  .award-region-tabs.shared-underline-tabs {
    margin-top: 0;
  }

  .domestic-category-tabs {
    justify-content: flex-start;
    gap: 24px;
    margin-bottom: 22px;
  }

  .domestic-child-navigation {
    margin-top: -6px;
    margin-bottom: 20px;
  }

  .domestic-subcategory-tabs {
    gap: 22px;
  }

  .reference-filter-shell {
    margin-top: -4px;
    margin-bottom: 22px;
    padding: 7px 10px;
    border-radius: 14px;
  }

  .reference-tools-layout { grid-template-columns: minmax(0, 1fr); gap: 14px; margin: -4px 0 22px; }
  .reference-quick-shell { padding: 10px; border-radius: 14px; }
  .reference-quick-heading { display: grid; gap: 2px; margin-bottom: 8px; }
  .reference-quick-menu { flex: none; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(60px, auto)); gap: 6px; }
  .reference-quick-menu > button { grid-template-columns: 34px minmax(0, 1fr); gap: 7px; min-height: 60px; padding: 7px; }
  .reference-quick-icon { width: 32px; height: 32px; border-radius: 9px; font-size: 0.64rem; }
  .reference-quick-menu > button strong { font-size: 0.76rem; }
  .reference-quick-menu > button small { font-size: max(calc(0.6rem - 1px), 10px); }
  .reference-filter-row {
    grid-template-columns: 1fr;
    align-items: start;
    padding: 8px 0;
  }

  .reference-filter-row > strong {
    min-height: 30px;
    border-right: 0;
  }

  .reference-facet-row .reference-filter-options.shared-underline-tabs {
    gap: 8px;
    padding: 4px 0 2px;
  }

  .reference-facet-row .reference-filter-options.shared-underline-tabs > button {
    min-height: 34px;
    padding: 0 14px;
  }

  .reference-publisher-control {
    width: 100%;
    min-height: 48px;
    padding-left: 0;
    gap: 10px;
  }

  .reference-publisher-control input {
    flex-basis: 62%;
    width: 62%;
  }

  .reference-publisher-helper {
    flex-basis: 38%;
    font-size: 0.66rem;
  }

  .domestic-section::before,
  .foreign-section::before {
    background-size: 100% auto;
  }

  .foreign-section::before {
    background-position: 58% top;
  }

  .foreign-category-tabs {
    justify-content: flex-start;
    gap: 24px;
    margin-bottom: 22px;
  }

  .award-category-tabs.shared-underline-tabs > a,
  .award-program-list.shared-underline-tabs > .award-program-chip {
    min-height: 48px;
  }
}

/* Supplied section artwork: decorative only, with content staying in the
   existing centered layout and the source PNG aspect ratio preserved. */
.awards-section,
.world-literature-section {
  position: relative;
  isolation: isolate;
  background: transparent;
}

.awards-section::before,
.world-literature-section::before {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -1;
  width: calc(100vw - var(--ranking-hero-scrollbar-width, 0px));
  height: clamp(240px, 33.333vw, 724px);
  pointer-events: none;
  background-color: #f3f8ff;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  transform: translateX(-50%);
  content: "";
}

.awards-section::before {
  background-image: url("/assets/awards-hero-final-20260912-v2-q95.webp");
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 82%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, #000 82%, transparent 100%);
}

.world-literature-section::before {
  background-image: url("/assets/world-literature-hero-final-20260912-q95.webp");
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 78%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, #000 78%, transparent 100%);
}

/* The supplied Awards hero already contains its trophy composition. */
.awards-trophy {
  display: none;
}

.domestic-section.is-reference-segment::before {
  background-image: url("/assets/reference-books-hero-final-20260912.png");
  background-position: center top;
  background-size: 100% auto;
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 78%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, #000 78%, transparent 100%);
}

.reference-school-row {
  grid-template-columns: minmax(0, 1fr);
}

.reference-school-row .reference-filter-options {
  grid-column: 1 / -1;
  width: 100%;
}

body:not(.seo-route-page) :is(.awards-section, .world-literature-section) {
  padding-top: clamp(44px, 5vw, 64px);
  padding-bottom: clamp(54px, 6vw, 76px);
  background: transparent;
}

body:not(.seo-route-page) .awards-section {
  background: linear-gradient(180deg, transparent 0%, rgba(241, 247, 255, 0.36) 82%, rgba(241, 247, 255, 0.72) 100%);
}

body:not(.seo-route-page) .world-literature-section {
  background: linear-gradient(180deg, rgba(241, 247, 255, 0.72) 0%, rgba(241, 247, 255, 0.34) 18%, transparent 100%);
}

body:not(.seo-route-page) .awards-section::before {
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 10%, #000 78%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 10%, #000 78%, transparent 100%);
}

body:not(.seo-route-page) .world-literature-section::before {
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 10%, #000 82%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 10%, #000 82%, transparent 100%);
}

body:not(.seo-route-page) .foreign-section + .awards-section,
body:not(.seo-route-page) .awards-section + .world-literature-section {
  margin-top: -1px;
}

@media (max-width: 720px) {
  .awards-section::before,
  .world-literature-section::before {
    height: 240px;
    background-size: 100% auto;
  }

  .domestic-section.is-reference-segment::before {
    background-position: center top;
    background-size: 100% auto;
  }
}
/* Homepage hero: supplied artwork is an unchanged decorative CSS layer. */
.hero {
  --home-hero-seam-overlap: clamp(44px, 6vw, 72px);
  position: relative;
  isolation: isolate;
}

.hero::before {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: -2;
  width: calc(100vw - var(--ranking-hero-scrollbar-width, 0px));
  height: clamp(240px, 33.333vw, 724px);
  pointer-events: none;
  background-color: #f4f9ff;
  background-image: url("/assets/homepage-hero-final-20260913-q95.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 62%, rgba(0, 0, 0, 0.82) 78%, rgba(0, 0, 0, 0.38) 91%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0, #000 62%, rgba(0, 0, 0, 0.82) 78%, rgba(0, 0, 0, 0.38) 91%, transparent 100%);
  transform: translateX(-50%);
  content: "";
}

.hero::after {
  position: absolute;
  bottom: calc(-1 * var(--home-hero-seam-overlap));
  left: 50%;
  z-index: -1;
  width: calc(100vw - var(--ranking-hero-scrollbar-width, 0px));
  height: calc(38% + var(--home-hero-seam-overlap));
  pointer-events: none;
  background: linear-gradient(to bottom, transparent 0, rgba(248, 251, 255, 0.72) 54%, rgba(248, 251, 255, 0.96) 68%, rgba(248, 251, 255, 0.7) 82%, transparent 100%);
  transform: translateX(-50%);
  content: "";
}

.hero-copy {
  position: relative;
  z-index: 1;
}

.hero + .discovery-section {
  position: relative;
  margin-top: -1px;
}

/* Mobile-only wrapped menus and aligned Reference/search controls. */
@media (max-width: 430px) {
  .seo-route-page .domestic-section::before {
    height: clamp(380px, 105vw, 452px);
    -webkit-mask-image: linear-gradient(to bottom, #000 0, #000 48%, rgba(0, 0, 0, 0.88) 68%, rgba(0, 0, 0, 0.44) 86%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0, #000 48%, rgba(0, 0, 0, 0.88) 68%, rgba(0, 0, 0, 0.44) 86%, transparent 100%);
  }

  :is(.domestic-category-tabs, .foreign-category-tabs) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 52px;
    justify-content: stretch;
    gap: 0 14px;
    width: 100%;
    max-width: 100%;
    padding: 0 12px 1px;
    box-sizing: border-box;
    overflow: visible;
  }

  :is(.domestic-category-tabs, .foreign-category-tabs) > :is(a, span) {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
    height: 52px;
    min-height: 52px;
    padding-inline: 2px;
    font-size: 0.86rem;
    line-height: 1.25;
    white-space: normal;
  }

  .reference-filter-shell,
  .reference-filter-row,
  .reference-filter-options,
  .reference-publisher-control {
    min-width: 0;
    max-width: 100%;
  }

  .reference-filter-shell {
    padding-inline: 12px;
    overflow: visible;
  }

  .reference-filter-row {
    grid-template-columns: 62px minmax(0, 1fr);
    column-gap: 12px;
    align-items: start;
    padding-block: 10px;
  }

  .reference-filter-row > strong {
    display: flex;
    align-items: center;
    min-height: 44px;
    border-right: 0;
    font-size: 0.84rem;
  }

  .reference-school-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .reference-school-row .reference-filter-options {
    grid-column: 1 / -1;
  }

  .reference-facet-row .reference-filter-options.shared-underline-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px 12px;
    width: 100%;
    padding: 0;
    box-sizing: border-box;
    overflow: visible;
  }

  .reference-facet-row .reference-filter-options.shared-underline-tabs > :is(button, span) {
    flex: 0 0 auto;
    min-height: 44px;
    margin: 0;
    padding-inline: 4px;
    font-size: 0.82rem;
    white-space: nowrap;
  }

  .reference-school-row .reference-filter-options > button {
    min-height: 46px;
    padding-inline: 6px;
  }

  .reference-publisher-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 7px;
    width: 100%;
    padding: 0 0 2px;
  }

  .reference-publisher-control input {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    flex-basis: auto;
    padding-inline: 14px 38px;
    font-size: 16px;
  }

  .reference-publisher-helper {
    width: 100%;
    flex-basis: auto;
    font-size: 0.68rem;
  }

  :is(.world-literature-controls, .classic-ebook-controls) {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
  }

  :is(.world-literature-controls, .classic-ebook-controls) > :is(strong, input, select) {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    min-height: 44px;
  }

  :is(#world-literature-search, #classic-ebook-search) {
    font-size: 16px;
  }

  :is(.world-literature-card, .classic-ebook-card) {
    min-width: 0;
    max-width: 100%;
  }

  :is(.world-literature-card, .classic-ebook-card) :is(h2, h3, strong, em, small, .meta, .classic-original-title, .world-literature-edition-summary) {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  :is(.detail-actions, .detail-purchase-actions, .world-literature-detail-actions, .world-literature-buy-actions) {
    flex-wrap: wrap;
    min-width: 0;
    max-width: 100%;
  }

  :is(.detail-actions, .detail-purchase-actions, .world-literature-detail-actions, .world-literature-buy-actions) > :is(a, button) {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}

/* Route-only catalog presentation. Existing menu nodes and filter logic stay intact. */
.seo-route-page.catalog-route-layout main {
  width: min(1600px, calc(100% - 64px));
}

.seo-route-page.catalog-route-layout :is(#domestic, #foreign, #awards) {
  padding-top: 18px;
}

.seo-route-page .catalog-layout {
  display: grid;
  grid-template-columns: 228px minmax(0, 1fr);
  gap: 24px;
  align-items: start;
  margin-top: 0;
}

.seo-route-page .catalog-content > .section-head {
  min-height: 200px;
  align-items: flex-start;
  margin-bottom: 14px;
  padding: 26px 20px 0;
}

.seo-route-page .catalog-content > .awards-intro {
  min-height: 230px;
  padding: 24px 20px 0;
}

.seo-route-page .catalog-sidebar,
.seo-route-page .catalog-content {
  min-width: 0;
}

.seo-route-page .catalog-sidebar {
  padding: 18px 14px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #d7e4f4;
  border-radius: 17px;
  box-shadow: 0 12px 30px rgba(28, 71, 128, 0.06);
}

.seo-route-page .catalog-sidebar-title {
  margin: 0 0 12px;
  padding: 0 2px 12px;
  color: #183253;
  font-size: 1rem;
  font-weight: 850;
  border-bottom: 1px solid #dbe7f5;
}

.seo-route-page .catalog-sidebar :is(.domestic-category-tabs, .domestic-subcategory-tabs, .foreign-category-tabs, .award-category-tabs.shared-underline-tabs, .award-program-list.shared-underline-tabs) {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2px;
  margin: 0;
  padding: 0;
  border: 0;
}

.seo-route-page .catalog-sidebar :is(.domestic-category-tabs, .domestic-subcategory-tabs, .foreign-category-tabs, .award-category-tabs.shared-underline-tabs, .award-program-list.shared-underline-tabs) > :is(a, span) {
  display: block;
  flex: none;
  min-height: 38px;
  width: 100%;
  padding: 9px 12px;
  text-align: left;
  line-height: 1.35;
  white-space: normal;
  border: 0;
  border-radius: 9px;
}

.seo-route-page .catalog-sidebar .shared-underline-tabs > :is(a, button, span)::after {
  display: none;
}

.seo-route-page .catalog-sidebar .shared-underline-tabs > .is-active {
  color: #1769e8;
  background: #eaf3ff;
}

.seo-route-page .catalog-sidebar .domestic-child-navigation {
  margin: 2px 0 8px 14px;
  padding-left: 11px;
  border-left: 1px solid #dbe7f5;
}

.seo-route-page .catalog-sidebar .domestic-category-tabs > a {
  font-weight: 750;
  border-bottom: 1px solid #edf2f9;
}

.seo-route-page .catalog-sidebar .domestic-subcategory-tabs > a {
  color: #52667f;
  font-size: 0.85rem;
  font-weight: 600;
}

.seo-route-page .catalog-sidebar .domestic-subcategory-tabs > a::before {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 10px;
  vertical-align: 2px;
  background: #9baac0;
  border-radius: 50%;
  content: "";
}

.seo-route-page .catalog-sidebar .domestic-subcategory-tabs > a.is-active {
  color: #1769e8;
  background: transparent;
}

.seo-route-page .catalog-sidebar .domestic-subcategory-tabs > a.is-active::before {
  background: #1769e8;
}

.seo-route-page .catalog-sidebar .reference-tools-layout {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 12px 0 0;
}

.seo-route-page .catalog-sidebar .reference-tools-layout > * {
  width: 100%;
}

.seo-route-page .catalog-sidebar .reference-filter-shell {
  padding: 5px 10px;
}

.seo-route-page .catalog-sidebar .reference-filter-row {
  grid-template-columns: minmax(0, 1fr);
}

.seo-route-page .catalog-sidebar .reference-filter-row > strong {
  border: 0;
}

.seo-route-page .catalog-sidebar .reference-filter-options.shared-underline-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 3px 6px;
  min-width: 0;
}

.seo-route-page .catalog-sidebar .reference-filter-options.shared-underline-tabs > button {
  flex: 0 0 auto;
  min-height: 34px;
  width: auto;
  padding: 5px 7px;
  white-space: normal;
}

.seo-route-page .catalog-sidebar .reference-publisher-control,
.seo-route-page .catalog-sidebar .reference-publisher-control input {
  min-width: 0;
  width: 100%;
}

.seo-route-page .catalog-sidebar .award-region-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 0 8px;
}

.seo-route-page .catalog-sidebar .award-region-tabs > a {
  min-width: 0;
  min-height: 40px;
}

.seo-route-page .catalog-sidebar .award-program-picker {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #dbe7f5;
}

.seo-route-page .catalog-sidebar .award-program-list.shared-underline-tabs > .award-program-chip {
  width: 100%;
}

.seo-route-page .catalog-content.awards-filter-shell {
  margin: 0;
}

.seo-route-page .catalog-content :is(.seo-breadcrumb, .awards-breadcrumb) {
  margin: 0 0 10px;
}

.seo-route-page .catalog-content > .seo-breadcrumb {
  margin-left: 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dbe7f5;
}

.seo-route-page .catalog-selection-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 32px;
  margin-bottom: 14px;
}


.seo-route-page .catalog-selection-chips > span {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  color: #1769e8;
  font-size: 0.76rem;
  font-weight: 750;
  background: #eaf3ff;
  border-radius: 999px;
}

.seo-route-page :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.seo-route-page :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) > .catalog-book-card {
  min-height: 0;
  padding: 12px;
  background: #fff;
  border-radius: 14px;
}

.seo-route-page :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) .catalog-book-card .rank-badge,
.seo-route-page #award-book-list .cover > .rank-badge {
  display: inline-flex !important;
  justify-content: center;
  top: 8px;
  left: 8px;
  width: 32px;
  height: 32px;
  padding: 0;
  color: #fff;
  font-size: 0.85rem;
  font-weight: 850;
  background: #1769e8;
  border-radius: 50%;
}

.seo-route-page .catalog-book-card :is(.catalog-author, .catalog-publisher) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  min-height: 2.8em;
  max-height: 2.8em;
  margin: 0 0 3px;
  overflow: hidden;
  color: #546781;
  font-size: 0.82rem;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.seo-route-page .catalog-book-card .catalog-publisher {
  color: #73839a;
}

@media (max-width: 1100px) {
  .seo-route-page .catalog-layout { grid-template-columns: 208px minmax(0, 1fr); gap: 18px; }
  .seo-route-page :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .seo-route-page.catalog-route-layout main { width: calc(100% - 28px); }
  .seo-route-page .catalog-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 20px; }
  .seo-route-page .catalog-content > .section-head { min-height: 0; padding: 0; }
  .seo-route-page .catalog-content > .awards-intro { min-height: 0; padding: 0; }
  .seo-route-page .catalog-sidebar { padding: 12px; }
  .seo-route-page .catalog-sidebar :is(.domestic-category-tabs, .foreign-category-tabs, .award-category-tabs.shared-underline-tabs) {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .seo-route-page .catalog-sidebar :is(.domestic-category-tabs, .foreign-category-tabs, .award-category-tabs.shared-underline-tabs) > :is(a, span) {
    width: auto;
  }
  .seo-route-page :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Domestic-only density and selection line; other catalog routes are unchanged. */
.seo-route-page #domestic > .catalog-layout {
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 22px;
}

.seo-route-page #domestic .catalog-sidebar {
  padding: 13px 12px;
}

.seo-route-page #domestic .catalog-sidebar-title {
  margin-bottom: 7px;
  padding-bottom: 9px;
  font-size: 0.94rem;
}

.seo-route-page #domestic .domestic-category-tabs > a {
  min-height: 31px;
  padding: 6px 10px;
  color: #203b5e;
  font-size: 0.8rem;
  line-height: 1.25;
}

.seo-route-page #domestic .domestic-child-navigation {
  margin: 2px 0 6px 12px;
  padding-left: 8px;
}

.seo-route-page #domestic .domestic-subcategory-tabs > a {
  min-height: 25px;
  padding: 4px 8px;
  font-size: 0.73rem;
  line-height: 1.25;
}

.seo-route-page #domestic .domestic-subcategory-tabs > a::before {
  width: 5px;
  height: 5px;
  margin-right: 8px;
}

.seo-route-page #domestic .domestic-subcategory-tabs > a.is-active {
  font-weight: 650;
}

.seo-route-page #domestic .catalog-content > .seo-breadcrumb {
  font-size: 0.77rem;
}

.seo-route-page #domestic .domestic-selection-bar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.seo-route-page #domestic .catalog-selection-chips {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}

.seo-route-page #domestic .catalog-selection-chips > button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 29px;
  padding: 5px 10px;
  color: #1769e8;
  font: inherit;
  font-size: 0.74rem;
  font-weight: 750;
  background: #eaf3ff;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
}

.seo-route-page #domestic .catalog-selection-chips > button:hover,
.seo-route-page #domestic .catalog-selection-chips > button:focus-visible {
  background: #dcecff;
}

.seo-route-page #domestic .catalog-selection-chips > button span {
  font-size: 1rem;
  line-height: 0.8;
}

.seo-route-page #domestic .seo-book-count {
  display: none;
}

.seo-route-page #domestic-list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
}

.seo-route-page #domestic-list > .catalog-book-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0 7px;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.seo-route-page #domestic-list > .catalog-book-card:hover {
  border: 0;
  box-shadow: none;
  transform: none;
}


.seo-route-page #domestic-list .catalog-book-card .rank-badge {
  top: -6px;
  left: -6px;
  box-sizing: border-box;
  width: 29px;
  height: 29px;
  font-size: 0.78rem;
  font-weight: 750;
  border: 2px solid #fff;
}

.seo-route-page #domestic-list .catalog-book-card h3 {
  min-height: 2.7em;
  max-height: 2.7em;
  margin: 15px 0 5px;
  color: #122741;
  font-size: 0.88rem;
  font-weight: 720;
  line-height: 1.35;
}

.seo-route-page #domestic-list .catalog-book-card :is(.catalog-author, .catalog-publisher) {
  min-height: 2.7em;
  max-height: 2.7em;
  margin-bottom: 2px;
  font-size: 0.75rem;
  line-height: 1.35;
}

@media (max-width: 1100px) {
  .seo-route-page #domestic > .catalog-layout { grid-template-columns: 196px minmax(0, 1fr); gap: 16px; }
  .seo-route-page #domestic-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .seo-route-page #domestic > .catalog-layout { grid-template-columns: minmax(0, 1fr); }
  .seo-route-page #domestic-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .seo-route-page #domestic .domestic-selection-bar { align-items: flex-start; }
}

/* Foreign and Awards reuse the verified Domestic catalog presentation. */
.seo-route-page :is(#foreign, #awards) > .catalog-layout {
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 22px;
}

.seo-route-page :is(#foreign, #awards) .catalog-sidebar {
  padding: 13px 12px;
}

.seo-route-page :is(#foreign, #awards) .catalog-sidebar-title {
  margin-bottom: 7px;
  padding-bottom: 9px;
  font-size: 0.94rem;
}

.seo-route-page #foreign .foreign-category-tabs > :is(a, span),
.seo-route-page #awards .award-category-tabs > a {
  min-height: 31px;
  padding: 6px 10px;
  color: #203b5e;
  font-size: 0.8rem;
  line-height: 1.25;
}

.seo-route-page #foreign .foreign-category-tabs > span {
  color: #73839a;
}

.seo-route-page #awards .award-region-tabs > a {
  min-height: 34px;
  font-size: 0.8rem;
}

.seo-route-page #awards .award-program-list > .award-program-chip {
  min-height: 25px;
  padding: 4px 8px;
  color: #52667f;
  font-size: 0.73rem;
  line-height: 1.25;
}

.seo-route-page #awards .award-program-list > .award-program-chip span {
  font-size: inherit;
  font-weight: 550;
}

.seo-route-page #awards .award-program-list > .award-program-chip::before {
  display: inline-block;
  flex: none;
  width: 5px;
  height: 5px;
  margin-right: 8px;
  background: #9baac0;
  border-radius: 50%;
  content: "";
}

.seo-route-page #foreign .foreign-category-tabs > a.is-active,
.seo-route-page #awards .award-category-tabs > a.is-active {
  color: #1769e8;
  background: #eaf3ff;
}

.seo-route-page #awards .award-program-list > .award-program-chip.is-active,
.seo-route-page #awards .award-program-list > .award-program-chip.is-active span {
  color: #1769e8;
  font-weight: 650;
}

.seo-route-page #awards .award-program-list > .award-program-chip.is-active::before {
  background: #1769e8;
}

.seo-route-page #awards .catalog-content > .awards-breadcrumb {
  margin: 0 0 10px 8px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dbe7f5;
}

.seo-route-page :is(#foreign, #awards) .catalog-selection-bar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.seo-route-page :is(#foreign, #awards) .catalog-selection-chips {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}

.seo-route-page :is(#foreign, #awards) .catalog-selection-chips > span {
  min-height: 29px;
  padding: 5px 10px;
  font-size: 0.74rem;
}

.seo-route-page :is(#domestic, #foreign, #awards) :is(.domestic-selection-bar, .catalog-selection-bar):has(> .catalog-selection-chips:empty) {
  display: none;
  min-height: 0;
  margin: 0;
  padding: 0;
}

.seo-route-page :is(#foreign-list, #award-book-list, #world-literature-list) {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
}

.seo-route-page :is(#foreign-list, #award-book-list, #world-literature-list) > .catalog-book-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0 7px;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.seo-route-page :is(#foreign-list, #award-book-list, #world-literature-list) > .catalog-book-card:hover {
  border: 0;
  box-shadow: none;
  transform: none;
}


.seo-route-page :is(#foreign-list, #award-book-list, #world-literature-list) .catalog-book-card .rank-badge {
  display: inline-flex !important;
  top: -6px;
  left: -6px;
  box-sizing: border-box;
  width: 29px;
  height: 29px;
  font-size: 0.78rem;
  font-weight: 750;
  border: 2px solid #fff;
}

.seo-route-page :is(#foreign-list, #award-book-list, #world-literature-list) .catalog-book-card h3 {
  min-height: 2.7em;
  max-height: 2.7em;
  margin: 15px 0 5px;
  color: #122741;
  font-size: 0.88rem;
  font-weight: 720;
  line-height: 1.35;
}

.seo-route-page :is(#foreign-list, #award-book-list, #world-literature-list) .catalog-book-card :is(.catalog-author, .catalog-publisher) {
  min-height: 2.7em;
  max-height: 2.7em;
  margin-bottom: 2px;
  font-size: 0.75rem;
  line-height: 1.35;
}

@media (max-width: 1100px) {
  .seo-route-page :is(#foreign, #awards) > .catalog-layout { grid-template-columns: 196px minmax(0, 1fr); gap: 16px; }
  .seo-route-page :is(#foreign-list, #award-book-list, #world-literature-list) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .seo-route-page :is(#foreign, #awards) > .catalog-layout { grid-template-columns: minmax(0, 1fr); }
  .seo-route-page :is(#foreign-list, #award-book-list, #world-literature-list) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Catalog polish: desktop sticky navigation and scoped control visibility. */
@media (min-width: 721px) {
  .seo-route-page :is(#domestic, #foreign, #awards) > .catalog-layout > .catalog-sidebar {
    position: sticky;
    top: 88px;
    max-height: calc(100vh - 100px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

.seo-route-page #awards .award-filter-bar,
.seo-route-page #domestic.is-reference-segment #reference-quick-shell {
  display: none !important;
}

.seo-route-page #award-book-list .catalog-book-card .rank-badge {
  display: none !important;
}

/* Metadata follows the visible cover edge, including narrow contained covers. */
.seo-route-page :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) > .catalog-book-card > :is(h3, .catalog-author, .catalog-publisher) {
  align-self: center;
  width: min(var(--catalog-cover-max-width), 100%);
  margin-right: auto;
  margin-left: auto;
}

.seo-route-page :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) > .catalog-book-card > h3 {
  margin-bottom: 8px;
  color: #122741;
}

.seo-route-page :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) > .catalog-book-card > .catalog-author {
  min-height: 0;
  margin-top: 0;
  margin-bottom: 4px;
  color: #546781;
}

.seo-route-page :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) > .catalog-book-card > .catalog-publisher {
  min-height: 0;
  margin-top: 0;
  margin-bottom: 0;
  color: #73839a;
}

/* Domestic desktop: one aligned navigation column and one content column. */
@media (min-width: 721px) {
  body.domestic-catalog-page .site-header {
    padding-left: 34px;
  }

  body.seo-route-page.catalog-route-layout.domestic-catalog-page main {
    width: 100%;
    margin: 0;
  }

  body.seo-route-page.catalog-route-layout.domestic-catalog-page #domestic {
    padding-top: 0;
  }

  body.domestic-catalog-page #domestic > .catalog-layout {
    grid-template-columns: 192px minmax(0, 1fr);
    gap: 0;
  }

  body.seo-route-page.domestic-catalog-page #domestic > .catalog-layout > .catalog-sidebar {
    top: 77px;
    min-height: calc(100vh - 77px);
    max-height: calc(100vh - 77px);
    padding: 18px 14px;
    background: rgba(248, 251, 255, 0.94);
    border: 0;
    border-right: 1px solid #dbe7f5;
    border-radius: 0;
    box-shadow: none;
  }

  body.domestic-catalog-page #domestic .catalog-content {
    padding: 0 40px;
  }

  body.domestic-catalog-page #domestic .catalog-content > .section-head {
    padding-right: 0;
    padding-left: 0;
  }

  /* Reference: compact B-style filters within the shared navigation column. */
  body.domestic-catalog-page #domestic.is-reference-segment .reference-tools-layout {
    gap: 0;
    margin-top: 10px;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-shell {
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-row {
    gap: 4px;
    padding: 9px 0;
    border-bottom: 1px solid #e3ebf5;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-row:last-child {
    border-bottom: 0;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-row > strong {
    min-height: 0;
    color: #203b5e;
    font-size: 0.875rem;
    font-weight: 650;
    line-height: 1.35;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-options.shared-underline-tabs {
    gap: 4px;
    padding: 3px 0 0;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-options.shared-underline-tabs > :is(button, span) {
    min-height: 29px;
    padding: 3px 8px;
    color: #60738d;
    font-size: 0.8125rem;
    font-weight: 550;
    line-height: 1.2;
    background: rgba(255, 255, 255, 0.56);
    border: 1px solid #dbe6f3;
    border-radius: 999px;
    box-shadow: none;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-options.shared-underline-tabs > :is(button, span).is-active {
    color: #1769e8;
    font-weight: 650;
    background: #eaf3ff;
    border-color: #cfe2ff;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-school-row .reference-filter-options.shared-underline-tabs {
    gap: 4px;
    padding-top: 3px;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-publisher-control {
    min-height: 0;
    padding: 3px 0 0;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-publisher-control input {
    min-height: 34px;
    padding: 6px 9px;
    color: #60738d;
    font-size: 0.8125rem;
    font-weight: 550;
    border-color: #dbe6f3;
    border-radius: 8px;
    box-shadow: none;
  }
}

body.domestic-catalog-page #domestic .catalog-sidebar-title {
  color: #334155;
  font-size: 0.88rem;
  font-weight: 700;
}

body.domestic-catalog-page #domestic .domestic-category-tabs > a {
  color: #334155;
  font-size: 0.79rem;
  font-weight: 650;
}

body.domestic-catalog-page #domestic .domestic-category-tabs > a.is-active {
  color: #1769e8;
  font-weight: 700;
  background: #eaf2ff;
}

body.domestic-catalog-page #domestic .domestic-subcategory-tabs > a {
  color: #64748b;
}

body.domestic-catalog-page #domestic .domestic-subcategory-tabs > a.is-active {
  color: #1769e8;
}

body.domestic-catalog-page #domestic .section-head .seo-breadcrumb {
  margin: 0 0 12px;
  padding: 0;
  color: #52667f;
  font-size: 0.77rem;
  font-weight: 720;
  border: 0;
}

body.domestic-catalog-page #domestic-list {
  column-gap: 16px;
  row-gap: 16px;
}

body.domestic-catalog-page #domestic-list > .catalog-book-card > h3 {
  min-height: 0;
  max-height: 2.7em;
  margin-bottom: 4px;
}

body.domestic-catalog-page #domestic-list > .catalog-book-card > .catalog-author {
  margin-bottom: 3px;
}

/* 2026-09-19 verified catalog sidebar refinement. */
@media (min-width: 721px) {
  .seo-route-page :is(#domestic, #foreign, #awards) > .catalog-layout {
    grid-template-columns: 192px minmax(0, 1fr);
  }

  .seo-route-page :is(#domestic, #foreign, #awards) > .catalog-layout > .catalog-sidebar {
    padding: 18px 14px;
    color: #405674;
    background: rgba(248, 251, 255, 0.96);
    border: 0;
    border-right: 1px solid #dbe7f5;
    border-radius: 0;
    box-shadow: none;
  }

  .seo-route-page :is(#foreign, #awards) > .catalog-layout > .catalog-sidebar {
    width: 192px;
  }

  .seo-route-page .catalog-sidebar-title {
    margin: 0 0 8px;
    padding: 0 8px 11px;
    color: #213a5b;
    font-size: 0.875rem;
    font-weight: 720;
    letter-spacing: -0.01em;
  }

  .seo-route-page .catalog-sidebar :is(
    .domestic-category-tabs,
    .foreign-category-tabs,
    .award-category-tabs.shared-underline-tabs
  ) > :is(a, span) {
    position: relative;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    min-height: 36px;
    padding: 7px 8px 7px 12px;
    color: #405674;
    font-size: 0.8rem;
    font-weight: 620;
    line-height: 1.25;
    background: transparent;
    border-bottom: 1px solid #e8eef6;
    border-radius: 7px;
  }

  .seo-route-page .catalog-sidebar :is(
    .domestic-category-tabs,
    .foreign-category-tabs,
    .award-category-tabs.shared-underline-tabs
  ) > :is(a, span)::before {
    width: 18px;
    height: 18px;
    background: currentColor;
    content: "";
    -webkit-mask: var(--catalog-icon-mask) center / contain no-repeat;
    mask: var(--catalog-icon-mask) center / contain no-repeat;
  }

  .seo-route-page .catalog-sidebar :is(
    .domestic-category-tabs,
    .foreign-category-tabs,
    .award-category-tabs.shared-underline-tabs
  ) > .is-active {
    color: #1769e8;
    font-weight: 700;
    background: #eaf2ff;
  }

  .seo-route-page .catalog-sidebar :is(
    .domestic-category-tabs,
    .foreign-category-tabs,
    .award-category-tabs.shared-underline-tabs
  ) > .is-active::after {
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: 0;
    display: block;
    width: 3px;
    height: auto;
    background: #1769e8;
    border-radius: 99px;
    content: "";
  }

  .seo-route-page .catalog-sidebar .domestic-category-tabs > a[data-domestic-segment="all"] {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h6v6H4zM14 4h6v6h-6zM4 14h6v6H4zM14 14h6v6h-6z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .domestic-category-tabs > a[data-domestic-segment="general"] {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5.5c2-1 4.7-.8 8 .8v14c-3.3-1.6-6-1.8-8-.8zM20 5.5c-2-1-4.7-.8-8 .8v14c3.3-1.6 6-1.8 8-.8z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .domestic-category-tabs > a[data-domestic-segment="children-ya"] {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='9' r='5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M4.5 21c.7-3.7 3.2-5.5 7.5-5.5s6.8 1.8 7.5 5.5M9.5 9h.01M14.5 9h.01M10 11.5c1.3 1 2.7 1 4 0' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .domestic-category-tabs > a[data-domestic-segment="reference"] {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='3' width='14' height='18' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .domestic-category-tabs > a[data-domestic-segment="religion"] {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21c-4.5-2.3-6.3-5.8-5.3-10.5 3.7.2 6.1 2.1 7.3 5.7M12 21c4.5-2.3 6.3-5.8 5.3-10.5-1.7.1-3.2.6-4.4 1.5M12 13.5c-2.4-2.8-2.4-5.9 0-9.5 2.4 3.6 2.4 6.7 0 9.5z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .domestic-category-tabs > a[data-domestic-segment="health"] {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 5.7c-2.1-2.2-5.5-2.2-7.6 0L12 6.6l-.9-.9c-2.1-2.2-5.5-2.2-7.6 0-2 2.1-2 5.4 0 7.5L12 21l8.5-7.8c2-2.1 2-5.4 0-7.5z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .domestic-category-tabs > a[data-domestic-segment="professional-practical"] {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='7' width='18' height='13' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 7V5c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v2M3 12h18M10 12v2h4v-2' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .foreign-category-tabs > :is(a, span) {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h6v6H4zM14 4h6v6h-6zM4 14h6v6H4zM14 14h6v6h-6z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .foreign-category-tabs > [data-foreign-category="fiction"] {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5.5c2-1 4.7-.8 8 .8v14c-3.3-1.6-6-1.8-8-.8zM20 5.5c-2-1-4.7-.8-8 .8v14c3.3-1.6 6-1.8 8-.8z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .foreign-category-tabs > [data-foreign-category="nonfiction"] {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h9l4 4v14H6zM15 3v5h4M9 12h7M9 16h7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .foreign-category-tabs > [data-foreign-category="children_ya"] {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='9' r='5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M4.5 21c.7-3.7 3.2-5.5 7.5-5.5s6.8 1.8 7.5 5.5M9.5 9h.01M14.5 9h.01M10 11.5c1.3 1 2.7 1 4 0' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .foreign-category-tabs > [data-foreign-category="education"] {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 9 9-5 9 5-9 5zM6 11.5V17c3 2 9 2 12 0v-5.5M21 9v6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .foreign-category-tabs > [data-foreign-category="self_help"] {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m15.5 8.5-2.1 4.9-4.9 2.1 2.1-4.9z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .foreign-category-tabs > [data-foreign-category="science_tech"] {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='12' rx='10' ry='4.2' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cellipse cx='12' cy='12' rx='10' ry='4.2' transform='rotate(60 12 12)' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cellipse cx='12' cy='12' rx='10' ry='4.2' transform='rotate(120 12 12)' fill='none' stroke='black' stroke-width='1.8'/%3E%3Ccircle cx='12' cy='12' r='1.5'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .award-category-tabs > :is(a, span) {
    --catalog-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 4h8v3c0 3-1.7 5-4 5S8 10 8 7zM9 20h6M12 12v5M8 17h8M8 6H4v1c0 2.2 1.8 4 4 4M16 6h4v1c0 2.2-1.8 4-4 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  .seo-route-page .catalog-sidebar .domestic-child-navigation {
    margin: 3px 0 7px 15px;
    padding-left: 10px;
  }

  .seo-route-page .catalog-sidebar .domestic-subcategory-tabs > a,
  .seo-route-page #awards .award-program-list > .award-program-chip {
    color: #687b93;
    font-size: 0.74rem;
    font-weight: 520;
  }

  .seo-route-page .catalog-sidebar .domestic-subcategory-tabs > a.is-active,
  .seo-route-page #awards .award-program-list > .award-program-chip.is-active {
    color: #1769e8;
    font-weight: 650;
  }

  body.domestic-catalog-page #domestic-list {
    column-gap: 24px;
  }

  body.domestic-catalog-page #domestic-list > .catalog-book-card {
    padding-right: 3px;
    padding-left: 3px;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-shell {
    display: grid;
    gap: 0;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-row {
    display: grid;
    gap: 4px;
    padding: 8px 0;
    border-bottom: 1px solid #e2eaf4;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-row > strong {
    display: flex;
    gap: 6px;
    align-items: center;
    min-height: 20px;
    color: #213a5b;
    font-size: 0.75rem;
    font-weight: 650;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-row > strong::before {
    flex: none;
    width: 16px;
    height: 16px;
    background: #1d4f91;
    content: "";
    -webkit-mask: var(--reference-icon-mask) center / contain no-repeat;
    mask: var(--reference-icon-mask) center / contain no-repeat;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-school-row {
    --reference-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 9 9-5 9 5-9 5zM6 11.5V17c3 2 9 2 12 0v-5.5M21 9v6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-grade-row {
    --reference-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5.5c2-1 4.7-.8 8 .8v14c-3.3-1.6-6-1.8-8-.8zM20 5.5c-2-1-4.7-.8-8 .8v14c3.3-1.6 6-1.8 8-.8z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-subject-row {
    --reference-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='3' width='14' height='18' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-type-row {
    --reference-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h10M4 12h16M4 17h12' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='18' cy='7' r='2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-publisher-row {
    --reference-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 21V6l8-3v18M12 9h8v12M8 8v1M8 12v1M8 16v1M16 13h1M16 17h1M3 21h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-options.shared-underline-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    border-top: 1px solid #e3ebf5;
  }

  body.domestic-catalog-page #domestic.is-reference-segment :is(
    .reference-school-row,
    .reference-grade-row,
    .reference-subject-row,
    .reference-type-row
  ) .reference-filter-options.shared-underline-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-type-row.has-long-type-labels .reference-filter-options.shared-underline-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-options.shared-underline-tabs > :is(button, span) {
    justify-content: flex-start;
    min-width: 0;
    min-height: 29px;
    width: 100%;
    padding: 3px 4px;
    overflow: hidden;
    color: #687b93;
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1.15;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #e7edf5;
    border-radius: 0;
    box-shadow: none;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-options.shared-underline-tabs > :is(button, span)::after {
    display: none;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-options.shared-underline-tabs > :is(button, span).is-active {
    color: #1769e8;
    font-weight: 650;
    background: rgba(234, 242, 255, 0.55);
    box-shadow: inset 0 -2px #1769e8;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-publisher-control {
    padding-top: 2px;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-publisher-control input {
    min-height: 29px;
    padding: 4px 6px;
    color: #60738d;
    font-size: 0.6875rem;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid #d8e3f1;
    border-radius: 6px;
  }

  .reference-filter-count {
    display: none !important;
  }
}

.reference-filter-count {
  display: none !important;
}

@media (max-width: 720px) {
  .seo-route-page :is(#domestic, #foreign, #awards) .catalog-sidebar {
    background: rgba(248, 251, 255, 0.96);
    border: 0;
    border-right: 1px solid #dbe7f5;
    border-radius: 0;
    box-shadow: none;
  }

  .seo-route-page .catalog-sidebar :is(
    .domestic-category-tabs,
    .foreign-category-tabs,
    .award-category-tabs.shared-underline-tabs
  ) > :is(a, span)::before {
    display: inline-block;
    width: 17px;
    height: 17px;
    margin-right: 7px;
    vertical-align: -4px;
    background: currentColor;
    content: "";
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5.5c2-1 4.7-.8 8 .8v14c-3.3-1.6-6-1.8-8-.8zM20 5.5c-2-1-4.7-.8-8 .8v14c3.3-1.6 6-1.8 8-.8z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5.5c2-1 4.7-.8 8 .8v14c-3.3-1.6-6-1.8-8-.8zM20 5.5c-2-1-4.7-.8-8 .8v14c3.3-1.6 6-1.8 8-.8z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-row {
    display: grid;
    gap: 4px;
    padding: 8px 0;
    border-bottom: 1px solid #e2eaf4;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-row > strong {
    display: flex;
    gap: 6px;
    align-items: center;
    min-height: 20px;
    color: #213a5b;
    font-size: 0.75rem;
    font-weight: 650;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-row > strong::before {
    flex: none;
    width: 16px;
    height: 16px;
    background: #1d4f91;
    content: "";
    -webkit-mask: var(--reference-mobile-icon-mask) center / contain no-repeat;
    mask: var(--reference-mobile-icon-mask) center / contain no-repeat;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-school-row {
    --reference-mobile-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 9 9-5 9 5-9 5zM6 11.5V17c3 2 9 2 12 0v-5.5M21 9v6' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-grade-row {
    --reference-mobile-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5.5c2-1 4.7-.8 8 .8v14c-3.3-1.6-6-1.8-8-.8zM20 5.5c-2-1-4.7-.8-8 .8v14c3.3-1.6 6-1.8 8-.8z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-subject-row {
    --reference-mobile-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='3' width='14' height='18' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-type-row {
    --reference-mobile-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h10M4 12h16M4 17h12' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='18' cy='7' r='2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-publisher-row {
    --reference-mobile-icon-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 21V6l8-3v18M12 9h8v12M8 8v1M8 12v1M8 16v1M16 13h1M16 17h1M3 21h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-options.shared-underline-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    border-top: 1px solid #e3ebf5;
  }

  body.domestic-catalog-page #domestic.is-reference-segment :is(
    .reference-school-row,
    .reference-grade-row,
    .reference-subject-row,
    .reference-type-row
  ) .reference-filter-options.shared-underline-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-type-row.has-long-type-labels .reference-filter-options.shared-underline-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-options.shared-underline-tabs > :is(button, span) {
    justify-content: flex-start;
    min-width: 0;
    min-height: 29px;
    width: 100%;
    padding: 3px 4px;
    overflow: hidden;
    color: #687b93;
    font-size: 0.6875rem;
    font-weight: 500;
    line-height: 1.15;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #e7edf5;
    border-radius: 0;
    box-shadow: none;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-options.shared-underline-tabs > :is(button, span)::after {
    display: none;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-filter-options.shared-underline-tabs > :is(button, span).is-active {
    color: #1769e8;
    font-weight: 650;
    background: rgba(234, 242, 255, 0.55);
    box-shadow: inset 0 -2px #1769e8;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-publisher-control {
    min-height: 0;
    padding: 2px 0 0;
  }

  body.domestic-catalog-page #domestic.is-reference-segment .reference-publisher-control input {
    min-height: 29px;
    padding: 4px 6px;
    font-size: 0.6875rem;
  }
}

body.domestic-catalog-page #domestic.is-reference-segment .reference-type-row.has-long-type-labels .reference-filter-options.shared-underline-tabs > :is(button, span) {
  min-height: 38px;
  overflow: visible;
  line-height: 1.2;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}
/* Domestic-only desktop geometry: preserve the verified 204 x 272 cover stage. */
@media (min-width: 721px) {
  body.domestic-catalog-page #domestic:not(.is-reference-segment) > .catalog-layout {
    grid-template-columns: 192px minmax(0, 1fr);
  }

  body.domestic-catalog-page #domestic:not(.is-reference-segment) #domestic-list {
    column-gap: 32px;
  }

  body.domestic-catalog-page #domestic:not(.is-reference-segment) #domestic-list > .catalog-book-card {
    padding-right: 2px;
    padding-left: 2px;
  }
}

/* Foreign and Awards desktop geometry matched to the verified Domestic layout. */
@media (min-width: 721px) {
  body.seo-route-page.catalog-route-layout:has(#foreign) main,
  body.seo-route-page.catalog-route-layout:has(#awards) main {
    width: 100%;
    margin: 0;
  }

  body.seo-route-page.catalog-route-layout :is(#foreign, #awards) {
    padding-top: 0;
  }

  .seo-route-page :is(#foreign, #awards) > .catalog-layout {
    grid-template-columns: 192px minmax(0, 1fr);
    gap: 0;
  }

  .seo-route-page :is(#foreign, #awards) > .catalog-layout > .catalog-sidebar {
    top: 77px;
    width: 192px;
    min-height: calc(100vh - 77px);
    max-height: calc(100vh - 77px);
  }

  .seo-route-page :is(#foreign, #awards) .catalog-content {
    padding-right: 40px;
    padding-left: 40px;
  }

  .seo-route-page :is(#foreign-list, #award-book-list, #world-literature-list) {
    column-gap: 32px;
    row-gap: 16px;
  }

  .seo-route-page :is(#foreign-list, #award-book-list, #world-literature-list) > .catalog-book-card {
    padding-right: 2px;
    padding-left: 2px;
  }
}

/* Domestic and Foreign list normalization: Domestic UI with the cleaner contained-cover treatment. */
.seo-route-page :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) .catalog-book-card .cover {
  display: grid;
  place-items: center;
  flex: none;
  width: min(var(--catalog-cover-max-width), 100%);
  max-width: 100%;
  margin-inline: auto;
  aspect-ratio: 3 / 4;
  overflow: visible;
  background: transparent;
  border-radius: 0;
}

.seo-route-page :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) .catalog-book-card .cover img {
  width: auto;
  height: auto;
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  background: transparent;
}

.seo-route-page #foreign .catalog-content > .section-head {
  padding-right: 0;
  padding-left: 0;
}

.seo-route-page #foreign .section-head .seo-breadcrumb {
  margin: 0 0 12px;
  padding: 0;
  color: #52667f;
  font-size: 0.77rem;
  font-weight: 720;
  border: 0;
}

.seo-route-page :is(#foreign-list, #award-book-list, #world-literature-list) > .catalog-book-card > h3 {
  min-height: 0;
  max-height: 2.7em;
  margin-bottom: 4px;
}

.seo-route-page :is(#foreign-list, #award-book-list, #world-literature-list) > .catalog-book-card > .catalog-author {
  margin-bottom: 3px;
}

.seo-route-page .foreign-section::before {
  filter: saturate(0.88) contrast(0.9);
}
/* Shared route shell alignment; Awards retains its own content and artwork. */
@media (min-width: 721px) {
  body.seo-route-page.catalog-route-layout:has(#foreign) .site-header,
  body.seo-route-page.catalog-route-layout:has(#awards) .site-header {
    padding-left: 34px;
  }

  .seo-route-page #awards .catalog-content > .awards-intro {
    min-height: 200px;
    padding: 26px 0 0;
  }
}

.seo-route-page #awards .awards-intro {
  margin-bottom: 14px;
}

@media (max-width: 720px) {
  body.seo-route-page :is(#domestic-list, #foreign-list, #award-book-list, #world-literature-list) {
    column-gap: 12px;
    row-gap: 12px;
  }
}

/* World Literature uses the verified catalog shell while retaining its own artwork and filters. */
body.seo-route-page.catalog-route-layout.world-literature-catalog-page main {
  max-width: none;
  width: 100%;
  margin: 0;
}

body.world-literature-catalog-page #world-literature {
  box-sizing: border-box;
  max-width: none;
  width: 100%;
  margin: 0;
  padding-top: 0;
}

.seo-route-page.catalog-route-layout :is(.section-head, .awards-intro) .seo-breadcrumb {
  margin: 0 0 12px;
  padding: 0;
  color: #52667f;
  font-size: 0.77rem;
  font-weight: 720;
  border: 0;
}

body.world-literature-catalog-page .world-literature-section::before {
  display: none;
}

body.world-literature-catalog-page #world-literature > .catalog-layout {
  grid-template-columns: 192px minmax(0, 1fr);
  gap: 0;
}

body.world-literature-catalog-page #world-literature .catalog-content {
  padding-right: 40px;
  padding-left: 40px;
}

body.world-literature-catalog-page #world-literature .catalog-content > .world-literature-head {
  min-height: 200px;
  margin-bottom: 60px;
  padding: 24px 24px 0;
  overflow: hidden;
  background-color: #eef7ff;
  background-image: url("/assets/world-literature-hero-system-20260920-desktop.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border: 0;
  border-radius: 0;
}

body.world-literature-catalog-page .world-literature-head > div {
  max-width: 390px;
}

body.world-literature-catalog-page .world-literature-head .seo-breadcrumb {
  margin: 0 0 11px;
  padding: 0;
  color: #52667f;
  font-size: 0.77rem;
  font-weight: 720;
  border: 0;
}

body.world-literature-catalog-page .world-literature-head .eyebrow {
  margin-bottom: 5px;
  color: #1769e8;
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.16em;
}

body.world-literature-catalog-page .world-literature-head h1 {
  margin: 0;
  color: #0f2744;
  font-size: clamp(2rem, 3vw, 2.75rem);
  line-height: 1.08;
}

body.world-literature-catalog-page .world-literature-head .section-description {
  max-width: 360px;
  margin: 12px 0 0;
  color: #536b89;
  font-size: 0.86rem;
  line-height: 1.55;
}

body.world-literature-catalog-page #world-literature > .catalog-layout > .catalog-sidebar {
  position: sticky;
  top: 77px;
  width: 192px;
  min-height: calc(100vh - 77px);
  max-height: calc(100vh - 77px);
  padding: 18px 14px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: rgba(248, 251, 255, 0.94);
  border: 0;
  border-right: 1px solid #dbe7f5;
  border-radius: 0;
  box-shadow: none;
}

body.world-literature-catalog-page #world-literature .world-literature-page-menu {
  display: grid;
  gap: 2px;
  margin: 0 0 10px;
  padding: 0 0 10px;
  border-bottom: 1px solid #dbe7f5;
}

body.world-literature-catalog-page #world-literature .world-literature-page-menu > a {
  display: flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 10px;
  color: #52667f;
  font-size: 0.8rem;
  font-weight: 620;
  text-decoration: none;
  border-radius: 7px;
}

body.world-literature-catalog-page #world-literature .world-literature-page-menu > a.is-active {
  color: #1268df;
  background: #eaf3ff;
}

body.world-literature-catalog-page #world-literature .world-literature-view-tabs {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2px;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

body.world-literature-catalog-page #world-literature .world-literature-view-tabs > button {
  justify-content: flex-start;
  min-height: 34px;
  width: 100%;
  padding: 7px 10px;
  color: #52667f;
  font-size: 0.8rem;
  font-weight: 620;
  text-align: left;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #edf2f8;
  border-radius: 7px;
  box-shadow: none;
}

body.world-literature-catalog-page #world-literature .world-literature-view-tabs > button::before {
  display: inline-block;
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  background: currentColor;
  -webkit-mask: var(--world-sidebar-icon) center / contain no-repeat;
  mask: var(--world-sidebar-icon) center / contain no-repeat;
  content: "";
}

body.world-literature-catalog-page #world-literature .world-literature-view-tabs > button:nth-child(1) {
  --world-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='3' width='7' height='7' rx='1'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1'/%3E%3C/g%3E%3C/svg%3E");
}

body.world-literature-catalog-page #world-literature .world-literature-view-tabs > button:nth-child(2) {
  --world-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A3.5 3.5 0 0 1 7.5 2H12v18H7.5A3.5 3.5 0 0 0 4 23z'/%3E%3Cpath d='M20 5.5A3.5 3.5 0 0 0 16.5 2H12v18h4.5A3.5 3.5 0 0 1 20 23z'/%3E%3C/g%3E%3C/svg%3E");
}

body.world-literature-catalog-page #world-literature .world-literature-view-tabs > button:nth-child(3) {
  --world-sidebar-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='18' r='2'/%3E%3Ccircle cx='18' cy='6' r='2'/%3E%3Cpath d='M8 18h3a4 4 0 0 0 4-4V8'/%3E%3Cpath d='m12 11 3 3 3-3'/%3E%3C/g%3E%3C/svg%3E");
}

body.world-literature-catalog-page #world-literature .world-literature-view-tabs > button.is-active {
  color: #1769e8;
  background: #eaf3ff;
  box-shadow: inset 3px 0 #1769e8;
}

body.world-literature-catalog-page #world-literature .world-literature-view-tabs > button strong {
  font-size: 0.7rem;
  font-weight: 650;
}

body.world-literature-catalog-page #world-literature .world-literature-controls {
  display: none;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  margin: 14px 0 0;
  padding-top: 13px;
  border-top: 1px solid #dbe7f5;
}

body.world-literature-catalog-page #world-literature .world-literature-controls > :is(strong, input, select) {
  grid-column: auto;
  min-width: 0;
  min-height: 34px;
  width: 100%;
  margin: 0;
  color: #52667f;
  font-size: 0.75rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid #dbe7f5;
  border-radius: 7px;
  box-shadow: none;
}

body.world-literature-catalog-page #world-literature .world-literature-controls > strong {
  justify-content: flex-start;
  padding: 0 9px;
  color: #1769e8;
  background: #eef5ff;
}

body.world-literature-catalog-page #world-literature .world-literature-controls > :is(input, select) {
  padding-right: 9px;
  padding-left: 9px;
}


body.world-literature-catalog-page #world-literature-list .catalog-book-card .cover {
  position: relative;
  place-items: start center;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #d9e2ec;
  box-shadow: none;
}

body.world-literature-catalog-page #world-literature-list .catalog-book-card .cover img {
  align-self: start;
  object-position: center top;
}


body.world-literature-catalog-page #world-literature-list .world-literature-level-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  padding: 4px 7px;
  color: #1769e8;
  font-size: 0.65rem;
  font-weight: 750;
  line-height: 1;
  background: #eaf3ff;
  border: 1px solid #b9d5fb;
  border-radius: 999px;
}
body.world-literature-catalog-page #world-literature-list .world-literature-child-badge {
  position: absolute;
  right: 7px;
  bottom: 7px;
  z-index: 2;
  max-width: calc(100% - 14px);
  padding: 4px 9px;
  overflow: hidden;
  color: #1769e8;
  font-size: 0.64rem;
  font-weight: 760;
  line-height: 1.1;
  white-space: nowrap;
  text-overflow: ellipsis;
  background: #eaf3ff;
  border: 1px solid #b9d5fb;
  border-radius: 999px;
}

body.world-literature-catalog-page #world-literature-list .world-literature-child-badge.is-children {
  color: #177245;
  background: #eaf8f0;
  border-color: #b7dfc8;
}

body.world-literature-catalog-page #world-literature-list .world-literature-original-title {
  margin: 0 0 4px;
  color: #73839a;
  font-size: 0.7rem;
  line-height: 1.35;
}

body.world-literature-catalog-page #world-literature-list .world-literature-edition-summary {
  margin-top: 3px;
  color: #73839a;
  font-size: 0.72rem;
}

body.world-literature-catalog-page #world-literature-list .world-literature-flags {
  height: 22px;
  margin-top: 7px;
  overflow: hidden;
}
@media (min-width: 721px) {
  body.world-literature-catalog-page .site-header {
    padding-left: 34px;
  }
}

@media (max-width: 1100px) and (min-width: 721px) {

  body.world-literature-catalog-page #world-literature .catalog-content > .world-literature-head {
    background-image: url("/assets/world-literature-hero-system-20260920-tablet.webp");
  }
}

@media (max-width: 720px) {
  .seo-route-page.catalog-route-layout :is(.section-head, .awards-intro) {
    box-sizing: border-box;
    min-height: 70px;
    height: 70px;
    overflow: hidden;
  }

  body.seo-route-page.catalog-route-layout.world-literature-catalog-page main {
    width: calc(100% - 28px);
    margin-right: auto;
    margin-left: auto;
  }

  body.world-literature-catalog-page #world-literature {
    padding-top: 18px;
  }

  body.world-literature-catalog-page #world-literature > .world-literature-head {
    min-height: 70px;
    margin: 0;
    padding: 8px 10px 0;
    overflow: hidden;
    background-color: #eef7ff;
    background-image: url("/assets/world-literature-hero-system-20260920-mobile.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 0;
  }

  body.world-literature-catalog-page #world-literature > .world-literature-head .eyebrow,
  body.world-literature-catalog-page #world-literature > .world-literature-head .section-description {
    display: none;
  }

  body.world-literature-catalog-page #world-literature > .world-literature-head h1 {
    font-size: 1.35rem;
  }

  body.world-literature-catalog-page #world-literature > .catalog-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    margin-top: 20px;
  }

  body.world-literature-catalog-page #world-literature > .catalog-layout > .catalog-sidebar {
    position: static;
    top: auto;
    width: 100%;
    min-height: 0;
    max-height: none;
    padding: 12px;
    overflow: visible;
    background: rgba(248, 251, 255, 0.94);
    border: 1px solid #dbe7f5;
    border-radius: 12px;
  }

  body.world-literature-catalog-page #world-literature .catalog-content {
    padding: 0;
  }

  body.world-literature-catalog-page #world-literature .world-literature-view-tabs {
    flex-direction: row;
    flex-wrap: wrap;
  }

  body.world-literature-catalog-page #world-literature .world-literature-view-tabs > button {
    flex: 1 1 auto;
    width: auto;
  }


}

/* Canonical responsive hero asset slot shared by every generated list PageShell. */
body.seo-route-page :is(.domestic-section,.foreign-section,.awards-section,.world-literature-section)::before {
  display: none;
}
body.seo-route-page .catalog-hero {
  box-sizing: border-box;
  min-height: 200px;
  padding: 24px 24px 0;
  overflow: hidden;
  background-color: #eef7ff;
  background-image: var(--catalog-hero-desktop) !important;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border: 0;
  border-radius: 0;
}
@media (min-width: 721px) {
  body.domestic-catalog-page #domestic.is-reference-segment > .catalog-layout {
    grid-template-columns: 192px minmax(0, 1fr) !important;
  }
}

body.seo-route-page #domestic.is-reference-segment .catalog-hero {
  background-image: var(--catalog-hero-alt-desktop) !important;
}
.home-page .hero::before {
  background-image: var(--catalog-hero-desktop) !important;
}
@media (max-width: 1100px) and (min-width: 721px) {
  body.seo-route-page .catalog-hero { background-image: var(--catalog-hero-tablet) !important; }
  body.seo-route-page #domestic.is-reference-segment .catalog-hero { background-image: var(--catalog-hero-alt-tablet) !important; }
  .home-page .hero::before { background-image: var(--catalog-hero-tablet) !important; }
}
@media (max-width: 720px) {
  body.seo-route-page .catalog-hero {
    min-height: 70px !important;
    height: 70px !important;
    padding: 8px 10px 0;
    background-image: var(--catalog-hero-mobile) !important;
  }
  body.seo-route-page #domestic.is-reference-segment .catalog-hero { background-image: var(--catalog-hero-alt-mobile) !important; }
  body.seo-route-page #domestic.is-reference-segment #reference-filter-shell { min-height: 704px; }
  .home-page .hero::before { background-image: var(--catalog-hero-mobile) !important; }
}
/* Mobile order is CSS-owned so the server DOM is also the final DOM. */
@media (max-width: 720px) {
  body.seo-route-page.catalog-route-layout :is(#domestic,#foreign,#awards,#world-literature) > .catalog-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }
  body.seo-route-page.catalog-route-layout :is(#domestic,#foreign,#awards,#world-literature) > .catalog-layout > .catalog-content {
    display: contents;
  }
  body.seo-route-page.catalog-route-layout :is(#domestic,#foreign,#awards,#world-literature) .catalog-hero { order: 1; }
  body.seo-route-page.catalog-route-layout :is(#domestic,#foreign,#awards,#world-literature) > .catalog-layout > .catalog-sidebar { order: 2; }
  body.seo-route-page.catalog-route-layout :is(#domestic,#foreign,#awards,#world-literature) .catalog-content > :not(.catalog-hero) { order: 3; }
}
/* Final shared PageShell geometry: measured Daesan cover and one gutter system. */
:root {
  --catalog-cover-max-width: 201px;
  --catalog-content-inline-gutter: 40px;
  --catalog-grid-column-gap: 32px;
  --catalog-grid-row-gap: 16px;
  --catalog-card-inline-padding: 2px;
}
@media (min-width: 721px) {
  .site-header {
    padding-left: 34px;
  }
  body.seo-route-page.catalog-route-layout :is(#domestic,#foreign,#awards,#world-literature) > .catalog-layout {
    grid-template-columns: 192px minmax(0, 1fr) !important;
  }
  body.seo-route-page.catalog-route-layout :is(#domestic,#foreign,#awards,#world-literature) > .catalog-layout > .catalog-content {
    padding-right: var(--catalog-content-inline-gutter);
    padding-left: var(--catalog-content-inline-gutter);
  }
  body.seo-route-page.catalog-route-layout :is(#domestic-list,#foreign-list,#award-book-list,#world-literature-list) {
    column-gap: var(--catalog-grid-column-gap);
    row-gap: var(--catalog-grid-row-gap);
  }
  body.seo-route-page.catalog-route-layout :is(#domestic-list,#foreign-list,#award-book-list,#world-literature-list) > .catalog-book-card {
    padding-right: var(--catalog-card-inline-padding);
    padding-left: var(--catalog-card-inline-padding);
  }
  body.seo-route-page.catalog-route-layout :is(#domestic,#foreign,#awards,#world-literature) > .catalog-layout > .catalog-sidebar {
    box-sizing: border-box;
    top: 77px;
    width: 192px;
    min-height: calc(100vh - 77px);
    max-height: calc(100vh - 77px);
    overflow-x: hidden;
    overflow-y: auto;
  }
}
/* Proportional compact spacing for the verified 192px shared sidebar. */
@media (min-width: 721px) {
  body.seo-route-page.catalog-route-layout :is(#domestic,#foreign,#awards,#world-literature) > .catalog-layout > .catalog-sidebar {
    padding: 16px 10px;
  }
  body.seo-route-page .catalog-sidebar-title {
    padding-right: 6px;
    padding-left: 6px;
  }
  body.seo-route-page .catalog-sidebar :is(.domestic-category-tabs,.foreign-category-tabs,.award-category-tabs.shared-underline-tabs) > :is(a, span) {
    grid-template-columns: 17px minmax(0, 1fr);
    gap: 8px;
    min-height: 34px;
    padding: 6px 7px 6px 10px;
  }
  body.seo-route-page .catalog-sidebar :is(.domestic-category-tabs,.foreign-category-tabs,.award-category-tabs.shared-underline-tabs) > :is(a, span)::before {
    width: 17px;
    height: 17px;
  }
  body.seo-route-page .catalog-sidebar .domestic-child-navigation {
    margin-left: 12px;
    padding-left: 9px;
  }
}

/* Phase 2 final: shared 192px rail and responsive hero slot. */
:root { --ranking-shared-hero-height: 240px; }
body.seo-route-page .catalog-hero,
.home-page .shared-hero {
  box-sizing: border-box;
  height: var(--ranking-shared-hero-height) !important;
  min-height: var(--ranking-shared-hero-height) !important;
  max-height: var(--ranking-shared-hero-height) !important;
}
body.seo-route-page .catalog-hero {
  margin-bottom: 24px !important;
  padding: 24px 24px 0 !important;
  background-position: center !important;
  background-size: cover !important;
}
.home-page .shared-hero::before {
  height: 100% !important;
  background-position: center !important;
  background-size: cover !important;
}
@media (min-width: 721px) {
  body.seo-route-page.catalog-route-layout :is(#domestic,#foreign,#awards,#world-literature) > .catalog-layout {
    grid-template-columns: 192px minmax(0, 1fr) !important;
  }
  body.seo-route-page.catalog-route-layout :is(#domestic,#foreign,#awards,#world-literature) > .catalog-layout > .catalog-sidebar {
    width: 192px !important;
    padding: 16px 10px !important;
  }
  body.seo-route-page .catalog-sidebar :is(.domestic-category-tabs,.foreign-category-tabs,.award-category-tabs.shared-underline-tabs,.world-literature-view-tabs.shared-underline-tabs) > :is(a,button,span) {
    box-sizing: border-box;
    min-height: 34px;
    padding: 6px 7px 6px 10px;
  }
}
@media (max-width: 1100px) and (min-width: 721px) {
:root { --ranking-shared-hero-height: 220px; }
}
@media (max-width: 720px) {
:root { --ranking-shared-hero-height: 220px; }
body.seo-route-page .catalog-hero { padding: 14px 16px 0 !important; }
}

/* PUBLIC LIVE final: full-bleed shared hero without changing list gutters. */
@media (min-width: 721px) {
  body.seo-route-page.catalog-route-layout
    :is(#domestic,#foreign,#awards,#world-literature)
    > .catalog-layout
    > .catalog-content
    > .catalog-hero {
    width: calc(100% + 80px) !important;
    margin: 0 -40px 24px !important;
  }
}
@media (max-width: 720px) {
  body.seo-route-page.catalog-route-layout
    :is(#domestic,#foreign,#awards,#world-literature)
    .catalog-hero {
    width: 100vw !important;
    margin: 0 calc(50% - 50vw) 24px !important;
  }
}
/* PUBLIC LIVE final mobile shell: the responsive Hero directly follows the Topbar. */
@media (max-width: 720px) {
  body.seo-route-page.catalog-route-layout :is(#domestic,#foreign,#awards,#world-literature) {
    padding-top: 0 !important;
  }
  body.seo-route-page.catalog-route-layout :is(#domestic,#foreign,#awards,#world-literature) > .catalog-layout {
    margin-top: 0 !important;
  }
}
/* PUBLIC LIVE compact footer shared by Home and generated routes. */
.site-footer {
  display: block;
  box-sizing: border-box;
  width: 100%;
  margin: 12px 0 0;
  padding: 12px 32px 14px;
  color: #6f8198;
  background: rgba(248, 251, 255, .92);
  border-top: 1px solid #dce7f3;
  font-size: 11px;
  font-weight: 550;
}
.site-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: min(1376px, 100%);
  margin: 0 auto;
}
.site-footer-copy { display: grid; gap: 3px; }
.site-footer-copy strong { color: #314a68; font-size: 12px; font-weight: 700; }
.site-footer-copy small { font-size: 10px; }
.site-footer-right { display: grid; justify-items: end; gap: 5px; }
.site-footer-legal,
.site-footer-social { display: flex; align-items: center; gap: 8px; }
.site-footer-legal i { color: #bdcad8; font-style: normal; }
.site-footer a { color: #516b89; text-decoration: none; }
.site-footer a:hover,
.site-footer a:focus-visible { color: #1769e8; text-decoration: underline; }
.site-footer-social a { color: #1769e8; font-weight: 700; }
@media (max-width: 720px) {
  .site-footer { padding: 14px 16px 18px; }
  .site-footer-inner { align-items: flex-start; flex-direction: column; gap: 10px; }
  .site-footer-right { justify-items: start; }
  .site-footer-legal { flex-wrap: wrap; gap: 6px; }
}

/* PUBLIC LIVE final shared list Hero: compact box and exact cover-axis alignment. */
:root { --ranking-list-hero-height: 180px; }
body.seo-route-page .catalog-hero {
  height: var(--ranking-list-hero-height) !important;
  min-height: var(--ranking-list-hero-height) !important;
  max-height: var(--ranking-list-hero-height) !important;
  margin-bottom: 12px !important;
  padding: 18px 42px 0 !important;
}
@media (min-width: 721px) {
  body.seo-route-page .catalog-selection-chips {
    position: relative;
    left: 2px;
  }
}
@media (max-width: 720px) {
  :root { --ranking-list-hero-height: 180px; }
  body.seo-route-page .catalog-hero { padding: 14px 21px 0 !important; }
  body.seo-route-page .catalog-selection-chips {
    position: relative;
    left: 7px;
    max-width: calc(100% - 7px);
  }
}
/* General Book DetailShell — Stage 1 */
.book-dialog.general-book-dialog {
  width: min(1100px, calc(100vw - 28px));
  height: min(872px, calc(100dvh - 28px));
  max-height: min(872px, calc(100dvh - 28px));
  color: var(--navy);
  background: #eef6ff;
}

.general-book-dialog #dialog-body {
  height: 100%;
  min-height: 0;
  max-height: 100%;
  overflow: hidden;
}

.general-book-dialog .detail-shell {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  gap: 12px;
  height: 100%;
  max-height: 100%;
  padding: 14px;
  overflow: hidden;
  background: #eef6ff;
}

.detail-shell-header,
.detail-shell-content-panel {
  min-width: 0;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid #dce8f8;
  border-radius: 12px;
}

.detail-shell-header {
  display: grid;
  grid-template-columns: 238px minmax(0, 1fr);
  gap: 28px;
  padding: 22px 24px;
}

.detail-shell-media {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
}

.general-book-dialog .detail-shell-media .cover {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 238px;
  height: 334px;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.general-book-dialog .detail-shell-media .cover img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.detail-shell-copy {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 334px;
  padding-top: 2px;
}

.detail-shell-copy h3 {
  max-width: calc(100% - 48px);
  margin: 0;
  color: #0b264d;
  font-size: clamp(1.8rem, 2.7vw, 2.55rem);
  font-weight: 900;
  line-height: 1.18;
  letter-spacing: -0.035em;
  overflow-wrap: anywhere;
}

.detail-shell-original-title {
  margin: 4px 0 0;
  color: #607493;
  font-size: 1rem;
  font-weight: 650;
}

.detail-shell-creators {
  margin: 14px 0 0;
  color: #15375f;
  font-size: 0.96rem;
  font-weight: 760;
}

.detail-shell-creators i {
  padding: 0 5px;
  color: #9baabd;
  font-style: normal;
}

.detail-shell-lead {
  display: -webkit-box;
  max-width: 860px;
  margin: 14px 0 0;
  overflow: hidden;
  color: #1e63c7;
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1.58;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.detail-shell-utilities {
  display: flex;
  gap: 5px;
  justify-content: center;
  width: 100%;
  margin-top: 8px;
}

.detail-shell-utility {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  min-height: 32px;
  padding: 0;
  color: #244d80;
  font: inherit;
  background: transparent;
  border: 0;
  border-radius: 7px;
  cursor: pointer;
}

.detail-shell-utility span {
  display: none;
}

.detail-shell-utility .detail-action-icon {
  width: 18px;
  height: 18px;
}

.detail-shell-utility:hover,
.detail-shell-utility.is-selected,
.detail-shell-utility[aria-pressed="true"] {
  color: #0f62d6;
  background: #edf5ff;
  border-color: #9dc4f4;
}

.detail-shell-utility.is-selected .detail-action-icon,
.detail-shell-utility[aria-pressed="true"] .detail-action-icon {
  fill: currentColor;
}

.detail-shell-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
}

.detail-shell-tags span {
  padding: 5px 11px;
  color: #2c5f99;
  font-size: 0.75rem;
  font-weight: 750;
  background: #f1f6fd;
  border-radius: 999px;
}

.detail-shell-metadata {
  display: grid;
  grid-template-columns: 0.9fr 1.6fr 1fr 0.9fr;
  gap: 0;
  width: 100%;
  margin: auto 0 0;
  overflow: hidden;
  box-sizing: border-box;
  background: #f8fbff;
  border: 1px solid #d7e5f7;
  border-radius: 7px;
}

.detail-shell-metadata div {
  min-width: 0;
  padding: 10px 11px;
  border-right: 1px solid #d7e5f7;
}

.detail-shell-metadata div:last-child {
  border-right: 0;
}

.detail-shell-metadata dt,
.detail-shell-metadata dd {
  margin: 0;
}

.detail-shell-metadata dt {
  display: flex;
  gap: 5px;
  align-items: center;
  color: #70829b;
  font-size: 0.69rem;
  font-weight: 700;
}

.detail-shell-metadata dt .detail-action-icon {
  width: 15px;
  height: 15px;
  color: #1769e8;
}

.detail-shell-metadata div:nth-child(2) dt .detail-action-icon {
  color: #e6a400;
}

.detail-shell-metadata dd {
  margin-top: 3px;
  overflow: hidden;
  color: #122f55;
  font-size: 0.82rem;
  font-weight: 830;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.detail-shell-purchase-row {
  position: relative;
  align-self: stretch;
  width: 100%;
  margin-top: 10px;
  box-sizing: border-box;
}

.detail-shell-purchase-row .detail-actions,
.detail-shell-purchase-row .detail-purchase-block {
  width: 100%;
  margin: 0;
}

.detail-shell-purchase-row .detail-purchase-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
  gap: 7px;
  width: 100%;
}

.general-book-dialog .detail-nav-control.is-next {
  right: 8px;
  left: auto;
}

.general-book-dialog .detail-nav-control {
  top: var(--detail-nav-axis-y, 50%);
}

.general-book-dialog .detail-nav-control::before {
  border-top-width: 18px;
  border-bottom-width: 18px;
}

.general-book-dialog .detail-nav-control.is-previous::before {
  border-right-width: 16px;
}

.general-book-dialog .detail-nav-control.is-next::before {
  border-left-width: 16px;
}

.detail-shell-purchase-row .detail-actions .detail-link {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  height: 44px;
  margin: 0;
  padding: 0 10px;
  border-radius: 7px;
  font-size: 0.78rem;
  white-space: nowrap;
}

.detail-shell-purchase-row .affiliate-disclosure {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0 6px;
  align-items: center;
  width: 100%;
  min-height: 32px;
  margin: 0;
  color: #7b8799;
  font-size: 0.66rem;
}

.detail-shell-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #cbdcf3;
  border-radius: 0;
}

.detail-shell-tabs button {
  min-width: 0;
  min-height: 42px;
  color: #3c587b;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 780;
  background: #fff;
  border: 0;
  border-left: 1px solid #dce7f5;
  cursor: pointer;
}

.detail-shell-tabs button:first-child {
  border-left: 0;
}

.detail-shell-tabs button[aria-selected="true"] {
  color: #fff;
  background: linear-gradient(135deg, #1674ed, #3aa5ff);
}

.detail-shell-body {
  min-height: 0;
  height: 100%;
  padding: 18px 24px;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: transparent;
  border: 0;
  border-radius: 0;
  scrollbar-width: thin;
}

.detail-shell-content-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  overflow: hidden;
}
.detail-shell-panel[hidden] {
  display: none;
}

.detail-shell-panel h4 {
  margin: 0;
  color: #102f58;
  font-size: 1rem;
  font-weight: 880;
}

.detail-shell-panel > strong {
  display: block;
  margin-top: 10px;
  color: #17395f;
  font-size: 0.95rem;
}

.detail-shell-panel > small {
  display: block;
  margin-top: 3px;
  color: #718197;
  font-size: 0.76rem;
}

.detail-shell-panel p {
  margin: 9px 0 0;
  color: #435873;
  font-size: 0.88rem;
  line-height: 1.7;
}

.detail-shell-toc p {
  padding-right: 8px;
}

.detail-shell-recommendation-rail {
  min-width: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.detail-recommendation-heading h4 {
  margin: 0;
  color: #102f58;
  font-size: 0.94rem;
  font-weight: 880;
}

.detail-recommendation-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
  margin-top: 10px;
}

.detail-recommendation-card {
  min-width: 0;
  padding: 0;
  color: inherit;
  text-align: left;
  cursor: pointer;
  background: transparent;
  border: 0;
}

.detail-recommendation-cover {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(96px, 100%);
  height: 108px;
  margin-inline: auto;
  overflow: hidden;
  background: transparent;
  border: 0;
  border-radius: 3px;
  box-shadow: none;
}

.detail-recommendation-cover img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.detail-recommendation-card strong,
.detail-recommendation-card small {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}

.detail-recommendation-card strong {
  margin-top: 5px;
  color: #13345d;
  font-size: 0.74rem;
  font-weight: 820;
  line-height: 1.35;
  -webkit-line-clamp: 2;
}

.detail-recommendation-card small {
  margin-top: 2px;
  color: #75859a;
  font-size: 0.66rem;
  line-height: 1.3;
  -webkit-line-clamp: 1;
}

.detail-recommendation-empty {
  margin: 16px 0 2px;
  color: #8491a3;
  font-size: 0.8rem;
}

.general-book-dialog .dialog-x {
  top: 36px;
  right: 38px;
  width: 34px;
  height: 34px;
  border-radius: 7px;
}
.detail-shell-award-name {
  display: flex;
  gap: 6px;
  align-items: center;
  margin: 8px 0 0;
  color: #1769e8;
  font-size: 0.82rem;
  font-weight: 800;
}

.detail-shell-award-name .detail-action-icon {
  width: 16px;
  height: 16px;
}

.award-detail-metadata dt {
  justify-content: flex-start;
  text-align: left;
}

.award-detail-metadata dd {
  width: 100%;
  font-size: 0.88rem;
  font-weight: 850;
  text-align: center;
}

.award-detail-facts {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.award-detail-facts li {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 9px 11px;
  color: #526985;
  font-size: 0.82rem;
  background: #f7faff;
  border: 1px solid #dfebf8;
  border-radius: 7px;
}

.award-detail-facts strong {
  color: #15375f;
}

.award-detail-related .detail-recommendation-rail + .detail-recommendation-rail {
  margin-top: 14px;
}



@media (max-width: 900px) {
  .detail-shell-header {
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 20px;
    padding: 20px;
  }

  .general-book-dialog .detail-shell-media .cover {
    width: 200px;
    height: 280px;
  }

  .detail-shell-copy h3 {
    max-width: 100%;
    padding-right: 0;
    font-size: 1.7rem;
  }

  .detail-shell-copy {
    height: 280px;
  }

  .detail-shell-utilities {
    justify-content: center;
    margin: 8px 0 0;
  }

  .detail-shell-metadata {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .detail-shell-metadata div:nth-child(3) {
    border-right: 0;
  }

  .detail-shell-metadata div:nth-child(n + 4) {
    border-top: 1px solid #d7e5f7;
  }

}

@media (max-width: 600px) {
  .book-dialog.general-book-dialog {
    width: calc(100vw - 8px);
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
    border-radius: 10px;
  }

  .general-book-dialog .detail-shell {
    grid-template-rows: auto minmax(0, 1fr);
    height: calc(100dvh - 8px);
    gap: 8px;
    max-height: calc(100dvh - 8px);
    padding: 8px;
    overflow: hidden;
  }

  .detail-shell-header {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 14px;
  }

  .general-book-dialog .detail-shell-media .cover {
    width: 148px;
    height: 208px;
  }

  .detail-shell-copy h3 {
    margin-right: 34px;
    font-size: 1.45rem;
  }

  .detail-shell-copy {
    height: auto;
  }

  .detail-shell-utilities {
    justify-content: center;
    margin: 8px 0 0;
  }

  .detail-shell-utility {
    width: 32px;
    height: 32px;
    min-height: 32px;
    padding: 0;
  }

  .general-book-dialog .detail-nav-control.is-next {
    right: 1px;
    left: auto;
  }

  .general-book-dialog .detail-nav-control::before {
    border-top-width: 13px;
    border-bottom-width: 13px;
  }

  .general-book-dialog .detail-nav-control.is-previous::before {
    border-right-width: 11px;
  }

  .general-book-dialog .detail-nav-control.is-next::before {
    border-left-width: 11px;
  }

  .detail-shell-creators {
    margin-top: 9px;
    font-size: 0.84rem;
  }

  .detail-shell-lead {
    margin-top: 9px;
    font-size: 0.8rem;
  }

  .detail-shell-tags {
    margin-top: 10px;
  }

  .detail-shell-tags span {
    padding: 4px 8px;
    font-size: 0.68rem;
  }

  .detail-shell-metadata {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 11px;
  }

  .detail-shell-metadata div:nth-child(3) {
    border-right: 1px solid #d7e5f7;
  }

  .detail-shell-metadata div:nth-child(2n) {
    border-right: 0;
  }

  .detail-shell-metadata div:nth-child(n + 3) {
    border-top: 1px solid #d7e5f7;
  }

  .detail-shell-purchase-row .detail-purchase-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .detail-shell-purchase-row .detail-actions .detail-link {
    min-width: 0;
    padding: 0 7px;
    font-size: 0.7rem;
  }

  .detail-shell-purchase-row .affiliate-disclosure {
    position: static;
    display: block;
    min-height: 0;
    margin: 6px 0 0;
  }

  .detail-shell-tabs {
    grid-template-columns: repeat(4, minmax(78px, 1fr));
    overflow-x: auto;
    scrollbar-width: none;
  }

  .detail-shell-tabs button {
    min-height: 40px;
    font-size: 0.72rem;
  }

  .detail-shell-body {
    max-height: none;
    padding: 15px;
  }

  .detail-shell-panel p {
    font-size: 0.82rem;
  }

  .detail-shell-related,
  .detail-recommendation-heading,
  .detail-recommendation-list {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .detail-recommendation-list {
    display: flex;
    padding-bottom: 5px;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .detail-recommendation-card {
    flex: 0 0 78px;
  }

  .general-book-dialog .dialog-x {
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
  }
}

/* DetailShell content extensions for verified Textbook and World Literature variants. */
.variant-detail-facts {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.variant-detail-facts li {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 9px 11px;
  color: #526985;
  font-size: 0.82rem;
  background: #f7faff;
  border: 1px solid #dfebf8;
  border-radius: 7px;
}

.variant-detail-facts strong {
  color: #15375f;
}

.textbook-detail-related .detail-recommendation-rail + .detail-recommendation-rail {
  margin-top: 14px;
}

.world-literature-detail-tabs {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.world-literature-comparison-list {
  margin-top: 12px;
}

.world-literature-detail-body .world-literature-edition-list {
  padding-right: 4px;
}

/* World Literature keeps the shared fixed dialog geometry, but the dialog itself
   owns vertical scrolling because edition comparisons can be substantially long. */
.book-dialog.general-book-dialog.world-literature-detail-dialog {
  overflow-x: hidden;
  overflow-y: auto;
}

.world-literature-detail-dialog #dialog-body {
  height: auto;
  min-height: 100%;
  max-height: none;
  overflow: visible;
}

.world-literature-detail-dialog .detail-shell {
  grid-template-rows: auto auto;
  height: auto;
  min-height: 100%;
  max-height: none;
  overflow: visible;
}

.world-literature-detail-dialog .detail-shell-content-panel {
  grid-template-rows: auto auto;
  overflow: visible;
}

.world-literature-detail-dialog .detail-shell-body {
  height: auto;
  overflow: visible;
}

.general-book-dialog.world-literature-detail-dialog .detail-shell-media .cover {
  width: 162px;
  height: 227px;
}

.general-book-dialog.world-literature-detail-dialog .detail-shell-copy {
  height: 227px;
}

@media (max-width: 900px) {
  .general-book-dialog.world-literature-detail-dialog .detail-shell-media .cover {
    width: 136px;
    height: 190px;
  }

  .general-book-dialog.world-literature-detail-dialog .detail-shell-copy {
    height: 190px;
  }
}

@media (max-width: 600px) {
  .world-literature-detail-tabs {
    grid-template-columns: repeat(5, minmax(78px, 1fr));
  }

  .general-book-dialog.world-literature-detail-dialog .detail-shell-media .cover {
    width: 101px;
    height: 141px;
  }

  .general-book-dialog.world-literature-detail-dialog .detail-shell-copy {
    height: auto;
  }
}
