.theme-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
}

.theme-toggle {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 50%;
  place-items: center;
  color: #d7d7db;
  background: transparent;
  cursor: pointer;
  transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}

.theme-toggle svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.theme-toggle:hover {
  border-color: rgba(255, 255, 255, 0.48);
  color: #fff;
  background: rgba(255, 255, 255, 0.07);
}

.theme-toggle:focus-visible {
  outline: 2px solid var(--accent, #fff);
  outline-offset: 3px;
}

html[data-theme="light"] {
  color-scheme: light;
  --background: #f6f6f3;
  --surface: #ecece7;
  --surface-raised: #ffffff;
  --line: rgba(15, 15, 18, 0.18);
  --text: #151517;
  --muted: #62636a;
  background: var(--background);
}

html[data-theme="light"] body {
  background: var(--background);
  color: var(--text);
}

html[data-theme="light"] body.discover-page,
html[data-theme="light"] body.contact-page { --accent: #5a7300; }
html[data-theme="light"] body.funding-page { --blue: #3559c5; --green: #147754; --gold: #8d6200; }
html[data-theme="light"] body.playlists-page { --spotify: #087b35; }
html[data-theme="light"] body.records { --accent: #b63e18; }
html[data-theme="light"] body.marketing { --accent: #0879a8; }
html[data-theme="light"] body.privacy { --accent: #086b92; }
html[data-theme="light"] body.terms { --accent: #aa382f; }
html[data-theme="light"] body.cookies { --accent: #26723a; }
html[data-theme="light"] body.imprint { --accent: #876000; }
html[data-theme="light"] body.disclaimer { --accent: #81419d; }

html[data-theme="light"] body::before,
html[data-theme="light"] body::after { filter: invert(1); }
html[data-theme="light"] body::before { opacity: 0.16; }
html[data-theme="light"] body::after { opacity: 0.12; animation: none; }

html[data-theme="light"] .site-header {
  border-color: var(--line);
  background: rgba(246, 246, 243, 0.94);
}

html[data-theme="light"] .brand img { filter: none; }

html[data-theme="light"] .home-link,
html[data-theme="light"] .icon-link,
html[data-theme="light"] .theme-toggle { color: #35353a; }

html[data-theme="light"] .theme-toggle:hover,
html[data-theme="light"] .icon-link:hover {
  border-color: rgba(15, 15, 18, 0.4);
  color: #111;
  background: rgba(0, 0, 0, 0.055);
}

html[data-theme="light"] .home-link:hover,
html[data-theme="light"] .footer-links a:hover { color: #111; }

html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3 { color: var(--text); }

html[data-theme="light"] .intro-summary > p,
html[data-theme="light"] .hero-lead,
html[data-theme="light"] .definition-inner > p,
html[data-theme="light"] .option-description,
html[data-theme="light"] .process-heading > p,
html[data-theme="light"] .process-list p,
html[data-theme="light"] .catalog-cta p,
html[data-theme="light"] .service-description,
html[data-theme="light"] .intro-copy,
html[data-theme="light"] .coming-status { color: #505158; }

html[data-theme="light"] .services-heading p,
html[data-theme="light"] .service-number,
html[data-theme="light"] .option-number,
html[data-theme="light"] .footer-copy,
html[data-theme="light"] .footer-links,
html[data-theme="light"] .contact-details span,
html[data-theme="light"] .form-status { color: #66676e; }

html[data-theme="light"] .service-action-muted { color: #72737a; }
html[data-theme="light"] .service-card { background: var(--background); }
html[data-theme="light"] a.service-card:hover { background: #fff; }
html[data-theme="light"] .map-line { background: rgba(15, 15, 18, 0.28); }
html[data-theme="light"] .text-link { color: #36373c; }

html[data-theme="light"] .option-card {
  color: var(--text);
  background: #fff;
}

html[data-theme="light"] .option-card:hover { background: #f9f9f6; }
html[data-theme="light"] .form-panel { background: rgba(255, 255, 255, 0.9); }

html[data-theme="light"] label,
html[data-theme="light"] .contact-details a,
html[data-theme="light"] .contact-details p { color: #33343a; }

html[data-theme="light"] input,
html[data-theme="light"] textarea,
html[data-theme="light"] .custom-select-trigger {
  border-color: rgba(15, 15, 18, 0.26);
  background: rgba(0, 0, 0, 0.025);
  color: #111;
}

html[data-theme="light"] input:focus,
html[data-theme="light"] textarea:focus,
html[data-theme="light"] .custom-select-trigger:hover,
html[data-theme="light"] .custom-select.is-open .custom-select-trigger { background: #fff; }

html[data-theme="light"] .custom-select-menu {
  border-color: rgba(15, 15, 18, 0.24);
  background: #fff;
  box-shadow: 0 18px 45px rgba(25, 25, 28, 0.18);
}

html[data-theme="light"] .custom-select-menu button { color: #292a2f; }
html[data-theme="light"] .consent { color: #606168; }
html[data-theme="light"] .consent a { color: #111; }
html[data-theme="light"] .playlist-cover { border-color: rgba(15, 15, 18, 0.12); }

html[data-theme="light"] .player-dialog {
  border-color: rgba(15, 15, 18, 0.18);
  color: var(--text);
}

html[data-theme="light"] .dialog-close:hover {
  color: #111;
  background: rgba(0, 0, 0, 0.07);
}

html[data-theme="light"] .legal-nav,
html[data-theme="light"] .site-footer { background: var(--surface); }
html[data-theme="light"] .legal-nav a { color: #65666d; }
html[data-theme="light"] .legal-nav a[aria-current="page"] { color: #111; }
html[data-theme="light"] .hero-summary { color: #4f5057; }

html[data-theme="light"] .hero-meta,
html[data-theme="light"] .contents-title { color: #6c6d74; }
html[data-theme="light"] .contents a { color: #55565d; }

html[data-theme="light"] .legal-copy p,
html[data-theme="light"] .legal-copy li,
html[data-theme="light"] .contact-block,
html[data-theme="light"] .data-table td { color: #4d4e54; }

html[data-theme="light"] .legal-copy h3,
html[data-theme="light"] .legal-copy strong,
html[data-theme="light"] .legal-copy a,
html[data-theme="light"] .data-table th,
html[data-theme="light"] .entity-name { color: #171719; }
html[data-theme="light"] .notice { color: #404147; }

html[data-theme="light"] .intro-link { color: var(--text); }
html[data-theme="light"] .service-card.distribution { --card-accent: #876000; }
html[data-theme="light"] .service-card.publishing { --card-accent: #b52b37; }
html[data-theme="light"] .service-card.production { --card-accent: #7541ac; }
html[data-theme="light"] .service-card.administration { --card-accent: #a65310; }
html[data-theme="light"] .service-card.label-services { --card-accent: #b43b1d; }
html[data-theme="light"] .service-card.ar-services { --card-accent: #007b99; }
html[data-theme="light"] .service-card.catalog-works { --card-accent: #7541ac; }
html[data-theme="light"] .service-card.funding { --card-accent: #3559c5; }
html[data-theme="light"] .service-card.curation { --card-accent: #5a7300; }
html[data-theme="light"] .service-card.web { --card-accent: #007b99; }
html[data-theme="light"] .service-card.branding { --card-accent: #a12d75; }
html[data-theme="light"] .service-card.graphics { --card-accent: #087b70; }
html[data-theme="light"] .service-card.covers { --card-accent: #876000; }
html[data-theme="light"] .service-card.consulting { --card-accent: #33343a; }
html[data-theme="light"] .option-card.owners { --card-accent: #876000; }
html[data-theme="light"] .option-card.agents { --card-accent: #147754; }
html[data-theme="light"] .option-card.funders { --card-accent: #3559c5; }

html[data-theme="light"] .contact-link,
html[data-theme="light"] .form-actions > button {
  background: #d7ff36;
  color: #111;
}
html[data-theme="light"] .contact-link:hover { background: #e2ff70; color: #111; }
html[data-theme="light"] .primary-link { color: #fff; }
html[data-theme="light"] .primary-link:hover { color: var(--blue); }
html[data-theme="light"] .custom-select-menu button:hover,
html[data-theme="light"] .custom-select-menu button:focus-visible {
  background: #d7ff36;
  color: #111;
}
html[data-theme="light"] .custom-select-menu button[aria-selected="true"] { color: #435800; }
html[data-theme="light"] .playlist-play { color: #fff; }

.site-shell { position: relative; z-index: 1; }

@media (max-width: 660px) {
  .theme-actions { gap: 6px; }
  .theme-toggle { width: 34px; height: 34px; }
}
