/* Shared light/dark theme – public site (uses same html.dark / body.dark as courses) */

html {
  color-scheme: only light !important;
  forced-color-adjust: none;
  -webkit-forced-color-adjust: none;
}

:root {
  color-scheme: only light;
}

html.dark,
body.dark {
  color-scheme: only dark !important;
  forced-color-adjust: none;
  -webkit-forced-color-adjust: none;
}

/* Design tokens */
html.dark,
body.dark {
  --sj-brand: #60a5fa;
  --sj-brand-dark: #3b82f6;
  --sj-brand-light: #93c5fd;
  --sj-brand-gradient: linear-gradient(90deg, #1e3a8a 0%, #2563eb 100%);

  --sj-bg: #0f172a;
  --sj-bg-muted: #111827;
  --sj-bg-accent: #1e293b;

  --sj-surface: #1e293b;
  --sj-surface-elevated: #243044;
  --sj-border: #334155;
  --sj-border-soft: #1e3a5f;
  --sj-border-strong: #475569;

  --sj-text: #f1f5f9;
  --sj-text-heading: #e2e8f0;
  --sj-text-secondary: #94a3b8;
  --sj-text-muted: #64748b;
  --sj-text-inverse: #0f172a;

  --sj-warning-bg: #422006;
  --sj-warning-border: #92400e;
  --sj-danger-bg: #450a0a;

  --sj-shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.35);
  --sj-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
  --sj-shadow-lg: 0 12px 28px rgba(0, 0, 0, 0.45);

  /* Home page tokens */
  --text-dark: #f1f5f9;
  --text-muted: #94a3b8;
  --gold-100: #1e293b;
  --gold-200: #243044;
  --gold-300: #334155;
  --gold-400: #475569;
  --gold-border: #475569;
  --gold-shadow: rgba(0, 0, 0, 0.35);

  /* Shop tokens */
  --shop-bg: #0f172a;
  --shop-surface: #1e293b;
  --shop-surface-hover: #334155;
  --shop-border: #334155;
  --shop-text: #f1f5f9;
  --shop-text-secondary: #94a3b8;
  --shop-text-muted: #64748b;
  --shop-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.25);
  --shop-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  --shop-shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.4);
}

/* Header theme toggle */
.sj-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--hamburger-size, 44px);
  height: var(--hamburger-size, 44px);
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #1e293b;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0;
  transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.sj-theme-toggle:hover {
  background: #f1f5f9;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

.sj-theme-toggle:focus-visible {
  outline: 3px solid #2563eb;
  outline-offset: 2px;
}

.sj-theme-toggle__icon {
  display: inline-flex;
  width: 22px;
  height: 22px;
}

.sj-theme-toggle__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.sj-theme-toggle__icon--dark {
  display: none;
}

.sj-theme-toggle.is-dark .sj-theme-toggle__icon--light {
  display: none;
}

.sj-theme-toggle.is-dark .sj-theme-toggle__icon--dark {
  display: inline-flex;
}

html.dark .sj-theme-toggle,
body.dark .sj-theme-toggle {
  background: #1e293b;
  border-color: #334155;
  color: #f8fafc;
}

html.dark .sj-theme-toggle:hover,
body.dark .sj-theme-toggle:hover {
  background: #334155;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.hero--public .hero-topbar .sj-theme-toggle,
.hero--landing .hero-topbar .sj-theme-toggle {
  pointer-events: auto;
}

/* Sidepanel theme control */
.sidepanel-theme {
  margin-top: auto;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.sidepanel-theme-btn {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  border: none;
  border-radius: var(--nav-radius, 10px);
  background: rgba(255, 255, 255, 0.14);
  color: var(--nav-text, #fff);
  font: inherit;
  font-weight: 700;
  font-size: 1rem;
  padding: 0.65rem 0.75rem;
  cursor: pointer;
  text-align: left;
  transition: background 0.2s ease, transform 0.1s ease;
}

.sidepanel-theme-btn:hover {
  background: var(--nav-btn-hover, rgba(255, 255, 255, 0.25));
  transform: translateX(2px);
}

.sidepanel-theme-btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.sidepanel-theme-btn__icon {
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

.sidepanel-theme-btn__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Public topbar (undersidor + startsida) */
html.dark .hero--landing,
html.dark .hero--public,
body.dark .hero--landing,
body.dark .hero--public {
  background: #0f172a !important;
  background-image: none !important;
  --hero-bg-band: #0f172a;
  --hero-bg-body: #0f172a;
  box-shadow: none;
}

html.dark .hero--public .hero-topbar,
body.dark .hero--public .hero-topbar,
html.dark .hero--landing .hero-topbar,
body.dark .hero--landing .hero-topbar {
  background: #0f172a !important;
  border-bottom-color: #334155 !important;
}

html.dark .hero--public .hero-topbar .hero-brand,
body.dark .hero--public .hero-topbar .hero-brand,
html.dark .hero--landing .hero-topbar .hero-brand,
body.dark .hero--landing .hero-topbar .hero-brand {
  color: #f1f5f9;
}

html.dark .hero--public .hero-topbar .hero-brand-name,
body.dark .hero--public .hero-topbar .hero-brand-name,
html.dark .hero--landing .hero-topbar .hero-brand-name,
body.dark .hero--landing .hero-topbar .hero-brand-name {
  color: #f1f5f9;
}

html.dark .hero--public .hero-topbar .hero-brand-sub,
body.dark .hero--public .hero-topbar .hero-brand-sub,
html.dark .hero--landing .hero-topbar .hero-brand-sub,
body.dark .hero--landing .hero-topbar .hero-brand-sub {
  color: #94a3b8;
}

html.dark .hero--public .hero-topbar .hamburger,
body.dark .hero--public .hero-topbar .hamburger,
html.dark .hero--landing .hero-topbar .hamburger,
body.dark .hero--landing .hero-topbar .hamburger,
html.dark .hero--public .hero-topbar .sj-theme-toggle,
body.dark .hero--public .hero-topbar .sj-theme-toggle,
html.dark .hero--landing .hero-topbar .sj-theme-toggle,
body.dark .hero--landing .hero-topbar .sj-theme-toggle {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #f1f5f9 !important;
  box-shadow: none !important;
}

html.dark .hero--public .hero-topbar .hamburger .burger-lines,
html.dark .hero--public .hero-topbar .hamburger .burger-lines::before,
html.dark .hero--public .hero-topbar .hamburger .burger-lines::after,
body.dark .hero--public .hero-topbar .hamburger .burger-lines,
body.dark .hero--public .hero-topbar .hamburger .burger-lines::before,
body.dark .hero--public .hero-topbar .hamburger .burger-lines::after,
html.dark .hero--landing .hero-topbar .hamburger .burger-lines,
html.dark .hero--landing .hero-topbar .hamburger .burger-lines::before,
html.dark .hero--landing .hero-topbar .hamburger .burger-lines::after,
body.dark .hero--landing .hero-topbar .hamburger .burger-lines,
body.dark .hero--landing .hero-topbar .hamburger .burger-lines::before,
body.dark .hero--landing .hero-topbar .hamburger .burger-lines::after {
  background: #f1f5f9;
}

/* Prevent Samsung/Chrome forced dark mode from inverting UI when site is in light mode */
html:not(.dark),
html:not(.dark) body {
  forced-color-adjust: none !important;
  -webkit-forced-color-adjust: none !important;
}

html:not(.dark) .hero--public .hero-topbar .hamburger,
html:not(.dark) .hero--landing .hero-topbar .hamburger,
html:not(.dark) .hero--public .hero-topbar .sj-theme-toggle,
html:not(.dark) .hero--landing .hero-topbar .sj-theme-toggle {
  forced-color-adjust: none;
}

html:not(.dark) .hero--public .hero-topbar .hamburger .burger-lines,
html:not(.dark) .hero--public .hero-topbar .hamburger .burger-lines::before,
html:not(.dark) .hero--public .hero-topbar .hamburger .burger-lines::after,
html:not(.dark) .hero--landing .hero-topbar .hamburger .burger-lines,
html:not(.dark) .hero--landing .hero-topbar .hamburger .burger-lines::before,
html:not(.dark) .hero--landing .hero-topbar .hamburger .burger-lines::after {
  forced-color-adjust: none;
  background-color: #0f172a;
}

html.dark .hero--public .hero-cart-link,
body.dark .hero--public .hero-cart-link,
html.dark .hero--public .hero-topbar .hero-cart-link,
body.dark .hero--public .hero-topbar .hero-cart-link,
html.dark .hero--public .hero-topbar-end .hero-cart-link,
body.dark .hero--public .hero-topbar-end .hero-cart-link {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #f1f5f9 !important;
  box-shadow: none !important;
}

html.dark .hero--public .hero-cart-link:hover,
body.dark .hero--public .hero-cart-link:hover,
html.dark .hero--public .hero-topbar .hero-cart-link:hover,
body.dark .hero--public .hero-topbar .hero-cart-link:hover {
  background: #334155 !important;
}

/* Landing page body */
html.dark.page-home,
html.dark .page-home,
body.dark.page-home {
  background: #0b1220;
  color: #f1f5f9;
}

html.dark .page-home main,
body.dark .page-home main {
  background: #0b1220;
}

html.dark .hero--landing .hero-marketing,
body.dark .hero--landing .hero-marketing {
  background: linear-gradient(180deg, #0f172a 0%, #111827 100%);
  color: #f1f5f9;
}

html.dark .hero--landing .hero-eyebrow,
body.dark .hero--landing .hero-eyebrow {
  color: #93c5fd;
}

html.dark .hero--landing .hero-tagline,
html.dark .hero--landing .hero-trust,
body.dark .hero--landing .hero-tagline,
body.dark .hero--landing .hero-trust {
  color: #cbd5e1;
}

/* Home page sections */
html.dark .home-courses-showcase,
html.dark .home-key-pages,
html.dark .home-value,
html.dark .how-it-works,
html.dark .testimonials,
body.dark .home-courses-showcase,
body.dark .home-key-pages,
body.dark .home-value,
body.dark .how-it-works,
body.dark .testimonials {
  background: #0f172a;
  color: #e2e8f0;
}

html.dark .section-title,
html.dark .section-sub,
body.dark .section-title,
body.dark .section-sub {
  color: #f1f5f9;
}

html.dark .section-sub,
body.dark .section-sub {
  color: #94a3b8;
}

html.dark .home-course-card,
html.dark .home-key-page-card,
html.dark .home-value-card,
html.dark .how-step,
html.dark .value-card,
html.dark .step-card,
html.dark .testimonial,
html.dark .testimonial-card,
body.dark .home-course-card,
body.dark .home-key-page-card,
body.dark .home-value-card,
body.dark .how-step,
body.dark .value-card,
body.dark .step-card,
body.dark .testimonial,
body.dark .testimonial-card {
  background: #1e293b;
  border-color: #334155;
  color: #e2e8f0;
}

html.dark .home-courses-carousel-shell,
html.dark .home-courses-viewport,
body.dark .home-courses-carousel-shell,
body.dark .home-courses-viewport {
  background: transparent;
}

html.dark .hero-btn-secondary,
html.dark .hero-btn-ghost,
body.dark .hero-btn-secondary,
body.dark .hero-btn-ghost {
  border-color: rgba(148, 163, 184, 0.45);
  color: #e2e8f0;
}

html.dark .hero-btn-secondary:hover,
html.dark .hero-btn-ghost:hover,
body.dark .hero-btn-secondary:hover,
body.dark .hero-btn-ghost:hover {
  background: rgba(148, 163, 184, 0.12);
}

/* Forum */
html.dark,
body.dark {
  --text-primary: #f1f5f9;
  --text-secondary: #94a3b8;
  --text-heading: #e2e8f0;
  --bg-light: #111827;
  --bg-white: #1e293b;
  --bg-dark: #0f172a;
  --bg-darker: #1e293b;
  --surface-muted: #1e293b;
  --border-color: #334155;
  --border-strong: #475569;
}

html.dark .forum-card,
html.dark .forum-post,
html.dark .forum-sidebar-card,
html.dark .forum-filter-bar,
body.dark .forum-card,
body.dark .forum-post,
body.dark .forum-sidebar-card,
body.dark .forum-filter-bar {
  background: #1e293b;
  border-color: #334155;
}

/* Public inner pages */
html.dark .public-page-title,
body.dark .public-page-title {
  color: #f1f5f9;
}

html.dark .center-wrap,
html.dark main.center-wrap,
body.dark .center-wrap,
body.dark main.center-wrap {
  color: #e2e8f0;
}

html.dark .info-content,
html.dark .cookie-settings-wrap,
body.dark .info-content,
body.dark .cookie-settings-wrap {
  color: #cbd5e1;
}

/* Shop */
html.dark .shop-container,
html.dark .product-card,
html.dark .cart-item,
html.dark .cart-summary,
body.dark .shop-container,
body.dark .product-card,
body.dark .cart-item,
body.dark .cart-summary {
  background: #1e293b;
  border-color: #334155;
  color: #f1f5f9;
}

/* Auth */
html.dark .auth-card,
body.dark .auth-card {
  background: #1e293b;
  border-color: #334155;
  color: #f1f5f9;
}

html.dark .auth-card__lead,
body.dark .auth-card__lead {
  color: #94a3b8;
}

html.dark .auth-form input,
html.dark .auth-form select,
html.dark .auth-form textarea,
body.dark .auth-form input,
body.dark .auth-form select,
body.dark .auth-form textarea {
  background: #0f172a;
  border-color: #334155;
  color: #f1f5f9;
}

html.dark .auth-form input::placeholder,
body.dark .auth-form input::placeholder {
  color: #64748b;
}

/* Footer */
html.dark .site-faq,
html.dark .site-footer,
body.dark .site-faq,
body.dark .site-footer {
  background: #0f172a;
  border-color: #334155;
  color: #cbd5e1;
}

html.dark .site-faq-title,
html.dark .site-faq-item summary,
body.dark .site-faq-title,
body.dark .site-faq-item summary {
  color: #f1f5f9;
}

html.dark .site-faq-item,
body.dark .site-faq-item {
  background: #1e293b;
  border-color: #334155;
}

html.dark .site-footer a,
body.dark .site-footer a {
  color: #93c5fd;
}

/* Breadcrumbs */
html.dark .public-breadcrumbs,
html.dark .sj-breadcrumb,
html.dark .shop-breadcrumb,
html.dark .cart-breadcrumb,
body.dark .public-breadcrumbs,
body.dark .sj-breadcrumb,
body.dark .shop-breadcrumb,
body.dark .cart-breadcrumb {
  color: #94a3b8 !important;
  background: #0f172a !important;
  background-image: none !important;
  border-bottom-color: #334155 !important;
}

html.dark .public-breadcrumbs a,
html.dark .sj-breadcrumb a,
html.dark .shop-breadcrumb a,
html.dark .cart-breadcrumb a,
body.dark .public-breadcrumbs a,
body.dark .sj-breadcrumb a,
body.dark .shop-breadcrumb a,
body.dark .cart-breadcrumb a {
  color: #93c5fd !important;
}

html.dark .sj-breadcrumb__current,
html.dark .sj-breadcrumb [aria-current="page"],
html.dark .shop-breadcrumb [aria-current="page"],
html.dark .cart-breadcrumb [aria-current="page"],
body.dark .sj-breadcrumb__current,
body.dark .sj-breadcrumb [aria-current="page"],
body.dark .shop-breadcrumb [aria-current="page"],
body.dark .cart-breadcrumb [aria-current="page"] {
  color: #f1f5f9 !important;
}

.hero:not(.hero--landing):not(.hero--public) > .sj-theme-toggle {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  align-self: center;
  z-index: 2;
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.25);
  color: #fff;
}

.hero:not(.hero--landing):not(.hero--public) > .sj-theme-toggle:hover {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}

/* Generic cards & surfaces */
html.dark .card,
html.dark .modal-content,
body.dark .card,
body.dark .modal-content {
  background: #1e293b;
  border-color: #334155;
  color: #f1f5f9;
}

/* Protected auth pages */
html.dark .profile-container,
html.dark .page-container,
html.dark .messages-container,
html.dark .settings-page,
body.dark .profile-container,
body.dark .page-container,
body.dark .messages-container,
body.dark .settings-page {
  background: #0f172a;
  color: #e2e8f0;
}

html.dark .sidebar,
html.dark .settings-card,
html.dark .profile-card,
body.dark .sidebar,
body.dark .settings-card,
body.dark .profile-card {
  background: #1e293b;
  border-color: #334155;
  color: #e2e8f0;
}

/* =============================================================================
   Dark theme – comprehensive public site (hittavakten-style slate surfaces)
   ============================================================================= */

html.dark,
html.dark body,
body.dark {
  background: var(--sj-bg) !important;
  color: var(--sj-text) !important;
}

/* Section backgrounds */
html.dark .home-value,
html.dark .home-courses-showcase,
html.dark .home-key-pages,
html.dark .how-it-works,
html.dark .testimonials,
html.dark .site-faq,
html.dark .shop-page,
html.dark .center-wrap,
body.dark .home-value,
body.dark .home-courses-showcase,
body.dark .home-key-pages,
body.dark .how-it-works,
body.dark .testimonials,
body.dark .site-faq,
body.dark .shop-page,
body.dark .center-wrap {
  background: var(--sj-bg) !important;
  color: var(--sj-text);
  border-color: var(--sj-border);
}

html.dark .how-it-works,
body.dark .how-it-works {
  background: linear-gradient(180deg, #111827 0%, #0f172a 55%, #0f172a 100%) !important;
  border-bottom-color: #334155 !important;
}

html.dark .home-courses-showcase,
html.dark .home-key-pages,
body.dark .home-courses-showcase,
body.dark .home-key-pages {
  background: #111827 !important;
}

/* Section headings */
html.dark .home-value .section-title,
html.dark .how-it-works .section-title,
html.dark .how-it-works-lead,
html.dark .home-courses-showcase-header .section-title,
html.dark .testimonials-title,
html.dark .testimonials-eyebrow,
html.dark .public-page-title,
body.dark .home-value .section-title,
body.dark .how-it-works .section-title,
body.dark .how-it-works-lead,
body.dark .home-courses-showcase-header .section-title,
body.dark .testimonials-title,
body.dark .testimonials-eyebrow,
body.dark .public-page-title {
  color: #f1f5f9;
}

html.dark .home-value .section-sub,
html.dark .how-it-works .section-sub,
html.dark .home-courses-showcase-header .section-sub,
html.dark .home-courses-nav-hint,
html.dark .testimonials-lede,
html.dark .testimonials-score-meta,
body.dark .home-value .section-sub,
body.dark .how-it-works .section-sub,
body.dark .home-courses-showcase-header .section-sub,
body.dark .home-courses-nav-hint,
body.dark .testimonials-lede,
body.dark .testimonials-score-meta {
  color: #94a3b8;
}

html.dark .home-value-card h3,
html.dark .how-step h3,
html.dark .how-step p,
html.dark .home-value-card p,
body.dark .home-value-card h3,
body.dark .how-step h3,
body.dark .how-step p,
body.dark .home-value-card p {
  color: inherit;
}

html.dark .home-value-card,
body.dark .home-value-card {
  background: linear-gradient(180deg, #1e293b 0%, #172033 100%) !important;
  box-shadow: var(--sj-shadow);
}

html.dark .home-value-card:hover,
html.dark .how-step:hover,
body.dark .home-value-card:hover,
body.dark .how-step:hover {
  border-color: #475569 !important;
  box-shadow: var(--sj-shadow-lg);
}

html.dark .how-step,
body.dark .how-step {
  background: #1e293b !important;
  border-color: #334155 !important;
}

html.dark .how-steps::before,
body.dark .how-steps::before {
  background: linear-gradient(90deg, transparent, #475569, #475569, transparent) !important;
}

/* Hero marketing – mörkare blå gradient */
html.dark .hero--landing .hero-marketing,
body.dark .hero--landing .hero-marketing {
  background: linear-gradient(180deg, #172554 0%, #1e3a8a 48%, #1d4ed8 100%) !important;
  color: #f8fafc;
}

html.dark .hero-btn-primary,
body.dark .hero-btn-primary {
  background: #f8fafc !important;
  color: #1d4ed8 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

html.dark .hero-btn-secondary,
html.dark .hero-btn-ghost,
body.dark .hero-btn-secondary,
body.dark .hero-btn-ghost {
  border-color: rgba(248, 250, 252, 0.45) !important;
  color: #f8fafc !important;
}

html.dark .hero-btn-secondary:hover,
html.dark .hero-btn-ghost:hover,
body.dark .hero-btn-secondary:hover,
body.dark .hero-btn-ghost:hover {
  background: rgba(248, 250, 252, 0.12) !important;
}

/* Course carousel controls */
html.dark .home-courses-segments,
body.dark .home-courses-segments {
  background: #1e293b;
  border: 1px solid #334155;
}

html.dark .home-courses-segment,
html.dark .home-courses-nav-arrow,
body.dark .home-courses-segment,
body.dark .home-courses-nav-arrow {
  background: #243044 !important;
  border-color: #334155 !important;
  color: #e2e8f0 !important;
}

html.dark .home-courses-segment.is-active,
body.dark .home-courses-segment.is-active {
  background: #334155 !important;
  color: #f8fafc !important;
}

html.dark .home-courses-segment:hover,
html.dark .home-courses-nav-arrow:hover:not(:disabled),
body.dark .home-courses-segment:hover,
body.dark .home-courses-nav-arrow:hover:not(:disabled) {
  background: #334155 !important;
}

html.dark .home-courses-viewport,
body.dark .home-courses-viewport {
  background: transparent;
}

html.dark .home-course-spotlight .ov-cta-primary,
body.dark .home-course-spotlight .ov-cta-primary {
  background: #f8fafc !important;
  color: #1d4ed8 !important;
}

html.dark .home-course-spotlight .ov-cta-ghost,
body.dark .home-course-spotlight .ov-cta-ghost {
  border-color: rgba(248, 250, 252, 0.45) !important;
  color: #f8fafc !important;
}

html.dark .home-course-spotlight .ov-cta-ghost:hover,
body.dark .home-course-spotlight .ov-cta-ghost:hover {
  background: rgba(248, 250, 252, 0.1) !important;
}

/* Key pages links */
html.dark .home-key-pages-link,
body.dark .home-key-pages-link {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #93c5fd !important;
}

html.dark .home-key-pages-link:hover,
html.dark .home-key-pages-link:focus-visible,
body.dark .home-key-pages-link:hover,
body.dark .home-key-pages-link:focus-visible {
  background: #243044 !important;
  border-color: #475569 !important;
}

/* Testimonials */
html.dark .testimonials-score,
html.dark .testimonial-cta-card,
body.dark .testimonials-score,
body.dark .testimonial-cta-card {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #e2e8f0;
}

html.dark .testimonial-card,
body.dark .testimonial-card {
  background: #1e293b !important;
  border-color: #334155 !important;
}

html.dark .testimonial-card:hover,
body.dark .testimonial-card:hover {
  border-color: #475569 !important;
}

html.dark .testimonial-name,
html.dark .testimonial-cta-title,
html.dark .testimonials-empty-title,
body.dark .testimonial-name,
body.dark .testimonial-cta-title,
body.dark .testimonials-empty-title {
  color: #f1f5f9;
}

html.dark .testimonial-role,
html.dark .testimonial-quote p,
html.dark .testimonial-cta-text,
html.dark .testimonials-empty-text,
body.dark .testimonial-role,
body.dark .testimonial-quote p,
body.dark .testimonial-cta-text,
body.dark .testimonials-empty-text {
  color: #94a3b8;
}

html.dark .testimonials-carousel-arrow,
html.dark .testimonial-cta .btn-secondary,
body.dark .testimonials-carousel-arrow,
body.dark .testimonial-cta .btn-secondary {
  background: #243044 !important;
  border-color: #334155 !important;
  color: #e2e8f0 !important;
}

html.dark .testimonials-carousel-dot,
body.dark .testimonials-carousel-dot {
  background: #475569;
}

html.dark .testimonials-carousel-dot.is-active,
body.dark .testimonials-carousel-dot.is-active {
  background: #93c5fd;
}

/* Ordningsvakt sales blocks */
html.dark .ov-sales-hero,
html.dark .ov-section,
html.dark .ov-fact-card,
html.dark .ov-include-card,
html.dark .ov-steps li,
html.dark .ov-trust,
body.dark .ov-sales-hero,
body.dark .ov-section,
body.dark .ov-fact-card,
body.dark .ov-include-card,
body.dark .ov-steps li,
body.dark .ov-trust {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #e2e8f0;
}

html.dark .ov-sales-hero,
body.dark .ov-sales-hero {
  background: linear-gradient(135deg, #111827 0%, #0f172a 60%, #0f172a 100%) !important;
}

html.dark .ov-eyebrow,
body.dark .ov-eyebrow {
  background: #1e3a5f !important;
  color: #93c5fd !important;
}

html.dark .ov-sales-hero h1,
html.dark .ov-sales-hero h2,
html.dark .ov-section h2,
html.dark .ov-include-body h3,
html.dark .ov-steps h3,
html.dark .ov-fact-card .ov-fact-value,
html.dark .ov-price-row,
body.dark .ov-sales-hero h1,
body.dark .ov-sales-hero h2,
body.dark .ov-section h2,
body.dark .ov-include-body h3,
body.dark .ov-steps h3,
body.dark .ov-fact-card .ov-fact-value,
body.dark .ov-price-row {
  color: #f1f5f9;
}

html.dark .ov-sales-hero .lede,
html.dark .ov-section .sub,
html.dark .ov-include-body p,
html.dark .ov-steps p,
html.dark .ov-fact-card .ov-fact-label,
html.dark .ov-fact-card .ov-fact-desc,
html.dark .ov-price-row .meta,
body.dark .ov-sales-hero .lede,
body.dark .ov-section .sub,
body.dark .ov-include-body p,
body.dark .ov-steps p,
body.dark .ov-fact-card .ov-fact-label,
body.dark .ov-fact-card .ov-fact-desc,
body.dark .ov-price-row .meta {
  color: #94a3b8;
}

html.dark .ov-cta-ghost,
body.dark .ov-cta-ghost {
  background: transparent !important;
  border-color: #475569 !important;
  color: #e2e8f0 !important;
}

html.dark .ov-cta-ghost:hover,
body.dark .ov-cta-ghost:hover {
  background: #243044 !important;
}

html.dark .ov-trust p strong,
body.dark .ov-trust p strong {
  color: #f1f5f9;
}

html.dark .ov-trust p a,
body.dark .ov-trust p a {
  color: #93c5fd;
}

/* Shop / cart */
html.dark .shop-container,
html.dark .product-card,
html.dark .cart-item,
html.dark .cart-summary,
html.dark .cart-wrapper,
html.dark .product-detail,
html.dark .filter-bar,
html.dark .checkout-card,
body.dark .shop-container,
body.dark .product-card,
body.dark .cart-item,
body.dark .cart-summary,
body.dark .cart-wrapper,
body.dark .product-detail,
body.dark .filter-bar,
body.dark .checkout-card {
  background: var(--shop-surface) !important;
  border-color: var(--shop-border) !important;
  color: var(--shop-text) !important;
}

html.dark .btn-secondary,
html.dark .btn-shop.btn-secondary,
html.dark .btn-outline,
body.dark .btn-secondary,
body.dark .btn-shop.btn-secondary,
body.dark .btn-outline {
  background: #243044 !important;
  border-color: #475569 !important;
  color: #e2e8f0 !important;
}

html.dark .btn-secondary:hover,
html.dark .btn-shop.btn-secondary:hover,
body.dark .btn-secondary:hover,
body.dark .btn-shop.btn-secondary:hover {
  background: #334155 !important;
}

/* Info / legal pages */
html.dark .info-content,
html.dark .info-page,
html.dark .cookie-settings-wrap,
html.dark .legal-content,
body.dark .info-content,
body.dark .info-page,
body.dark .cookie-settings-wrap,
body.dark .legal-content {
  background: transparent;
  color: #cbd5e1;
}

html.dark .info-card,
html.dark .info-panel,
body.dark .info-card,
body.dark .info-panel {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #e2e8f0;
}

/* Footer chrome */
html.dark .site-faq-eyebrow,
body.dark .site-faq-eyebrow {
  color: #60a5fa;
}

html.dark .site-faq-item[open],
body.dark .site-faq-item[open] {
  border-color: #475569 !important;
  box-shadow: var(--sj-shadow);
}

html.dark .site-faq-item summary,
html.dark .site-footer,
html.dark .site-footer--expanded,
body.dark .site-faq-item summary,
body.dark .site-footer,
body.dark .site-footer--expanded {
  color: #e2e8f0;
}

html.dark .site-footer a,
body.dark .site-footer a {
  color: #93c5fd;
}

/* Mobile UI */
html.dark .mobile-bottom-nav,
html.dark .mobile-bottom-nav__bar,
body.dark .mobile-bottom-nav,
body.dark .mobile-bottom-nav__bar {
  background: #0f172a !important;
  border-color: #334155 !important;
}

html.dark .mobile-bottom-nav__item,
body.dark .mobile-bottom-nav__item {
  color: #94a3b8;
}

html.dark .mobile-bottom-nav__item.is-active,
body.dark .mobile-bottom-nav__item.is-active {
  color: #f1f5f9;
}

html.dark .mobile-bottom-nav__sheet,
html.dark .mobile-bottom-nav__sheet-panel,
body.dark .mobile-bottom-nav__sheet,
body.dark .mobile-bottom-nav__sheet-panel {
  background: #1e293b !important;
  color: #e2e8f0;
}

html.dark .preview-cart-fab,
html.dark .preview-cart-fab__panel,
body.dark .preview-cart-fab,
body.dark .preview-cart-fab__panel {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #e2e8f0;
}

/* Modals & forms */
html.dark .modal .modal-content,
body.dark .modal .modal-content {
  background: #1e293b !important;
  border: 1px solid #334155;
  color: #f1f5f9;
}

html.dark input,
html.dark select,
html.dark textarea,
body.dark input,
body.dark select,
body.dark textarea {
  background-color: #0f172a;
  border-color: #334155;
  color: #f1f5f9;
}

html.dark input::placeholder,
html.dark textarea::placeholder,
body.dark input::placeholder,
body.dark textarea::placeholder {
  color: #64748b;
}

html.dark label,
html.dark .form-hint,
body.dark label,
body.dark .form-hint {
  color: #cbd5e1;
}

/* Image lightbox */
html.dark .image-lightbox__dialog,
body.dark .image-lightbox__dialog {
  background: #1e293b !important;
}

/* Ordningsvakt carousel / preview on homepage */
html.dark .ov-carousel-section--home,
html.dark .ov-preview-card,
html.dark .ov-preview-option,
html.dark .ov-product-trust,
body.dark .ov-carousel-section--home,
body.dark .ov-preview-card,
body.dark .ov-preview-option,
body.dark .ov-product-trust {
  background: #1e293b !important;
  border-color: #334155 !important;
  color: #e2e8f0;
}

html.dark .ov-preview-intro,
html.dark .ov-preview-progress,
html.dark .ov-preview-question,
body.dark .ov-preview-intro,
body.dark .ov-preview-progress,
body.dark .ov-preview-question {
  color: #cbd5e1;
}

html.dark .ov-preview-option:hover:not(:disabled),
body.dark .ov-preview-option:hover:not(:disabled) {
  background: #243044 !important;
  border-color: #475569 !important;
}

html.dark .ov-preview-option .letter,
body.dark .ov-preview-option .letter {
  background: #334155;
  color: #f1f5f9;
}

html.dark .ov-product-trust p strong,
body.dark .ov-product-trust p strong {
  color: #f1f5f9;
}

html.dark .ov-product-trust p a,
html.dark .ov-product-trust .links a,
body.dark .ov-product-trust p a,
body.dark .ov-product-trust .links a {
  color: #93c5fd;
}

html.dark .ov-carousel-nav button,
html.dark .ov-carousel-dot,
body.dark .ov-carousel-nav button,
body.dark .ov-carousel-dot {
  background: #243044 !important;
  border-color: #334155 !important;
  color: #e2e8f0 !important;
}
