/* Ceritera V8.5.1 — emoji-free centred editorial covers. */

/* Centre the application identity while leaving controls anchored right. */
header { position: relative; display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; }
.brand--centered { grid-column: 2; justify-self: center; text-align: center; }
.brand--centered > div { display: grid; justify-items: center; }
header .controls { grid-column: 3; justify-self: end; }
.brand--centered h1 { margin-inline: auto; }
.brand--centered .tagline { text-align: center; }

/* SVG toolbar icons replace colourful emoji glyphs. */
.toolbar-icon-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Shared cover alignment: app masthead and novel title are the visual centre. */
.featured-cover,
.shelf-book-cover,
.continue-mini-cover,
.newsstand-card .book-card-cover { text-align: center; }
.featured-cover { justify-content: center; }
.featured-cover-center { position: relative; z-index: 1; display: grid; place-items: center; gap: var(--space-4); width: 100%; margin: auto; padding: 5.25rem var(--space-3) 2.4rem; }
.featured-cover-title { margin: 0; max-width: 12ch; text-align: center; font-size: clamp(2rem, 4.6vw, 3.35rem); line-height: .98; }
.featured-cover-author { margin: 0; text-align: center; }
.cover-edition { left: 50%; transform: translateX(-50%); white-space: nowrap; }

.continue-mini-cover { padding: 1.75rem .45rem .5rem; }
.continue-cover-title { position: relative; z-index: 1; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 4; -webkit-box-orient: vertical; font: 700 clamp(.56rem, 1.6vw, .74rem)/1.08 var(--font-display); text-wrap: balance; }

.shelf-book-cover { justify-content: center; padding: 3rem var(--space-3) 1.3rem; }
.shelf-cover-title { position: relative; z-index: 1; max-width: 12ch; margin: auto; font-size: clamp(1rem, 1.8vw, 1.38rem); line-height: 1.02; text-align: center; }
.shelf-cover-author { position: relative; z-index: 1; margin-top: var(--space-3); font: 800 .54rem/1.2 var(--font-label); letter-spacing: .08em; text-transform: uppercase; text-align: center; }

.newsstand-card .book-card-cover { justify-content: center; padding: 3.5rem var(--space-4) 2rem; }
.magazine-cover-center { position: relative; z-index: 1; display: grid; place-items: center; gap: var(--space-3); width: 100%; margin: auto; }
.magazine-cover-center .magazine-cover-title { max-width: 12ch; margin: 0; font-size: clamp(1.15rem, 2.3vw, 1.7rem); line-height: 1; text-align: center; }
.magazine-cover-center .magazine-cover-line { padding: 0; text-align: center; }

/* Reader cover: remove the emoji anchor and centre the publication identity. */
.magazine-cover-visual { justify-content: space-between; text-align: center; }
.magazine-cover-masthead { text-align: center; }
.magazine-cover-issue { position: relative; z-index: 1; }
.magazine-cover-centered-copy { position: relative; z-index: 1; display: grid; place-items: center; gap: var(--space-4); margin: auto; width: min(100%, 36rem); padding: var(--space-8) var(--space-4); }
.magazine-cover-centered-copy strong { max-width: 13ch; font: 700 clamp(2.25rem, 6vw, 5.1rem)/.95 var(--font-display); letter-spacing: var(--tracking-tight); text-wrap: balance; }
.magazine-cover-centered-copy span { font: 700 var(--text-xs)/1.3 var(--font-label); letter-spacing: .12em; text-transform: uppercase; }

/* Editorial image fallback follows the same title-first cover system. */
.editorial-image-fallback { align-content: center; text-align: center; padding: clamp(2rem, 7vw, 6rem); }
.editorial-image-masthead { left: 50%; top: 8%; transform: translateX(-50%); width: 84%; text-align: center; }
.editorial-image-title { position: relative; z-index: 1; max-width: 13ch; font: 700 clamp(2.8rem, 8vw, 7rem)/.94 var(--font-display); text-wrap: balance; }
.editorial-image-author { position: relative; z-index: 1; margin-top: var(--space-5); font: 700 var(--text-sm)/1.3 var(--font-label); letter-spacing: .12em; text-transform: uppercase; }

@media (max-width: 720px) {
  header { grid-template-columns: 1fr auto 1fr; }
  .brand--centered { grid-column: 2; justify-self: center; padding-left: 0; }
  header .controls { grid-column: 3; }
  .featured-cover-center { padding-top: 5.5rem; }
}

@media (max-width: 680px) {
  .magazine-cover-visual { min-height: 44vh; }
  .magazine-cover-centered-copy { padding: var(--space-8) var(--space-3); }
  .magazine-cover-centered-copy strong { font-size: clamp(2.25rem, 12vw, 4rem); }
}

@media (max-width: 430px) {
  .featured-cover-title { font-size: clamp(2rem, 10vw, 3rem); }
  .newsstand-card .book-card-cover { padding-inline: var(--space-3); }
  .magazine-cover-center .magazine-cover-title { font-size: 1.06rem; }
}


/* V8.7.5 — concise author/year layout on the novel front cover. */
.magazine-cover-credit-list {
  display: grid;
  gap: .42rem;
  width: min(100%, 27rem);
  margin-top: var(--space-2);
  text-align: left;
}
.magazine-cover-credit-row {
  display: grid;
  grid-template-columns: minmax(8.8rem, auto) minmax(0, 1fr);
  align-items: baseline;
  gap: .65rem;
  font: 600 .72rem/1.35 var(--font-ui);
  letter-spacing: .045em;
  text-transform: none;
}
.magazine-cover-credit-row b { font-weight: 800; white-space: nowrap; }
.magazine-cover-credit-row i { min-height: 1em; overflow-wrap: anywhere; font-style: normal; font-weight: 600; }
.magazine-edition-metadata {
  display: grid;
  gap: var(--space-3);
  width: min(100%, 35rem);
  margin: 0 0 var(--space-8);
  padding: var(--space-5) 0;
  border-top: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  border-bottom: 1px solid color-mix(in srgb, currentColor 20%, transparent);
}
.magazine-edition-metadata-row {
  display: grid;
  grid-template-columns: minmax(10.5rem, auto) minmax(0, 1fr);
  align-items: baseline;
  gap: var(--space-4);
  font-family: var(--font-reading);
}
.magazine-edition-metadata-row span { font-weight: 700; color: var(--text-secondary); }
.magazine-edition-metadata-row strong { min-height: 1.25em; font-weight: 600; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .magazine-cover-credit-list { width: min(100%, 22rem); }
  .magazine-cover-credit-row,
  .magazine-edition-metadata-row { grid-template-columns: 1fr; gap: .12rem; text-align: center; }
  .magazine-edition-metadata { margin-inline: auto; }
}


/* V8.7.6 — standardised author/year metadata across every Newsstand surface. */
.newsstand-cover-credit,
.newsstand-metadata span {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: .35rem;
}
.newsstand-cover-credit {
  position: relative;
  z-index: 1;
  width: min(100%, 18rem);
  color: currentColor;
  font: 650 .62rem/1.32 var(--font-ui);
  letter-spacing: .015em;
  text-align: left;
}
.newsstand-cover-credit b,
.newsstand-metadata b { font-weight: 800; white-space: nowrap; }
.newsstand-cover-credit i,
.newsstand-metadata i { min-width: 0; font-style: normal; font-weight: 600; overflow-wrap: anywhere; }
.newsstand-cover-credit--small {
  width: min(100%, 11.8rem);
  font-size: clamp(.46rem, 1vw, .56rem);
  line-height: 1.22;
}
.newsstand-metadata {
  display: grid;
  gap: .35rem;
  color: var(--text-secondary);
  font: 600 .72rem/1.35 var(--font-ui);
}
.newsstand-metadata--featured {
  width: min(100%, 30rem);
  margin-top: var(--space-4);
  padding-block: var(--space-3);
  border-block: 1px solid var(--border-subtle);
}
.newsstand-metadata--compact {
  gap: .15rem;
  margin-top: .42rem;
  font-size: .62rem;
}
.newsstand-metadata--shelf {
  gap: .18rem;
  margin-top: var(--space-2);
  font-size: .58rem;
}
.newsstand-metadata--card {
  gap: .2rem;
  margin-top: var(--space-2);
  font-size: .62rem;
}
.featured-cover-center { gap: .72rem; }
.shelf-book-cover .newsstand-cover-credit,
.newsstand-card .newsstand-cover-credit { margin-inline: auto; }
@media (max-width: 640px) {
  .newsstand-metadata--featured { margin-inline: auto; }
}
@media (max-width: 430px) {
  .newsstand-cover-credit--small { width: 100%; font-size: .46rem; }
  .newsstand-card .book-card-cover { padding-top: 3.25rem; padding-bottom: 2.15rem; }
  .newsstand-metadata--card { font-size: .56rem; }
}


/* V8.7.7 — concise Featured Newsstand metadata only. */
.newsstand-metadata--featured {
  grid-template-columns: 1fr;
  gap: .7rem;
  width: min(100%, 31rem);
  margin-top: var(--space-5);
  padding: var(--space-4) 0;
}
.newsstand-metadata--featured span {
  grid-template-columns: minmax(8.8rem, 10.5rem) minmax(0, 1fr);
  gap: .75rem;
  font-size: clamp(.86rem, 1.4vw, 1rem);
  line-height: 1.45;
}
.newsstand-metadata--featured b { color: var(--text-primary); }
.newsstand-metadata--featured i { color: var(--text-secondary); }
@media (max-width: 520px) {
  .newsstand-metadata--featured span {
    grid-template-columns: 1fr;
    gap: .15rem;
    text-align: left;
  }
}
