.ebooks-page { background: var(--white); }
.ebooks-page main { padding-top: 103px; }

.library-hero {
  padding: 74px 0 68px;
  color: var(--white);
  background: var(--navy);
}

.library-hero h1 {
  margin: 10px 0 12px;
  color: var(--white);
  font-family: "Montserrat", sans-serif;
  font-size: clamp(2.8rem, 6vw, 5.2rem);
  line-height: 1;
  letter-spacing: 0;
}

.library-hero p {
  max-width: 660px;
  margin: 0;
  color: #e1eaf4;
  font-size: 1.08rem;
}

.library-section { padding: 82px 0 96px; }
.library-heading { margin-bottom: 38px; }
.library-heading h2,
.book-section h2 {
  margin: 10px 0 0;
  color: var(--navy);
  font-family: "Montserrat", sans-serif;
  font-size: clamp(2rem, 3.5vw, 3.2rem);
  line-height: 1.12;
  letter-spacing: 0;
}

.book-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 360px));
  gap: 24px;
}

.book-card {
  overflow: hidden;
  border: 1px solid var(--gray-200);
  border-radius: 8px;
  background: var(--white);
  box-shadow: var(--shadow-sm);
}

.book-cover-link { display: block; background: var(--navy); }
.book-cover { width: 100%; aspect-ratio: 512 / 819; object-fit: cover; }
.book-card-content { padding: 24px; }
.book-category { color: var(--green); font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.book-card h3 { margin: 10px 0; color: var(--navy); font-size: 1.22rem; line-height: 1.3; letter-spacing: 0; }
.book-card p { margin: 0 0 20px; color: var(--text-muted); }
.book-detail-link { color: var(--green); font-weight: 800; text-decoration: none; }
.book-detail-link:hover, .book-detail-link:focus-visible { color: var(--navy); }

.book-hero { padding: 68px 0; color: var(--white); background: var(--navy); }
.book-hero-grid,
.content-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: 72px; align-items: center; }
.back-link { display: block; width: fit-content; margin-bottom: 22px; color: var(--gold-light); font-weight: 700; text-decoration: none; }
.book-copy h1 { max-width: 760px; margin: 14px 0 18px; color: var(--white); font-family: "Montserrat", sans-serif; font-size: clamp(2.35rem, 4.8vw, 4.5rem); line-height: 1.04; letter-spacing: 0; }
.book-subtitle { max-width: 670px; margin: 0 0 20px; color: var(--gold-light); font-size: clamp(1.2rem, 2vw, 1.6rem); font-weight: 700; line-height: 1.4; }
.book-intro { max-width: 690px; margin: 0; color: #e5edf6; font-size: 1.05rem; }
.contact-panel { display: flex; flex-direction: column; gap: 4px; max-width: 520px; margin-top: 30px; padding: 18px 20px; border-left: 4px solid var(--gold); border-radius: 0 8px 8px 0; background: rgba(255,255,255,.08); }
.contact-panel span { color: #d8e2ed; font-size: .9rem; }
.contact-panel strong { color: var(--white); font-size: 1.2rem; }
.book-cover-wrap { width: min(100%, 390px); margin: 0 auto; }
.book-cover-detail { width: 100%; border: 1px solid rgba(255,255,255,.25); border-radius: 4px; box-shadow: 0 20px 50px rgba(0,0,0,.3); }
.book-section { padding: 86px 0; }
.content-grid { align-items: start; }
.content-list { margin: 0; padding: 0; list-style: none; }
.content-list li { position: relative; padding: 14px 0 14px 34px; border-bottom: 1px solid var(--gray-200); }
.content-list li::before { content: "✓"; position: absolute; left: 0; color: var(--green); font-weight: 800; }
.book-author { background: var(--off-white); }
.book-author p { max-width: 560px; margin-top: 18px; color: var(--green); font-size: 1.08rem; font-weight: 700; }
.book-notice { padding: 24px 0; border-top: 1px solid var(--gray-200); color: var(--text-muted); background: var(--white); font-size: .86rem; }
.book-notice p { margin: 0; }

@media (max-width: 1080px) {
  .ebooks-page .main-nav ul { gap: 0; }
  .ebooks-page .nav-link { padding-inline: 9px; }
}

@media (max-width: 900px) {
  .ebooks-page main { padding-top: 83px; }
  .book-hero-grid,
  .content-grid { grid-template-columns: 1fr; gap: 42px; }
  .book-cover-wrap { width: min(78vw, 390px); }
  .ebooks-page .main-nav.open { display: block; }
}

@media (max-width: 560px) {
  .library-hero,
  .library-section,
  .book-hero,
  .book-section { padding: 56px 0; }
  .book-copy h1 { font-size: clamp(2.05rem, 11vw, 3rem); }
  .contact-panel strong { font-size: 1.05rem; }
}
