/* Shared, persistent dark/light theme for the blog index and every blog post. */
body.oj-blog-page {
  --brand-bg: #101827;
  --brand-bg-alt: #151f30;
  --brand-text: #e8edf5;
  --brand-text-light: #bac6d6;
  --brand-white: #1b2739;
  --brand-shadow: 0 4px 24px rgba(0,0,0,.2);
  --brand-shadow-hover: 0 12px 40px rgba(0,0,0,.32);
  color: var(--brand-text);
  background: var(--brand-bg);
  color-scheme: dark;
}

html.oj-blog-light body.oj-blog-page {
  --brand-bg: #f4f6f9;
  --brand-bg-alt: #eef0f5;
  --brand-text: #2d3436;
  --brand-text-light: #636e72;
  --brand-white: #fff;
  --brand-shadow: 0 4px 24px rgba(0,0,0,.08);
  --brand-shadow-hover: 0 12px 40px rgba(0,0,0,.14);
  color-scheme: light;
}

body.oj-blog-page .site-header {
  background: rgba(13,20,34,.96);
  border-bottom-color: rgba(255,255,255,.1);
}
body.oj-blog-page .site-header .nav-link { color: var(--brand-text); }
body.oj-blog-page .site-header .nav-link:hover,
body.oj-blog-page .site-header .nav-link:focus,
body.oj-blog-page .site-header .nav-link.active { color: var(--brand-gold-light); }
body.oj-blog-page .site-header .navbar-toggler-icon { filter: invert(1); }
body.oj-blog-page .section-title,
body.oj-blog-page .section-heading-wrap h2,
body.oj-blog-page .price-card h2,
body.oj-blog-page .location-card h3,
body.oj-blog-page .service-card h3,
body.oj-blog-page .location-authority-card h3 { color: var(--brand-text); }
body.oj-blog-page .soft-panel,
body.oj-blog-page .card-premium,
body.oj-blog-page .location-authority-card,
body.oj-blog-page .price-card { border-color: rgba(255,255,255,.1); }
body.oj-blog-page .soft-panel { color: var(--brand-text); }
body.oj-blog-page .text-dark { color: var(--brand-text) !important; }
body.oj-blog-page .text-muted { color: var(--brand-text-light) !important; }
body.oj-blog-page a:not(.btn):not(.navbar-brand) { color: #ff8992; }
body.oj-blog-page a:not(.btn):not(.navbar-brand):hover { color: #ffb0b6; }
body.oj-blog-page .site-header a:not(.btn):not(.navbar-brand) { color: var(--brand-text); }
body.oj-blog-page .site-header a:not(.btn):not(.navbar-brand):hover { color: var(--brand-gold-light); }
body.oj-blog-page .blog-photo { background: var(--brand-bg-alt); }
body.oj-blog-page .site-header .navbar-collapse { border-color: rgba(255,255,255,.12); }
body.oj-blog-page .soft-panel[style*="#fdecea"] { background: var(--brand-bg-alt) !important; border-color: rgba(248,113,113,.35) !important; }
body.oj-blog-page .soft-panel[style*="#fdecea"] i[style*="#b71c1c"] { color: #ff8992 !important; }
body.oj-blog-page .price-card span[style*="background:#fff7e6"] { color: #ffe2a6 !important; background: #352f25 !important; border-color: #6b5734 !important; }
body.oj-blog-page .price-card span[style*="background:#fef3c7"] { color: #ffe2a6 !important; background: #352f25 !important; border-color: #6b5734 !important; }
body.oj-blog-page .table {
  --bs-table-color: var(--brand-text);
  --bs-table-bg: var(--brand-white);
  --bs-table-border-color: rgba(255,255,255,.14);
  --bs-table-striped-bg: var(--brand-bg-alt);
  --bs-table-striped-color: var(--brand-text);
}
body.oj-blog-page .table-responsive { color: var(--brand-text); }

html.oj-blog-light body.oj-blog-page .site-header {
  background: rgba(255,255,255,.92);
  border-bottom-color: rgba(0,0,0,.06);
}
html.oj-blog-light body.oj-blog-page .site-header .nav-link { color: var(--brand-text); }
html.oj-blog-light body.oj-blog-page .site-header .nav-link:hover,
html.oj-blog-light body.oj-blog-page .site-header .nav-link:focus,
html.oj-blog-light body.oj-blog-page .site-header .nav-link.active { color: var(--brand-gold); }
html.oj-blog-light body.oj-blog-page .site-header .navbar-toggler-icon { filter: none; }
html.oj-blog-light body.oj-blog-page .soft-panel,
html.oj-blog-light body.oj-blog-page .card-premium,
html.oj-blog-light body.oj-blog-page .location-authority-card,
html.oj-blog-light body.oj-blog-page .price-card { border-color: rgba(0,0,0,.06); }
html.oj-blog-light body.oj-blog-page a:not(.btn):not(.navbar-brand) { color: #a51d2d; }
html.oj-blog-light body.oj-blog-page a:not(.btn):not(.navbar-brand):hover { color: #731623; }
html.oj-blog-light body.oj-blog-page .site-header a:not(.btn):not(.navbar-brand) { color: var(--brand-text); }
html.oj-blog-light body.oj-blog-page .site-header a:not(.btn):not(.navbar-brand):hover { color: var(--brand-gold); }
html.oj-blog-light body.oj-blog-page .table {
  --bs-table-border-color: rgba(0,0,0,.1);
  --bs-table-striped-bg: #f2f4f7;
  --bs-table-striped-color: var(--brand-text);
}

.oj-blog-theme-control { position: fixed; right: 18px; bottom: 18px; z-index: 1048; }
.oj-blog-theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 46px;
  padding: 7px 13px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: #1b2739;
  color: #e8edf5;
  box-shadow: 0 5px 20px rgba(0,0,0,.28);
  font: 700 .76rem/1 system-ui, sans-serif;
  cursor: pointer;
}
.oj-blog-theme-toggle:focus-visible { outline: 3px solid var(--brand-gold-light); outline-offset: 3px; }
.oj-blog-theme-track { position: relative; display: inline-block; width: 34px; height: 19px; border-radius: 999px; background: #475569; transition: background .2s ease; }
.oj-blog-theme-track > span { position: absolute; top: 3px; left: 3px; width: 13px; height: 13px; border-radius: 50%; background: #fff; transition: transform .2s ease; }
html.oj-blog-light .oj-blog-theme-toggle { border-color: rgba(15,23,42,.14); background: #fff; color: #263142; box-shadow: 0 5px 20px rgba(15,23,42,.15); }
html.oj-blog-light .oj-blog-theme-track { background: #b5bfcd; }
html.oj-blog-light .oj-blog-theme-track > span { transform: translateX(15px); background: #fff; }

@media (max-width: 575.98px) {
  .oj-blog-theme-control { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); }
  .oj-blog-theme-toggle { min-height: 42px; gap: 7px; padding: 6px 11px; }
}
