/* =========================================================================
 * DFLV series archive page — same tokens and spine-hero mechanics as the
 * article layout's "Full 11" hero and the event page template, for visual
 * consistency across the site.
 * ====================================================================== */
.dflv-series-page{
  --ds-teal:#0E9384;--ds-teal-soft:#E6F5F3;--ds-teal-ink:#0B6E63;
  --ds-coral:#E8564A;--ds-coral-soft:#FDEEEC;--ds-coral-ink:#C43D32;
  --ds-gold:#D9932A;--ds-gold-soft:#FBF0DC;--ds-gold-ink:#A66C15;
  --ds-ink:#141414;--ds-ink-2:#585856;--ds-ink-3:#8A8A87;--ds-line:#EAEAE7;--ds-bg-soft:#FAFAF8;
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--ds-ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.dflv-series-page *{box-sizing:border-box}
.dflv-series-page a{text-decoration:none;color:inherit}
.dflv-series-page h1,.dflv-series-page h2,.dflv-series-page h3{font-family:'Poppins',sans-serif;font-weight:700;letter-spacing:-.01em;line-height:1.14;color:var(--ds-ink)}

.dflv-series-wrap{max-width:1080px;margin:0 auto;padding:0 40px}
@media(max-width:760px){.dflv-series-wrap{padding:0 20px}}

/* ---- spine hero ---- */
.dflv-series-spine{display:grid;grid-template-columns:56px 1fr;margin:0}
.dflv-series-spine-tab{display:flex}
.dflv-series-spine-tab span{
  writing-mode:vertical-rl;transform:rotate(180deg);
  color:var(--ds-ink);font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;
  white-space:nowrap;font-family:'Poppins',sans-serif;
  display:flex;align-items:center;justify-content:center;width:100%;
  background:#FBBF00;
}
.dflv-series-spine-main{display:grid;grid-template-rows:auto 1fr}
.dflv-series-spine-photo{
  min-height:320px;background-size:cover;background-position:center;background-color:var(--ds-bg-soft);
  position:relative;display:flex;align-items:center;justify-content:center;
}
.dflv-series-photo-fallback{font-size:3rem;opacity:.35}
.dflv-series-spine-text{padding:36px 40px;background:#fff}
@media(max-width:760px){.dflv-series-spine-text{padding:24px}}

.dflv-series-kicker{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ds-teal-ink);margin-bottom:10px}
.dflv-series-title{font-size:2.1rem;max-width:22ch}
@media(max-width:760px){.dflv-series-title{font-size:1.5rem}}
.dflv-series-dek{font-size:1.05rem;color:var(--ds-ink-2);margin-top:12px;max-width:70ch;line-height:1.6}
.dflv-series-dek p{margin:0 0 10px}
.dflv-series-dek p:last-child{margin-bottom:0}

.dflv-series-sponsor-row{display:flex;align-items:center;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--ds-line);font-size:.85rem;color:var(--ds-ink-3)}
.dflv-series-sponsor-row b{color:var(--ds-ink);font-weight:600}
.dflv-series-sponsor-logo{width:28px;height:28px;background:var(--ds-bg-soft);border:1px solid var(--ds-line);border-radius:7px;display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden}
.dflv-series-sponsor-logo img{display:block;width:100%;height:100%;object-fit:contain}
.dflv-series-sponsor-logo--empty{font-size:.85rem}

/* full-bleed breakout: this CSS is a fallback only, the JS in the footer
   (dflv-series-archive-critical-js) does the reliable work by measuring
   real pixel offsets — see the article/event templates for why a
   CSS-only vw breakout isn't trusted alone in this theme. */
.dflv-series-spine{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
@media(min-aspect-ratio:2/1){
  .dflv-series-spine-photo{background-image:none !important;background-color:var(--ds-ink)}
}

/* ---- post grid ---- */
.dflv-series-section-h{display:flex;align-items:baseline;justify-content:space-between;margin:34px 0 20px;flex-wrap:wrap;gap:8px}
.dflv-series-section-h h2{font-size:1.3rem}
.dflv-series-cnt{font-size:.82rem;color:var(--ds-ink-3)}

.dflv-series-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-bottom:10px}
@media(max-width:900px){.dflv-series-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.dflv-series-grid{grid-template-columns:1fr}}

.dflv-series-card{border:1px solid var(--ds-line);border-radius:14px;overflow:hidden;display:block;transition:border-color .15s;background:#fff}
.dflv-series-card:hover{border-color:var(--ds-teal)}
.dflv-series-card-img{aspect-ratio:16/10;background-size:cover;background-position:center;background-color:var(--ds-teal-soft);display:flex;align-items:center;justify-content:center}
.dflv-series-card-img-fallback{font-size:1.8rem;opacity:.4}
.dflv-series-card-body{padding:16px 18px 18px}
.dflv-series-card-n{display:inline-block;font-family:'Poppins',sans-serif;font-weight:700;font-size:.72rem;color:var(--ds-coral-ink);margin-bottom:6px}
.dflv-series-card h3{font-size:1.02rem;line-height:1.3;margin-bottom:6px}
.dflv-series-card p{font-size:.85rem;color:var(--ds-ink-2);line-height:1.5;margin:0}

.dflv-series-card--featured{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr}
.dflv-series-card--featured .dflv-series-card-img{aspect-ratio:auto;height:100%}
.dflv-series-card--featured .dflv-series-card-body{padding:26px 28px;display:flex;flex-direction:column;justify-content:center}
.dflv-series-card--featured h3{font-size:1.4rem}
.dflv-series-card--featured p{font-size:.95rem}
@media(max-width:760px){
  .dflv-series-card--featured{grid-template-columns:1fr}
  .dflv-series-card--featured .dflv-series-card-img{aspect-ratio:16/10}
}

.dflv-series-empty{padding:30px 0;color:var(--ds-ink-3);font-size:.95rem}

.dflv-series-footspace{height:50px}

/* ---- mobile: keep the spine flush and square, matching Full 11/the event page ---- */
@media(max-width:760px){
  .dflv-series-spine{grid-template-columns:36px 1fr;min-height:auto}
  .dflv-series-spine-photo{min-height:200px}
  .dflv-series-spine-tab span{font-size:.68rem}
}
