/* ════════════════════════════════════════════════════════════════════
   TSM Newsletter — Enhancement Layer (v41.27)
   Additive only. All rules use higher specificity or inherit existing.
   No existing styles modified. Fully reversible by removing this file.
   ════════════════════════════════════════════════════════════════════ */

/* ── 1. CARD HOVER DEPTH ─────────────────────────────────────────
   Adds a subtle lift + shadow on hover. Pairs with existing
   .rc:hover background + border + scale transitions.
   Applies to: archive cards, homepage curated, tags, related posts.
   ────────────────────────────────────────────────────────────── */
.rc {
  transition: background 0.3s ease, border-top-color 0.3s ease,
              transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1),
              box-shadow 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
  will-change: transform;
}
.rc:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px -12px rgba(13, 27, 42, 0.18),
              0 4px 12px -6px rgba(160, 120, 64, 0.12);
}
@media (prefers-reduced-motion: reduce) {
  .rc { transition: background 0.3s ease, border-top-color 0.3s ease; }
  .rc:hover { transform: none; box-shadow: none; }
}

/* ── 2. SCROLL-REVEAL OPACITY-ONLY ───────────────────────────────
   Only applied to elements explicitly marked .reveal.
   No translate, no scale — pure opacity fade for cathedral-curtain feel.
   ────────────────────────────────────────────────────────────── */
.reveal {
  opacity: 0;
  transition: opacity 0.7s ease-out;
}
.reveal.is-visible {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transition: none; }
}

/* ── 3. COLLECTION ACCENT STRIPS ─────────────────────────────────
   2px rule above .art-overline (top hero) and .art-series-sub (in body)
   tinted per collection. Uses CSS attribute selectors via data-collection.
   The data-collection attribute is set by nl-enhance.js based on
   the .art-overline text content, so no HTML edits required.
   ────────────────────────────────────────────────────────────── */
[data-collection] .art-overline,
[data-collection] .art-series-sub {
  position: relative;
  padding-top: 14px;
}
[data-collection] .art-overline::after,
[data-collection] .art-series-sub::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 56px;
  height: 2px;
  background: var(--gold);  /* fallback */
  transition: background 0.3s ease;
}

/* Sacred Reflections — deep teal */
[data-collection="sacred-reflections"] .art-overline::after,
[data-collection="sacred-reflections"] .art-series-sub::after {
  background: #4A7C7E;
}
/* Awakened Paths — warm gold (closest to brand) */
[data-collection="awakened-paths"] .art-overline::after,
[data-collection="awakened-paths"] .art-series-sub::after {
  background: #C49A5A;
}
/* SAVI Reflections — muted plum */
[data-collection="savi-reflections"] .art-overline::after,
[data-collection="savi-reflections"] .art-series-sub::after {
  background: #7E5C7C;
}
/* The Journey Begins Within — slate blue */
[data-collection="journey-begins-within"] .art-overline::after,
[data-collection="journey-begins-within"] .art-series-sub::after {
  background: #5A7A9C;
}
