/* Cover styles — themed via CSS variables (--theme-*) and visibility classes (.hide-*) */

.cover {
  position: relative;
  width: 100%;
  min-height: 100%;
  overflow: visible;
  font-family: var(--theme-body, 'Inter', sans-serif);
  user-select: none;
  background: var(--theme-bg);
  color: var(--theme-text);
}

/* Background pattern overlay — controllable via theme.background */
.cover-bg-pattern {
  position: absolute; inset: 0;
  pointer-events: none;
  z-index: 0;
}
.cover-bg-pattern--dots {
  background-image: radial-gradient(color-mix(in srgb, var(--theme-pattern) 18%, transparent) 1.5px, transparent 1.6px);
  background-size: 24px 24px;
}
.cover-bg-pattern--dots-fine {
  background-image: radial-gradient(color-mix(in srgb, var(--theme-pattern) 14%, transparent) 1px, transparent 1.2px);
  background-size: 12px 12px;
}
.cover-bg-pattern--grid {
  background-image:
    linear-gradient(color-mix(in srgb, var(--theme-pattern) 10%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--theme-pattern) 10%, transparent) 1px, transparent 1px);
  background-size: 32px 32px;
}
.cover-bg-pattern--grid-accent {
  background-image:
    linear-gradient(color-mix(in srgb, var(--theme-pattern) 16%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--theme-pattern) 16%, transparent) 1px, transparent 1px);
  background-size: 32px 32px;
}
.cover-bg-pattern--lines-h {
  background-image: linear-gradient(0deg, color-mix(in srgb, var(--theme-pattern) 10%, transparent) 1px, transparent 1px);
  background-size: 100% 8px;
}
.cover-bg-pattern--lines-v {
  background-image: linear-gradient(90deg, color-mix(in srgb, var(--theme-pattern) 10%, transparent) 1px, transparent 1px);
  background-size: 8px 100%;
}
.cover-bg-pattern--diagonal {
  background-image: repeating-linear-gradient(
    45deg,
    color-mix(in srgb, var(--theme-pattern) 6%, transparent),
    color-mix(in srgb, var(--theme-pattern) 6%, transparent) 12px,
    transparent 12px,
    transparent 24px
  );
}
.cover-bg-pattern--checker {
  background-image:
    linear-gradient(45deg, color-mix(in srgb, var(--theme-pattern) 6%, transparent) 25%, transparent 25%),
    linear-gradient(-45deg, color-mix(in srgb, var(--theme-pattern) 6%, transparent) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, color-mix(in srgb, var(--theme-pattern) 6%, transparent) 75%),
    linear-gradient(-45deg, transparent 75%, color-mix(in srgb, var(--theme-pattern) 6%, transparent) 75%);
  background-size: 32px 32px;
  background-position: 0 0, 0 16px, 16px -16px, -16px 0;
}
.cover-bg-pattern--scanlines {
  background-image: repeating-linear-gradient(
    0deg,
    transparent 0,
    transparent 3px,
    color-mix(in srgb, var(--theme-pattern) 4%, transparent) 3px,
    color-mix(in srgb, var(--theme-pattern) 4%, transparent) 4px
  );
}
.cover-bg-pattern--cross {
  background-image:
    radial-gradient(circle at center, color-mix(in srgb, var(--theme-pattern) 16%, transparent) 1px, transparent 1.2px),
    radial-gradient(circle at center, color-mix(in srgb, var(--theme-pattern2) 8%, transparent) 1px, transparent 1.2px);
  background-size: 40px 40px, 8px 8px;
}
.cover-bg-pattern--corners {
  background-image:
    linear-gradient(color-mix(in srgb, var(--theme-pattern) 12%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--theme-pattern) 12%, transparent) 1px, transparent 1px);
  background-size: 80px 80px;
}
.cover-bg-pattern--accent-glow {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--theme-pattern) 14%, transparent), color-mix(in srgb, var(--theme-pattern2) 12%, transparent)),
    radial-gradient(ellipse at top right, color-mix(in srgb, var(--theme-pattern) 34%, transparent), transparent 60%),
    radial-gradient(ellipse at bottom left, color-mix(in srgb, var(--theme-pattern2) 30%, transparent), transparent 55%);
}
.cover-bg-pattern--noise {
  background-image:
    radial-gradient(color-mix(in srgb, var(--theme-pattern) 8%, transparent) 0.5px, transparent 0.8px),
    radial-gradient(color-mix(in srgb, var(--theme-pattern2) 6%, transparent) 0.5px, transparent 0.8px);
  background-size: 7px 7px, 11px 11px;
  background-position: 0 0, 3px 5px;
}

/* When user picks a custom background (any non-auto), hide the per-style default decoration. */
.cover.bg-override .term-grid,
.cover.bg-override .term-scanline,
.cover.bg-override .br-noise,
.cover.bg-override .sk-dots,
.cover.bg-override .bp-grid { display: none !important; }

/* Visibility classes — hide components based on theme.show.* */
.cover.hide-chrome      .c-chrome      { display: none !important; }
.cover.hide-tierNumber  .c-tier-number { display: none !important; }
.cover.hide-tierStamp   .c-tier-stamp  { display: none !important; }
.cover.hide-description .c-description { display: none !important; }
.cover.hide-days        .c-days        { display: none !important; }
.cover.hide-revisions   .c-revisions   { display: none !important; }
.cover.hide-features    .c-features    { display: none !important; }
.cover.hide-price       .c-price       { display: none !important; }
.cover.hide-brand       .c-brand       { display: none !important; }
.cover.hide-tagline     .c-tagline     { display: none !important; }
.cover.hide-cursor      .c-cursor      { display: none !important; }
.cover.hide-grid        .c-grid        { display: none !important; }

.cover .c-description {
  position: relative;
}
.cover.desc-pos-up .c-description,
.cover.desc-pos-down .c-description,
.cover.desc-pos-left .c-description,
.cover.desc-pos-right .c-description {
  transform: translate(var(--desc-x, 0px), var(--desc-y, 0px)) !important;
}
.cover.desc-pos-up .term-desc,
.cover.desc-pos-down .term-desc,
.cover.desc-pos-left .term-desc,
.cover.desc-pos-right .term-desc,
.cover.desc-pos-up .br-desc-row,
.cover.desc-pos-down .br-desc-row,
.cover.desc-pos-left .br-desc-row,
.cover.desc-pos-right .br-desc-row {
  margin-bottom: calc(40px + var(--desc-flow-y, 0px)) !important;
}
.cover.desc-pos-up .ed-desc,
.cover.desc-pos-down .ed-desc,
.cover.desc-pos-left .ed-desc,
.cover.desc-pos-right .ed-desc {
  margin-bottom: calc(34px + var(--desc-flow-y, 0px)) !important;
}

.c-price-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.45em;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}
.price-tag-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  line-height: 1;
}
.price-tag-text { min-width: 0; }

.cover.layout-compact {
  --layout-gap-adjust: 0.82;
}
.cover.layout-spacious {
  --layout-gap-adjust: 1.18;
}
.cover.layout-compact.cover-terminal { padding: 40px 56px; }
.cover.layout-spacious.cover-terminal { padding: 72px 88px; }
.cover.layout-wide.cover-terminal { padding-left: 96px; padding-right: 96px; }
.cover.layout-compact.cover-editorial { padding: 48px 56px; }
.cover.layout-spacious.cover-editorial { padding: 84px 92px; }
.cover.layout-wide.cover-editorial .ed-body { grid-template-columns: 1.15fr 0.85fr; }
.cover.layout-compact.cover-brutalist { padding: 44px 48px; }
.cover.layout-spacious.cover-brutalist { padding: 78px 76px; }
.cover.layout-wide.cover-brutalist .br-desc-row { max-width: 92%; }
.cover.layout-stacked .term-stats,
.cover.layout-stacked .ed-body,
.cover.layout-stacked .br-mid {
  grid-template-columns: 1fr;
}
.cover.layout-stacked .ed-body,
.cover.layout-stacked .br-mid {
  gap: 24px;
}
.cover.layout-stacked .ed-left,
.cover.layout-stacked .ed-right,
.cover.layout-stacked .br-desc-row {
  max-width: 100%;
}
.cover.layout-stacked .br-stats {
  justify-content: space-between;
}

/* Layout modes move major content blocks, not only spacing. */
.cover.layout-compact .term-title-block { order: 1; }
.cover.layout-compact .term-stats {
  order: 2;
  margin-bottom: 20px;
}
.cover.layout-compact .term-desc {
  order: 3;
  margin-bottom: 24px;
}
.cover.layout-compact .term-features { order: 4; }
.cover.layout-compact .term-footer { order: 5; }
.cover.layout-wide .term-body:not(.term-body--combined) {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  grid-template-areas:
    "head head"
    "title stats"
    "desc stats"
    "features stats"
    "foot foot";
  column-gap: 42px;
  align-content: start;
}
.cover.layout-wide .term-header { grid-area: head; }
.cover.layout-wide .term-title-block { grid-area: title; }
.cover.layout-wide .term-desc { grid-area: desc; }
.cover.layout-wide .term-stats {
  grid-area: stats;
  grid-template-columns: 1fr;
  align-self: start;
  margin-bottom: 0;
  padding: 22px;
  border: 1px dashed color-mix(in srgb, var(--theme-text) 18%, transparent);
}
.cover.layout-wide .term-features {
  grid-area: features;
  margin-bottom: 0;
}
.cover.layout-wide .term-footer { grid-area: foot; }
.cover.layout-stacked .term-stats {
  order: 3;
  margin-bottom: 22px;
}
.cover.layout-stacked .term-features {
  order: 2;
  margin-bottom: 22px;
}

.cover.layout-compact.cover-editorial .ed-body {
  grid-template-columns: 0.9fr 1.1fr;
  grid-template-areas: "price copy";
}
.cover.layout-compact.cover-editorial .ed-left { grid-area: copy; }
.cover.layout-compact.cover-editorial .ed-right {
  grid-area: price;
  padding-top: 0;
}
.cover.layout-wide.cover-editorial .ed-body {
  grid-template-columns: 1.05fr 0.95fr;
  grid-template-areas: "copy price";
}
.cover.layout-wide.cover-editorial .ed-left { grid-area: copy; }
.cover.layout-wide.cover-editorial .ed-right {
  grid-area: price;
  align-self: stretch;
  justify-content: center;
  border-left: 1px solid color-mix(in srgb, var(--theme-text) 22%, transparent);
  padding-left: 38px;
}
.cover.layout-stacked.cover-editorial .ed-right { order: -1; }

.cover.layout-compact .br-mid {
  order: 1;
  margin-bottom: 26px;
}
.cover.layout-compact .br-title-row { order: 2; }
.cover.layout-compact .br-desc-row { order: 3; }
.cover.layout-compact .br-feats { order: 4; }
.cover.layout-compact .br-footer { order: 5; }
.cover.layout-wide .br-body {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(280px, 0.92fr);
  grid-template-areas:
    "title mid"
    "desc mid"
    "features mid"
    "footer footer";
  gap: 24px 44px;
  align-content: start;
}
.cover.layout-wide .br-title-row { grid-area: title; }
.cover.layout-wide .br-desc-row {
  grid-area: desc;
  max-width: 100%;
}
.cover.layout-wide .br-mid {
  grid-area: mid;
  grid-template-columns: 1fr;
  align-self: start;
  margin-bottom: 0;
}
.cover.layout-wide .br-feats {
  grid-area: features;
  margin-bottom: 0;
}
.cover.layout-wide .br-footer { grid-area: footer; }
.cover.layout-stacked .br-mid { order: 2; }
.cover.layout-stacked .br-feats { order: 3; }
.term-price-tag {
  color: var(--theme-accent);
  font-size: calc(11px * var(--theme-scale, 1));
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-top: 4px;
}

/* ============================================================
   STYLE 1 — TERMINAL
   ============================================================ */
.cover-terminal {
  font-family: var(--theme-mono, 'JetBrains Mono', monospace);
  padding: 56px 72px;
  display: flex; flex-direction: column;
}
.cover-terminal[data-platform="upwork"] { padding: 56px 72px; }
.cover-terminal[data-platform="fiverr"] { padding: 44px 64px; }
.cover-terminal[data-platform="square"] { padding: 64px 80px; }

.term-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(color-mix(in srgb, var(--theme-accent) 8%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--theme-accent) 8%, transparent) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}
.term-scanline {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 0%, transparent 50%, rgba(0,0,0,0.15) 50%, transparent 100%);
  background-size: 100% 4px;
  pointer-events: none;
  mix-blend-mode: overlay;
  opacity: 0.4;
}

.term-chrome {
  display: flex; align-items: center; gap: 16px;
  padding-bottom: 28px;
  border-bottom: 1px solid color-mix(in srgb, var(--theme-text) 12%, transparent);
  margin-bottom: 36px;
  font-size: calc(14px * var(--theme-scale, 1));
  position: relative; z-index: 1;
}
.term-dots { display: flex; gap: 6px; }
.term-dots span { width: 12px; height: 12px; border-radius: 50%; background: color-mix(in srgb, var(--theme-text) 20%, transparent); }
.term-dots span:nth-child(1) { background: #ff5f56; }
.term-dots span:nth-child(2) { background: #ffbd2e; }
.term-dots span:nth-child(3) { background: #27c93f; }
.term-path { color: var(--theme-muted); flex: 1; }
.term-meta { color: color-mix(in srgb, var(--theme-muted) 70%, transparent); font-size: calc(12px * var(--theme-scale, 1)); letter-spacing: 0.06em; }

.term-body { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; }
.term-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 36px; }
.term-tier-num { font-size: calc(22px * var(--theme-scale, 1)); font-weight: 500; letter-spacing: 0.02em; color: var(--theme-accent); }
.term-prompt { margin-right: 8px; opacity: 0.8; }
.term-tier-id { font-size: calc(14px * var(--theme-scale, 1)); color: var(--theme-muted); letter-spacing: 0.08em; }

.term-title-block { margin-bottom: 32px; }
.term-comment { font-size: calc(14px * var(--theme-scale, 1)); color: var(--theme-muted); margin-bottom: 12px; letter-spacing: 0.02em; }
.term-title {
  font-size: calc(76px * var(--theme-scale, 1)); line-height: 1.0;
  font-weight: 700;
  letter-spacing: -0.025em;
  font-family: var(--theme-display, 'Space Grotesk', sans-serif);
  color: var(--theme-text);
  text-wrap: balance;
}
.cover-terminal[data-platform="fiverr"] .term-title { font-size: calc(64px * var(--theme-scale, 1)); }
.cover-terminal[data-platform="square"] .term-title { font-size: calc(78px * var(--theme-scale, 1)); }

.term-desc { margin-bottom: 40px; }
.term-desc p {
  font-size: calc(22px * var(--theme-scale, 1)); line-height: 1.45;
  color: color-mix(in srgb, var(--theme-text) 75%, var(--theme-bg));
  max-width: 90%;
  font-family: var(--theme-mono, 'JetBrains Mono', monospace);
}

.term-stats {
  display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 24px;
  padding: 24px 0;
  border-top: 1px dashed color-mix(in srgb, var(--theme-text) 18%, transparent);
  border-bottom: 1px dashed color-mix(in srgb, var(--theme-text) 18%, transparent);
  margin-bottom: 28px;
}
.term-stat-key { font-size: calc(13px * var(--theme-scale, 1)); color: var(--theme-muted); letter-spacing: 0.04em; margin-bottom: 8px; }
.term-stat-val {
  font-size: calc(56px * var(--theme-scale, 1)); line-height: 1; font-weight: 600;
  font-family: var(--theme-display, 'Space Grotesk', sans-serif);
  letter-spacing: -0.02em;
  color: var(--theme-text);
}
.term-stat-val--accent { color: var(--theme-accent); }
.term-unit { font-size: calc(28px * var(--theme-scale, 1)); font-weight: 400; margin-left: 4px; opacity: 0.7; }
.term-stat--price .term-stat-val { font-variant-numeric: tabular-nums; }

.term-features { margin-bottom: 36px; }
.term-feat {
  display: flex; align-items: center; gap: 14px;
  padding: 8px 0;
  font-size: calc(18px * var(--theme-scale, 1));
  font-family: var(--theme-mono, 'JetBrains Mono', monospace);
}
.term-feat.off { opacity: 0.35; text-decoration: line-through; text-decoration-color: var(--theme-muted); text-decoration-thickness: 1px; }
.term-feat.on .term-feat-mark { color: var(--theme-accent); }
.term-feat-mark { font-weight: 600; letter-spacing: 0.04em; color: var(--theme-muted); min-width: 36px; }

.term-footer {
  margin-top: auto; padding-top: 28px;
  border-top: 1px solid color-mix(in srgb, var(--theme-text) 12%, transparent);
  display: flex; align-items: center; justify-content: space-between;
}
.term-brand-mark { display: flex; align-items: center; gap: 12px; }
.term-brand-bracket { font-size: calc(24px * var(--theme-scale, 1)); font-weight: 700; font-family: var(--theme-mono, monospace); color: var(--theme-accent); }
.term-brand-name { font-size: calc(22px * var(--theme-scale, 1)); font-weight: 700; letter-spacing: 0.04em; font-family: var(--theme-display, sans-serif); }
.term-tagline { font-size: calc(15px * var(--theme-scale, 1)); color: var(--theme-muted); font-style: italic; font-family: var(--theme-body, sans-serif); }
.term-cursor { width: 14px; height: 22px; background: var(--theme-accent); animation: cursor-blink 1s steps(2) infinite; }
@keyframes cursor-blink { 50% { opacity: 0; } }
.term-accent-text { color: var(--theme-accent); }

/* terminal combined */
.cover-terminal--combined { padding: 44px 56px; }
.cover-terminal--combined[data-platform="fiverr"] { padding: 36px 52px; }
.term-body--combined { display: flex; flex-direction: column; }
.term-combined-header { margin-bottom: 28px; }
.term-combined-title {
  font-size: calc(52px * var(--theme-scale, 1)); line-height: 1.0; font-weight: 700;
  letter-spacing: -0.025em;
  font-family: var(--theme-display, 'Space Grotesk', sans-serif);
  margin: 12px 0 8px;
}
.cover-terminal--combined[data-platform="fiverr"] .term-combined-title { font-size: calc(44px * var(--theme-scale, 1)); }

.term-tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 16px; margin-bottom: 28px; flex: 1; }
.term-tier {
  background: color-mix(in srgb, var(--theme-text) 3%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-text) 12%, transparent);
  border-radius: 8px;
  padding: 24px 22px;
  position: relative;
  display: flex; flex-direction: column;
}
.term-tier.is-focus {
  background: color-mix(in srgb, var(--theme-accent) 6%, transparent);
  border: 2px solid var(--theme-accent);
  padding: 23px 21px;
}
.term-tier.is-focus .term-tier-price { color: var(--theme-accent); }
.term-tier-badge {
  position: absolute; top: -10px; left: 16px;
  background: var(--theme-accent);
  color: var(--theme-bg);
  font-size: calc(10px * var(--theme-scale, 1)); font-weight: 700;
  letter-spacing: 0.1em;
  padding: 4px 10px;
  border-radius: 3px;
}
.term-tier-head { display: flex; align-items: baseline; gap: 8px; margin-bottom: 14px; }
.term-tier-num-sm { font-size: calc(14px * var(--theme-scale, 1)); font-weight: 600; font-family: var(--theme-mono, monospace); color: var(--theme-accent); }
.term-tier-name { font-size: calc(12px * var(--theme-scale, 1)); color: var(--theme-muted); letter-spacing: 0.1em; }
.term-tier-title {
  font-size: calc(22px * var(--theme-scale, 1)); font-weight: 600; line-height: 1.15;
  margin-bottom: 16px;
  font-family: var(--theme-display, 'Space Grotesk', sans-serif);
  letter-spacing: -0.01em;
  min-height: 50px;
}
.term-tier-desc {
  color: color-mix(in srgb, var(--theme-text) 70%, var(--theme-bg));
  font-family: var(--theme-mono, monospace);
  font-size: calc(11px * var(--theme-scale, 1));
  line-height: 1.35;
  margin: -4px 0 14px;
  min-height: calc(30px * var(--theme-scale, 1));
  overflow: hidden;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.term-tier-price {
  font-size: calc(40px * var(--theme-scale, 1)); font-weight: 700; line-height: 1;
  margin-bottom: 6px;
  font-family: var(--theme-display, 'Space Grotesk', sans-serif);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.term-tier-meta { font-size: calc(13px * var(--theme-scale, 1)); color: var(--theme-muted); margin-bottom: 18px; display: flex; gap: 8px; }
.term-tier-meta .dot { color: color-mix(in srgb, var(--theme-muted) 50%, transparent); }
.term-tier-feats { display: flex; flex-direction: column; gap: 6px; margin-top: auto; }
.term-tier-feats .tf {
  display: flex; align-items: center; gap: 10px;
  font-size: calc(12px * var(--theme-scale, 1));
  font-family: var(--theme-mono, monospace);
}
.term-tier-feats .tf.off { opacity: 0.3; }
.term-tier-feats .tf.on > span:first-child { color: var(--theme-accent); }
.term-tier-feats .tf > span:first-child { min-width: 26px; }
.term-footer--combined { margin-top: 0; padding-top: 18px; }

/* ============================================================
   STYLE 2 — EDITORIAL
   ============================================================ */
.cover-editorial {
  padding: 64px 80px;
  display: flex; flex-direction: column;
  font-family: var(--theme-body, 'Inter', sans-serif);
}
.cover-editorial[data-platform="fiverr"] { padding: 48px 72px; }
.cover-editorial[data-platform="square"] { padding: 80px 80px; }

.ed-rule {
  position: absolute; left: 80px; right: 80px;
  height: 1px; background: var(--theme-text);
}
.ed-rule--top { top: 32px; }
.ed-rule--bot { bottom: 32px; }
.cover-editorial[data-platform="fiverr"] .ed-rule { left: 72px; right: 72px; }
.cover-editorial[data-platform="fiverr"] .ed-rule--top { top: 24px; }
.cover-editorial[data-platform="fiverr"] .ed-rule--bot { bottom: 24px; }

.ed-header {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 14px; margin-bottom: 60px; font-size: calc(13px * var(--theme-scale, 1));
}
.cover-editorial[data-platform="fiverr"] .ed-header { margin-bottom: 36px; }

.ed-brand { display: flex; align-items: center; gap: 10px; }
.ed-brand-mark { width: 14px; height: 14px; border-radius: 50%; background: var(--theme-accent); }
.ed-brand-name { font-weight: 700; letter-spacing: 0.06em; font-size: calc(14px * var(--theme-scale, 1)); }
.ed-meta {
  display: flex; gap: 8px;
  color: var(--theme-muted);
  letter-spacing: 0.04em; font-size: calc(12px * var(--theme-scale, 1));
  font-family: var(--theme-mono, monospace);
}

.ed-body { display: grid; grid-template-columns: 1.3fr 1fr; gap: 64px; flex: 1; align-items: start; }
.cover-editorial[data-platform="fiverr"] .ed-body { gap: 48px; }

.ed-kicker {
  font-size: calc(12px * var(--theme-scale, 1)); font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--theme-muted);
  margin-bottom: 16px;
}
.ed-title {
  font-size: calc(92px * var(--theme-scale, 1)); line-height: 0.95;
  font-weight: 700; letter-spacing: -0.035em;
  margin-bottom: 28px;
  font-family: var(--theme-display, 'Fraunces', Georgia, serif);
  font-style: italic;
  text-wrap: balance;
}
.cover-editorial[data-platform="fiverr"] .ed-title { font-size: calc(76px * var(--theme-scale, 1)); }
.cover-editorial[data-platform="square"] .ed-title { font-size: calc(96px * var(--theme-scale, 1)); }

.ed-desc {
  font-size: calc(21px * var(--theme-scale, 1)); line-height: 1.4;
  color: color-mix(in srgb, var(--theme-text) 88%, var(--theme-bg));
  margin-bottom: 36px;
  max-width: 95%;
  text-wrap: pretty;
}
.cover-editorial[data-platform="fiverr"] .ed-desc { font-size: calc(19px * var(--theme-scale, 1)); margin-bottom: 28px; }

.ed-features { display: flex; flex-direction: column; gap: 10px; }
.ed-feat { display: flex; align-items: center; gap: 12px; font-size: calc(16px * var(--theme-scale, 1)); padding: 4px 0; }
.ed-feat.off { color: var(--theme-muted); text-decoration: line-through; opacity: 0.6; }
.ed-feat-mark { display: flex; align-items: center; }

.ed-right { display: flex; flex-direction: column; gap: 32px; padding-top: 8px; }
.ed-price-block { border-top: 2px solid var(--theme-text); padding-top: 16px; }
.ed-price-label {
  font-size: calc(12px * var(--theme-scale, 1)); font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--theme-muted);
  margin-bottom: 4px;
}
.ed-price {
  display: flex; align-items: flex-start; gap: 4px;
  font-family: var(--theme-display, 'Fraunces', Georgia, serif);
  line-height: 0.9; font-weight: 700;
  letter-spacing: -0.03em;
}
.ed-price-currency { font-size: calc(48px * var(--theme-scale, 1)); margin-top: 14px; font-weight: 500; }
.ed-price-amount { font-size: calc(132px * var(--theme-scale, 1)); font-variant-numeric: tabular-nums; }
.cover-editorial[data-platform="fiverr"] .ed-price-amount { font-size: calc(110px * var(--theme-scale, 1)); }
.ed-price-note { font-size: calc(12px * var(--theme-scale, 1)); color: var(--theme-muted); margin-top: 6px; letter-spacing: 0.04em; font-style: italic; }

.ed-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--theme-text); }
.ed-cell { padding: 18px 0; border-right: 1px solid var(--theme-text); }
.ed-cell:last-child { border-right: none; padding-left: 18px; }
.ed-cell-label {
  font-size: calc(11px * var(--theme-scale, 1)); font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--theme-muted);
  margin-bottom: 6px;
}
.ed-cell-value {
  font-family: var(--theme-display, 'Fraunces', Georgia, serif);
  font-size: calc(56px * var(--theme-scale, 1)); line-height: 1;
  font-weight: 700; letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
}
.ed-cell-unit { font-size: calc(18px * var(--theme-scale, 1)); margin-left: 6px; font-weight: 500; color: var(--theme-muted); }

.ed-footer { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 16px; font-size: calc(13px * var(--theme-scale, 1)); }
.ed-tagline { font-style: italic; font-family: var(--theme-display, 'Fraunces', Georgia, serif); font-size: calc(16px * var(--theme-scale, 1)); }
.ed-page { font-family: var(--theme-mono, monospace); font-size: calc(12px * var(--theme-scale, 1)); color: var(--theme-muted); letter-spacing: 0.06em; }

/* editorial combined */
.cover-editorial--combined .ed-body { display: block; }
.ed-comb-body { display: grid; grid-template-columns: 1fr; gap: 32px; flex: 1; }
.ed-comb-intro { display: grid; grid-template-columns: auto 1fr; gap: 32px; align-items: end; margin-bottom: 32px; }
.cover-editorial--combined[data-platform="fiverr"] .ed-comb-intro { margin-bottom: 20px; }
.ed-comb-title {
  font-family: var(--theme-display, 'Fraunces', Georgia, serif);
  font-style: italic;
  font-size: calc(88px * var(--theme-scale, 1)); line-height: 0.92;
  font-weight: 700; letter-spacing: -0.035em;
}
.cover-editorial--combined[data-platform="fiverr"] .ed-comb-title { font-size: calc(64px * var(--theme-scale, 1)); }
.ed-comb-tagline {
  font-size: calc(19px * var(--theme-scale, 1)); font-style: italic;
  font-family: var(--theme-display, 'Fraunces', Georgia, serif);
  color: color-mix(in srgb, var(--theme-text) 88%, var(--theme-bg));
  align-self: end; padding-bottom: 12px;
}

.ed-comb-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0;
  border-top: 2px solid var(--theme-text);
  border-bottom: 2px solid var(--theme-text);
  flex: 1;
}
.ed-comb-tier {
  padding: 24px 20px;
  border-right: 1px solid var(--theme-text);
  display: flex; flex-direction: column; position: relative;
}
.ed-comb-tier:last-child { border-right: none; }
.ed-comb-tier.is-focus { background: var(--theme-accent); }

.ed-comb-tier-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.ed-comb-tier-num { font-family: var(--theme-mono, monospace); font-size: calc(12px * var(--theme-scale, 1)); letter-spacing: 0.06em; color: var(--theme-muted); }
.ed-comb-tier.is-focus .ed-comb-tier-num { color: var(--theme-bg); opacity: 0.7; }
.ed-comb-tier-tag {
  background: var(--theme-text);
  color: var(--theme-bg);
  font-size: calc(9px * var(--theme-scale, 1)); font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  padding: 3px 8px; border-radius: 999px;
}
.ed-comb-tier-name { font-size: calc(12px * var(--theme-scale, 1)); font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 14px; }
.ed-comb-tier-title {
  font-family: var(--theme-display, 'Fraunces', Georgia, serif);
  font-style: italic;
  font-size: calc(28px * var(--theme-scale, 1)); line-height: 1.05;
  font-weight: 700; letter-spacing: -0.02em;
  margin-bottom: 18px; min-height: 70px;
  text-wrap: balance;
}
.cover-editorial--combined[data-platform="fiverr"] .ed-comb-tier-title { font-size: calc(24px * var(--theme-scale, 1)); min-height: 56px; }
.ed-comb-tier-desc {
  color: color-mix(in srgb, var(--theme-text) 74%, var(--theme-bg));
  font-size: calc(12px * var(--theme-scale, 1));
  line-height: 1.35;
  margin: -8px 0 16px;
  min-height: calc(32px * var(--theme-scale, 1));
  overflow: hidden;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.cover-editorial--combined[data-platform="fiverr"] .ed-comb-tier-desc { font-size: calc(11px * var(--theme-scale, 1)); margin-bottom: 12px; }
.ed-comb-tier-price {
  font-family: var(--theme-display, 'Fraunces', Georgia, serif);
  font-size: calc(56px * var(--theme-scale, 1)); line-height: 1;
  font-weight: 700; letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
  margin-bottom: 16px;
}
.ed-comb-tier-price .cur { font-size: calc(28px * var(--theme-scale, 1)); vertical-align: top; margin-right: 2px; opacity: 0.7; }
.ed-comb-tier-meta {
  display: flex; gap: 24px;
  padding: 14px 0;
  border-top: 1px solid var(--theme-text);
  border-bottom: 1px solid var(--theme-text);
  margin-bottom: 16px;
}
.ed-comb-tier.is-focus .ed-comb-tier-meta { border-color: color-mix(in srgb, var(--theme-bg) 50%, transparent); }
.ed-comb-tier-meta > div { display: flex; flex-direction: column; gap: 2px; }
.ed-comb-tier-meta .lbl {
  font-size: calc(9px * var(--theme-scale, 1)); font-weight: 600;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--theme-muted);
}
.ed-comb-tier.is-focus .ed-comb-tier-meta .lbl { color: var(--theme-bg); opacity: 0.6; }
.ed-comb-tier-meta .val {
  font-family: var(--theme-display, 'Fraunces', Georgia, serif);
  font-size: calc(22px * var(--theme-scale, 1)); font-weight: 700; letter-spacing: -0.02em;
}
.ed-comb-tier-feats { display: flex; flex-direction: column; gap: 6px; margin-top: auto; }
.ed-comb-feat { display: flex; align-items: center; gap: 10px; font-size: calc(13px * var(--theme-scale, 1)); }
.ed-comb-feat.off { opacity: 0.4; text-decoration: line-through; }
.ed-comb-feat-mark { font-size: calc(14px * var(--theme-scale, 1)); line-height: 1; color: var(--theme-accent); }
.ed-comb-tier.is-focus .ed-comb-feat-mark { color: var(--theme-bg); }

/* ============================================================
   STYLE 3 — BRUTALIST
   ============================================================ */
.cover-brutalist {
  font-family: var(--theme-display, 'Space Grotesk', 'Inter', sans-serif);
  padding: 64px 64px;
  display: flex; flex-direction: column;
  position: relative;
}
.cover-brutalist[data-platform="fiverr"] { padding: 48px 56px; }
.cover-brutalist[data-platform="square"] { padding: 72px 64px; }

.br-noise {
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(0,0,0,0.05) 0%, transparent 40%),
    radial-gradient(circle at 80% 70%, rgba(0,0,0,0.04) 0%, transparent 40%);
  pointer-events: none; mix-blend-mode: multiply;
}

.br-tape {
  position: absolute;
  top: 24px; left: 0; right: 0;
  background: var(--theme-text);
  color: var(--theme-bg);
  padding: 8px 0;
  display: flex; gap: 18px;
  font-family: var(--theme-mono, 'JetBrains Mono', monospace);
  font-size: calc(13px * var(--theme-scale, 1)); font-weight: 600;
  letter-spacing: 0.18em; text-transform: uppercase;
  white-space: nowrap; overflow: hidden;
  transform: rotate(-2deg) translateX(-30px);
  width: 110%;
  justify-content: center;
}
.br-tape > span:nth-child(even) { opacity: 0.5; }

.br-stamp {
  position: absolute;
  top: 96px; right: 56px;
  background: var(--theme-text);
  color: var(--theme-bg);
  padding: 18px 22px;
  text-align: center;
  transform: rotate(4deg);
  border: 4px solid var(--theme-text);
  box-shadow: 6px 6px 0 rgba(0,0,0,0.15);
  z-index: 2;
}
.br-stamp-num { font-size: calc(56px * var(--theme-scale, 1)); line-height: 1; font-weight: 900; letter-spacing: -0.05em; font-variant-numeric: tabular-nums; }
.br-stamp-lbl { font-size: calc(11px * var(--theme-scale, 1)); font-weight: 700; letter-spacing: 0.18em; margin-top: 4px; }
.cover-brutalist[data-platform="fiverr"] .br-stamp { top: 80px; right: 56px; }
.cover-brutalist[data-platform="fiverr"] .br-stamp-num { font-size: calc(44px * var(--theme-scale, 1)); }

.br-body { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; margin-top: 96px; }
.cover-brutalist[data-platform="fiverr"] .br-body { margin-top: 64px; }
.cover-brutalist.hide-chrome .br-body { margin-top: 0; }

.br-title-row { margin-bottom: 24px; }
.br-title {
  font-size: calc(124px * var(--theme-scale, 1)); line-height: 0.85;
  font-weight: 900; letter-spacing: -0.045em;
  text-transform: uppercase;
  color: var(--theme-text);
  text-wrap: balance;
}
.cover-brutalist[data-platform="fiverr"] .br-title { font-size: calc(96px * var(--theme-scale, 1)); }
.cover-brutalist[data-platform="square"] .br-title { font-size: calc(130px * var(--theme-scale, 1)); }

.br-desc-row { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 40px; max-width: 80%; }
.br-arrow { font-size: calc(32px * var(--theme-scale, 1)); font-weight: 900; line-height: 1; }
.br-desc { font-size: calc(22px * var(--theme-scale, 1)); line-height: 1.35; font-weight: 500; text-wrap: pretty; }

.br-mid {
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 48px;
  margin-bottom: 36px; align-items: end;
  padding: 24px 0;
  border-top: 4px solid var(--theme-text);
  border-bottom: 4px solid var(--theme-text);
}

.br-price-block { display: flex; flex-direction: column; gap: 4px; }
.br-price-curr { font-size: calc(13px * var(--theme-scale, 1)); font-weight: 700; letter-spacing: 0.2em; font-family: var(--theme-mono, monospace); }
.br-price { font-size: calc(124px * var(--theme-scale, 1)); line-height: 0.9; font-weight: 900; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; }
.cover-brutalist[data-platform="fiverr"] .br-price { font-size: calc(100px * var(--theme-scale, 1)); }
.br-price-tag {
  display: inline-flex;
  background: var(--theme-accent);
  color: var(--theme-bg);
  font-size: calc(12px * var(--theme-scale, 1)); font-weight: 800;
  letter-spacing: 0.16em; padding: 4px 10px;
  margin-top: 6px; align-self: flex-start;
  transform: rotate(-1deg);
}

.br-stats { display: flex; gap: 32px; }
.br-stat { border-left: 4px solid var(--theme-text); padding-left: 18px; }
.br-stat-num { font-size: calc(80px * var(--theme-scale, 1)); line-height: 0.9; font-weight: 900; letter-spacing: -0.05em; font-variant-numeric: tabular-nums; }
.cover-brutalist[data-platform="fiverr"] .br-stat-num { font-size: calc(64px * var(--theme-scale, 1)); }
.br-stat-lbl { font-size: calc(12px * var(--theme-scale, 1)); font-weight: 800; letter-spacing: 0.18em; margin-top: 4px; }

.br-feats { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
.br-feat { display: flex; align-items: center; gap: 14px; font-size: calc(18px * var(--theme-scale, 1)); font-weight: 600; }
.br-feat.off { opacity: 0.4; }
.br-feat-box {
  width: 24px; height: 24px;
  border: 3px solid var(--theme-text);
  background: var(--theme-bg);
  display: flex; align-items: center; justify-content: center;
  font-size: calc(16px * var(--theme-scale, 1)); font-weight: 900; line-height: 1;
}
.br-feat.on .br-feat-box { background: var(--theme-text); color: var(--theme-bg); }

.br-footer {
  margin-top: auto; padding-top: 18px;
  display: flex; justify-content: space-between; align-items: baseline;
  border-top: 2px solid var(--theme-text);
}
.br-brand { font-size: calc(24px * var(--theme-scale, 1)); font-weight: 900; letter-spacing: 0.06em; }
.br-tagline { font-size: calc(14px * var(--theme-scale, 1)); font-weight: 500; font-style: italic; }

/* brutalist combined */
.cover-brutalist--combined .br-body { margin-top: 80px; }
.cover-brutalist--combined.hide-chrome .br-body { margin-top: 0; }
.br-comb-head { margin-bottom: 28px; }
.br-comb-title {
  font-size: calc(88px * var(--theme-scale, 1)); line-height: 0.85; font-weight: 900;
  letter-spacing: -0.04em; text-transform: uppercase;
  margin-bottom: 12px;
}
.cover-brutalist--combined[data-platform="fiverr"] .br-comb-title { font-size: calc(64px * var(--theme-scale, 1)); }
.br-comb-sub { font-size: calc(18px * var(--theme-scale, 1)); font-weight: 500; font-style: italic; }
.br-comb-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0; flex: 1;
  border-top: 4px solid var(--theme-text);
  border-bottom: 4px solid var(--theme-text);
}
.br-comb-tier {
  padding: 24px 20px;
  border-right: 4px solid var(--theme-text);
  display: flex; flex-direction: column; position: relative;
}
.br-comb-tier:last-child { border-right: none; }
.br-comb-tier.is-focus { background: var(--theme-text); color: var(--theme-bg); }
.br-comb-tag {
  position: absolute; top: -14px; left: 14px;
  background: var(--theme-accent);
  color: var(--theme-bg);
  font-size: calc(10px * var(--theme-scale, 1)); font-weight: 800;
  letter-spacing: 0.16em; padding: 4px 8px;
  transform: rotate(-2deg);
}
.br-comb-num { font-size: calc(56px * var(--theme-scale, 1)); line-height: 1; font-weight: 900; letter-spacing: -0.05em; margin-bottom: 4px; }
.br-comb-name { font-size: calc(12px * var(--theme-scale, 1)); font-weight: 800; letter-spacing: 0.18em; margin-bottom: 16px; }
.br-comb-tt {
  font-size: calc(22px * var(--theme-scale, 1)); line-height: 1.05;
  font-weight: 800; letter-spacing: -0.01em;
  text-transform: uppercase;
  margin-bottom: 18px; min-height: 56px;
  text-wrap: balance;
}
.br-comb-desc {
  color: color-mix(in srgb, var(--theme-text) 78%, var(--theme-bg));
  font-family: var(--theme-body, sans-serif);
  font-size: calc(12px * var(--theme-scale, 1));
  font-weight: 600;
  line-height: 1.25;
  margin: -8px 0 14px;
  min-height: calc(30px * var(--theme-scale, 1));
  overflow: hidden;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.br-comb-tier.is-focus .br-comb-desc { color: color-mix(in srgb, var(--theme-bg) 78%, var(--theme-text)); }
.br-comb-price { font-size: calc(52px * var(--theme-scale, 1)); line-height: 1; font-weight: 900; letter-spacing: -0.04em; font-variant-numeric: tabular-nums; margin-bottom: 8px; }
.br-comb-meta { font-size: calc(13px * var(--theme-scale, 1)); font-weight: 700; letter-spacing: 0.1em; margin-bottom: 18px; display: flex; gap: 10px; }
.br-comb-meta .sep { opacity: 0.5; }
.br-comb-feats { display: flex; flex-direction: column; gap: 6px; margin-top: auto; }
.br-comb-feat { display: flex; align-items: center; gap: 10px; font-size: calc(13px * var(--theme-scale, 1)); font-weight: 600; }
.br-comb-feat.off { opacity: 0.45; text-decoration: line-through; }
.br-comb-feat span:first-child { font-weight: 900; min-width: 14px; }

.br-comb-footer {
  margin-top: 24px; padding-top: 16px;
  border-top: 4px solid var(--theme-text);
  display: flex; justify-content: space-between; align-items: baseline;
  font-size: calc(13px * var(--theme-scale, 1)); font-weight: 700;
  letter-spacing: 0.1em;
  font-family: var(--theme-mono, 'JetBrains Mono', monospace);
}
