/**
 * Komunumo - Self-hosted community and event platform
 * Copyright © Komunumo, a Swiss association, and the individual contributors.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published
 * by the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
/* Light and dark themes approved. Absence of data-theme follows OS preference. */
:root {
  color-scheme: light;
  --color-brand-green: #006633;
  --color-brand-lime: #33CC00;
  --color-brand-turquoise: #00CCCC;
  --color-background: #F3F7F4;
  --color-surface: #FFFFFF;
  --color-text: #15382B;
  --color-text-secondary: #50665C;
  --color-primary: #006633;
  --color-primary-hover: #005229;
  --color-primary-active: #004020;
  --color-on-primary: #FFFFFF;
  --color-selection-bg: #E6F4EB;
  --color-selection-text: #006633;
  --color-border-decorative: #CBD9D1;
  --color-border-control: #718579;
  --color-focus-ring: #006633;
  --color-focus-gap: #FFFFFF;
  --color-disabled-bg: #E2E9E4;
  --color-disabled-text: #58685F;
  --color-success: #166534;
  --color-success-bg: #ECF8EE;
  --color-warning: #8A4B00;
  --color-warning-bg: #FFF6DF;
  --color-info: #006B70;
  --color-info-bg: #E5F8F8;
  --color-error: #B42318;
  --color-error-bg: #FFF1F0;
  --color-hero-start: #E5F8F8;
  --color-hero-end: #EDF9E3;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) {
    color-scheme: dark;
  --color-brand-green: #006633;
  --color-brand-lime: #33CC00;
  --color-brand-turquoise: #00CCCC;
  --color-background: #101A15;
  --color-surface: #19271F;
  --color-text: #E8F2EB;
  --color-text-secondary: #B2C6B9;
  --color-primary: #69D99A;
  --color-primary-hover: #8AE5B1;
  --color-primary-active: #4AC580;
  --color-on-primary: #10251A;
  --color-selection-bg: #203E2C;
  --color-selection-text: #8AE5B1;
  --color-border-decorative: #344B3D;
  --color-border-control: #77998A;
  --color-focus-ring: #8AE5B1;
  --color-focus-gap: #19271F;
  --color-disabled-bg: #2C3B31;
  --color-disabled-text: #AFBDB3;
  --color-success: #8AE5A1;
  --color-success-bg: #193623;
  --color-warning: #F3CB7B;
  --color-warning-bg: #392D16;
  --color-info: #78DDE0;
  --color-info-bg: #153438;
  --color-error: #FFA79E;
  --color-error-bg: #3D2324;
  --color-hero-start: #153438;
  --color-hero-end: #203822;
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --color-brand-green: #006633;
  --color-brand-lime: #33CC00;
  --color-brand-turquoise: #00CCCC;
  --color-background: #101A15;
  --color-surface: #19271F;
  --color-text: #E8F2EB;
  --color-text-secondary: #B2C6B9;
  --color-primary: #69D99A;
  --color-primary-hover: #8AE5B1;
  --color-primary-active: #4AC580;
  --color-on-primary: #10251A;
  --color-selection-bg: #203E2C;
  --color-selection-text: #8AE5B1;
  --color-border-decorative: #344B3D;
  --color-border-control: #77998A;
  --color-focus-ring: #8AE5B1;
  --color-focus-gap: #19271F;
  --color-disabled-bg: #2C3B31;
  --color-disabled-text: #AFBDB3;
  --color-success: #8AE5A1;
  --color-success-bg: #193623;
  --color-warning: #F3CB7B;
  --color-warning-bg: #392D16;
  --color-info: #78DDE0;
  --color-info-bg: #153438;
  --color-error: #FFA79E;
  --color-error-bg: #3D2324;
  --color-hero-start: #153438;
  --color-hero-end: #203822;
}
:root[data-theme="light"] { color-scheme: light; }

/* Approved visual reference values, 16 px root default. */
:root {
  --font-family-ui: "Nunito Sans", system-ui, sans-serif;
  --font-weight-regular: 400;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-size-body: 1rem;
  --line-height-body: 1.65;
  --font-size-detail: .875rem;
  --line-height-detail: 1.5;
  --font-size-h1-desktop: 2.5rem;
  --line-height-h1-desktop: 1.15;
  --font-size-h1-mobile: 2rem;
  --font-size-h1-narrow: 1.75rem;
  --line-height-h1-mobile: 1.2;
  --font-size-h2: 1.5rem;
  --line-height-h2: 1.3;
  --font-size-h3: 1.125rem;
  --line-height-h3: 1.4;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-7: 1.75rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --radius-control: .5rem;
  --radius-marker: .75rem;
  --radius-card: 1rem;
  --radius-hero-desktop: 1.5rem;
  --border-width-default: 1px;
  --border-width-error: 2px;
  --focus-ring-width: 3px;
  --focus-ring-offset: 3px;
  --control-min-height: 2.75rem;
  --content-max-width: 70rem;
  --text-max-width: 65ch;
  --sidebar-width: 19rem;
}
/* Responsive reference: single column at <=720 px container width;
   page padding 32/20 px, 16 px below 350 px container width.
   Custom properties are values, not a prescribed component implementation. */


/* Additional semantic bindings; no new brand colours. */
:root {
  --color-on-error: #FFFFFF;
  --icon-size-detail: 1rem;
  --icon-size-default: 1.25rem;
  --icon-size-emphasis: 1.5rem;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) {
    --color-on-error: #3D2324;
  }
}
:root[data-theme="dark"] { --color-on-error: #3D2324; }
