/* ═══════════════════════════════════════════════════════════════════
   OMEGA Review Theme — main.css  v1.0.0
   GeneratePress speed  ·  Blocksy visual  ·  Kadence typography
   ═══════════════════════════════════════════════════════════════════ */

/* ── CSS Variables ── */
:root {
  --color-primary:       #1d4ed8;
  --color-primary-dark:  #1e40af;
  --color-primary-light: #dbeafe;
  --color-success:       #15803d;
  --color-success-light: #dcfce7;
  --color-warning:       #b45309;
  --color-warning-light: #fef3c7;
  --color-danger:        #dc2626;
  --color-danger-light:  #fee2e2;
  --color-neutral:       #64748b;
  --color-neutral-light: #f1f5f9;

  --color-text:          #1e293b;
  --color-text-light:    #475569;
  --color-text-muted:    #94a3b8;
  --color-heading:       #0f172a;
  --color-border:        #e2e8f0;
  --color-bg:            #ffffff;
  --color-bg-light:      #f8fafc;
  --color-bg-card:       #ffffff;

  --font-body:    -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, 'Helvetica Neue', Arial, sans-serif;
  --font-mono:    ui-monospace, 'Cascadia Mono', Menlo, monospace;

  --size-base:    17px;
  --lh-base:      1.75;
  --lh-heading:   1.25;

  --radius-sm:    4px;
  --radius-md:    8px;
  --radius-lg:    12px;
  --radius-xl:    16px;

  --shadow-sm:    0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);
  --shadow-md:    0 4px 12px rgba(0,0,0,.08), 0 2px 4px rgba(0,0,0,.04);
  --shadow-lg:    0 10px 30px rgba(0,0,0,.10);

  --width-content: 740px;
  --width-wide:    1100px;
  --header-h:      64px;
}

/* ── Reset ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: var(--size-base); -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  font-size:   1rem;
  line-height: var(--lh-base);
  color:       var(--color-text);
  background:  var(--color-bg);
  -webkit-font-smoothing: antialiased;
}
img, video { max-width: 100%; height: auto; display: block; }
a { color: var(--color-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
ul, ol { padding-left: 1.5rem; }

/* ── Reading Progress Bar ── */
#ort-progress {
  position:   fixed;
  top:        0;
  left:       0;
  height:     3px;
  width:      0%;
  background: linear-gradient(90deg, var(--color-primary), #06b6d4);
  z-index:    9999;
  transition: width .1s linear;
}

/* ═══════════ HEADER ═══════════ */
.ort-header {
  position:   sticky;
  top:        0;
  z-index:    100;
  height:     var(--header-h);
  background: #fff;
  border-bottom: 1px solid var(--color-border);
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.ort-header__inner {
  display:       flex;
  align-items:   center;
  gap:           1.5rem;
  max-width:     var(--width-wide);
  margin:        0 auto;
  padding:       0 1.5rem;
  height:        100%;
}
.ort-header__brand { flex-shrink: 0; }
.ort-header__brand .custom-logo { height: 40px; width: auto; }
.ort-header__site-name {
  font-size:   1.2rem;
  font-weight: 800;
  color:       var(--color-heading);
  letter-spacing: -.02em;
}
.ort-header__site-name:hover { text-decoration: none; }
.ort-header__tagline { display: none; }

.ort-nav { margin-left: auto; }
.ort-nav__list {
  display:     flex;
  gap:         .25rem;
  list-style:  none;
  padding:     0;
  margin:      0;
}
.ort-nav__list a {
  display:      block;
  padding:      .4rem .75rem;
  font-size:    .9rem;
  font-weight:  600;
  color:        var(--color-text);
  border-radius: var(--radius-sm);
  transition:   background .15s, color .15s;
}
.ort-nav__list a:hover { background: var(--color-neutral-light); color: var(--color-primary); text-decoration: none; }

.ort-header__search form {
  display:      flex;
  align-items:  center;
  border:       1px solid var(--color-border);
  border-radius: 20px;
  overflow:     hidden;
  background:   var(--color-bg-light);
}
.ort-header__search input {
  border:       none;
  background:   transparent;
  padding:      .4rem .75rem;
  font-size:    .85rem;
  width:        180px;
  outline:      none;
  color:        var(--color-text);
}
.ort-header__search button {
  border:       none;
  background:   transparent;
  padding:      .4rem .6rem;
  cursor:       pointer;
  color:        var(--color-neutral);
  display:      flex;
  align-items:  center;
}
.ort-nav__toggle { display: none; }

/* ═══════════ WRAP & LAYOUT ═══════════ */
.ort-wrap {
  max-width:  var(--width-wide);
  margin:     0 auto;
  padding:    0 1.5rem;
}

/* ═══════════ MAIN ═══════════ */
.ort-main { padding: 2rem 0 4rem; }

/* ═══════════ ARTICLE HEADER ═══════════ */
.ort-article__header {
  max-width:   var(--width-content);
  margin:      0 auto 2.5rem;
}
.ort-article__header-inner { padding-bottom: 1.5rem; }

/* Breadcrumb */
.ort-breadcrumb { margin-bottom: 1rem; }
.ort-breadcrumb ol {
  display:     flex;
  flex-wrap:   wrap;
  gap:         .25rem;
  list-style:  none;
  padding:     0;
  font-size:   .8rem;
  color:       var(--color-text-muted);
}
.ort-breadcrumb li:not(:last-child)::after { content: '/'; margin-left: .25rem; }
.ort-breadcrumb a { color: var(--color-text-light); }
.ort-breadcrumb a:hover { color: var(--color-primary); }

/* Category badges */
.ort-cats { display: flex; gap: .5rem; margin-bottom: .75rem; flex-wrap: wrap; }
.ort-cat-badge {
  font-size:     .72rem;
  font-weight:   700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color:         var(--color-primary);
  background:    var(--color-primary-light);
  border-radius: 20px;
  padding:       .2rem .7rem;
}
.ort-cat-badge:hover { background: var(--color-primary); color: #fff; text-decoration: none; }

/* Title */
.ort-article__title {
  font-size:      clamp(1.75rem, 4vw, 2.6rem);
  font-weight:    800;
  line-height:    var(--lh-heading);
  letter-spacing: -.03em;
  color:          var(--color-heading);
  margin-bottom:  1rem;
}

/* Rating */
.ort-article__rating {
  display:      flex;
  align-items:  center;
  gap:          .75rem;
  margin-bottom: .75rem;
}
.ort-article__rating-label {
  font-size:   .8rem;
  font-weight: 600;
  color:       var(--color-text-muted);
  text-transform: uppercase;
  letter-spacing: .04em;
}

/* Stars */
.ort-stars {
  display:     inline-flex;
  align-items: center;
  gap:         1px;
  font-size:   1.4rem;
  line-height: 1;
}
.ort-star { position: relative; display: inline-block; }
.ort-star--full  { color: #f59e0b; }
.ort-star--empty { color: #d1d5db; }
.ort-star--partial {
  color:    #d1d5db;
  position: relative;
}
.ort-star--partial::before {
  content:   '★';
  color:     #f59e0b;
  position:  absolute;
  left:      0;
  top:       0;
  width:     var(--pct, 60%);
  overflow:  hidden;
  display:   block;
}
.ort-star-number {
  font-size:   .95rem;
  font-weight: 700;
  color:       var(--color-heading);
  margin-left: .25rem;
}

/* Meta bar */
.ort-article__meta {
  display:     flex;
  flex-wrap:   wrap;
  align-items: center;
  gap:         .6rem 1rem;
  font-size:   .82rem;
  color:       var(--color-text-light);
}
.ort-meta-item {
  display:     inline-flex;
  align-items: center;
  gap:         .3rem;
}
.ort-meta-item svg { flex-shrink: 0; opacity: .7; }

/* Hero image */
.ort-article__hero-image {
  margin:        1.5rem 0;
  border-radius: var(--radius-lg);
  overflow:      hidden;
  aspect-ratio:  16/7;
}
.ort-article__hero-image img {
  width:      100%;
  height:     100%;
  object-fit: cover;
}

/* ═══════════ QUICK SUMMARY ═══════════ */
.ort-summary {
  background:    var(--color-primary-light);
  border-left:   4px solid var(--color-primary);
  border-radius: var(--radius-md);
  padding:       1.25rem 1.5rem;
  margin:        1.5rem 0;
}
.ort-summary__header {
  display:       flex;
  align-items:   center;
  gap:           .75rem;
  margin-bottom: .75rem;
  flex-wrap:     wrap;
}
.ort-summary__label {
  font-weight:   700;
  font-size:     .85rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color:         var(--color-primary-dark);
}
.ort-summary__verdict {
  font-size:   .78rem;
  font-weight: 700;
  padding:     .2rem .65rem;
  border-radius: 20px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ort-summary__verdict--positive { background: var(--color-success-light); color: var(--color-success); }
.ort-summary__verdict--neutral  { background: var(--color-warning-light); color: var(--color-warning); }
.ort-summary__verdict--caution  { background: var(--color-danger-light);  color: var(--color-danger);  }
.ort-summary__text { font-size: .95rem; color: var(--color-text); margin: 0; }

/* ═══════════ TABLE OF CONTENTS ═══════════ */
.ort-toc {
  background:    var(--color-bg-light);
  border:        1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding:       1.25rem 1.5rem;
  margin:        2rem 0;
  font-size:     .9rem;
}
.ort-toc__header {
  display:       flex;
  align-items:   center;
  gap:           .5rem;
  margin-bottom: .75rem;
  font-size:     .9rem;
}
.ort-toc__icon { font-size: 1rem; }
.ort-toc__toggle {
  margin-left:  auto;
  background:   none;
  border:       none;
  cursor:       pointer;
  font-size:    1.2rem;
  color:        var(--color-neutral);
  line-height:  1;
  padding:      0 .25rem;
}
.ort-toc__list {
  padding-left: 1.4rem;
  margin:       0;
  column-count: 1;
}
.ort-toc__list li { padding: .2rem 0; }
.ort-toc__list a { color: var(--color-text); font-size: .88rem; }
.ort-toc__list a:hover { color: var(--color-primary); }
.ort-toc__sub { padding-left: 1rem !important; font-size: .85rem !important; }
.ort-toc--collapsed .ort-toc__list { display: none; }

/* ═══════════ ARTICLE CONTENT TYPOGRAPHY ═══════════ */
.ort-article__content-col {
  max-width:    var(--width-content);
  margin:       0 auto;
}
.ort-article__content-col h2 {
  font-size:     1.55rem;
  font-weight:   800;
  color:         var(--color-heading);
  letter-spacing: -.02em;
  margin:        2.5rem 0 .75rem;
  padding-top:   .5rem;
  border-top:    3px solid var(--color-primary);
  padding-top:   1rem;
  scroll-margin-top: calc(var(--header-h) + 1rem);
}
.ort-article__content-col h3 {
  font-size:   1.2rem;
  font-weight: 700;
  color:       var(--color-heading);
  margin:      2rem 0 .6rem;
  scroll-margin-top: calc(var(--header-h) + 1rem);
}
.ort-article__content-col h4 {
  font-size:   1.05rem;
  font-weight: 700;
  margin:      1.5rem 0 .5rem;
}
.ort-article__content-col p { margin: 0 0 1.25rem; }
.ort-article__content-col ul,
.ort-article__content-col ol { margin: .5rem 0 1.25rem; }
.ort-article__content-col li { margin-bottom: .35rem; }
.ort-article__content-col strong { font-weight: 700; color: var(--color-heading); }
.ort-article__content-col blockquote {
  border-left:  4px solid var(--color-primary);
  padding:      .75rem 1.25rem;
  margin:       1.5rem 0;
  background:   var(--color-primary-light);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  font-style:   italic;
}

/* ═══════════ OMEGA SCORE & COVERAGE BLOCKS ═══════════ */
.omega-score-section {
  margin: 2rem 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.omega-score-section h3 {
  margin: 0;
  padding: .75rem 1rem;
  font-size: .9rem;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  background: var(--color-bg-light);
  border-bottom: 1px solid var(--color-border);
  color: var(--color-heading);
}
.omega-score-section table { margin: 0; box-shadow: none; border-radius: 0; }

.omega-coverage-box {
  background: var(--color-success-light);
  border: 1px solid #86efac;
  border-left: 4px solid var(--color-success);
  border-radius: var(--radius-md);
  padding: 1rem 1.25rem;
  margin: 1.5rem 0;
}
.omega-coverage-box strong {
  display: block;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--color-success);
  margin-bottom: .6rem;
}
.omega-coverage-box ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .25rem .5rem;
  padding: 0;
  list-style: none;
  margin: 0;
}
.omega-coverage-box li {
  font-size: .88rem;
  color: var(--color-text);
  padding: 0;
}
.omega-coverage-box li::before { content: "✓ "; color: var(--color-success); font-weight: 700; }

/* omega-ingredients-table shares the same base style */
.omega-ingredients-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: .9rem;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.omega-ingredients-table thead { background: var(--color-success); color: #fff; }
.omega-ingredients-table th { padding: .7rem 1rem; font-size: .82rem; font-weight: 600; text-align: left; }
.omega-ingredients-table td { padding: .65rem 1rem; border-bottom: 1px solid var(--color-border); vertical-align: top; }
.omega-ingredients-table tr:last-child td { border-bottom: none; }
.omega-ingredients-table tbody tr:nth-child(even) { background: var(--color-success-light); }
.omega-ingredients-table tbody tr:hover { background: #bbf7d0; }

/* omega-pros-cons table */
.omega-pros-cons {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: .9rem;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.omega-pros-cons thead { background: var(--color-heading); color: #fff; }
.omega-pros-cons th { padding: .7rem 1rem; font-size: .82rem; font-weight: 600; text-align: left; }
.omega-pros-cons td { padding: .85rem 1rem; vertical-align: top; border-bottom: 1px solid var(--color-border); width: 50%; }
.omega-pros-cons tr:last-child td { border-bottom: none; }
.omega-pros-cons td:first-child { color: var(--color-success); }
.omega-pros-cons td:last-child  { color: var(--color-danger); }

@media (max-width: 540px) {
  .omega-coverage-box ul { grid-template-columns: 1fr; }
}

/* ═══════════ OMEGA PLUGIN TABLES ═══════════ */
.omega-evidence-table,
.omega-timeline-table,
.omega-value-table,
.omega-transparency-table,
.omega-comparison-table {
  width:            100%;
  border-collapse:  collapse;
  margin:           1.5rem 0;
  font-size:        .9rem;
  border-radius:    var(--radius-md);
  overflow:         hidden;
  box-shadow:       var(--shadow-sm);
}

/* Per-table header colors */
.omega-evidence-table     thead { background: var(--color-primary);      color: #fff; }
.omega-timeline-table     thead { background: var(--color-success);      color: #fff; }
.omega-value-table        thead { background: #92400e;                   color: #fff; }
.omega-transparency-table thead { background: #374151;                   color: #fff; }
.omega-comparison-table   thead { background: var(--color-heading);      color: #fff; }

.omega-evidence-table th,
.omega-timeline-table th,
.omega-value-table th,
.omega-transparency-table th,
.omega-comparison-table th {
  padding:     .7rem 1rem;
  font-size:   .82rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align:  left;
}
.omega-evidence-table td,
.omega-timeline-table td,
.omega-value-table td,
.omega-transparency-table td,
.omega-comparison-table td {
  padding:     .65rem 1rem;
  border-bottom: 1px solid var(--color-border);
  color:       var(--color-text);
  vertical-align: top;
}
.omega-evidence-table tr:last-child td,
.omega-timeline-table tr:last-child td,
.omega-value-table tr:last-child td,
.omega-transparency-table tr:last-child td,
.omega-comparison-table tr:last-child td { border-bottom: none; }

.omega-evidence-table     tbody tr:nth-child(even) { background: var(--color-primary-light); }
.omega-timeline-table     tbody tr:nth-child(even) { background: var(--color-success-light); }
.omega-value-table        tbody tr:nth-child(even) { background: #fef3c7; }
.omega-transparency-table tbody tr:nth-child(even) { background: var(--color-neutral-light); }
.omega-comparison-table   tbody tr:nth-child(even) { background: var(--color-bg-light); }

.omega-evidence-table     tbody tr:hover { background: #bfdbfe; }
.omega-timeline-table     tbody tr:hover { background: #bbf7d0; }
.omega-value-table        tbody tr:hover { background: #fde68a; }
.omega-transparency-table tbody tr:hover { background: #e2e8f0; }
.omega-comparison-table   tbody tr:hover { background: #e2e8f0; }

/* ── OMEGA CTA Button ── */
.omega-cta-btn,
a.omega-cta-btn {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  gap:             .5rem;
  padding:         .85rem 2rem;
  font-size:       1rem;
  font-weight:     700;
  color:           #fff !important;
  background:      var(--color-success);
  border:          none;
  border-radius:   var(--radius-md);
  cursor:          pointer;
  text-decoration: none !important;
  transition:      background .18s, transform .12s, box-shadow .18s;
  box-shadow:      0 4px 14px rgba(21,128,61,.3);
  letter-spacing:  .01em;
}
.omega-cta-btn:hover { background: #166534; transform: translateY(-1px); box-shadow: 0 6px 20px rgba(21,128,61,.4); }
.omega-cta-btn:active { transform: translateY(0); }

/* ── OMEGA General Sections (plugin generates these classes) ── */
.omega-ingredients-section,
.omega-pros-cons,
.omega-verdict {
  background:    var(--color-bg-light);
  border-radius: var(--radius-lg);
  padding:       1.5rem;
  margin:        2rem 0;
  border:        1px solid var(--color-border);
}
.omega-verdict { border-left: 4px solid var(--color-primary); }

/* ═══════════ BOTTOM CTA ═══════════ */
.ort-bottom-cta {
  background:    linear-gradient(135deg, #0f172a 0%, #1e3a5f 100%);
  border-radius: var(--radius-xl);
  padding:       2.5rem 2rem;
  text-align:    center;
  margin:        3rem 0 2rem;
  color:         #fff;
}
.ort-bottom-cta__headline {
  font-size:     1.5rem;
  font-weight:   800;
  margin-bottom: .75rem;
  color:         #fff;
}
.ort-bottom-cta__stars { margin-bottom: 1rem; }
.ort-bottom-cta__stars .ort-stars { font-size: 1.6rem; }
.ort-bottom-cta__stars .ort-star-number { color: #fff; font-size: 1.1rem; }
.ort-bottom-cta__note {
  font-size:     .85rem;
  color:         #94a3b8;
  margin:        .75rem 0 1.5rem;
}

/* ═══════════ AUTHOR BOX ═══════════ */
.ort-author-box {
  display:       flex;
  gap:           1.25rem;
  background:    var(--color-bg-light);
  border:        1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding:       1.5rem;
  margin:        2.5rem 0;
}
.ort-author-box__img {
  border-radius: 50%;
  width:         72px !important;
  height:        72px !important;
  object-fit:    cover;
  flex-shrink:   0;
}
.ort-author-box__name { font-size: .85rem; color: var(--color-text-muted); margin-bottom: .3rem; }
.ort-author-box__bio  { font-size: .9rem; color: var(--color-text-light); margin: 0; }

/* ═══════════ DISCLAIMERS ═══════════ */
.ort-disclaimers {
  font-size:   .8rem;
  color:       var(--color-text-muted);
  line-height: 1.6;
  border-top:  1px solid var(--color-border);
  padding-top: 1.5rem;
  margin-top:  2rem;
}
.ort-disclaimers p { margin-bottom: .75rem; }

/* ═══════════ QUALITY GRADE BADGE ═══════════ */
.ort-grade {
  display:       inline-block;
  font-size:     .72rem;
  font-weight:   700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding:       .2rem .65rem;
  border-radius: 4px;
}
.ort-grade--a { background: var(--color-success-light); color: var(--color-success); }
.ort-grade--b { background: var(--color-primary-light); color: var(--color-primary); }
.ort-grade--c { background: var(--color-warning-light); color: var(--color-warning); }
.ort-grade--d { background: var(--color-danger-light);  color: var(--color-danger);  }

/* ═══════════ RELATED REVIEWS ═══════════ */
.ort-related {
  border-top: 1px solid var(--color-border);
  padding-top: 3rem;
  margin-top:  1rem;
}
.ort-related__inner {
  max-width:   var(--width-wide);
  margin:      0 auto;
}
.ort-related__title {
  font-size:     1.4rem;
  font-weight:   800;
  margin-bottom: 1.5rem;
  color:         var(--color-heading);
}
.ort-related__grid {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   1.5rem;
}

/* Review cards */
.ort-card {
  background:    var(--color-bg-card);
  border:        1px solid var(--color-border);
  border-radius: var(--radius-lg);
  overflow:      hidden;
  transition:    box-shadow .2s, transform .2s;
}
.ort-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.ort-card__img-wrap img {
  width:       100%;
  aspect-ratio: 3/2;
  object-fit:  cover;
}
.ort-card__body { padding: 1rem 1.25rem 1.25rem; }
.ort-card__stars { margin-bottom: .5rem; font-size: 1rem; display: flex; align-items: center; gap: .35rem; }
.ort-card__rating-num { font-size: .82rem; font-weight: 700; color: var(--color-heading); }
.ort-card__title { font-size: 1rem; font-weight: 700; line-height: 1.3; margin-bottom: .5rem; }
.ort-card__title a { color: var(--color-heading); }
.ort-card__title a:hover { color: var(--color-primary); text-decoration: none; }
.ort-card__excerpt { font-size: .85rem; color: var(--color-text-light); margin-bottom: .75rem; }
.ort-card__link {
  font-size:   .85rem;
  font-weight: 700;
  color:       var(--color-primary);
}

/* ═══════════ ARCHIVE / INDEX ═══════════ */
.ort-archive__header {
  padding:    2rem 0 1.5rem;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 2rem;
}
.ort-archive__title {
  font-size:    2rem;
  font-weight:  800;
  color:        var(--color-heading);
  margin-bottom: .5rem;
}
.ort-archive__description { color: var(--color-text-light); }
.ort-posts-grid {
  display:               grid;
  grid-template-columns: repeat(2, 1fr);
  gap:                   1.5rem;
}

/* ═══════════ MOBILE STICKY CTA ═══════════ */
.ort-sticky-cta {
  display:    none;
  position:   fixed;
  bottom:     0;
  left:       0;
  right:      0;
  background: #fff;
  border-top: 1px solid var(--color-border);
  padding:    .75rem 1rem;
  z-index:    200;
  box-shadow: 0 -4px 16px rgba(0,0,0,.1);
}
.ort-sticky-cta__inner {
  display:       flex;
  align-items:   center;
  gap:           .75rem;
  max-width:     var(--width-wide);
  margin:        0 auto;
}
.ort-sticky-cta__stars .ort-stars { font-size: 1rem; }
.ort-sticky-cta__label {
  flex:        1;
  font-size:   .85rem;
  font-weight: 600;
  color:       var(--color-heading);
  overflow:    hidden;
  text-overflow: ellipsis;
  white-space:   nowrap;
}
.ort-sticky-cta__btn {
  flex-shrink: 0;
  padding:     .6rem 1.25rem;
  background:  var(--color-success);
  color:       #fff !important;
  border-radius: var(--radius-md);
  font-size:   .88rem;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none !important;
}
.ort-sticky-cta__btn:hover { background: #166534; }

/* ═══════════ PAGINATION ═══════════ */
.ort-pagination ul { display: flex; gap: .5rem; list-style: none; padding: 0; margin: 2.5rem 0; justify-content: center; flex-wrap: wrap; }
.ort-pagination a, .ort-pagination .page-numbers {
  display:       flex;
  align-items:   center;
  justify-content: center;
  width:         38px;
  height:        38px;
  border:        1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-size:     .9rem;
  font-weight:   600;
  color:         var(--color-text);
  transition:    background .15s;
}
.ort-pagination .current { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
.ort-pagination a:hover { background: var(--color-neutral-light); text-decoration: none; }

/* ═══════════ FOOTER ═══════════ */
.ort-footer {
  background:  #0f172a;
  color:       #94a3b8;
  padding:     3rem 0 2rem;
  margin-top:  4rem;
}
.ort-footer__inner {
  max-width:   var(--width-wide);
  margin:      0 auto;
  padding:     0 1.5rem;
  display:     grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap:         2.5rem;
}
.ort-footer__brand strong { display: block; color: #fff; font-size: 1.1rem; margin-bottom: .5rem; }
.ort-footer__brand p { font-size: .85rem; line-height: 1.6; }

.ort-footer__list { list-style: none; padding: 0; margin: 0; }
.ort-footer__list a { color: #94a3b8; font-size: .875rem; display: block; padding: .25rem 0; }
.ort-footer__list a:hover { color: #fff; text-decoration: none; }

.ort-footer__disclaimer,
.ort-footer__affiliate { font-size: .78rem; line-height: 1.65; margin-bottom: .75rem; }
.ort-footer__copy { font-size: .78rem; margin-top: 1rem; border-top: 1px solid #1e293b; padding-top: 1rem; }

/* ═══════════ RESPONSIVE ═══════════ */
@media (max-width: 900px) {
  .ort-related__grid { grid-template-columns: repeat(2, 1fr); }
  .ort-footer__inner { grid-template-columns: 1fr 1fr; }
  .ort-footer__legal { grid-column: 1 / -1; }
  .ort-header__search { display: none; }
  .ort-posts-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  :root { --size-base: 16px; }

  .ort-header__inner { padding: 0 1rem; }
  .ort-nav__toggle {
    display:       flex;
    flex-direction: column;
    gap:           5px;
    background:    none;
    border:        none;
    cursor:        pointer;
    padding:       .35rem;
    margin-left:   auto;
  }
  .ort-nav__toggle span {
    display:    block;
    width:      22px;
    height:     2px;
    background: var(--color-text);
    border-radius: 2px;
    transition: .25s;
  }
  .ort-nav {
    display:    none;
    position:   absolute;
    top:        var(--header-h);
    left:       0;
    right:      0;
    background: #fff;
    border-bottom: 1px solid var(--color-border);
    padding:    1rem;
    box-shadow: var(--shadow-md);
    z-index:    99;
  }
  .ort-nav.is-open { display: block; }
  .ort-nav__list { flex-direction: column; }
  .ort-nav__list a { font-size: 1rem; padding: .6rem .75rem; }

  .ort-wrap { padding: 0 1rem; }
  .ort-article__title { font-size: 1.6rem; }
  .ort-related__grid  { grid-template-columns: 1fr; }
  .ort-footer__inner  { grid-template-columns: 1fr; gap: 1.5rem; }
  .ort-author-box { flex-direction: column; }
  .ort-bottom-cta { padding: 1.75rem 1.25rem; }
  .ort-bottom-cta__headline { font-size: 1.2rem; }

  /* Show sticky CTA on mobile */
  .is-review .ort-sticky-cta { display: flex; }
  .is-review { padding-bottom: 70px; }

  /* Tables: horizontal scroll on mobile */
  .omega-evidence-table,
  .omega-timeline-table,
  .omega-value-table,
  .omega-transparency-table,
  .omega-comparison-table {
    display:          block;
    overflow-x:       auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* ═══════════ PRINT ═══════════ */
@media print {
  .ort-header, .ort-sticky-cta, .ort-related, .ort-footer, #ort-progress { display: none !important; }
  body { font-size: 12pt; color: #000; }
  .ort-article__title { font-size: 22pt; }
  a[href]::after { content: ' (' attr(href) ')'; font-size: 9pt; color: #666; }
}
