/* Solum Solutions · Light / Dark
   The original stylesheet remains the source of the existing dark design.
   This file adds the shared control and a complete light palette. */
:root {
  --solum-toggle-bg: #15140f;
  --solum-toggle-text: #f1d68b;
  --solum-toggle-border: #d6ad4f4d;
  --solum-focus: #d6ad4f;
}
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] {
  color-scheme: light;
  --color-ink: #ffffff;
  --color-ink-2: #faf8f3;
  --color-ink-3: #ffffff;
  --color-white: #25271f;
  --color-line: #dedbd1;
  --color-cream: #24251e;
  --color-muted: #68665d;
  --color-brand: #946b1c;
  --color-brand-2: #765212;
  --color-glow: #8d6315;
  --color-amber: #9b5b13;
  --color-mint: #287637;
  --color-rose: #bc3434;
  --color-sky: #946b1c;
  --color-slate-400: #666b72;
  --solum-tone-primary: #24251e;
  --solum-tone-body: #474940;
  --solum-tone-muted: #66665d;
  --solum-tone-gold: #896015;
  --solum-tone-success: #287637;
  --solum-tone-danger: #b62f35;
  --solum-neutral-rgb: 37, 39, 31;
  --solum-select-bg: #ffffff;
  --solum-toggle-bg: #ffffff;
  --solum-toggle-text: #805b18;
  --solum-toggle-border: #d6c69f;
  --solum-focus: #906518;
  background: #ffffff;
}
html[data-theme="light"] body { background: #ffffff; color: #34362e; }

/* Always visible next to the navigation actions, including on mobile. */
.solum-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 0 0 auto;
  min-width: 44px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--solum-toggle-border);
  border-radius: 999px;
  background: var(--solum-toggle-bg);
  color: var(--solum-toggle-text);
  font: 600 12px/1.2 "Inter", system-ui, sans-serif;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background-color .18s, border-color .18s, box-shadow .18s;
}
.solum-theme-toggle svg { flex-shrink: 0; }
.solum-theme-toggle:hover { border-color: #b58b39; box-shadow: 0 3px 14px #9c79331a; }
.solum-theme-toggle:focus-visible,
a:focus-visible, button:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid var(--solum-focus) !important;
  outline-offset: 4px;
}
.solum-theme-sun { display: none; }
html[data-theme="dark"] .solum-theme-sun { display: block; }
html[data-theme="dark"] .solum-theme-moon { display: none; }
.solum-nav-row { gap: 14px; }
.solum-nav-actions { flex-shrink: 0; }
/* Keep all seven links readable after adding the theme control. */
@media (min-width: 1180px) {
  .solum-desktop-links { display: flex; gap: 0; }
  .solum-desktop-links > a { padding-inline: 8px; font-size: 12px; white-space: nowrap; }
}
@media (max-width: 1179px) {
  .solum-desktop-links { display: none; }
  .solum-menu-button { display: flex; }
  .solum-mobile-menu { display: block; }
}
@media (min-width: 1180px) {
  .solum-menu-button, .solum-mobile-menu { display: none; }
}
@media (max-width: 639px) {
  .solum-nav-row { padding-inline: 12px; gap: 8px; }
  .solum-nav-row > a { gap: 9px; }
  .solum-nav-actions { gap: 6px; }
  .solum-nav-actions .solum-theme-toggle { width: 44px; padding: 0; }
  .solum-nav-actions .solum-theme-label { display: none; }
}
@media (max-width: 374px) {
  header.fixed { padding-inline: 8px; }
  .solum-nav-row > a > .solum-brandmark { width: 32px; height: 32px; }
  .solum-nav-row > a > div > div:first-child { font-size: 11px; letter-spacing: .1em; }
  .solum-nav-row > a > div > div:last-child { font-size: 7px; letter-spacing: .17em; }
}

/* Surfaces, cards and navigation. */
html[data-theme="light"] header nav {
  background: #fffffff2;
  border-color: #e8e1d1;
  box-shadow: 0 6px 26px -12px #51432333;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}
html[data-theme="light"] .card {
  background: linear-gradient(145deg, #ffffff, #fdfcf9);
  border-color: #dedbd1;
  box-shadow: 0 9px 32px -16px #5e51352b;
}
html[data-theme="light"] .card-hover:hover {
  border-color: #b9913e;
  box-shadow: 0 18px 46px -22px #8b6a3940;
}
html[data-theme="light"] .bg-black\/30,
html[data-theme="light"] .bg-black\/40 { background-color: #f5f3ee; }
html[data-theme="light"] .bg-black\/85 { background-color: #fffffff2; }
html[data-theme="light"] .shadow-black\/50,
html[data-theme="light"] .shadow-black\/60 { --tw-shadow-color: #5143231a; }
html[data-theme="light"] .btn-ghost {
  color: #373a30;
  background: #ffffff;
  border-color: #cfcabd;
  box-shadow: 0 2px 6px #51432308;
}
html[data-theme="light"] .btn-ghost:hover { background: #faf6eb; border-color: #aa802e; }
html[data-theme="light"] .btn-primary {
  background: linear-gradient(135deg, #f3db98, #d6ad4f 60%, #c39636);
  color: #241a06;
  box-shadow: 0 8px 24px -12px #b38229a6, inset 0 1px #ffffff99;
}
html[data-theme="light"] .btn-primary:hover { box-shadow: 0 10px 30px -12px #a87620a6; }
html[data-theme="light"] .badge { color: #815a15; background: #f7f1e2; border-color: #d9c592; }
html[data-theme="light"] .text-gradient {
  background-image: linear-gradient(110deg, #705018 0%, #a77b24 55%, #815515 100%);
}
/* Alpha text designed for black backgrounds needs an opaque readable light tone. */
html[data-theme="light"] :is(.text-white\/25,.text-white\/30,.text-white\/35,.text-white\/40,.text-white\/45,.text-white\/50,.text-white\/55) { color: #69695f; }
html[data-theme="light"] :is(.text-white\/60,.text-white\/70,.text-white\/75) { color: #53564c; }
html[data-theme="light"] :is(.text-white\/85,.text-white\/90) { color: #34372e; }
html[data-theme="light"] .bg-mint.text-black { color: #ffffff; }
html[data-theme="light"] .grid-bg {
  background-image: linear-gradient(#94702c0d 1px,transparent 1px),linear-gradient(90deg,#94702c0d 1px,transparent 1px);
}
html[data-theme="light"] .noise:before { opacity: .12; }
html[data-theme="light"] footer { background: #faf9f5; border-color: #dfdacf; }
html[data-theme="light"] ::selection { background: #e4c77266; color: #292b22; }
html[data-theme="light"] ::-webkit-scrollbar-track { background: #f8f6f0; }
html[data-theme="light"] ::-webkit-scrollbar-thumb { background: #c5b58e; border: 2px solid #f8f6f0; }
html[data-theme="light"] ::-webkit-scrollbar-thumb:hover { background: #a18a57; }
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder { color: #73756b; opacity: 1; }
html[data-theme="light"] input[type="checkbox"] { accent-color: #8d6315 !important; }
html[data-theme="light"] :is(input,select,textarea)[aria-invalid="true"] { border-color: #b62f35 !important; }

/* Theme-specific brandmarks are defined below. */

/* Legal pages use the same palette and persisted preference. */
.solum-legal .brand { flex-wrap: wrap; }
.solum-legal .brand .solum-theme-toggle { margin-left: auto; }
.solum-legal .brand .solum-theme-toggle span { color: inherit; font: inherit; letter-spacing: normal; text-transform: none; }
html[data-theme="light"] .solum-legal :is(h1,.brand b) { color: #24251e; }
html[data-theme="light"] .solum-legal :is(h2,a,.brand > div > span) { color: #896015; }
html[data-theme="light"] .solum-legal a:hover { color: #67460c; }
html[data-theme="light"] .solum-legal :is(p,li) { color: #53564c; }
html[data-theme="light"] .solum-legal .sub { color: #68665d; }
@media (max-width: 480px) {
  .solum-legal .wrap { padding: 28px 20px 56px; }
  .solum-legal .card { padding: 24px 20px; }
  .solum-legal .brand { gap: 8px; }
  .solum-legal .brand b { font-size: 12px; letter-spacing: .08em; }
  .solum-legal .brand > div > span { font-size: 7px; letter-spacing: .17em; }
  .solum-legal .brand .solum-theme-toggle { width: 44px; padding: 0; }
  .solum-legal .brand .solum-theme-label { display: none; }
  .solum-legal h1 { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .solum-theme-toggle { transition: none; }
}

/* Use the exact supplied logos. Only the round emblem is visible; the wordmark
   already present in the navigation and footer stays in its existing position.
   Both rings have equal scale and are centered independently of the source canvas. */
.solum-brandmark {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: 50%;
  line-height: 0;
  vertical-align: middle;
  isolation: isolate;
  background: #ffffff;
}
html[data-theme="dark"] .solum-brandmark { background: #000000; }
.solum-brandmark > img {
  position: absolute;
  display: block;
  max-width: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 0;
  pointer-events: none;
  user-select: none;
}
.solum-brandmark > .solum-brandmark-dark {
  width: 171.13169846%;
  height: 171.13169846%;
  left: -36.19255223%;
  top: -16.30517711%;
}
.solum-brandmark > .solum-brandmark-light {
  width: 157.82216142%;
  height: 157.82216142%;
  left: -28.78522572%;
  top: -10.97674419%;
}
.solum-brandmark > .solum-brandmark-dark { display: none; }
html[data-theme="dark"] .solum-brandmark > .solum-brandmark-light { display: none; }
html[data-theme="dark"] .solum-brandmark > .solum-brandmark-dark { display: block; }
.solum-legal .brand > .solum-brandmark { width: 40px; height: 40px; }

/* Long German headings remain readable on narrow screens. */
.solum-legal h1 { overflow-wrap: break-word; hyphens: auto; }
