:root {
    height: 100%;
    --primary: #6CA6D9;
    --text-color: #777777;

    --gray-very-light: #f8f8f8;   /* sehr hell (fast weiß) */
    --gray-light:      #f0f0f0;   /* helles Grau */
    --gray-medium:     #e0e0e0;   /* mittleres hellgrau */
    --gray-gainsboro:  #dcdcdc;   /* klassisches "gainsboro" */
}

body {
    color: var(--text-color);
    font-size: 18px;
    font-family: "Helvetica Neue", sans-serif;
    min-height: 100vh;
    margin: 0;
    display: grid;
    grid-template-rows: 1fr auto;
}

h1, h2, h3, .nav-link { color: var(--text-color)}
a[href^="mailto:"] { color: var(--primary) }

.header-image {
    height: 450px;
    object-fit: cover;
    object-position: 50% 20%;
    background-attachment: fixed;
    width: 100%;
}
.nav-link:hover {
    color: var(--text-color);
    text-decoration: underline;
}

.logo {
    width: 100px;
    height: 100px;
}

.slogan {
    font-family: "Carattere", cursive;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(3rem, 2vw + 2rem, 5rem);
    color: var(--primary) !important;
}

.slider-container img {
    height: 500px;
    object-fit: cover;
}

.carousel-control-next, .carousel-control-prev {
    filter: invert(50%) sepia(10%) saturate(70%) hue-rotate(0deg)
}
.card {
    height: 100%;
}

.card-title {
    color: var(--primary);
}

img.card-img-top {
    height: 250px;
    object-fit: cover;
}

.btn-primary {
    background-color: var(--primary);
    border: none;
}
.whatsapp {
    fill: #25d366;
}
footer {
    background-color: black;
    text-align: center;
}

footer a {
    color: var(--text-color);
    text-decoration: none;
}

/* === Tablet (ab 600px) === */
@media (min-width: 600px) {
}

.cm-link.cn-learn-more {
    color: var(--primary) !important;
}
.klaro .cookie-notice .cm-btn.cm-btn-success {
    background-color: var(--primary);
    border: none;
}