:root {
    --bs-primary: #97C93E; /* Grün */
    --bs-dark: #1C2B39; /* Dunkelblau */
    --bs-light: #FFFFFF; /* Weiß */
}

/* Overlay-Header */
.overlay-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1050;
    background: rgba(28, 43, 57, 0.8); /* Transparenter, dunkler Hintergrund */
    backdrop-filter: blur(10px); /* Glass-Effekt */
    transition: background-color 0.3s ease-in-out;
    padding: 10px 20px;
}

/* Logo */
.overlay-header .navbar-brand img {
    max-height: 40px;
}

.overlay-header .navbar-brand span {
    font-size: 20px;
    color: var(--bs-light);
    font-weight: bold;
}

/* Navigationslinks */
.overlay-header .nav-link {
    color: var(--bs-light);
    font-size: 16px;
    font-weight: 500;
    margin: 0 10px;
    transition: color 0.3s ease-in-out;
}

.overlay-header .nav-link:hover, 
.overlay-header .nav-link.active {
    color: var(--bs-primary);
}

/* Kontakt-Button */
.overlay-header .btn-primary {
    background-color: var(--bs-primary);
    border: none;
    font-size: 14px;
    font-weight: bold;
    padding: 8px 16px;
    transition: background-color 0.3s ease-in-out;
}

.overlay-header .btn-primary:hover {
    background-color: var(--bs-light);
    color: var(--bs-dark);
}

/* Sticky Effekt bei Scroll */
.overlay-header.scrolled {
    background: rgba(28, 43, 57, 1); /* Vollfarbiger Hintergrund beim Scrollen */
}



/* Header Styling */
.overlay-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1050; /* Über Hero-Bereich */
    background: rgba(28, 43, 57, 0.8); /* Transparenter Hintergrund */
    backdrop-filter: blur(10px); /* Glassmorphism-Effekt */
    transition: background-color 0.3s ease-in-out;
    padding: 10px 0;
}

.overlay-header .navbar {
    padding: 0 20px;
}

.overlay-header .navbar-brand img {
    max-height: 40px;
}

.overlay-header .navbar-dark .navbar-nav .nav-link {
    color: var(--bs-light);
    font-size: 16px;
    font-weight: 500;
    transition: color 0.3s ease-in-out;
}

.overlay-header .navbar-dark .nav-link:hover, 
.overlay-header .navbar-dark .nav-link.active {
    color: var(--bs-primary);
}

.overlay-header .btn-primary {
    background-color: var(--bs-primary);
    border: none;
    font-size: 14px;
    font-weight: bold;
    padding: 8px 16px;
    transition: background-color 0.3s ease-in-out;
}

.overlay-header .btn-primary:hover {
    background-color: var(--bs-light);
    color: var(--bs-dark);
}

/* Hero-Bereich */
.hero {
    background: url('/assets/images/solar-bg.jpg') no-repeat center center / cover;
    min-height: 80vh;
    position: relative;
    color: var(--bs-light);
}

.hero h1 {
    font-size: 3rem;
}

.hero p {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.8);
}

/* Sticky Effekt bei Scroll */
.overlay-header.scrolled {
    background: rgba(28, 43, 57, 1); /* Vollfarbiger Hintergrund beim Scrollen */
}

/* Footer Styling */
.footer {
    background-color: #1C2B39; /* Dunkelblauer Hintergrund */
    color: #FFFFFF; /* Weißer Text */
    border-top: 2px solid #97C93E; /* Grüner Akzent */
}

.footer a {
    color: #FFFFFF;
    transition: color 0.3s ease-in-out;
}

.footer a:hover {
    color: #97C93E; /* Grün beim Hover */
}

.step {
    color: #6c757d;
    font-size: 0.9rem;
}

.step.active {
    color: #fff;
    font-weight: bold;
}

.step-container {
    flex: 1;
    max-width: 100px;
}
.step-container small {
    font-size: 0.75rem;
    white-space: nowrap;
}



/* Add these styles to your existing CSS */
.form-range::-webkit-slider-thumb {
    background: #ffc107;
}

.form-range::-moz-range-thumb {
    background: #ffc107;
}

.form-range::-ms-thumb {
    background: #ffc107;
}

.form-range::-webkit-slider-runnable-track {
    background: rgba(255, 255, 255, 0.2);
}

.form-range::-moz-range-track {
    background: rgba(255, 255, 255, 0.2);
}

.form-range::-ms-track {
    background: rgba(255, 255, 255, 0.2);
}

#monthlyFluxControls {
    z-index: 1000;
}


.overlay-type {
    --overlay-type-icon-url: none;
    display: block;
    width: 60px;
}

.overlay-type__radio {
    display: none;
}

.overlay-type__label {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    white-space: nowrap;
    cursor: pointer;
    color: #5f6368;
    -webkit-user-select: none;
    user-select: none;
    font-size: 12px;
}

.overlay-type__label:before {
    content: "";
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 8px;
    background-color: #ccc;
    background-image: var(--overlay-type-icon-url);
    background-size: cover;
    margin-bottom: 6px;
}

.overlay-type__radio:checked + .overlay-type__label {
    color: #4285f4;
    font-weight: 500;
}

.overlay-type__radio:checked + .overlay-type__label:before {
    box-shadow: inset 0 0 0 3px var(--accent-color, #4285f4);
}