:root {
  color-scheme: dark;
}

:root[data-theme-resolved="light"] {
  color-scheme: light;
}

:root[data-theme-resolved="light"] body {
  background:
    radial-gradient(circle at 8% -12%, rgba(250, 75, 101, 0.14) 0, transparent 30%),
    radial-gradient(circle at 92% 18%, rgba(115, 125, 140, 0.12) 0, transparent 34%),
    #f1f2f5 !important;
  color: #181b21 !important;
}

:root[data-theme-resolved="light"] .organic-blob {
  opacity: 0.46 !important;
  filter: blur(74px) !important;
}

:root[data-theme-resolved="light"] .organic-blob.a {
  background: radial-gradient(circle at 35% 35%, rgba(250, 75, 101, 0.24) 0%, rgba(250, 75, 101, 0.05) 62%, transparent 70%) !important;
}

:root[data-theme-resolved="light"] .organic-blob.b {
  background: radial-gradient(circle at 42% 42%, rgba(118, 138, 160, 0.22) 0%, rgba(118, 138, 160, 0.06) 63%, transparent 72%) !important;
}

:root[data-theme-resolved="light"] .organic-blob.c {
  background: radial-gradient(circle at 50% 50%, rgba(150, 162, 176, 0.2) 0%, rgba(150, 162, 176, 0.05) 65%, transparent 74%) !important;
}

:root[data-theme-resolved="light"] .organic-blob.d {
  background: radial-gradient(circle at 48% 48%, rgba(186, 96, 117, 0.2) 0%, rgba(186, 96, 117, 0.04) 62%, transparent 72%) !important;
}

:root[data-theme-resolved="light"] .header,
:root[data-theme-resolved="light"] .footer,
:root[data-theme-resolved="light"] .mega-panel,
:root[data-theme-resolved="light"] .mega-card,
:root[data-theme-resolved="light"] .bento-card,
:root[data-theme-resolved="light"] .lang,
:root[data-theme-resolved="light"] .lang a.active,
:root[data-theme-resolved="light"] .case,
:root[data-theme-resolved="light"] .pricing-card,
:root[data-theme-resolved="light"] .pricing-custom,
:root[data-theme-resolved="light"] .trust,
:root[data-theme-resolved="light"] .faq-row,
:root[data-theme-resolved="light"] [class*="faq-row"],
:root[data-theme-resolved="light"] [class*="faq-col"],
:root[data-theme-resolved="light"] .contact-band,
:root[data-theme-resolved="light"] .cta-band,
:root[data-theme-resolved="light"] .what-cta,
:root[data-theme-resolved="light"] .pricing-band,
:root[data-theme-resolved="light"] .logo-strip,
:root[data-theme-resolved="light"] dialog,
:root[data-theme-resolved="light"] #tour-dialog,
:root[data-theme-resolved="light"] form,
:root[data-theme-resolved="light"] input,
:root[data-theme-resolved="light"] select,
:root[data-theme-resolved="light"] textarea {
  background: #f7f8fb !important;
  color: #1e2430 !important;
  border-color: #d5d9e0 !important;
}

/* Improve form readability in light theme across all pages */
:root[data-theme-resolved="light"] label,
:root[data-theme-resolved="light"] .contact-form label,
:root[data-theme-resolved="light"] .download-form label {
  color: #4b5666 !important;
}

:root[data-theme-resolved="light"] .form-note,
:root[data-theme-resolved="light"] #mail-hint,
:root[data-theme-resolved="light"] [id*="hint"] {
  color: #4f5a6b !important;
}

:root[data-theme-resolved="light"] input::placeholder,
:root[data-theme-resolved="light"] textarea::placeholder {
  color: #5b6778 !important;
  opacity: 1 !important;
}

:root[data-theme-resolved="light"] .bento-card {
  background: #f8f9fc !important;
  border-color: #d3d8e0 !important;
}

:root[data-theme-resolved="light"] .bento-card:hover {
  border-color: #b8c0cc !important;
  box-shadow: 0 12px 24px rgba(34, 44, 59, 0.08) !important;
}

:root[data-theme-resolved="light"] .bento-card p {
  color: #3d495b !important;
}

:root[data-theme-resolved="light"] .why-divider {
  background: #d1d7e0 !important;
}

:root[data-theme-resolved="light"] .win {
  border-top-color: #d1d7e0 !important;
}

:root[data-theme-resolved="light"] .faq-col + .faq-col {
  border-left-color: #d1d7e0 !important;
  border-top-color: #d1d7e0 !important;
}

:root[data-theme-resolved="light"] .sector-icon {
  color: #5b6d84 !important;
}

:root[data-theme-resolved="light"] .cta-band {
  background: #edf0f4 !important;
  border-top: 1px solid #d3d8e0 !important;
}

:root[data-theme-resolved="light"] .pricing-band {
  background: transparent !important;
}

:root[data-theme-resolved="light"] .what-block {
  border-top-color: #d1d7e0 !important;
}

:root[data-theme-resolved="light"] .trust {
  background: #edf0f4 !important;
  border-top-color: #d3d8e0 !important;
  border-bottom-color: #d3d8e0 !important;
}

:root[data-theme-resolved="light"] .trust-grid {
  color: #5a6676 !important;
}

:root[data-theme-resolved="light"] .header {
  background: rgba(248, 249, 252, 0.84) !important;
  border-bottom-color: #d2d7df !important;
  backdrop-filter: blur(10px);
}

:root[data-theme-resolved="light"] .footer {
  background: #ebedf1 !important;
  border-top-color: #d0d5de !important;
}

:root[data-theme-resolved="light"] a,
:root[data-theme-resolved="light"] .nav a,
:root[data-theme-resolved="light"] .mega summary,
:root[data-theme-resolved="light"] .logo-main,
:root[data-theme-resolved="light"] .footer a,
:root[data-theme-resolved="light"] .copy,
:root[data-theme-resolved="light"] p,
:root[data-theme-resolved="light"] li,
:root[data-theme-resolved="light"] h1,
:root[data-theme-resolved="light"] h2,
:root[data-theme-resolved="light"] h3,
:root[data-theme-resolved="light"] h4 {
  color: #1b212a !important;
}

:root[data-theme-resolved="light"] .logo-tag,
:root[data-theme-resolved="light"] .muted,
:root[data-theme-resolved="light"] .copy {
  color: #556070 !important;
}

:root[data-theme-resolved="light"] .mega-card span {
  color: #4c596a !important;
}

:root[data-theme-resolved="light"] .btn,
:root[data-theme-resolved="light"] .slide-btn,
:root[data-theme-resolved="light"] .pricing-cta,
:root[data-theme-resolved="light"] button {
  border-color: #c8ced8 !important;
  background: #f2f4f8 !important;
  color: #1b222d !important;
}

:root[data-theme-resolved="light"] .btn-primary,
:root[data-theme-resolved="light"] button.btn-primary,
:root[data-theme-resolved="light"] button[type="submit"],
:root[data-theme-resolved="light"] .pricing-card.pro .pricing-cta {
  background: rgb(250, 75, 101) !important;
  border-color: rgb(250, 75, 101) !important;
  color: #230b12 !important;
}

:root[data-theme-resolved="light"] .pricing-chip {
  border-color: rgba(250, 75, 101, 0.35) !important;
  background: rgba(250, 75, 101, 0.08) !important;
  color: #5a2531 !important;
}

/* Legal page readability in light theme */
:root[data-theme-resolved="light"] .legal-title,
:root[data-theme-resolved="light"] .legal-disclaimer,
:root[data-theme-resolved="light"] .legal-index a,
:root[data-theme-resolved="light"] .legal-content h2,
:root[data-theme-resolved="light"] .legal-content h3,
:root[data-theme-resolved="light"] .legal-content h4,
:root[data-theme-resolved="light"] .legal-content p,
:root[data-theme-resolved="light"] .legal-content li,
:root[data-theme-resolved="light"] .legal-content strong {
  color: #1b212a !important;
}

:root[data-theme-resolved="light"] .legal-content .legal-back-btn {
  color: #1b212a !important;
  background: #f2f4f8 !important;
  border-color: #c8ced8 !important;
}

:root[data-theme-resolved="light"] :focus-visible {
  outline-color: rgb(250, 75, 101) !important;
}

.theme-toggle-row {
  margin-top: 1rem;
  display: flex;
  justify-content: flex-end;
}

.theme-toggle {
  width: 42px;
  height: 42px;
  border-radius: 3px;
  border: 1px solid #4a4a4a;
  background: #181818;
  color: #f5f5f5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
}

.theme-toggle:hover {
  transform: translateY(-1px);
  border-color: rgb(250, 75, 101);
}

.theme-toggle:focus-visible {
  outline: 2px solid rgb(250, 75, 101);
  outline-offset: 2px;
}

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

.theme-toggle .icon-sun,
.theme-toggle .icon-moon {
  display: none;
}

.theme-toggle[data-next-theme="light"] .icon-sun {
  display: block;
}

.theme-toggle[data-next-theme="dark"] .icon-moon {
  display: block;
}

:root[data-theme-resolved="light"] .theme-toggle {
  background: #f2f4f8;
  border-color: #c8ced8;
  color: #1c2430;
}

/* Footer controls: language switch + theme toggle */
footer.footer .footer-controls {
  width: 100%;
  display: flex;
  align-items: stretch;
  gap: 0.55rem;
}

/* Global menu interactions */
:root[data-theme-resolved="light"] header.header .nav a,
:root[data-theme-resolved="light"] header.header .mega summary,
:root[data-theme-resolved="light"] header.header .actions a,
:root[data-theme-resolved="light"] header.header .lang a,
:root[data-theme-resolved="light"] footer.footer a[href],
:root:not([data-theme-resolved="light"]) header.header .nav a,
:root:not([data-theme-resolved="light"]) header.header .mega summary,
:root:not([data-theme-resolved="light"]) header.header .actions a,
:root:not([data-theme-resolved="light"]) header.header .lang a,
:root:not([data-theme-resolved="light"]) footer.footer a[href] {
  cursor: pointer !important;
  transition: color 0.15s ease;
}

:root[data-theme-resolved="light"] header.header .nav a:hover,
:root[data-theme-resolved="light"] header.header .mega summary:hover,
:root[data-theme-resolved="light"] header.header .actions a:hover,
:root[data-theme-resolved="light"] header.header .lang a:hover,
:root[data-theme-resolved="light"] footer.footer a[href]:hover,
:root:not([data-theme-resolved="light"]) header.header .nav a:hover,
:root:not([data-theme-resolved="light"]) header.header .mega summary:hover,
:root:not([data-theme-resolved="light"]) header.header .actions a:hover,
:root:not([data-theme-resolved="light"]) header.header .lang a:hover,
:root:not([data-theme-resolved="light"]) footer.footer a[href]:hover {
  color: rgb(250, 75, 101) !important;
}

/* Keep header primary CTA in negative on hover, not accent text */
:root[data-theme-resolved="light"] header.header .actions .btn-primary:hover {
  background: #1b212a !important;
  border-color: #1b212a !important;
  color: #f7f8fb !important;
}

:root:not([data-theme-resolved="light"]) header.header .actions .btn-primary:hover {
  background: #f5f5f5 !important;
  border-color: #f5f5f5 !important;
  color: #121820 !important;
}

/* Footer language block and login button */
footer.footer .footer-brand-col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}

footer.footer .footer-lang-divider {
  width: 100%;
  border: 0;
  border-top: 1px solid rgb(250, 75, 101);
  margin: 50px 0 0;
}

footer.footer .footer-brand-col .lang {
  display: flex !important;
  flex: 1 1 auto;
  width: auto;
  height: 42px;
  padding: 0.15rem;
}

footer.footer .footer-controls {
  margin-top: 50px;
}

footer.footer .footer-brand-col .lang a {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

footer.footer .footer-login-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: #f2f4f8 !important;
  border-color: #c8ced8 !important;
  color: #1b222d !important;
  margin: 0.35rem 0 0.9rem;
}

footer.footer .footer-controls .theme-toggle {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  margin: 0;
}

footer.footer .copy {
  margin-top: 50px !important;
}

:root[data-theme-resolved="light"] footer.footer .footer-login-btn:hover {
  background: #e7ebf2 !important;
  border-color: #b8c0cc !important;
  color: #131922 !important;
}

:root:not([data-theme-resolved="light"]) footer.footer .footer-login-btn:hover {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #111821 !important;
}

/* Tablet header: keep logo + nav + primary CTA in one row.
   Mobile hamburger remains only below 761px. */
@media (min-width: 761px) and (max-width: 1080px) {
  :root:not([data-theme-resolved="light"]) .header {
    background: color-mix(in oklab, #090909 88%, transparent) !important;
    border-bottom-color: #252525 !important;
    backdrop-filter: blur(10px) !important;
  }

  .header-inner {
    grid-template-columns: auto 1fr auto !important;
    gap: 0.9rem !important;
    align-items: center !important;
  }

  .logo-img {
    width: clamp(120px, 14vw, 168px) !important;
  }

  .nav {
    display: flex !important;
    justify-self: center !important;
    align-items: center !important;
    gap: 1rem !important;
    flex-wrap: nowrap !important;
  }

  .nav a,
  .mega summary {
    white-space: nowrap !important;
    font-size: 0.92rem !important;
  }

  .actions {
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    gap: 0.65rem !important;
    grid-template-columns: none !important;
  }

  .actions .btn-primary {
    width: auto !important;
    white-space: nowrap !important;
    padding-inline: 0.9rem !important;
  }

  .nav-toggle {
    display: none !important;
  }

  .foot-grid {
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) !important;
    align-items: start !important;
    column-gap: 1.4rem !important;
    row-gap: 1rem !important;
  }

  .foot-grid > .footer-brand-col {
    grid-column: 1 !important;
    grid-row: 1 / -1 !important;
    align-self: start !important;
  }

  .foot-grid > :not(.footer-brand-col) {
    grid-column: 2 !important;
    justify-self: stretch !important;
  }
}
