:root {
  --book-forest:#173129;
  --book-gold:#92703d;
  --book-cream:#f6f0e6;
  --book-paper:#fffefa;
  --book-line:#e5dfd4}
body {
  background:var(--book-paper);
  color:var(--book-forest)}
.book-container {
  max-width:1320px;
  margin-inline:auto;
  padding-inline:40px}
.book-eyebrow {
  font-family:'DM Sans',sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.14em;
  color:var(--book-gold);
  margin-bottom:14px}
.book-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  background:var(--book-forest);
  color:#fff;
  padding:15px 23px;
  border:1px solid var(--book-forest);
  border-radius:3px;
  font-size:14px;
  font-weight:500;
  transition:background .2s,transform .2s}
.book-button:hover {
  background:#294c3f;
  transform:translateY(-2px)}
.book-button-outline {
  background:transparent;
  color:var(--book-forest);
  border-color:#a6aa99}
.book-button-outline:hover {
  background:#e9e3d6}
.skip-link {
  position:fixed;
  top:-100px;
  left:16px;
  z-index:100;
  background:#173129;
  color:#fff;
  padding:12px}
.skip-link:focus {
  top:12px}
.book-topbar {
  background:var(--book-forest);
  color:#f3eee1;
  font-size:12px;
  letter-spacing:.025em}
.book-topbar>.book-container {
  height:35px;
  display:flex;
  justify-content:space-between;
  align-items:center}
.book-topbar a {
  color:#f3eee1}
.book-header {
  position:relative;
  z-index:50;
  background:#fcf8f0}
.book-header-main {
  display:flex;
  align-items:center;
  gap:32px;
  min-height:98px}
.book-brand {
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0}
.book-brand svg {
  width:47px;
  height:44px}
.book-brand strong {
  font-family:Georgia,serif;
  font-size:30px;
  font-weight:500;
  letter-spacing:-1px;
  line-height:1.15}
.brand-light {
  font-weight:400}
.book-brand small {
  display:block;
  font-family:'DM Sans',sans-serif;
  font-size:9px;
  letter-spacing:.19em;
  margin-top:6px}
.book-nav {
  display:flex;
  justify-content:center;
  gap:30px;
  flex:1}
.book-nav a {
  font-size:14px;
  white-space:nowrap;
  padding:9px 0;
  border-bottom:1px solid transparent}
.book-nav a:hover,.book-nav a.active {
  border-color:var(--book-forest)}
.book-header-actions {
  display:flex;
  align-items:center;
  gap:13px}
.book-header-actions>a,.book-header-actions>button {
  display:flex;
  align-items:center;
  justify-content:center;
  width:35px;
  height:42px}
.book-header-actions svg {
  width:23px;
  height:23px}
.book-header-actions .book-menu-toggle {
  display:none}
.book-cart {
  position:relative}
#cart-count {
  position:absolute;
  right:-4px;
  top:0;
  background:var(--book-forest);
  color:white;
  font-size:10px;
  min-width:17px;
  height:17px;
  border-radius:50%;
  align-items:center;
  justify-content:center}
.book-search-panel {
  border-block:1px solid var(--book-line);
  background:var(--book-paper);
  padding:20px 0}
.book-search-panel form {
  display:flex;
  gap:12px;
  flex-wrap:wrap}
.book-search-panel input {
  min-width:0;
  flex:1;
  background:transparent;
  border-bottom:1px solid #b5b8ad;
  padding:10px;
  font-size:16px}
.book-suggestions {
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  font-size:14px}
.book-suggestions a {
  padding:8px;
  background:var(--book-cream)}
.book-mobile-nav {
  padding:16px 24px;
  max-height:70vh;
  overflow:auto;
  border-top:1px solid var(--book-line)}
.book-mobile-nav a {
  display:block;
  padding:12px 0;
  border-bottom:1px solid var(--book-line);
  font-size:14px}
.book-hero {
  background:radial-gradient(ellipse at 77% 38%,#e7e3d4 0,transparent 43%),linear-gradient(100deg,#fcf8f0,#f5eee2);
  overflow:hidden}
.book-hero-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:510px;
  align-items:center;
  gap:20px}
.book-hero-copy {
  padding:43px 0 35px;
  position:relative;
  z-index:2}
.book-hero h1 {
  font-family:'Noto Serif KR',serif;
  font-size:clamp(36px,4vw,54px);
  font-weight:400;
  line-height:1.43;
  letter-spacing:-.065em;
  color:#202a24}
.book-hero h1 em {
  font-style:normal;
  color:#244e3b}
.book-hero-description {
  font-size:15px;
  line-height:1.95;
  color:#565b51;
  margin-top:22px}
.mobile-break {
  display:none}
.book-hero-buttons {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px}
.book-hero-notes {
  display:flex;
  gap:18px;
  margin-top:36px;
  font-size:12px;
  color:#626759}
.book-hero-notes span+span {
  border-left:1px solid #c9c7b6;
  padding-left:18px}
.book-hero-art {
  height:510px;
  position:relative;
  isolation:isolate}
.book-hero-ring {
  position:absolute;
  width:410px;
  height:410px;
  border:1px solid #a29f8045;
  border-radius:50%;
  top:28px;
  left:60px;
  z-index:-1}
.book-hero-ring:after {
  content:'';
  position:absolute;
  inset:15px;
  border:1px solid #a29f8025;
  border-radius:50%}
.book-hero-seal {
  position:absolute;
  z-index:5;
  right:7px;
  top:21px;
  width:100px;
  height:100px;
  background:var(--book-forest);
  border-radius:50%;
  text-align:center;
  padding-top:18px;
  color:#f2e8cc;
  font-size:10px;
  letter-spacing:.08em;
  line-height:1.45;
  transform:rotate(10deg);
  box-shadow:0 0 0 5px #f0e9db}
.book-hero-seal i {
  font-family:Georgia,serif;
  font-size:26px;
  line-height:1.1;
  letter-spacing:0}
.book-hero-covers {
  position:absolute;
  inset:0 0 64px;
  z-index:2}
.hero-cover {
  position:absolute;
  display:block;
  bottom:40px;
  width:34%;
  height:285px;
  transition:transform .4s;
  filter:drop-shadow(12px 15px 9px #25302530)}
.hero-cover img {
  height:100%;
  width:100%;
  object-fit:contain;
  object-position:bottom;
  filter:contrast(.98)}
.hero-cover-1 {
  left:4%;
  transform:rotate(-12deg);
  z-index:1}
.hero-cover-2 {
  left:31%;
  height:330px;
  bottom:48px;
  transform:rotate(-3deg);
  z-index:3}
.hero-cover-3 {
  right:0;
  transform:rotate(12deg);
  z-index:2}
.hero-cover:hover {
  transform:translateY(-12px) rotate(0deg);
  z-index:4}
.book-pedestal {
  position:absolute;
  left:0;
  right:-70px;
  bottom:60px;
  height:62px;
  background:linear-gradient(#e4dbca,#c8bba5);
  border-radius:50% 50% 4px 4px/24% 24% 4px 4px;
  box-shadow:0 25px 25px -20px #403d2940}
.book-art-caption {
  position:absolute;
  bottom:23px;
  left:0;
  right:0;
  text-align:center;
  font-family:'DM Sans',sans-serif;
  letter-spacing:.18em;
  font-size:10px;
  color:#797867}
.book-art-caption span {
  display:block;
  font-size:11px;
  letter-spacing:.04em;
  margin-top:4px}
.book-hero-empty {
  padding:60px;
  font-family:Georgia,serif;
  font-size:60px;
  line-height:1.1}
.book-categories {
  padding-top:27px;
  padding-bottom:28px;
  border-bottom:1px solid var(--book-line)}
.book-divider-title {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  font-size:13px;
  letter-spacing:.05em}
.book-divider-title:before,.book-divider-title:after {
  content:'';
  width:35px;
  height:1px;
  background:#b9a17c}
.book-category-grid {
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  margin-top:25px}
.book-category-grid>a {
  min-width:0;
  text-align:center;
  padding:0 12px;
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:7px;
  border-right:1px solid #eee9df}
.book-category-grid>a:last-child {
  border:0}
.book-category-grid svg {
  width:31px;
  height:31px;
  color:var(--book-gold);
  margin-bottom:5px;
  transition:transform .2s}
.book-category-grid a:hover svg {
  transform:translateY(-4px)}
.book-category-grid strong {
  font-family:'DM Sans','Pretendard Variable',sans-serif;
  font-size:12px;
  font-weight:500;
  line-height:1.4;
  overflow-wrap:anywhere}
.book-category-grid a>span:not(.circle-arrow) {
  font-size:11px;
  color:#747669}
.circle-arrow {
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border:1px solid #cbbc9f;
  border-radius:50%;
  margin-bottom:4px;
  color:var(--book-gold)}
.book-section {
  padding-top:42px;
  padding-bottom:42px}
.book-section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px}
.book-section-heading .book-eyebrow {
  font-size:10px;
  margin-bottom:7px}
.book-section-heading h2 {
  font-family:'Noto Serif KR',serif;
  font-size:25px;
  font-weight:500;
  letter-spacing:-.045em}
.book-section-heading>a {
  font-size:12px;
  color:var(--book-gold);
  white-space:nowrap}
.book-section-heading>a span {
  margin-left:10px}
.book-product-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px}
.book-card {
  position:relative;
  min-width:0;
  padding:9px;
  background:#fffefa;
  border:1px solid #ede8de;
  border-radius:4px;
  box-shadow:0 2px 5px #23302704;
  transition:border-color .2s,box-shadow .2s;
  display:flex;
  flex-direction:column}
.book-card:hover {
  border-color:#bdb59f;
  box-shadow:0 7px 18px #2330270c}
.book-card-image {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  aspect-ratio:3/4;
  background:#f4f0e8;
  overflow:hidden;
  padding:12px}
.book-card-image img {
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(3px 5px 3px #31332226);
  transition:transform .3s}
.book-card:hover .book-card-image img {
  transform:translateY(-3px)}
.book-card-badge {
  position:absolute;
  left:0;
  top:0;
  background:var(--book-gold);
  color:#fff;
  padding:3px 7px;
  border-radius:2px;
  font:10px 'DM Sans',sans-serif;
  letter-spacing:.035em}
.book-card-wish {
  position:absolute;
  right:13px;
  top:13px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:#fffefaeb;
  color:#6f7468;
  opacity:0;
  transition:opacity .2s}
.book-card-wish svg {
  width:15px;
  height:15px}
.book-card:hover .book-card-wish,.book-card:focus-within .book-card-wish,.book-card-wish.is-wished {
  opacity:1}
.book-card-wish.is-wished {
  color:#92703d}
.book-card-info {
  padding:12px 3px 2px;
  display:flex;
  flex-direction:column;
  flex:1}
.book-card-category {
  font-size:10px;
  color:#73766c;
  line-height:1.4;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-height:14px;
  margin-bottom:6px}
.book-card h3 {
  font-size:13px;
  font-weight:500;
  line-height:1.5;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-bottom:8px;
  min-height:39px}
.book-card-bottom {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:4px;
  margin-top:auto;
  padding-top:5px}
.book-card-bottom strong {
  font:600 14px 'DM Sans',sans-serif}
.book-card-bottom small {
  font-size:11px;
  margin-left:2px}
.book-card-bottom del {
  display:block;
  font-size:10px;
  color:#808276;
  margin-top:2px}
.book-card-bottom button {
  flex-shrink:0;
  display:flex;
  width:30px;
  height:30px;
  border:1px solid #d5cebf;
  align-items:center;
  justify-content:center;
  border-radius:3px}
.book-card-bottom button:hover {
  background:var(--book-forest);
  color:white}
.book-card-bottom svg {
  width:17px;
  height:17px}
.book-card-rating {
  font-size:11px;
  color:var(--book-gold);
  margin-bottom:7px}
.book-card-rating span {
  color:#727668}
.book-cover-placeholder {
  background:var(--book-forest);
  color:#ece1bf;
  width:100%;
  height:100%;
  padding:15px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  font-family:Georgia,'Noto Serif KR',serif}
.book-cover-placeholder span {
  font-size:9px;
  letter-spacing:.12em}
.book-cover-placeholder strong {
  font-weight:400;
  font-size:18px}
.book-values {
  background:var(--book-forest);
  color:#f3f0e5;
  border-radius:4px;
  padding:24px 24px 30px}
.book-values>.book-eyebrow {
  text-align:center;
  color:#d3c3a1;
  font-size:10px;
  margin-bottom:23px}
.book-values-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr))}
.book-values-grid>div,.book-values-grid>a {
  padding:0 20px;
  text-align:center;
  border-right:1px solid #ffffff20}
.book-values-grid>:last-child {
  border:0}
.book-values-grid span {
  font-family:'DM Sans',sans-serif;
  font-size:10px;
  letter-spacing:.12em;
  color:#c5af7d}
.book-values-grid h3 {
  font-size:15px;
  margin-top:9px;
  margin-bottom:5px;
  font-weight:500}
.book-values-grid p {
  font-size:12px;
  color:#c9d0c3}
.book-series-section {
  display:grid;
  grid-template-columns:1fr 1.7fr;
  gap:50px;
  padding-top:35px;
  padding-bottom:35px;
  margin-top:22px;
  background:linear-gradient(100deg,#f5eee3,#f9f5ec);
  background-clip:content-box}
.book-series-intro {
  padding:32px 0 32px 32px}
.book-series-intro h2 {
  font-family:'Noto Serif KR',serif;
  font-size:24px;
  line-height:1.6;
  letter-spacing:-.05em}
.book-series-intro a {
  display:inline-block;
  font-size:12px;
  color:var(--book-gold);
  margin-top:17px}
.book-series-links {
  padding:25px 30px 25px 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-content:center;
  gap:0 25px}
.book-series-links>a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid #dcd5c6;
  padding:15px 0;
  font-size:13px;
  min-width:0}
.book-series-links>a>span {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap}
.book-series-links small {
  font-size:11px;
  color:#81755b;
  white-space:nowrap}
.book-series-links small span {
  padding-left:10px}
.book-editorial-banners {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:20px;
  padding-block:20px}
.book-editorial-banners a {
  background:var(--book-cream);
  border:1px solid var(--book-line)}
.book-editorial-banners img {
  width:100%;
  max-height:260px;
  object-fit:contain}
.book-editorial-banners span {
  display:block;
  padding:15px;
  font-size:14px}
.book-footer {
  margin-top:25px}
.book-footer-main {
  background:var(--book-forest);
  color:#f5f1e7}
.book-footer-main .text-ink {
  color:#f4eee0}
.book-footer-main .text-ink-40 {
  color:#c6cfbf}
.book-footer-main .text-ink-20 {
  color:#aab8a5}
.book-footer-main .border-line {
  border-color:#ffffff20}
.book-footer-main .book-brand {
  color:#efe9d7}
.book-footer-main .book-brand strong {
  font-size:28px}
.book-footer-main a:hover {
  color:#d4b77a}
.book-footer .text-2xs {
  font-size:12px;
  letter-spacing:.025em}
.book-newsletter {
  background:#f5eee3}
.book-newsletter .book-eyebrow {
  margin-bottom:8px}
.book-newsletter h3 {
  font-family:'Noto Serif KR',serif;
  font-size:25px;
  letter-spacing:-.04em;
  font-weight:400}
.book-newsletter .text-ink-40 {
  color:#6f7465}
.book-newsletter form {
  min-width:360px}
.book-newsletter .py-16 {
  padding-top:38px;
  padding-bottom:38px}
main>div>div>h1,main>section>div>h1 {
  font-family:'Noto Serif KR',serif}
.book-card button:focus-visible,.book-header a:focus-visible,.book-button:focus-visible {
  outline:2px solid var(--book-gold);
  outline-offset:4px}
@media(min-width:1500px) {
  .book-hero-grid {
  min-height:550px}
.book-hero-art {
  height:550px}
.hero-cover {
  height:305px}
.hero-cover-2 {
  height:360px}
}

@media(max-width:1100px) {
  .book-container {
  padding-inline:28px}
.book-header-main {
  gap:20px}
.book-nav {
  gap:20px}
.book-brand strong {
  font-size:25px}
.book-brand svg {
  width:40px}
.book-hero-grid {
  min-height:480px}
.book-hero-art {
  height:480px}
.hero-cover {
  height:245px}
.hero-cover-2 {
  height:280px}
.book-hero-ring {
  width:340px;
  height:340px;
  left:25px;
  top:65px}
.book-hero-seal {
  right:0;
  top:30px;
  width:85px;
  height:85px;
  padding-top:13px;
  font-size:9px}
.book-hero-notes {
  gap:10px;
  font-size:11px}
.book-hero-notes span+span {
  padding-left:10px}
.book-product-grid {
  gap:12px}
.book-card-image {
  padding:8px}
.book-values-grid>div,.book-values-grid>a {
  padding:0 10px}
.book-values-grid p {
  font-size:11px}
.book-category-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  row-gap:24px}
.book-category-grid>a:nth-child(4n) {
  border:0}
}

@media(max-width:800px) {
  .book-nav {
  display:none}
.book-header-actions {
  margin-left:auto}
.book-header-actions .book-menu-toggle {
  display:flex}
.book-header-main {
  min-height:80px}
.topbar-center {
  display:none}
.book-hero-grid {
  grid-template-columns:1fr 1fr;
  gap:0}
.book-hero h1 {
  font-size:35px}
.book-hero .book-eyebrow {
  font-size:10px;
  letter-spacing:.06em}
.book-hero-description {
  font-size:14px}
.book-hero-buttons {
  gap:9px}
.book-hero-buttons .book-button {
  font-size:12px;
  padding:12px 15px;
  gap:10px}
.book-hero-notes {
  flex-wrap:wrap;
  margin-top:25px}
.book-hero-art {
  height:445px}
.hero-cover {
  height:200px;
  bottom:57px}
.hero-cover-2 {
  height:245px;
  bottom:60px}
.book-hero-ring {
  width:280px;
  height:280px;
  left:5px;
  top:83px}
.book-hero-seal {
  width:72px;
  height:72px;
  top:54px;
  font-size:8px;
  padding-top:10px}
.book-hero-seal i {
  font-size:23px}
.book-product-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px}
.book-values-grid {
  grid-template-columns:1fr 1fr;
  gap:24px 0}
.book-values-grid>:nth-child(2) {
  border:0}
.book-series-section {
  gap:25px;
  grid-template-columns:1fr 1.3fr}
.book-series-links {
  grid-template-columns:1fr}
.book-series-intro h2 {
  font-size:22px}
.book-newsletter form {
  min-width:0}
.book-card-wish {
  opacity:1}
}

@media(max-width:540px) {
  .book-container {
  padding-inline:20px}
.book-topbar {
  font-size:10px}
.book-topbar>.book-container {
  height:31px}
.book-topbar a {
  font-size:10px}
.book-header-main {
  gap:12px;
  min-height:76px}
.book-brand {
  gap:8px}
.book-brand svg {
  width:34px;
  height:35px}
.book-brand strong {
  font-size:24px}
.book-brand small {
  font-size:7px;
  letter-spacing:.11em}
.book-header-actions {
  gap:1px}
.book-header-actions>a,.book-header-actions>button {
  width:30px}
.book-header-actions svg {
  width:20px}
.book-hero-grid {
  grid-template-columns:1fr}
.book-hero-copy {
  padding-top:35px;
  padding-bottom:0}
.book-hero h1 {
  font-size:39px;
  line-height:1.4}
.book-hero-description {
  font-size:14px;
  margin-top:18px}
.book-hero-buttons {
  margin-top:22px}
.book-hero-buttons .book-button {
  font-size:13px;
  padding:13px 17px}
.book-hero-notes {
  margin-top:23px;
  font-size:10px}
.book-hero-art {
  height:325px;
  margin-top:6px}
.book-hero-ring {
  width:270px;
  height:270px;
  left:calc(50% - 135px);
  top:10px}
.book-hero-seal {
  top:8px;
  right:7px}
.book-hero-covers {
  bottom:40px;
  left:15px;
  right:15px}
.hero-cover {
  height:179px;
  bottom:37px}
.hero-cover-2 {
  height:220px;
  bottom:41px}
.book-pedestal {
  bottom:41px;
  height:43px;
  left:5px;
  right:-20px}
.book-art-caption {
  bottom:9px;
  font-size:8px}
.book-art-caption span {
  font-size:9px}
.book-categories {
  padding-top:24px;
  padding-bottom:25px}
.book-divider-title {
  font-size:12px}
.book-category-grid {
  margin-top:23px;
  row-gap:23px}
.book-category-grid>a {
  padding-inline:6px}
.book-category-grid strong {
  font-size:10px}
.book-category-grid a>span:not(.circle-arrow) {
  font-size:10px}
.book-category-grid svg {
  width:27px;
  height:27px}
.book-section {
  padding-top:30px;
  padding-bottom:30px}
.book-section-heading {
  margin-bottom:20px;
  gap:8px}
.book-section-heading h2 {
  font-size:22px}
.book-section-heading>a {
  font-size:11px}
.book-section-heading .book-eyebrow {
  font-size:9px}
.book-product-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px}
.book-card {
  padding:7px}
.book-card-info {
  padding:10px 2px 2px}
.book-card h3 {
  font-size:13px}
.book-card-category {
  font-size:10px}
.book-card-bottom strong {
  font-size:14px}
.book-values {
  padding:24px 10px}
.book-values-grid h3 {
  font-size:13px}
.book-values-grid p {
  font-size:10px;
  line-height:1.7}
.book-values-grid span {
  font-size:9px}
.book-series-section {
  grid-template-columns:1fr;
  gap:0;
  padding-block:12px}
.book-series-intro {
  padding:25px 25px 0}
.book-series-intro h2 {
  font-size:23px}
.book-series-intro h2 br {
  display:none}
.book-series-links {
  padding:12px 25px 25px;
  gap:0}
.book-newsletter h3 {
  font-size:23px}
.book-newsletter .py-16 {
  padding-block:30px}
.book-suggestions {
  grid-template-columns:1fr}
.book-footer {
  margin-top:10px}
.book-footer-main .py-14 {
  padding-block:36px}
}
@media(prefers-reduced-motion:reduce) {
  .hero-cover,.book-button,.book-card-image img {
  transition:none!important;
  transform:none!important}
}


/* Full-width category navigation and dropdowns. */
.book-mega-trigger { display: flex; align-items: center; gap: 3px; }
.book-mega-trigger button { display: flex; align-items: center; justify-content: center; width: 26px; height: 100%; min-height: 44px; }
.book-mega-trigger svg { width: 14px; height: 14px; transition: transform .2s; }
.book-mega-trigger button[aria-expanded="true"] svg { transform: rotate(180deg); }
.book-mega-panel { position: absolute; top: 100%; left: 0; right: 0; background: #fffefa; border-top: 1px solid var(--book-line); border-bottom: 1px solid #d7ceba; box-shadow: 0 18px 24px #17312915; }
.book-mega-content { display: grid; grid-template-columns: 300px 1fr; gap: 45px; padding-top: 36px; padding-bottom: 40px; min-height: 260px; }
.book-mega-intro { border-right: 1px solid var(--book-line); padding-right: 30px; }
.book-mega-intro h2 { font-family: Georgia, serif; font-size: 28px; font-weight: 400; line-height: 1.25; }
/* 'Magazines/Subscription' 같은 공백 없는 긴 이름 대비. 마크업의 <wbr> 가 '/' 뒤에서
   먼저 끊어주고, 그마저 안 되는 이름은 여기서 강제로 줄을 넘겨 칸 밖으로 나가지 않게 한다. */
.book-mega-intro h2, .book-nav>a, .book-mega-trigger>a, .book-mega-group-title>span:first-child { overflow-wrap: anywhere; }
.book-mega-group-title>span:last-child { flex-shrink: 0; }
.book-nav .book-mega-all { display: inline-flex; gap: 25px; margin-top: 24px; padding: 0; color: var(--book-gold); font-size: 13px; }
/* 2차를 소제목으로, 3차를 그 아래 목록으로 흘린다. 3차에 상품 대부분이 있어서
   2차만 보여주면 메뉴에서 실제 매대로 바로 못 간다. */
.book-mega-links { columns: 3; column-gap: 30px; }
.book-mega-group { break-inside: avoid; margin-bottom: 16px; }
.book-nav .book-mega-links a { display: block; white-space: normal; }
.book-nav .book-mega-group-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; border-bottom: 1px solid var(--book-line); font-size: 14px; }
.book-mega-group-title:hover, .book-mega-group-title:focus-visible { background: var(--book-cream); }
.book-mega-group-title>span:last-child { color: var(--book-gold); }
.book-nav .book-mega-sublinks a { padding: 5px 10px 5px 18px; font-size: 12.5px; color: var(--book-ink-soft, #5d6b63); }
.book-mega-sublinks a:hover, .book-mega-sublinks a:focus-visible { background: var(--book-cream); color: var(--book-forest); }
.book-mobile-sub { padding-left: 14px !important; font-size: 12px !important; opacity: .8; }
.book-mobile-category { border-bottom: 1px solid var(--book-line); }
.book-mobile-category summary { padding: 16px 0; cursor: pointer; font-size: 14px; font-weight: 500; }
.book-mobile-category>div { padding: 0 14px 12px; background: var(--book-cream); }
.book-mobile-category>div a { font-size: 13px; }
@media (min-width: 801px) {
  /* 로고와 우측 아이콘 사이 한 줄 가운데. 메뉴 항목은 헤더 높이를 꽉 채워
     트리거와 메가패널 사이에 마우스가 빠지는 틈이 생기지 않게 한다. */
  .book-nav { align-self: stretch; align-items: stretch; justify-content: center; gap: 25px; }
  .book-nav>a, .book-mega-trigger>a { display: flex; align-items: center; padding: 0; font-size: 13px; }
  .book-mega-item { display: flex; align-items: stretch; }
  .book-mobile-nav { display: none !important; }
}
@media (min-width: 801px) and (max-width: 1100px) {
  .book-nav { gap: 16px; }
  .book-nav>a, .book-mega-trigger>a { font-size: 12px; }
  .book-mega-content { grid-template-columns: 220px 1fr; gap: 25px; }
  .book-mega-links { columns: 2; }
}
@media (max-width: 800px) {
  .book-mega-panel { display: none !important; }
}

/* Complete series index below the hero. */
.book-home-series { padding-top: 30px; padding-bottom: 30px; }
.book-all-series-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; padding: 18px 30px 28px; margin-top: 24px; background: linear-gradient(110deg, #f5eee3, #f9f5ec); }
.book-all-series-grid>a { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 0; min-width: 0; border-bottom: 1px solid #dcd5c6; font-size: 14px; line-height: 1.6; }
.book-series-name { overflow-wrap: anywhere; }
.book-series-count { flex-shrink: 0; white-space: nowrap; font-size: 12px; color: #81755b; }
.book-series-count>span { margin-left: 14px; }
.book-all-series-grid>a:hover { color: var(--book-gold); border-bottom-color: var(--book-gold); }
@media (max-width: 800px) {
  .book-all-series-grid { gap: 0 18px; padding: 12px 20px 22px; }
  .book-all-series-grid>a { gap: 8px; font-size: 13px; }
  .book-series-count>span { margin-left: 5px; }
}
@media (max-width: 540px) {
  .book-all-series-grid { grid-template-columns: 1fr; }
}


/* 품절 띠와 할인 배지가 둘 다 좌상단이라 겹친다. 품절이면 배지를 오른쪽으로 보낸다. */
.book-card-image.is-soldout .book-card-badge { left: auto; right: 0; }

/* 사업 정체성 한 줄 — 수입·제작 도서 판매 및 El Croquis 수입총판. */
.book-hero-claim {
  margin-top: 16px;
  padding-left: 14px;
  border-left: 2px solid var(--book-gold);
  font-size: 14px;
  line-height: 1.7;
  color: var(--book-forest);
}
.book-hero-claim strong { font-family: Georgia, serif; font-weight: 600; letter-spacing: .01em; }
@media (max-width: 800px) { .book-hero-claim { font-size: 13px; margin-top: 14px; } }

/* 톱바 우측 보조 메뉴 — 레거시 상단 텍스트 메뉴 자리. */
.book-topbar-links { display: flex; align-items: center; gap: 14px; margin-left: auto; }
.book-topbar-links a { opacity: .82; white-space: nowrap; transition: opacity .2s; }
.book-topbar-links a:hover, .book-topbar-links a:focus-visible, .book-topbar-links a.active { opacity: 1; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1100px) { .book-topbar-links { gap: 10px; } }
@media (max-width: 800px) {
  /* 좁은 화면에서는 태그라인을 접고 보조 메뉴만 남긴다. */
  .topbar-tagline { display: none; }
  .book-topbar>.book-container { justify-content: flex-end; }
  .book-topbar-links { gap: 12px; }
}
@media (max-width: 460px) {
  /* 문의는 헤더 아이콘·모바일 메뉴로도 갈 수 있으니 가장 긴 항목부터 접는다. */
  .book-topbar-links a:last-child { display: none; }
}
