/* ============================================================
   VELLINORE — Magazine Caption System
   One global set of controls (body[data-cap-*]) that styles the
   category NAMES written on every magazine variant at once.
   Defaults reproduce the current look — changes only apply
   when a Tweak is actively set.
   ============================================================ */

/* shared inset distance for positioning */
.maggallery .cap, .magmasonry .cap, .magstack .mk-tx,
.magspread .msp-caption, .magtiles .mag .tile .tx,
.magtiles .collrow .ctile .t, .magindex .mir-tile .tx,
.magindex .mi-feature-meta {
  --cap-inset: clamp(16px, 2vw, 30px);
}

/* ============================================================
   1 · POSITION — full 9-point grid (body[data-cap-pos])
   Moves the whole caption box; resets unused edges to auto.
   ============================================================ */
/* top-left */
body[data-cap-pos="tl"] .maggallery .cap,
body[data-cap-pos="tl"] .magmasonry .cap,
body[data-cap-pos="tl"] .magstack .mk-tx,
body[data-cap-pos="tl"] .magspread .msp-caption,
body[data-cap-pos="tl"] .magtiles .mag .tile .tx,
body[data-cap-pos="tl"] .magtiles .collrow .ctile .t,
body[data-cap-pos="tl"] .magindex .mir-tile .tx,
body[data-cap-pos="tl"] .magindex .mi-feature-meta {
  top: var(--cap-inset); left: var(--cap-inset); right: auto; bottom: auto;
  transform: none; text-align: left;
}
/* top-center */
body[data-cap-pos="tc"] .maggallery .cap,
body[data-cap-pos="tc"] .magmasonry .cap,
body[data-cap-pos="tc"] .magstack .mk-tx,
body[data-cap-pos="tc"] .magspread .msp-caption,
body[data-cap-pos="tc"] .magtiles .mag .tile .tx,
body[data-cap-pos="tc"] .magtiles .collrow .ctile .t,
body[data-cap-pos="tc"] .magindex .mir-tile .tx,
body[data-cap-pos="tc"] .magindex .mi-feature-meta {
  top: var(--cap-inset); left: 50%; right: auto; bottom: auto;
  transform: translateX(-50%); text-align: center;
}
/* top-right */
body[data-cap-pos="tr"] .maggallery .cap,
body[data-cap-pos="tr"] .magmasonry .cap,
body[data-cap-pos="tr"] .magstack .mk-tx,
body[data-cap-pos="tr"] .magspread .msp-caption,
body[data-cap-pos="tr"] .magtiles .mag .tile .tx,
body[data-cap-pos="tr"] .magtiles .collrow .ctile .t,
body[data-cap-pos="tr"] .magindex .mir-tile .tx,
body[data-cap-pos="tr"] .magindex .mi-feature-meta {
  top: var(--cap-inset); right: var(--cap-inset); left: auto; bottom: auto;
  transform: none; text-align: right;
}
/* mid-left */
body[data-cap-pos="ml"] .maggallery .cap,
body[data-cap-pos="ml"] .magmasonry .cap,
body[data-cap-pos="ml"] .magstack .mk-tx,
body[data-cap-pos="ml"] .magspread .msp-caption,
body[data-cap-pos="ml"] .magtiles .mag .tile .tx,
body[data-cap-pos="ml"] .magtiles .collrow .ctile .t,
body[data-cap-pos="ml"] .magindex .mir-tile .tx,
body[data-cap-pos="ml"] .magindex .mi-feature-meta {
  top: 50%; left: var(--cap-inset); right: auto; bottom: auto;
  transform: translateY(-50%); text-align: left;
}
/* center */
body[data-cap-pos="cc"] .maggallery .cap,
body[data-cap-pos="cc"] .magmasonry .cap,
body[data-cap-pos="cc"] .magstack .mk-tx,
body[data-cap-pos="cc"] .magspread .msp-caption,
body[data-cap-pos="cc"] .magtiles .mag .tile .tx,
body[data-cap-pos="cc"] .magtiles .collrow .ctile .t,
body[data-cap-pos="cc"] .magindex .mir-tile .tx,
body[data-cap-pos="cc"] .magindex .mi-feature-meta {
  top: 50%; left: 50%; right: auto; bottom: auto;
  transform: translate(-50%, -50%); text-align: center;
}
/* mid-right */
body[data-cap-pos="mr"] .maggallery .cap,
body[data-cap-pos="mr"] .magmasonry .cap,
body[data-cap-pos="mr"] .magstack .mk-tx,
body[data-cap-pos="mr"] .magspread .msp-caption,
body[data-cap-pos="mr"] .magtiles .mag .tile .tx,
body[data-cap-pos="mr"] .magtiles .collrow .ctile .t,
body[data-cap-pos="mr"] .magindex .mir-tile .tx,
body[data-cap-pos="mr"] .magindex .mi-feature-meta {
  top: 50%; right: var(--cap-inset); left: auto; bottom: auto;
  transform: translateY(-50%); text-align: right;
}
/* bottom-left */
body[data-cap-pos="bl"] .maggallery .cap,
body[data-cap-pos="bl"] .magmasonry .cap,
body[data-cap-pos="bl"] .magstack .mk-tx,
body[data-cap-pos="bl"] .magspread .msp-caption,
body[data-cap-pos="bl"] .magtiles .mag .tile .tx,
body[data-cap-pos="bl"] .magtiles .collrow .ctile .t,
body[data-cap-pos="bl"] .magindex .mir-tile .tx,
body[data-cap-pos="bl"] .magindex .mi-feature-meta {
  bottom: var(--cap-inset); left: var(--cap-inset); right: auto; top: auto;
  transform: none; text-align: left;
}
/* bottom-center */
body[data-cap-pos="bc"] .maggallery .cap,
body[data-cap-pos="bc"] .magmasonry .cap,
body[data-cap-pos="bc"] .magstack .mk-tx,
body[data-cap-pos="bc"] .magspread .msp-caption,
body[data-cap-pos="bc"] .magtiles .mag .tile .tx,
body[data-cap-pos="bc"] .magtiles .collrow .ctile .t,
body[data-cap-pos="bc"] .magindex .mir-tile .tx,
body[data-cap-pos="bc"] .magindex .mi-feature-meta {
  bottom: var(--cap-inset); left: 50%; right: auto; top: auto;
  transform: translateX(-50%); text-align: center;
}
/* bottom-right */
body[data-cap-pos="br"] .maggallery .cap,
body[data-cap-pos="br"] .magmasonry .cap,
body[data-cap-pos="br"] .magstack .mk-tx,
body[data-cap-pos="br"] .magspread .msp-caption,
body[data-cap-pos="br"] .magtiles .mag .tile .tx,
body[data-cap-pos="br"] .magtiles .collrow .ctile .t,
body[data-cap-pos="br"] .magindex .mir-tile .tx,
body[data-cap-pos="br"] .magindex .mi-feature-meta {
  bottom: var(--cap-inset); right: var(--cap-inset); left: auto; top: auto;
  transform: none; text-align: right;
}

/* ============================================================
   2 · SIZE — title scale (body[data-cap-size])
   ============================================================ */
body[data-cap-size="s"] .maggallery .cap .t,
body[data-cap-size="s"] .magmasonry .cap .t,
body[data-cap-size="s"] .magstack .mk-tx .t,
body[data-cap-size="s"] .magspread .msp-caption .t,
body[data-cap-size="s"] .magtiles .mag .tile .tx .t,
body[data-cap-size="s"] .magtiles .collrow .ctile .t,
body[data-cap-size="s"] .magindex .mir-tile .tx .t,
body[data-cap-size="s"] .magindex .mi-feature-meta .t,
body[data-cap-size="s"] .magcover .mc-cl .t { font-size: clamp(13px, 1.1vw, 17px); }

body[data-cap-size="m"] .maggallery .cap .t,
body[data-cap-size="m"] .magmasonry .cap .t,
body[data-cap-size="m"] .magstack .mk-tx .t,
body[data-cap-size="m"] .magspread .msp-caption .t,
body[data-cap-size="m"] .magtiles .mag .tile .tx .t,
body[data-cap-size="m"] .magtiles .collrow .ctile .t,
body[data-cap-size="m"] .magindex .mir-tile .tx .t,
body[data-cap-size="m"] .magindex .mi-feature-meta .t,
body[data-cap-size="m"] .magcover .mc-cl .t { font-size: clamp(18px, 1.7vw, 26px); }

body[data-cap-size="l"] .maggallery .cap .t,
body[data-cap-size="l"] .magmasonry .cap .t,
body[data-cap-size="l"] .magstack .mk-tx .t,
body[data-cap-size="l"] .magspread .msp-caption .t,
body[data-cap-size="l"] .magtiles .mag .tile .tx .t,
body[data-cap-size="l"] .magtiles .collrow .ctile .t,
body[data-cap-size="l"] .magindex .mir-tile .tx .t,
body[data-cap-size="l"] .magindex .mi-feature-meta .t,
body[data-cap-size="l"] .magcover .mc-cl .t { font-size: clamp(26px, 2.6vw, 42px); }

body[data-cap-size="xl"] .maggallery .cap .t,
body[data-cap-size="xl"] .magmasonry .cap .t,
body[data-cap-size="xl"] .magstack .mk-tx .t,
body[data-cap-size="xl"] .magspread .msp-caption .t,
body[data-cap-size="xl"] .magtiles .mag .tile .tx .t,
body[data-cap-size="xl"] .magtiles .collrow .ctile .t,
body[data-cap-size="xl"] .magindex .mir-tile .tx .t,
body[data-cap-size="xl"] .magindex .mi-feature-meta .t,
body[data-cap-size="xl"] .magcover .mc-cl .t { font-size: clamp(36px, 4.4vw, 68px); line-height: 1; }

/* ============================================================
   3 · FONT STYLE (body[data-cap-font])
   ============================================================ */
body[data-cap-font="serif"] .maggallery .cap .t,
body[data-cap-font="serif"] .magmasonry .cap .t,
body[data-cap-font="serif"] .magstack .mk-tx .t,
body[data-cap-font="serif"] .magspread .msp-caption .t,
body[data-cap-font="serif"] .magtiles .mag .tile .tx .t,
body[data-cap-font="serif"] .magtiles .collrow .ctile .t,
body[data-cap-font="serif"] .magindex .mir-tile .tx .t,
body[data-cap-font="serif"] .magindex .mi-feature-meta .t,
body[data-cap-font="serif"] .magcover .mc-cl .t {
  font-family: var(--serif); font-style: normal; text-transform: none; letter-spacing: .02em;
}
body[data-cap-font="italic"] .maggallery .cap .t,
body[data-cap-font="italic"] .magmasonry .cap .t,
body[data-cap-font="italic"] .magstack .mk-tx .t,
body[data-cap-font="italic"] .magspread .msp-caption .t,
body[data-cap-font="italic"] .magtiles .mag .tile .tx .t,
body[data-cap-font="italic"] .magtiles .collrow .ctile .t,
body[data-cap-font="italic"] .magindex .mir-tile .tx .t,
body[data-cap-font="italic"] .magindex .mi-feature-meta .t,
body[data-cap-font="italic"] .magcover .mc-cl .t {
  font-family: var(--serif); font-style: italic; text-transform: none; letter-spacing: .01em;
}
body[data-cap-font="sans"] .maggallery .cap .t,
body[data-cap-font="sans"] .magmasonry .cap .t,
body[data-cap-font="sans"] .magstack .mk-tx .t,
body[data-cap-font="sans"] .magspread .msp-caption .t,
body[data-cap-font="sans"] .magtiles .mag .tile .tx .t,
body[data-cap-font="sans"] .magtiles .collrow .ctile .t,
body[data-cap-font="sans"] .magindex .mir-tile .tx .t,
body[data-cap-font="sans"] .magindex .mi-feature-meta .t,
body[data-cap-font="sans"] .magcover .mc-cl .t {
  font-family: var(--sans); font-style: normal; text-transform: uppercase;
  letter-spacing: .14em; font-weight: 500;
}

/* ============================================================
   4 · COLOR (body[data-cap-color])
   ============================================================ */
body[data-cap-color="light"] .maggallery .cap .t,
body[data-cap-color="light"] .magmasonry .cap .t,
body[data-cap-color="light"] .magstack .mk-tx .t,
body[data-cap-color="light"] .magspread .msp-caption .t,
body[data-cap-color="light"] .magtiles .mag .tile .tx .t,
body[data-cap-color="light"] .magtiles .collrow .ctile .t,
body[data-cap-color="light"] .magindex .mir-tile .tx .t,
body[data-cap-color="light"] .magindex .mi-feature-meta .t,
body[data-cap-color="light"] .magcover .mc-cl .t { color: #F6EFE0; }

body[data-cap-color="dark"] .maggallery .cap .t,
body[data-cap-color="dark"] .magmasonry .cap .t,
body[data-cap-color="dark"] .magstack .mk-tx .t,
body[data-cap-color="dark"] .magspread .msp-caption .t,
body[data-cap-color="dark"] .magtiles .mag .tile .tx .t,
body[data-cap-color="dark"] .magtiles .collrow .ctile .t,
body[data-cap-color="dark"] .magindex .mir-tile .tx .t,
body[data-cap-color="dark"] .magindex .mi-feature-meta .t,
body[data-cap-color="dark"] .magcover .mc-cl .t { color: var(--ink); }

body[data-cap-color="gold"] .maggallery .cap .t,
body[data-cap-color="gold"] .magmasonry .cap .t,
body[data-cap-color="gold"] .magstack .mk-tx .t,
body[data-cap-color="gold"] .magspread .msp-caption .t,
body[data-cap-color="gold"] .magtiles .mag .tile .tx .t,
body[data-cap-color="gold"] .magtiles .collrow .ctile .t,
body[data-cap-color="gold"] .magindex .mir-tile .tx .t,
body[data-cap-color="gold"] .magindex .mi-feature-meta .t,
body[data-cap-color="gold"] .magcover .mc-cl .t { color: var(--champagne); }

/* ============================================================
   5 · READABILITY PLATE (body[data-cap-plate="on"])
   Plate colour auto-adapts to the text colour.
   ============================================================ */
body[data-cap-plate="on"] .maggallery .cap,
body[data-cap-plate="on"] .magmasonry .cap,
body[data-cap-plate="on"] .magstack .mk-tx,
body[data-cap-plate="on"] .magspread .msp-caption,
body[data-cap-plate="on"] .magtiles .mag .tile .tx,
body[data-cap-plate="on"] .magtiles .collrow .ctile .t,
body[data-cap-plate="on"] .magindex .mir-tile .tx,
body[data-cap-plate="on"] .magindex .mi-feature-meta {
  background: rgba(34, 28, 18, .52);
  padding: 12px 16px;
  backdrop-filter: blur(1px);
}
/* dark text → light plate */
body[data-cap-plate="on"][data-cap-color="dark"] .maggallery .cap,
body[data-cap-plate="on"][data-cap-color="dark"] .magmasonry .cap,
body[data-cap-plate="on"][data-cap-color="dark"] .magstack .mk-tx,
body[data-cap-plate="on"][data-cap-color="dark"] .magspread .msp-caption,
body[data-cap-plate="on"][data-cap-color="dark"] .magtiles .mag .tile .tx,
body[data-cap-plate="on"][data-cap-color="dark"] .magtiles .collrow .ctile .t,
body[data-cap-plate="on"][data-cap-color="dark"] .magindex .mir-tile .tx,
body[data-cap-plate="on"][data-cap-color="dark"] .magindex .mi-feature-meta {
  background: rgba(250, 246, 238, .92);
}

/* ============================================================
   6 · NUMBER on/off (body[data-cap-num="off"])
   ============================================================ */
body[data-cap-num="off"] .maggallery .cap .ix,
body[data-cap-num="off"] .magmasonry .cap .ix,
body[data-cap-num="off"] .magstack .mk-tx .ix { display: none; }

/* ============================================================
   7 · KICKER line on/off (body[data-cap-kicker="off"])
   ============================================================ */
body[data-cap-kicker="off"] .magstack .mk-tx .e,
body[data-cap-kicker="off"] .magspread .msp-caption .e,
body[data-cap-kicker="off"] .magtiles .mag .tile .tx .e,
body[data-cap-kicker="off"] .magindex .mir-tile .tx .e,
body[data-cap-kicker="off"] .magindex .mi-feature-meta .e,
body[data-cap-kicker="off"] .magcover .mc-cl .e { display: none; }
