.body--gray {
    --bg-gradient-start: #c5c8c9;
    --bg-gradient-end: #b8bcc2;
    --bs-link-color-rgb: #133269;

    background-image: linear-gradient(135deg, var(--bg-gradient-start) 0%, var(--bg-gradient-end) 100%);
}

body {
    --bs-body-font-size: 18px;
}

.card.card-fancy {
    --bs-card-inner-border-radius: 1rem;

    background: transparent;
    border-radius: 1rem;
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.08);
}

.card.card-fancy > .card-header {
    background-image: linear-gradient(135deg, #f8f9fcaa 0%, #e8ecf5aa 100%);
    backdrop-filter: blur(1px);
    color: var(--bs-card-cap-color) !important;
}

.card.card-fancy > .card-body {
    background-color: var(--bs-card-bg);
}

.card.card-fancy > .card-footer {
    background-image: linear-gradient(135deg, #f8f9fccc 0%, #e8ecf5cc 100%);
    backdrop-filter: blur(1px);
    color: var(--bs-card-cap-color) !important;
}

.card.card-fancy .card-footer a {
    font-weight: 600;
    text-decoration: none;
}

.btn-fancy {
    background-image: linear-gradient(135deg, var(--bs-primary), #6f42c1);
    color: white !important;
    border: 1px solid rgba(255, 255, 255, 0.1); /* Subtiler Rand */
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.btn-fancy:hover, .btn-fancy:focus-visible {
    box-shadow: 0 0 15px rgba(111, 66, 193, 0.6), inset 0 0 0 2px rgba(255, 255, 255, 0.2);
}

.form-section {
}

.form-section-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #2d3748;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid #e2e8f0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.form-check-input {
    --bs-form-check-bg: #f8f9fc;
}

.form-label.required::after {
    content: '*'/'';
}

.body--grg4 .btn-primary {
    color: #fff;
    background-color: #337ab7;
    border-color: #2e6da4;
}


.app-NetworkBackground canvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    /* Ein tiefer, eleganter Verlauf statt einer flachen Farbe */
    background: radial-gradient(circle at center, #dbe2e5 0%, #b8bcc2 100%);
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-bottom: 1rem;
}

.h1,h1 {
    font-size: calc(1.3rem + .6vw)
}

@media (min-width: 1200px) {
    .h1,h1 {
        font-size:1.75rem
    }
}

.h2,h2 {
    font-size: calc(1.275rem + .3vw)
}

@media (min-width: 1200px) {
    .h2,h2 {
        font-size:1.5rem
    }
}

.h3,h3 {
    font-size: 1.25rem
}

.h4,h4 {
    font-size: 1rem
}

.h5,h5 {
    font-size: 1rem
}

.h6,h6 {
    font-size: 1rem
}

.skip-link {
    top: -60px;
}
