:root, [data-bs-theme=light] {
    --bs-primary: #8a004f;
    --bs-primary-rgb: 138,0,79;
    --bs-secondary: #000000;
    --bs-body-color: #000000;
    --bs-heading-color: #000000;
    --bs-secondary-color: #77757c;
}

/* BTN */
.btn {
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  border-radius: 8px;
}
.btn-md {
  font-size: 13px;
  font-weight: 600 !important;
}
.btn-sm {
  font-size: 12px;
  font-weight: 600 !important;
}

/* HEADER */
.header-user {
    line-height: 1em;
}
.header-user h6 {
    font-size: 13px;
}
.header-user small {
    font-size: 12px;
}
#layout-menu .menu-link {
    font-size: 13px;
    font-weight: 600;
    padding: 4px 9px;
}
#layout-menu .menu-link.is-highlight {
    padding: 4px 9px;
    letter-spacing: 0.05em;    
    background: color-mix(in sRGB, var(--bs-paper-bg) 90%, var(--bs-primary));
    color: var(--bs-primary);
    &:hover {
        background: color-mix(in sRGB, var(--bs-paper-bg) 80%, var(--bs-primary));
    }
}
.menu.menu-horizontal .menu-inner > .menu-item {
    margin: 12px 0;
}

#layout-menu .menu-link.menu-toggle {
    padding-right: 21px;
}
#layout-menu .menu-inner > .menu-item > .menu-toggle::after {
    width: 14px;
    block-size: 13px;
    margin-top: -0.5px;
    right: 5px;
}
.nav-item.dropdown-language .nav-link {
    text-transform: uppercase;
    font-weight: 500;
    font-size: 12px;
    padding-right: 17px;
    position: relative;
}
.nav-item.dropdown-language .nav-link .fi {
    margin-inline-end: 2px !important;
    width: 16px;
    height: 16px;
    margin-top: -1.5px;
}
.nav-item.dropdown-language .dropdown-toggle::after {
    position: absolute;
    display: block;
    background-color: var(--bs-menu-color);
    content: "";
    inset-block-start: 50%;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m9 6l6 6l-6 6'/%3E%3C/svg%3E");
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
    transform: translateY(-50%);
    block-size: 13px;
    font-size: 1.375rem;
    width: 16px;
    right: 0px;
    margin-top: -0.5px;
    transform: translateY(-50%) rotate(90deg);
}
.menu-vertical .menu-sub .menu-link {
    padding-inline-start: 2.625rem !important;
}
a[data-id] {
    cursor: pointer;
}
@media (max-width: 800px) {
    .navbar-brand.app-brand.demo {
        height: 56px;
    }
    .layout-menu-toggle.menu-link {
        margin-right: -10px;
    }
}
@media (min-width: 1200px) {
    #layout-menu {
        left: 180px;
        top: 3px;
        z-index: 9991;
        max-width: 750px;
        box-shadow: none;
    }
    .modal-open {
        #layout-menu {
            z-index: 10;
        }
    }
    #layout-menu {
        .container-xxl {
            padding: 0;
        }
    }
    .layout-menu-fixed:not(.layout-navbar-hidden) .layout-horizontal .layout-page .menu-horizontal + [class*=container-], .layout-menu-fixed-offcanvas:not(.layout-navbar-hidden) .layout-horizontal .layout-page .menu-horizontal + [class*=container-] {
        padding-block-start: 1.5rem !important;
    }
}


@media (min-width: 1440px) {
    #layout-menu {
        left: calc(((100vw - 1440px) / 2) + 200px);
    }    
}


/*FOOTER*/
.footer a {
    &:hover {
        text-decoration: underline;
    }
}
@media (min-width: 992px) {

    /*FOOTER*/
    .authentication-bg .footer-container {
        position: fixed;
        left: 0px;
        width: 33%;
        padding: 22px;
        bottom: 10px;
        color: #FFFF;
        flex-wrap: wrap;
        opacity: 0.8;   
        font-size: 12px;     
    }
    .authentication-bg .footer-container .text-body {
      flex: 0 0 100%;
      color: #FFF !important;
      margin-bottom: 8px;      
    }
    .authentication-bg .footer-container .footer-link {
      color: #FFF !important;
      margin-inline-end: 5px !important;
    }
    .footer-link:hover {
      text-decoration: underline;
    }


}
@media (max-width: 910px) {
    .footer-container {
        text-align: left !important;
        align-items: flex-start !important;
        .text-body {
            margin-bottom: 8px;
        }
    }
}

/* TABLE */
.table thead tr th {
    font-weight: 600;
}

/* MODAL */
@media (max-width: 700px) {
    .modal-content {
        padding: 15px !important;
    }
}

/* FORM */
label.required::after {
    content: " *";
    color: var(--bs-danger);
    font-weight: 600;
}


/* Validierung Verbesserungen */
.invalid-feedback[data-error] {
    display: none;
}

/* Verstecke FormValidation Standard-Fehlermeldungen */
.fv-plugins-message-container {
    display: none !important;
}

.fv-help-block {
    display: none !important;
}

.was-validated .form-control:invalid ~ .invalid-feedback[data-error="notEmpty"],
.was-validated .form-select:invalid ~ .invalid-feedback[data-error="notEmpty"],
.is-invalid ~ .invalid-feedback[data-error="notEmpty"] {
    display: block;
}

.was-validated .form-control:invalid ~ .invalid-feedback[data-error="stringLength"],
.is-invalid ~ .invalid-feedback[data-error="stringLength"] {
    display: none;
}

/* Spezielle Behandlung für Checkboxen - nur über FormValidation.js */
.form-check .invalid-feedback {
    display: none;
}

.form-check-input.is-invalid ~ .invalid-feedback {
    display: block !important;
}

/* Bessere Darstellung für Switch-Elemente */
.switch {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}




/* Countdown Styles */
.countdown-container {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.countdown-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.countdown-circle {
    width: 62px;
    height: 64px;
    border-radius: 8px;
    background: transparent;
    border: 3px solid color-mix(in sRGB, var(--bs-paper-bg) var(--bs-bg-label-tint-amount), var(--bs-primary)) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.countdown-number {
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    color: var(--bs-heading-color);
}

.countdown-label {
    font-size: 11px;
    font-weight: 600;
    color: var(--bs-body-color);
    letter-spacing: 0.5px;
}

.rv-badge {
    font-weight: 600 !important;
    width: 32px;
}


/* JUMPNAV */
.navbar-jumpnav .nav-link {
    font-weight: 600 !important;
    font-size: 14px;
}
.navbar-jumpnav .nav-link:hover {
    text-decoration: underline;
    color: var(--bs-primary);
}

/*ACADEMY*/
@media (max-width: 700px) {
    .scaleX-n1-rtl {
        max-height: 80px;
    }
    .app-academy-img-height {
        max-height: inherit;
        width: 12%;
    }
}


/*DASHBOARD*/
.apexcharts-bar-area {
  clip-path: inset(0 round 8px);
}

/* Nur der äußerste rechte Teil (Rest) bekommt Rundung */
.apexcharts-series[seriesName="Rest"] .apexcharts-bar-area {
  clip-path: inset(0 0 0 0 round 0 8px 8px 0);
}

/* Innerer Stack (Highlight) bleibt kantig */
.apexcharts-series[seriesName="Highlight"] .apexcharts-bar-area {
  clip-path: none;
}