/* The existing two-column publication layout, reused for new book pages. */
:root { --color-background: #fff; --color-text: #222; --color-accent: #000; --font-sans: 'Poppins', sans-serif; --font-serif: 'Playfair Display', serif; --spacing-xs: .5rem; --spacing-sm: 1rem; --spacing-md: 2rem; --spacing-lg: 4rem; }
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--font-sans); color: var(--color-text); background: var(--color-background); }
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 var(--spacing-md); }
.content-section { padding: var(--spacing-lg) 0; margin-top: 80px; }
.pub-main-grid { display: grid; grid-template-columns: 1.1fr 1.3fr; gap: 3.5rem; align-items: start; margin-bottom: 2.5rem; }
.pub-main-grid > * { min-width: 0; }
.pub-main-left { display: flex; flex-direction: column; align-items: flex-start; width: 100%; max-width: 340px; }
.pub-portada { width: 100%; height: auto; display: block; margin-bottom: 1.2rem; }
.pub-pill-row { display: flex; align-items: center; margin: .2rem 0 .7rem; width: 100%; }
.pub-pill { font-size: 1.1rem; font-weight: 700; border: 2px solid #222; border-radius: 2em; padding: .18em 1.1em; margin-right: 1.2rem; letter-spacing: .04em; }
.pub-pill-line { flex: 1; height: 1px; background: #ccc; margin-right: 1.2rem; }
.pub-pill-year { font-size: 1.1rem; text-align: right; }
.pub-book-details { font-size: .93rem; margin: .7rem 0 1.2rem; color: #555; line-height: 1.6; }
.pub-title { font-family: var(--font-serif); font-size: 2.7rem; font-weight: 700; font-style: italic; line-height: 1.2; }
.publication-credit { font-size: .8rem; color: #555; line-height: 1.7; white-space: normal; margin-top: 1rem; }
.publication-credit a { color: inherit; text-underline-offset: .2em; }
#preview-gallery { margin: 2.5rem 0; overflow-x: auto; padding: 0 2rem 1rem; }
.preview-gallery-row { display: flex; flex-wrap: nowrap; gap: 1.5rem; }
.preview-gallery-row img { max-height: 320px; width: auto; display: block; }
.preview-gallery-row .art-link { flex-shrink: 0; }
@media (max-width: 900px) { .pub-main-grid { gap: 2rem; } .pub-title { font-size: 2.5rem; } }
@media (max-width: 768px) {
  .content-section { padding: 2rem 0; margin-top: 56px; }
  .pub-main-grid { grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 2rem; }
  .pub-main-left { max-width: none; }
  .pub-main-left > .art-link { width: min(90%, 340px); align-self: center; }
  .pub-title { font-size: 2rem; }
  .pub-pill { font-size: 1rem; }
  .preview-gallery-row img { max-height: 220px; }
  #preview-gallery { padding-inline: 1rem; }
}
