
/* v5: dedicated book pages, with the shared site header and language switch. */
@media (min-width: 1051px) { #mainNav { gap: 18px; } }
.site-header { background: rgba(7,23,45,.97); }
.books-section { scroll-margin-top: -20px; }
.books-intro { padding: 70px 0 66px; position: relative; overflow: hidden; }
.books-intro::after { content:""; position:absolute; pointer-events:none; width:530px; height:530px; border-radius:50%; right:-170px; top:-230px; background:radial-gradient(circle,rgba(43,189,231,.16),transparent 69%); }
.books-intro-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.18fr 1fr; align-items:end; gap:72px; }
.books-intro .kicker { color:var(--cyan-2); margin-bottom:18px; }
.books-intro h1 { font-size:clamp(36px,4.1vw,57px); line-height:1.08; letter-spacing:-.035em; font-weight:750; margin:0; }
.books-intro h1 em { color:var(--cyan-2); font-style:normal; }
.books-intro-text { font-size:17px; color:#c8d5e4; line-height:1.65; margin:0; max-width:470px; }
.books-count { display:inline-flex; align-items:center; gap:10px; margin-top:22px; font-size:12px; line-height:1.3; color:#d7e9f4; font-weight:650; }
.books-count::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--cyan); }
.books-collection { padding:34px 0 88px; background:var(--cream); }
.books-collection-head { display:flex; justify-content:space-between; align-items:center; gap:22px; padding-bottom:26px; }
.books-collection-head p { margin:0; font-size:13px; color:var(--muted); line-height:1.55; }
.books-collection-head p:last-child { text-align:right; }
.books-collection-head strong { color:var(--ink); font-size:15px; font-weight:700; }
.books-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; }
.books-section .book { background:var(--white); border:1px solid var(--line); border-radius:22px; padding:28px 28px 0; overflow:hidden; scroll-margin-top:18px; box-shadow:0 6px 24px rgba(7,23,45,.025); min-width:0; transition:box-shadow .2s,border-color .2s; }
.books-section .book:hover { border-color:#b8d9e6; box-shadow:0 15px 35px rgba(7,23,45,.055); }
.books-section .book-top { display:grid; grid-template-columns:120px minmax(0,1fr); align-items:center; gap:27px; min-height:180px; }
.books-section .cover { height:180px; display:flex; align-items:center; justify-content:center; }
.books-section .cover img { display:block; width:auto; height:auto; max-width:120px; max-height:180px; object-fit:contain; filter:drop-shadow(3px 5px 5px rgba(7,23,45,.17)); }
.books-section .book-meta { color:#147e9e; display:flex; align-items:center; gap:10px; font-size:11px; font-weight:700; line-height:1.4; margin-bottom:13px; }
.books-section .number { color:#8493a0; font-size:12px; font-weight:600; padding-right:10px; border-right:1px solid var(--line); font-variant-numeric:tabular-nums; }
.books-section .book h2 { margin:0; font-size:24px; font-weight:750; line-height:1.2; letter-spacing:-.025em; overflow-wrap:break-word; }
.books-section .author { margin:12px 0 0; font-size:13px; line-height:1.5; color:var(--muted); }
.books-section .thesis { margin:23px 0 22px; font-size:16px; line-height:1.65; min-height:106px; }
.books-section details { border-top:1px solid var(--line); }
.books-section summary { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 0; list-style:none; color:#137a9b; font-size:14px; line-height:1.4; font-weight:750; cursor:pointer; user-select:none; }
.books-section summary::-webkit-details-marker { display:none; }
.books-section summary::marker { content:""; }
.books-section summary:hover { color:var(--navy); }
.books-section summary:focus-visible { outline:3px solid var(--cyan); outline-offset:4px; border-radius:4px; }
.books-section .plus { flex:0 0 25px; width:25px; height:25px; position:relative; border-radius:50%; background:#e8f7fc; }
.books-section .plus::before, .books-section .plus::after { content:""; position:absolute; background:currentColor; left:7px; top:12px; width:11px; height:1.5px; }
.books-section .plus::after { transform:rotate(90deg); }
.books-section details[open] .plus::after { transform:rotate(0); }
.books-section .when-open { display:none; }
.books-section details[open] .when-open { display:inline; }
.books-section details[open] .when-closed { display:none; }
.books-section .review { padding:1px 0 28px; }
.books-section .review p { margin:0 0 18px; font-size:16px; line-height:1.8; }
.books-section .edition { color:var(--muted); font-size:12px; text-decoration:underline; text-underline-offset:4px; display:inline-block; margin-top:4px; line-height:1.7; }
.books-section .edition:hover { color:#137a9b; }
.books-end-note { margin:30px 0 0; font-size:12px; color:var(--muted); line-height:1.6; text-align:center; }
.language-switch a { min-width:30px; text-align:center; }
@media(max-width:1100px) {
  .books-intro-grid { gap:38px; }
  .books-section .book { padding:24px 24px 0; }
  .books-section .book-top { grid-template-columns:105px minmax(0,1fr); gap:21px; min-height:163px; }
  .books-section .cover { height:163px; }
  .books-section .cover img { max-width:105px; max-height:163px; }
  .books-section .book h2 { font-size:22px; }
  .books-section .thesis { min-height:132px; }
}
@media(max-width:760px) {
  .books-intro { padding:46px 0 40px; }
  .books-intro-grid { grid-template-columns:1fr; gap:23px; }
  .books-intro h1 { font-size:clamp(36px,9.5vw,48px); }
  .books-intro .kicker { font-size:10px; letter-spacing:.14em; margin-bottom:16px; }
  .books-intro-text { font-size:16px; max-width:none; }
  .books-count { margin-top:17px; }
  .books-collection { padding:24px 0 62px; }
  .books-collection-head { gap:15px; padding-bottom:22px; align-items:start; }
  .books-collection-head strong { font-size:13px; }
  .books-collection-head p { font-size:11px; }
  .books-collection-head p:last-child { max-width:155px; }
  .books-grid { grid-template-columns:1fr; gap:20px; }
  .books-section .book { padding:24px 22px 0; border-radius:20px; }
  .books-section .book-top { grid-template-columns:100px minmax(0,1fr); gap:19px; min-height:159px; }
  .books-section .cover { height:159px; }
  .books-section .cover img { max-width:100px; max-height:159px; }
  .books-section .book h2 { font-size:22px; }
  .books-section .book-meta { font-size:10px; gap:8px; margin-bottom:11px; }
  .books-section .number { font-size:11px; padding-right:8px; }
  .books-section .author { font-size:12px; margin-top:10px; }
  .books-section .thesis { min-height:0; margin:22px 0 20px; font-size:15px; }
  .books-section .review p { font-size:16px; }
  .books-end-note { max-width:310px; margin:27px auto 0; }
}
@media(max-width:370px) {
  .books-intro h1 { font-size:34px; }
  .books-section .book { padding:20px 18px 0; }
  .books-section .book-top { grid-template-columns:81px minmax(0,1fr); gap:15px; min-height:134px; }
  .books-section .cover { height:134px; }
  .books-section .cover img { max-width:81px; max-height:134px; }
  .books-section .book h2 { font-size:20px; }
  .books-section .book-meta { flex-wrap:wrap; row-gap:4px; }
  .books-section .book-meta .number { padding-right:6px; }
}
@media print {
  .books-section { break-inside:auto; }
  .books-intro { background:white; color:#102038; padding:30px 0; }
  .books-intro h1 em, .books-intro .kicker, .books-intro-text, .books-count { color:#102038; }
  .books-collection { background:white; padding:24px 0; }
  .books-grid { display:block; }
  .books-section .book { break-inside:avoid; margin-bottom:24px; box-shadow:none; }
  .books-section .thesis { min-height:0; }
  .books-section details::details-content { content-visibility:visible; }
  .books-section .review { display:block; }
  .books-section summary, .books-end-note { display:none; }
}

/* Dedicated-page spacing. The heading uses one text space and natural wrapping. */
.books-page .books-intro { padding-top:122px; padding-bottom:50px; }
.books-back-row { position:relative; z-index:1; margin-bottom:28px; }
.books-back { color:#bed2e4; font-size:13px; font-weight:600; }
.books-back:hover { color:var(--cyan-2); }
.books-page #books-title { white-space:normal; word-spacing:normal; }
.books-page #books-title em { display:inline; margin:0; padding:0; }
.books-page .books-collection-head { justify-content:flex-start; }
.books-page .books-collection-head p:last-child { text-align:left; max-width:none; }
.books-page .books-intro-grid > * { min-width:0; }
@media(max-width:760px) {
  .books-page .books-intro { padding-top:111px; padding-bottom:36px; }
  .books-back-row { margin-bottom:25px; }
  .books-page .books-collection-head p { font-size:13px; }
}
@media print {
  .books-back-row { display:none; }
  .books-page .books-intro { padding:24px 0; }
}
