:root {
  --color-primary: #00FFCC;
  --color-primary-50: #E0FFF9;
  --color-primary-100: #D6FFF7;
  --color-primary-200: #BDFFF2;
  --color-primary-300: #94FFEA;
  --color-primary-400: #52FFDC;
  --color-primary-500: #00FFCC;
  --color-primary-600: #00D1A7;
  --color-primary-700: #009E7E;
  --color-primary-800: #00705A;
  --color-primary-900: #003D31;
  --color-primary-950: #002921;
  --color-accent: #FFEE00;
  --color-accent-50: #FFFDE0;
  --color-accent-100: #FFFCD6;
  --color-accent-200: #FFFBBD;
  --color-accent-300: #FFF894;
  --color-accent-400: #FFF352;
  --color-accent-500: #FFEE00;
  --color-accent-600: #D1C300;
  --color-accent-700: #9E9400;
  --color-accent-800: #706900;
  --color-accent-900: #3D3900;
  --color-accent-950: #292600;
  --color-background: #ffffff;
  --color-foreground: #0e1512;
  --color-field-background: #e6f0eb;
  --color-field-text: #43524c;
  --color-field-placeholder: #626f6a;
  --color-field-border: #8b928f;
  --color-field-focus: #00a382;
  --color-choice-background: #00a886;
  --color-choice-unselected-border: #838a87;
  --color-choice-border: #009b7c;
  --color-text-heading: #0e1512;
  --color-text-body: #43524c;
  --color-text-muted: #5c6b65;
  --color-text-placeholder: #7e8f89;
  --color-text-disabled: #93a29d;
  --color-text-link: #007a62;
  --color-text-link-hover: #0e1512;
  --color-surface: #edfcf7;
  --color-surface-variant: #e6f0eb;
  --color-surface-elevated: #ffffff;
  --color-border: #dce7e3;
  --color-border-light: #e6f0eb;
  --color-border-dark: #8fa69e;
  --color-semantic-success: #0f5a2b;
  --color-semantic-success-light: #9fcbaf;
  --color-semantic-success-border: #7aa389;
  --color-semantic-success-readable: #0f5a2b;
  --color-semantic-error: #822914;
  --color-semantic-error-light: #e0a89c;
  --color-semantic-error-border: #b88579;
  --color-semantic-error-readable: #822914;
  --color-semantic-warning: #7e3a06;
  --color-semantic-warning-light: #e0b89a;
  --color-semantic-warning-border: #b79275;
  --color-semantic-warning-readable: #7e3a06;
  --color-semantic-info: #164e72;
  --color-semantic-info-light: #9cc0d7;
  --color-semantic-info-border: #7a9aaf;
  --color-semantic-info-readable: #164e72;
  --color-primary-readable: #00735c;
  --color-text-muted-readable: #5c6b65;
  --header-bg: #0e1512;
  --header-text: #ffffff;
  --header-link: #ffffff;
  --header-link-hover: #00ffcd;
  --header-border: #15211c;
  --footer-bg: #0e1512;
  --footer-text: #8fa69e;
  --footer-link: #dce7e3;
  --footer-link-hover: #00ffcd;
  --footer-border: #15211c;
  --nav-bg: #071412;
  --nav-text: #ffffff;
  --nav-link: #77ffe4;
  --nav-link-hover: #ffed00;
  --nav-border: #014336;
  --color-btn-primary-bg: #ffed00;
  --color-btn-primary-text: #0e1512;
  --color-btn-primary-hover: #e6d500;
  --color-btn-primary-border: #ffed00;
  --color-btn-secondary-bg: #ffffff;
  --color-btn-secondary-text: #0e1512;
  --color-btn-secondary-hover: #edfcf7;
  --color-btn-secondary-border: #0e1512;
  --font-family-heading: Arial;
  --font-heading-weights: 400,700,800;
  --font-family-body: Arial;
  --font-body-weights: 400,600,700;
  --spacing-base: 4px;
  --radius-sm: 6px;
  --radius-md: 9px;
  --radius-lg: 14px;
  --radius-xl: 28px;
  --border-width-thin: 1px;
  --border-width: 1px;
  --border-width-thick: 4px;
  --shop-image-aspect-ratio: 3 / 2;
  --shop-image-object-fit: cover;
}

:root:where([data-theme-mode="light"]) {
  --color-primary: #00FFCC;
  --color-primary-50: #E0FFF9;
  --color-primary-100: #D6FFF7;
  --color-primary-200: #BDFFF2;
  --color-primary-300: #94FFEA;
  --color-primary-400: #52FFDC;
  --color-primary-500: #00FFCC;
  --color-primary-600: #00D1A7;
  --color-primary-700: #009E7E;
  --color-primary-800: #00705A;
  --color-primary-900: #003D31;
  --color-primary-950: #002921;
  --color-accent: #FFEE00;
  --color-accent-50: #FFFDE0;
  --color-accent-100: #FFFCD6;
  --color-accent-200: #FFFBBD;
  --color-accent-300: #FFF894;
  --color-accent-400: #FFF352;
  --color-accent-500: #FFEE00;
  --color-accent-600: #D1C300;
  --color-accent-700: #9E9400;
  --color-accent-800: #706900;
  --color-accent-900: #3D3900;
  --color-accent-950: #292600;
  --color-background: #ffffff;
  --color-foreground: #0e1512;
  --color-field-background: #e6f0eb;
  --color-field-text: #43524c;
  --color-field-placeholder: #626f6a;
  --color-field-border: #8b928f;
  --color-field-focus: #00a382;
  --color-choice-background: #00a886;
  --color-choice-unselected-border: #838a87;
  --color-choice-border: #009b7c;
  --color-text-heading: #0e1512;
  --color-text-body: #43524c;
  --color-text-muted: #5c6b65;
  --color-text-placeholder: #7e8f89;
  --color-text-disabled: #93a29d;
  --color-text-link: #007a62;
  --color-text-link-hover: #0e1512;
  --color-surface: #edfcf7;
  --color-surface-variant: #e6f0eb;
  --color-surface-elevated: #ffffff;
  --color-border: #dce7e3;
  --color-border-light: #e6f0eb;
  --color-border-dark: #8fa69e;
  --color-semantic-success: #0f5a2b;
  --color-semantic-success-light: #9fcbaf;
  --color-semantic-success-border: #7aa389;
  --color-semantic-success-readable: #0f5a2b;
  --color-semantic-error: #822914;
  --color-semantic-error-light: #e0a89c;
  --color-semantic-error-border: #b88579;
  --color-semantic-error-readable: #822914;
  --color-semantic-warning: #7e3a06;
  --color-semantic-warning-light: #e0b89a;
  --color-semantic-warning-border: #b79275;
  --color-semantic-warning-readable: #7e3a06;
  --color-semantic-info: #164e72;
  --color-semantic-info-light: #9cc0d7;
  --color-semantic-info-border: #7a9aaf;
  --color-semantic-info-readable: #164e72;
  --color-primary-readable: #00735c;
  --color-text-muted-readable: #5c6b65;
  --header-bg: #0e1512;
  --header-text: #ffffff;
  --header-link: #ffffff;
  --header-link-hover: #00ffcd;
  --header-border: #15211c;
  --footer-bg: #0e1512;
  --footer-text: #8fa69e;
  --footer-link: #dce7e3;
  --footer-link-hover: #00ffcd;
  --footer-border: #15211c;
  --nav-bg: #071412;
  --nav-text: #ffffff;
  --nav-link: #77ffe4;
  --nav-link-hover: #ffed00;
  --nav-border: #014336;
  --color-btn-primary-bg: #ffed00;
  --color-btn-primary-text: #0e1512;
  --color-btn-primary-hover: #e6d500;
  --color-btn-primary-border: #ffed00;
  --color-btn-secondary-bg: #ffffff;
  --color-btn-secondary-text: #0e1512;
  --color-btn-secondary-hover: #edfcf7;
  --color-btn-secondary-border: #0e1512;
  --font-family-heading: Arial;
  --font-heading-weights: 400,700,800;
  --font-family-body: Arial;
  --font-body-weights: 400,600,700;
  --spacing-base: 4px;
  --radius-sm: 6px;
  --radius-md: 9px;
  --radius-lg: 14px;
  --radius-xl: 28px;
  --border-width-thin: 1px;
  --border-width: 1px;
  --border-width-thick: 4px;
  --shop-image-aspect-ratio: 3 / 2;
  --shop-image-object-fit: cover;
}

:root:where([data-theme-mode="dark"]) {
  --color-field-background: #f9fafb;
  --color-field-text: #111827;
  --color-field-placeholder: #6b7280;
  --color-field-border: #767676;
  --color-field-focus: #2563eb;
  --color-choice-background: #2563eb;
  --color-choice-unselected-border: #767676;
  --color-choice-border: #2563eb;
  --shop-image-aspect-ratio: 3 / 2;
  --shop-image-object-fit: cover;
}

:root:where([data-theme-mode="highContrast"]) {
  --color-field-background: #f9fafb;
  --color-field-text: #111827;
  --color-field-placeholder: #6b7280;
  --color-field-border: #767676;
  --color-field-focus: #2563eb;
  --color-choice-background: #2563eb;
  --color-choice-unselected-border: #767676;
  --color-choice-border: #2563eb;
  --shop-image-aspect-ratio: 3 / 2;
  --shop-image-object-fit: cover;
}

@media (prefers-color-scheme: dark) {
  :root:where(:not([data-theme-mode])) {
    --color-field-background: #f9fafb;
    --color-field-text: #111827;
    --color-field-placeholder: #6b7280;
    --color-field-border: #767676;
    --color-field-focus: #2563eb;
    --color-choice-background: #2563eb;
    --color-choice-unselected-border: #767676;
    --color-choice-border: #2563eb;
    --shop-image-aspect-ratio: 3 / 2;
    --shop-image-object-fit: cover;
  }
}

@media (prefers-contrast: more) {
  :root:where(:not([data-theme-mode])) {
    --color-field-background: #f9fafb;
    --color-field-text: #111827;
    --color-field-placeholder: #6b7280;
    --color-field-border: #767676;
    --color-field-focus: #2563eb;
    --color-choice-background: #2563eb;
    --color-choice-unselected-border: #767676;
    --color-choice-border: #2563eb;
    --shop-image-aspect-ratio: 3 / 2;
    --shop-image-object-fit: cover;
  }
}

/* Hausschrift Archivo, selbst gehostet auf northboundaurich.de statt Google Fonts */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://northboundaurich.de/wp-content/uploads/elementor/google-fonts/fonts/archivo-594978ed.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(https://northboundaurich.de/wp-content/uploads/elementor/google-fonts/fonts/archivo-2d6953d7.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --font-family-heading: 'Archivo', Arial, sans-serif !important;
  --font-family-body: 'Archivo', Arial, sans-serif !important;
}
/* Gutscheinbilder (quadratisch) im 3:2-Rahmen weiter unten ausschneiden, damit das NORTH-BOUND-Logo oben nicht sichtbar ist */
[data-offerable-typename="VoucherConfiguration"] img.shop-image { object-position: 50% 88% !important; }