/* ---------------------------------------------------------------------------------
    Light-gray theme colors
 --------------------------------------------------------------------------------- */
:root[data-tz-theme="light-gray"] {
  --tz-heading-underline-color: #444;
  --tz-hr-color: #777;
  --header-menu-bg: #f4f4f4;
  --header-menu-link-color: #fd0000;
  --header-menu-link-hover: #000;
  --header-submenu-bg: #f4f4f4;
  --header-submenu-border: #ccc;
  --submenu-link-color: #525252;
  --submenu-link-hover-bg: #e0e0e0;
  --submenu-link-hover-color: #000;
  --menu-after-bg: #d32f2f;
  --footer-link-color: #ccc;
  --footer-link-hover-color: #fff;
  --footer-after-bg: #ccc;
  --footer-after-hover-bg: #fff;
  --tz-menu-link-color: #333;
  --tz-menu-link-bg: #eee;
  --tz-menu-link-hover-bg: #ddd;
  --tz-menu-outline-color: #000;
  --tz-table-header-bg: #ccc;
  --tz-table-header-color: #000;
  --tz-table-header-border: #999;
  --tz-table-border: #ddd;
  --tz-table-row-odd-bg: #fff;
  --tz-table-row-even-bg: #f5f5f5;
  --tz-table-row-hover-bg: #e0e0e0;
  --tz-mobile-card-bg-odd: #fff;
  --tz-mobile-card-bg-even: #f5f5f5;
  --tz-mobile-card-border: #ddd;
  --tz-mobile-card-shadow: 0 1px 3px rgba(0,0,0,0.1);
  --tz-mobile-card-bg-default: #fff;
    --tz-kal-th-bg: #eee;          /* table header */
    --tz-kal-th-border: #ddd;      /* header border */
    --tz-kal-title-color: #000;    /* header text (Mo, Di...) */
    --tz-kal-text-color: #000;     /* body text (days) */
    --tz-kal-empty-bg: #fafafa;    /* empty cells */
    --tz-kal-active-bg: #d7f3d7;   /* active course day */
    --tz-kal-weekend-bg: #dceaff;  /* weekends */
    --tz-today-border: #ff7f00;    /* today border */
    --tz-today-color: #d35400;     /* today text */
    --tz-kal-highlight: #d7f3d7;   /* highlighted day */

    --tz-kal-body-bg: #fff;        /* default day background */
  --tz-body-bg: #f7f5f2;
  --tz-site-frame-bg: #fff;
  --tz-header-bg: #fafafa;
  --tz-footer-bg: #111;
  --tz-footer-color: #ccc;
  --tz-footer-link: #fff;
  --tz-kurslist-link-color: #333;
  --tz-kurslist-link-hover-color: #000;
  --tz-form-fieldset-bg: #f5f5f5;
  --tz-form-fieldset-border: #ddd;
  --tz-form-input-bg: #fff;
  --tz-form-input-border: #ccc;
  --tz-form-readonly-bg: #e0e0e0;
  --tz-form-readonly-color: #555;
  --tz-form-submit-bg: #0073aa;
  --tz-form-submit-color: #fff;
  --tz-form-submit-hover-bg: #005177;
  --tz-form-error-bg: #f8d7da;
  --tz-form-error-color: #721c24;
  --tz-form-success-bg: #d4edda;
  --tz-form-success-color: #155724;
  --tz-field-error-color: #b00000;
  --tz-week-card-bg-odd: #e8e8e8;
  --tz-week-card-bg-even: #f5f5f5;
  --tz-week-card-text-color: #000;
  --tz-course-page-item-bg: rgba(0,0,0,0.03);
  --tz-course-page-link-color: #0073aa;
  --tz-course-page-link-hover-color: #005177;
}

/* ---------------------------------------------------------------------------------
    Dark-gray theme colors
 --------------------------------------------------------------------------------- */
:root[data-tz-theme="dark-gray"] {
  --tz-heading-underline-color: #222;
  --tz-hr-color: #999;

  --header-menu-bg: #333;
  --header-menu-link-color: #ff6b6b;
  --header-menu-link-hover: #fff;
  --header-submenu-bg: #444;
  --header-submenu-border: #666;
  --submenu-link-color: #ddd;
  --submenu-link-hover-bg: #555;
  --submenu-link-hover-color: #fff;
  --menu-after-bg: #ff6b6b;

  --footer-link-color: #aaa;
  --footer-link-hover-color: #fff;
  --footer-after-bg: #666;
  --footer-after-hover-bg: #fff;

  --tz-menu-link-color: #eee;
  --tz-menu-link-bg: #444;
  --tz-menu-link-hover-bg: #555;
  --tz-menu-outline-color: #ccc;

  /* Tables slightly darker */
  --tz-table-header-bg: #444; /* darker than before */
  --tz-table-header-color: #fff;
  --tz-table-header-border: #777;
  --tz-table-border: #555;
  --tz-table-row-odd-bg: #f2f2f2; /* slightly darker */
  --tz-table-row-even-bg: #d9d9d9; /* slightly darker */
  --tz-table-row-hover-bg: #c8c8c8;

  --tz-mobile-card-bg-odd: #f2f2f2;
  --tz-mobile-card-bg-even: #d9d9d9;
  --tz-mobile-card-border: #555;
  --tz-mobile-card-shadow: 0 1px 3px rgba(0,0,0,0.2);
  --tz-mobile-card-bg-default: #f2f2f2;

    --tz-kal-th-bg: #555;          /* table header bg */
    --tz-kal-th-border: #666;      /* header border */
    --tz-kal-title-color: #fff;    /* header text white */
    --tz-kal-text-color: #000;     /* body text (days) dark for readability on light cells) */
    --tz-kal-empty-bg: #f2f2f2;    /* empty cells light gray */
    --tz-kal-active-bg: #8ec07c;   /* active course day */
    --tz-kal-weekend-bg: #a0c4ff;  /* weekend highlight */
    --tz-today-border: #ffa500;    /* today border */
    --tz-today-color: #ff8c00;     /* today text */
    --tz-kal-highlight: #ffd98f;   /* highlighted day */

    --tz-kal-body-bg: #eee;        /* calendar day bg slightly darker than white */
  --tz-body-bg: #fff;
  --tz-site-frame-bg: #fff;
  --tz-header-bg: #666;
  --tz-footer-bg: #111;
  --tz-footer-color: #ccc;
  --tz-footer-link: #fff;

  --tz-kurslist-link-color: #444;
  --tz-kurslist-link-hover-color: #222;

  /* Anmeldung area lighter for readability */
--tz-form-fieldset-bg: #e0e0e0;        /* slightly lighter gray */
--tz-form-fieldset-border: #777;    /* keep border visible */
--tz-form-input-bg: #f5f5f5;        /* much lighter for text readability */
--tz-form-input-border: #aaa;       /* softer border */
--tz-form-readonly-bg: #e0e0e0;     /* same as light-gray, readable */
--tz-form-readonly-color: #333;     /* dark text on light background */
  --tz-form-submit-bg: #0073aa;
  --tz-form-submit-color: #fff;
  --tz-form-submit-hover-bg: #005177;
  --tz-form-error-bg: #721c24;
  --tz-form-error-color: #f8d7da;
  --tz-form-success-bg: #155724;
  --tz-form-success-color: #d4edda;
  --tz-field-error-color: #ff4c4c;

  --tz-week-card-bg-odd: #d9d9d9;
  --tz-week-card-bg-even: #f0f0f0;
  --tz-week-card-text-color: #000;

  --tz-course-page-item-bg: rgba(255,255,255,0.05);
  --tz-course-page-link-color: #ff6b6b;
  --tz-course-page-link-hover-color: #ff3b3b;
}

/* ---------------------------------------------------------------------------------
    Blue theme colors
 --------------------------------------------------------------------------------- */
:root[data-tz-theme="blue"] {
  /* Base separators */
  --tz-heading-underline-color: #2563eb;
  --tz-hr-color: #2563eb;

  /* Header / menu */
  --header-menu-bg: #d7e0ef;
  --header-menu-link-color: #1e5bb8;
  --header-menu-link-hover: #0b3f8a;
  --header-submenu-bg: #eef3f9;
  --header-submenu-border: #cfd9e6;
  --submenu-link-color: #334155;
  --submenu-link-hover-bg: #dbe7f6;
  --submenu-link-hover-color: #0b3f8a;
  --menu-after-bg: #1e5bb8;

  /* Footer */
  --footer-link-color: #c7d2e2;
  --footer-link-hover-color: #fff;
  --footer-after-bg: #c7d2e2;
  --footer-after-hover-bg: #fff;

  /* TZ menu */
  --tz-menu-link-color: #1f2937;
  --tz-menu-link-bg: #e6eef8;
  --tz-menu-link-hover-bg: #d4e2f5;
  --tz-menu-outline-color: #1e5bb8; /* visible focus */

  /* Tables */
  --tz-table-header-bg: #d6e4f7;
  --tz-table-header-color: #0f172a;
  --tz-table-header-border: #b8cbe6;
  --tz-table-border: #d1d9e6;
  --tz-table-row-odd-bg: #fff;
  --tz-table-row-even-bg: #f3f7fc;
  --tz-table-row-hover-bg: #e4efff;

  /* Mobile cards */
  --tz-mobile-card-bg-odd: #fff;
  --tz-mobile-card-bg-even: #f3f7fc;
  --tz-mobile-card-border: #d1d9e6;
  --tz-mobile-card-shadow: 0 1px 3px rgba(30,91,184,0.15);
  --tz-mobile-card-bg-default: #fff;

  /* =======================
     Calendar
     ======================= */
  --tz-kal-th-bg: #d6e4f7;
  --tz-kal-th-border: #b8cbe6;
  --tz-kal-title-color: #0f172a;
  --tz-kal-text-color: #0f172a;

  --tz-kal-body-bg: #fff;
  --tz-kal-empty-bg: #f5f8fd;
  --tz-kal-weekend-bg: #e8f1ff;

  /* Active / highlight */
  --tz-kal-active-bg: #c8f0d2;     /* soft blue instead of green/orange */
  --tz-kal-highlight: #dbeafe;

  /* Today */
  --tz-today-border: #2563eb;
  --tz-today-color: #1e40af;

  /* Page / frame */
  --tz-body-bg: #f6f8fb;
  --tz-site-frame-bg: #fff;
  --tz-header-bg: #f1f5fb;
  --tz-footer-bg: #0f172a;
  --tz-footer-color: #c7d2e2;
  --tz-footer-link: #fff;

  /* Kurs list */
  --tz-kurslist-link-color: #1e5bb8;
  --tz-kurslist-link-hover-color: #0b3f8a;

  /* Forms (Anmeldung – readable!) */
  --tz-form-fieldset-bg: #eef3f9;
  --tz-form-fieldset-border: #cfd9e6;
  --tz-form-input-bg: #fff;
  --tz-form-input-border: #cbd5e1;
  --tz-form-readonly-bg: #e5edf7;
  --tz-form-readonly-color: #334155;

  --tz-form-submit-bg: #2563eb;
  --tz-form-submit-color: #fff;
  --tz-form-submit-hover-bg: #1e40af;

  --tz-form-error-bg: #fee2e2;
  --tz-form-error-color: #7f1d1d;
  --tz-form-success-bg: #dcfce7;
  --tz-form-success-color: #14532d;
  --tz-field-error-color: #b91c1c;

  /* Week cards */
  --tz-week-card-bg-odd: #eaf1fb;
  --tz-week-card-bg-even: #f3f7fc;
  --tz-week-card-text-color: #0f172a;

  /* Course page */
  --tz-course-page-item-bg: rgba(30,91,184,0.05);
  --tz-course-page-link-color: #2563eb;
  --tz-course-page-link-hover-color: #1e40af;
}

/* ---------------------------------------------------------------------------------
    Red theme colors
 --------------------------------------------------------------------------------- */
:root[data-tz-theme="red"] {
  /* Base separators */
  --tz-heading-underline-color: #cd2626;
  --tz-hr-color: #cd2626;

  /* Header / menu */
  --header-menu-bg: #e8d8d7;
  --header-menu-link-color: #9b2c2c;
  --header-menu-link-hover: #6f1d1b;
  --header-submenu-bg: #f6f1f0;
  --header-submenu-border: #d8cfc9;
  --submenu-link-color: #4b3f3f;
  --submenu-link-hover-bg: #efe3df;
  --submenu-link-hover-color: #6f1d1b;
  --menu-after-bg: #9b2c2c;

  /* Footer */
  --footer-link-color: #d6c9c4;
  --footer-link-hover-color: #fff;
  --footer-after-bg: #d6c9c4;
  --footer-after-hover-bg: #fff;

  /* TZ menu */
  --tz-menu-link-color: #3f2d2d;
  --tz-menu-link-bg: #efe6e3;
  --tz-menu-link-hover-bg: #e4d5d0;
  --tz-menu-outline-color: #9b2c2c;

  /* Tables */
  --tz-table-header-bg: #e6d5cf;
  --tz-table-header-color: #2b1c1c;
  --tz-table-header-border: #d2bdb6;
  --tz-table-border: #d8cfc9;
  --tz-table-row-odd-bg: #fff;
  --tz-table-row-even-bg: #f7f1ef;
  --tz-table-row-hover-bg: #efe0dc;

  /* Mobile cards */
  --tz-mobile-card-bg-odd: #fff;
  --tz-mobile-card-bg-even: #f7f1ef;
  --tz-mobile-card-border: #d8cfc9;
  --tz-mobile-card-shadow: 0 1px 3px rgba(155,44,44,0.15);
  --tz-mobile-card-bg-default: #fff;

  /* =======================
     Calendar
     ======================= */
  --tz-kal-th-bg: #e6d5cf;
  --tz-kal-th-border: #d2bdb6;
  --tz-kal-title-color: #2b1c1c;
  --tz-kal-text-color: #2b1c1c;

  --tz-kal-body-bg: #fff;
  --tz-kal-empty-bg: #faf6f4;
  --tz-kal-weekend-bg: #f3e6e3;

  /* Active entries (still green) */
  --tz-kal-active-bg: #c8f0d2;
  --tz-kal-highlight: #ead8d3;

  /* Today */
  --tz-today-border: #b91c1c;
  --tz-today-color: #7f1d1d;

  /* Page / frame */
  --tz-body-bg: #f2ece9;
  --tz-site-frame-bg: #fff;
  --tz-header-bg: #f6f1f0;
  --tz-footer-bg: #1f1515;
  --tz-footer-color: #d6c9c4;
  --tz-footer-link: #fff;

  /* Kurs list */
  --tz-kurslist-link-color: #9b2c2c;
  --tz-kurslist-link-hover-color: #6f1d1b;

  /* Forms (Anmeldung) */
  --tz-form-fieldset-bg: #f6f1f0;
  --tz-form-fieldset-border: #d8cfc9;
  --tz-form-input-bg: #fff;
  --tz-form-input-border: #cdbdb7;
  --tz-form-readonly-bg: #efe3df;
  --tz-form-readonly-color: #4b3f3f;

  --tz-form-submit-bg: #9b2c2c;
  --tz-form-submit-color: #fff;
  --tz-form-submit-hover-bg: #6f1d1b;

  --tz-form-error-bg: #fee2e2;
  --tz-form-error-color: #7f1d1d;
  --tz-form-success-bg: #dcfce7;
  --tz-form-success-color: #14532d;
  --tz-field-error-color: #991b1b;

  /* Week cards */
  --tz-week-card-bg-odd: #f0e6e3;
  --tz-week-card-bg-even: #faf6f4;
  --tz-week-card-text-color: #2b1c1c;

  /* Course page */
  --tz-course-page-item-bg: rgba(155,44,44,0.05);
  --tz-course-page-link-color: #9b2c2c;
  --tz-course-page-link-hover-color: #6f1d1b;
}

/* ---------------------------------------------------------------------------------
    Orange theme colors
 --------------------------------------------------------------------------------- */
:root[data-tz-theme="orange"] {
  /* Base */
  --tz-heading-underline-color: #e67e22;
  --tz-hr-color: #e67e22;

  /* Header / menu */
  --header-menu-bg: #f3e6da;
  --header-menu-link-color: #d35400;
  --header-menu-link-hover: #000;
  --header-submenu-bg: #f3e6da;
  --header-submenu-border: #e0c9b2;

  --submenu-link-color: #5a4636;
  --submenu-link-hover-bg: #ead8c6;
  --submenu-link-hover-color: #000;

  --menu-after-bg: #e67e22;

  /* Footer */
  --footer-bg: #111;
  --footer-color: #ccc;
  --footer-link: #fff;
  --footer-link-color: #ccc;
  --footer-link-hover-color: #fff;
  --footer-after-bg: #ccc;
  --footer-after-hover-bg: #fff;

  /* TZ menu */
  --tz-menu-link-color: #3a2a1a;
  --tz-menu-link-bg: #f0e2d2;
  --tz-menu-link-hover-bg: #e6d3bf;
  --tz-menu-outline-color: #e67e22;

  /* Tables */
  --tz-table-header-bg: #ead8c6;
  --tz-table-header-color: #2b1d12;
  --tz-table-header-border: #d1b8a0;

  --tz-table-border: #e0c9b2;
  --tz-table-row-odd-bg: #ffffff;
  --tz-table-row-even-bg: #faf3ed;
  --tz-table-row-hover-bg: #f0e2d2;

  /* Mobile cards */
  --tz-mobile-card-bg-odd: #ffffff;
  --tz-mobile-card-bg-even: #faf3ed;
  --tz-mobile-card-bg-default: #ffffff;
  --tz-mobile-card-border: #e0c9b2;
  --tz-mobile-card-shadow: 0 1px 3px rgba(0,0,0,0.1);

  /* Calendar */
  --tz-kal-th-bg: #f0e2d2;
  --tz-kal-th-border: #e0c9b2;
  --tz-kal-title-color: #3a2a1a;

  --tz-kal-body-bg: #ffffff;
  --tz-kal-text-color: #2b1d12;

  --tz-kal-empty-bg: #faf3ed;
  --tz-kal-weekend-bg: #f6e7d6;

  /* Active days (green on purpose) */
  --tz-kal-active-bg: #dff2df;
  --tz-kal-highlight: #dff2df;

  /* Today */
  --tz-today-border: #e67e22;
  --tz-today-color: #b45309;

  /* Layout */
  --tz-body-bg: #f7f4f1;
  --tz-site-frame-bg: #ffffff;
  --tz-header-bg: #fafafa;

  /* Course lists / pages */
  --tz-kurslist-link-color: #3a2a1a;
  --tz-kurslist-link-hover-color: #000;

  --tz-course-page-item-bg: rgba(230, 125, 34, 0.06);
  --tz-course-page-link-color: #d35400;
  --tz-course-page-link-hover-color: #a84300;

  /* Forms */
  --tz-form-fieldset-bg: #f5ede6;
  --tz-form-fieldset-border: #e2cdb8;

  --tz-form-input-bg: #ffffff;
  --tz-form-input-border: #d1b8a0;

  --tz-form-readonly-bg: #ead8c6;
  --tz-form-readonly-color: #5a4636;

  --tz-form-submit-bg: #e67e22;
  --tz-form-submit-hover-bg: #cf6d17;
  --tz-form-submit-color: #ffffff;

  --tz-form-error-bg: #f8d7da;
  --tz-form-error-color: #721c24;

  --tz-form-success-bg: #d4edda;
  --tz-form-success-color: #155724;

  --tz-field-error-color: #b00000;

  /* Week cards */
  --tz-week-card-bg-odd: #f1e3d6;
  --tz-week-card-bg-even: #fbf6f1;
  --tz-week-card-text-color: #2b1d12;
}


/* -----------------------------------------------------------------------------------
 Apply colors using variables
 ----------------------------------------------------------------------------------- */
nav.wp-block-navigation.header-menu {
  background-color: var(--header-menu-bg);
}

nav.wp-block-navigation.header-menu .wp-block-navigation__container > .wp-block-navigation-item > a {
  color: var(--header-menu-link-color);
}

nav.wp-block-navigation.header-menu .wp-block-navigation__container > .wp-block-navigation-item > a:hover {
  color: var(--header-menu-link-hover);
}

nav.wp-block-navigation.header-menu .wp-block-navigation__submenu-container {
  background-color: var(--header-submenu-bg);
  border: 1px solid var(--header-submenu-border);
}

nav.wp-block-navigation.header-menu .wp-block-navigation__submenu-container a {
  color: var(--submenu-link-color);
}

nav.wp-block-navigation.header-menu .wp-block-navigation__submenu-container a:hover {
  background-color: var(--submenu-link-hover-bg);
  color: var(--submenu-link-hover-color);
}

.wp-block-navigation.header-menu .wp-block-navigation__container > .wp-block-navigation-item > a::after {
  background: var(--menu-after-bg);
}

nav.wp-block-navigation.footer-menu {
  background-color: transparent;
}

nav.wp-block-navigation.footer-menu a {
  color: var(--footer-link-color) !important;
}

nav.wp-block-navigation.footer-menu a:hover {
  color: var(--footer-link-hover-color);
}

nav.wp-block-navigation.footer-menu a::after {
  background: var(--footer-after-bg);
}

nav.wp-block-navigation.footer-menu a:hover::after {
  background: var(--footer-after-hover-bg);
}

.tz-menu-item a {
    color: var(--tz-menu-link-color);
    background-color: var(--tz-menu-link-bg);
}

.tz-menu-item a:hover {
    background-color: var(--tz-menu-link-hover-bg);
}

.tz-menu-item a.is-active,
.tz-menu-item a:focus,
.tz-menu-item a:focus-visible {
    outline-color: var(--tz-menu-outline-color);
}

.tz-desktop-table th {
  background-color: var(--tz-table-header-bg);
  color: var(--tz-table-header-color);
  border-bottom: 2px solid var(--tz-table-header-border);
  font-weight: bold;
}

.tz-desktop-table td {
  border-bottom: 1px solid var(--tz-table-border);
}

.tz-desktop-table tbody tr:nth-child(odd) {
  background-color: var(--tz-table-row-odd-bg);
}

.tz-desktop-table tbody tr:nth-child(even) {
  background-color: var(--tz-table-row-even-bg);
}

.tz-desktop-table tbody tr:hover {
  background-color: var(--tz-table-row-hover-bg);
}

@media (max-width: 768px) {
  .tz-mobile-card {
    background-color: var(--tz-mobile-card-bg-default);
    border: 1px solid var(--tz-mobile-card-border);
    box-shadow: var(--tz-mobile-card-shadow);
  }

  .tz-mobile-cards .tz-mobile-card:nth-child(odd) {
    background-color: var(--tz-mobile-card-bg-odd);
  }

  .tz-mobile-cards .tz-mobile-card:nth-child(even) {
    background-color: var(--tz-mobile-card-bg-even);
  }
}

/* Calendar colors */
/* Calendar header row (thead) */
.tz-kalender-table thead th {
    background: var(--tz-kal-th-bg);
    border-bottom: 1px solid var(--tz-kal-th-border);
    color: var(--tz-kal-title-color);
    font-weight: bold;
}

/* Default body cells */
.tz-kalender-table tbody td {
  background-color: var(--tz-kal-body-bg);
  color: var(--tz-kal-text-color);
}

/* Empty cells */
.tz-kalender-table tbody td.tz-empty {
  background-color: var(--tz-kal-empty-bg);
}

/* Weekends */
.tz-kalender-table tbody td.tz-weekend {
  background-color: var(--tz-kal-weekend-bg);
}

/* Active course days */
.tz-kalender-table tbody td.tz-active {
  background-color: var(--tz-kal-active-bg);
}

/* Today */
.tz-kalender-table tbody td.tz-today {
    border: 2px solid var(--tz-today-border) !important;
    color: var(--tz-today-color) !important;
    font-weight: 700;
}


/* Body background */
body {
    background:
        radial-gradient(rgba(0,0,0,0.03) 1px, transparent 1px),
        radial-gradient(rgba(0,0,0,0.04) 1px, transparent 1px);
    background-position: 0 0, 3px 3px;
    background-size: 6px 6px;
    background-color: var(--tz-body-bg);
}

/* Outer frame */
.tz-site-frame {
    background: var(--tz-site-frame-bg);
    border: 1px solid rgba(0,0,0,0.08);
    box-shadow: 0 3px 16px rgba(0,0,0,0.05);
}

/* Internal header */
.tz-header {
    background: var(--tz-header-bg);
}

/* Main/content */
.tz-main {
    background: var(--tz-site-frame-bg);
}

/* Frame footer */
.tz-footer {
    background: var(--tz-footer-bg);
    color: var(--tz-footer-color);
}

.tz-footer a {
    color: var(--tz-footer-link);
}


/* Kurslist links */
.tz-course-item a {
    color: var(--tz-kurslist-link-color);
    text-decoration: underline;
}
.tz-course-item a:hover {
    color: var(--tz-kurslist-link-hover-color);
}

/* Anmeldung form fieldsets */
.tz-anmeldung-form fieldset {
    background-color: var(--tz-form-fieldset-bg);
    border: 1px solid var(--tz-form-fieldset-border);
}

/* Inputs / selects */
.tz-anmeldung-form .form-row select,
.tz-anmeldung-form .form-row input[type="text"],
.tz-anmeldung-form .form-row input[type="email"],
.tz-anmeldung-form .form-row textarea {
    background-color: var(--tz-form-input-bg);
    border: 1px solid var(--tz-form-input-border);
}

/* Read-only inputs */
.tz-anmeldung-form input[readonly] {
    background-color: var(--tz-form-readonly-bg);
    color: var(--tz-form-readonly-color);
}

/* Submit button */
.tz-anmeldung-form button[type="submit"] {
    background-color: var(--tz-form-submit-bg);
    color: var(--tz-form-submit-color);
}

.tz-anmeldung-form button[type="submit"]:hover {
    background-color: var(--tz-form-submit-hover-bg);
}

/* Form messages */
.tz-form-error {
    background: var(--tz-form-error-bg);
    color: var(--tz-form-error-color);
}

.tz-form-success {
    background: var(--tz-form-success-bg);
    color: var(--tz-form-success-color);
}

/* Error fields */
.tz-field-error {
    color: var(--tz-field-error-color);
}
.tz-field-error + input,
.tz-field-error + select,
.tz-field-error + textarea {
    border-color: var(--tz-field-error-color);
}

/* Week cards alternating backgrounds */
.tz-week-card:nth-child(odd) {
    background-color: var(--tz-week-card-bg-odd);
}

.tz-week-card:nth-child(even) {
    background-color: var(--tz-week-card-bg-even);
}

/* Course page items */
.tz-course_page-item {
    background-color: var(--tz-course-page-item-bg);
}

.tz-course_page-title a,
.tz-course_page-subitem a {
    color: var(--tz-course-page-link-color);
}

.tz-course_page-title a:hover,
.tz-course_page-subitem a:hover {
    color: var(--tz-course-page-link-hover-color);
}

/* Week overview cards */
.tz-week-card {
    color: var(--tz-week-card-text-color);
}

