/* Three Line Poetry print covers (added 2026-11-12). Uses each page's own :root tokens. */
.tlp-cover, .issue-card .tlp-cover, .tlp-shelf img, .tlp-print img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 220 / 340;
  object-fit: cover;
  background: var(--surface-2, #f4f1ea);
}

/* Free Online Issues: cover tiles */
.issue-card.has-cover a { padding: 0.6rem 0.6rem 0.8rem; justify-content: flex-start; }
.issue-card.has-cover .tlp-cover { box-shadow: 0 1px 3px rgba(0,0,0,.14); margin-bottom: 0.35rem; }
@media (max-width: 560px) {
  .issue-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0.6rem !important; }
  .issue-card { min-width: 0; }
  .issue-card.has-cover a { padding: 0.4rem 0.4rem 0.6rem; }
  .issue-card.has-cover .issue-number { font-size: 1.15rem; }
}

/* Home: paperback shelf */
.tlp-shelf-section {
  background: var(--surface, #fff);
  border-top: 1px solid var(--border, #ddd6c8);
  padding: 4rem 1.5rem 4.25rem;
  text-align: center;
}
.tlp-shelf-section .section-header { margin-bottom: 2.25rem; }
.tlp-shelf {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1.5rem;
  max-width: 1000px;
  margin: 0 auto;
}
.tlp-shelf a { display: block; color: var(--text, #2c2010); text-decoration: none; transition: transform .25s ease; }
.tlp-shelf a:hover { transform: translateY(-4px); color: var(--gold, #8a6d3b); }
.tlp-shelf img { box-shadow: 0 1px 2px rgba(0,0,0,.12), 0 10px 22px -10px rgba(0,0,0,.35); border-radius: 1px 3px 3px 1px; }
.tlp-shelf span {
  display: block;
  margin-top: 0.7rem;
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: 1.05rem;
}
.tlp-shelf-cta { margin-top: 2.25rem; }
.tlp-shelf-cta a {
  display: inline-block;
  padding: 0.8rem 1.6rem;
  background: var(--gold, #8a6d3b);
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-radius: 3px;
  text-decoration: none;
}
.tlp-shelf-cta a:hover { background: var(--cream, #3e2f18); color: #fff; }
@media (max-width: 860px) { .tlp-shelf { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } }

/* Single issue: cover + buy box */
.tlp-print {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  max-width: 500px;
  margin: 1.5rem auto 0.5rem;
  padding: 1rem;
  background: var(--surface, #fff);
  border: 1px solid var(--border, #ddd6c8);
  border-radius: var(--radius, 5px);
  text-align: left;
}
.tlp-print__cover { flex: 0 0 115px; }
.tlp-print img { box-shadow: 0 6px 16px -6px rgba(0,0,0,.35); }
.tlp-print__eyebrow {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold, #8a6d3b);
}
.tlp-print p { margin: 0.35rem 0 0.9rem; color: var(--text, #2c2010); font-family: 'EB Garamond', serif; font-size: 1.1rem; }
.tlp-print .tlp-print__btn {
  display: inline-block;
  padding: 0.65rem 1.25rem;
  background: var(--gold, #8a6d3b);
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 3px;
  text-decoration: none;
}
.tlp-print .tlp-print__btn:hover { background: var(--cream, #3e2f18); color: #fff; }
@media (max-width: 480px) {
  .tlp-print { flex-direction: column; text-align: center; }
  .tlp-print__cover { flex: 0 0 auto; width: 120px; }
}

/* Home: new-issue badge in the dark hero (added 2026-11-12) */
.tlp-new {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin: 2.25rem auto 0;
  padding: 10px 18px 10px 12px;
  border: 1px solid rgba(184,150,90,.55);
  background: rgba(255,255,255,.04);
  text-decoration: none;
  text-align: left;
  z-index: 1;
}
.tlp-new__cover { position: relative; display: block; width: 46px; flex: 0 0 auto; transform: rotate(-3deg); transition: transform .25s ease; }
.tlp-new:hover .tlp-new__cover { transform: rotate(0) translateY(-2px); }
.tlp-new__img { display: block; width: 100%; height: auto; aspect-ratio: 220 / 340; object-fit: cover; border: 2px solid #fbf8f1; box-shadow: 0 10px 20px rgba(0,0,0,.45); }
.tlp-new__ribbon { position: absolute; top: 5px; right: -9px; background: #b8965a; color: #1a1208; font: 700 8px/1 'Inter', sans-serif; letter-spacing: .16em; text-transform: uppercase; padding: 3px 5px; box-shadow: 0 2px 6px rgba(0,0,0,.35); }
.tlp-new__text { display: flex; flex-direction: column; line-height: 1.2; }
.tlp-new__kicker { font: 600 .62rem/1.4 'Inter', sans-serif; letter-spacing: .2em; text-transform: uppercase; color: #b8965a; }
.tlp-new__issue { font-family: 'Playfair Display', serif; font-style: italic; font-size: 1.3rem; color: #fbf8f1; }
.tlp-new__cta { font: 600 .64rem/1.4 'Inter', sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #d9c08f; }
.tlp-new:hover .tlp-new__cta { color: #fbf8f1; }
@media (min-width: 1100px) {
  .tlp-new {
    position: absolute; right: max(32px, calc((100% - 1100px) / 2)); top: 50%; transform: translateY(-50%);
    flex-direction: column; gap: 10px; margin: 0; padding: 0; border: 0; background: none; text-align: center;
  }
  .tlp-new__cover { width: 100px; transform: rotate(4deg); }
  .tlp-new__ribbon { top: 10px; right: -12px; font-size: 9px; padding: 4px 7px; }
  .tlp-new__text { align-items: center; }
  .tlp-new__text > span { white-space: nowrap; }
  .tlp-new__issue { font-size: 1.1rem; }
}
@media (prefers-reduced-motion: reduce) { .tlp-new__cover { transition: none; } }
