/* 1. FONTS */
@font-face {
    font-family: 'Raleway';
    src: url('/fonts/Raleway-Regular.woff2') format('woff2'),
         url('/fonts/Raleway-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: 'Raleway', sans-serif; 
    letter-spacing: 0.5px;
    line-height: 1.8em;
    overflow-x: hidden; /* Verhindert horizontales Scrollen */
}
/* Erzeugt einen harmonischen Abstand unter dem Spürhund-Bild */
.com-content-article__body img {
    margin-bottom: 2rem;
    margin-top: 1rem;
}

/* Gibt dem violetten Einleitungstext mehr Raum */
.com-content-article__body p {
    margin-bottom: 1.5rem;
}
/* Custom Button für den schwarzen CTA Block */
.cta-button {
    background-color: #7659c8; /* Dein Violett */
    color: #ffffff !important;
    padding: 12px 30px;
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 5px;
    border: none;
    transition: all 0.3s ease;
    display: inline-block;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(118, 89, 200, 0.3);
}

.cta-button:hover {
    background-color: #a78bfa; /* Helleres Violett beim Hover */
    box-shadow: 0 0 20px rgba(167, 139, 250, 0.6);
    transform: translateY(-2px);
    color: #ffffff !important;
}
/* 2. HEADINGS */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    color: #1a1a1a; /* Ein sehr dunkles Grau/Schwarz wirkt oft edler als hartes #000 */
    font-family: 'Raleway', sans-serif;
    letter-spacing: 0.5px;
    margin-top: 1.5rem;
}

h1 { font-weight: 500; line-height: 1.2; margin-bottom: .5rem; }
h2 { font-weight: 400; line-height: 1.2; margin-bottom: .5rem; }
h3 { font-weight: 200; line-height: 1.2; margin-bottom: .5rem; }

/* 3. HEADER & NAVIGATION (Futuristic Violet Edit) */
.container-header {
    background-image: none;
    background-color: #0B0E14 !important; /* Fast schwarz */
    box-shadow: 0px 4px 20px rgba(0,0,0,0.5);
    border-bottom: 1px solid rgba(167, 139, 250, 0.2); /* Dezent violette Trennlinie */
}

.container-header .container-nav {
    flex-wrap: wrap;
    justify-content: center !important;
    padding-bottom: 0.5em;
    font-size: 24px;
}
.container-header .grid-child {
  padding: .5em;
  justify-content: center !important;
}
/* Menü-Links Grundstil */
.container-header .metismenu.mod-menu .metismenu-item a,
.container-header .metismenu.mod-menu .metismenu-item span {
    color: #F1F5F9 !important; /* Off-White für gute Lesbarkeit */
    transition: all 0.3s ease;
    text-decoration: none !important;
    border-bottom: none !important;
    padding: 0.5em 1em;
}

/* Hover-Effekt: Elektrisches Violett */
.container-header .metismenu.mod-menu .metismenu-item a:hover {
    color: #A78BFA !important; /* Leuchtendes Violett */
    text-shadow: 0 0 10px rgba(167, 139, 250, 0.6);
}

/* Aktiver Menüpunkt */
.container-header .metismenu.mod-menu .metismenu-item.active > a,
.container-header .metismenu.mod-menu .metismenu-item.current > a {
    color: #A78BFA !important;
    font-weight: 600;
    position: relative;
}

/* Dezentere aktive Markierung ohne dicke Linie */
.container-header .metismenu.mod-menu .metismenu-item.active > a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 20%;
    width: 60%;
    height: 2px;
    background: #A78BFA;
    box-shadow: 0 0 8px #A78BFA;
    display: block !important; /* Überschreibt dein 'none' nur für diesen Zweck */
}
.kig-hero {
    padding: 80px 20px;
    background: linear-gradient(135deg, #1d7989, #7659c8);
    color: #fff;
}

.kig-section {
    padding: 60px 20px;
}

.kig-bg-light {
    background: #f9f9f9;
}

.kig-grid-3,
.kig-grid-4,
.kig-grid-2 {
    display: grid;
    gap: 30px;
}

.kig-grid-3 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.kig-grid-4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.kig-grid-2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }

.kig-box, .kig-service {
    text-align: center;
}

.kig-box i, .kig-service i {
    font-size: 32px;
    margin-bottom: 15px;
    color: #7659c8;
}

.kig-example-box {
    background: #f4f4f4;
    padding: 30px;
    border-left: 5px solid #7659c8;
}

.kig-list {
    list-style: none;
    padding: 0;
}

.kig-list li {
    margin: 10px 0;
}

.kig-list i {
    color: #1d7989;
    margin-right: 10px;
}

.kig-cta {
    background: #1d7989;
    color: #fff;
    padding: 60px 20px;
}

/* Mobile Toggler */
.container-header .navbar-toggler {
    color: #A78BFA;
    border: 1px solid rgba(167, 139, 250, 0.5);
    font-size: 1.6em;
}
.navbar-toggler {
    margin-left: auto;
    margin-right: auto;
    display: block; /* Stellt sicher, dass margin auto greift */
}
/* 4. CONTENT & GRID */
.site-grid {
    margin-top: 1.4em;
    background: #ffffff;
}

.custom-full-width {
    grid-column: 1 / -1 !important;
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding: 0;
}

.custom-full-width img {
    width: 100%;
    height: auto;
    display: block;
}
.btn-primary {
    --btn-color: #666;
    --btn-bg: #010156;
    --btn-border-color: #010156;
    --btn-hover-color: #396087;
    --btn-hover-bg: #010149;
    --btn-hover-border-color: #010145;
    --btn-focus-shadow-rgb: 39, 39, 111;
    --btn-active-color: #6a52b3;
    --btn-active-bg: #010145;
    --btn-active-border-color: #010140;
    --btn-active-shadow: inset 0 3px 5px #00000020;
    --btn-disabled-color: #fff;
    --btn-disabled-bg: #010156;
    --btn-disabled-border-color: #010156;
}
/* 5. BUTTONS */
.btn-info {
    --btn-bg: #7154b9;
    --btn-border-color: #098235;
    --btn-hover-bg: #A78BFA;
    --btn-hover-border-color: #A78BFA
}
.tags a.btn {
    font-weight: normal;
    font-size: 0.5em;
}
/* 6. FOOTER */
/* Footer Full-Width Style */
.footer {
    background-color: #0B0E14 !important; /* Identisch zum Header/CTA */
  background-image: none;  
  color: #ffffff;
    padding: 4rem 0;
    width: 100vw !important;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
}

.footer-heading {
    color: #ffffff !important;
    text-align: center;
    font-size: 2rem;
    margin-bottom: 1rem;
}

.footer-text {
    text-align: center;
    color: #a78bfa; /* Dein Akzent-Violett für den Text */
    font-size: 1.1rem;
    margin-bottom: 2rem;
}

.footer-links {
    text-align: center;
    border-top: 1px solid rgba(167, 139, 250, 0.2);
    padding-top: 1.5rem;
    margin-top: 1.5rem;
}

.footer-links a {
    color: #ffffff !important;
    text-decoration: none;
    margin: 0 15px;
    font-size: 0.9rem;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #a78bfa !important;
}
/* Labels über die Felder setzen */
.visform-control-label, 
label {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 5px; /* Etwas Abstand zum Feld darunter */
    text-align: left !important;
}

/* Den Versatz (Offset) der Eingabefelder entfernen */
.visforms-field-container,
.col-lg-9,
.offset-lg-3,
.offset-md-3 {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}