/* ==========================================================================
   1. FONTS & GLOBALE VARIABLEN
   ========================================================================== */

@font-face {
    font-display: swap; 
    font-family: 'Quicksand';
    font-style: normal;
    font-weight: 400;
    src: url('../Fonts/quicksand-v31-latin-regular.woff2') format('woff2'); 
}

:root {
    /* Bootstrap Overrides */
    --bs-body-font-family: "Quicksand", sans-serif;
    --bs-body-color: #5c636a;
    --bs-body-font-size: 1rem;
    --bs-border-radius: 0rem;
    --bs-breadcrumb-font-size: 1.2rem;
    
    /* Custom Anchor Scroll-Offsets */
    --sw-anchor-offset: 50px;
}

/* ==========================================================================
   2. BASICS & TYPOGRAFIE
   ========================================================================== */

html {
    scroll-padding-top: var(--sw-anchor-offset);
}

/* Anchor Fix für alle relevanten Content-Container */
.frame[id],
section[id],
div[id^="c"] {
    scroll-margin-top: var(--sw-anchor-offset);
}

a {
    text-decoration: none;
    color: inherit;
}

.text-justify {
    text-align: justify !important;
}

.list-group-item {
    border: none;
}

/* ==========================================================================
   3. KOMPONENTEN
   ========================================================================== */

/* --- Navbar & Offcanvas --- */
.navbar {
    /* SVG sicher URL-codiert (%23ffffff = #ffffff) */
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    --bs-navbar-toggler-border-color: transparent;
    --bs-navbar-toggler-padding-y: 0.25rem;
    --bs-navbar-toggler-padding-x: 0.75rem;
    --bs-navbar-toggler-font-size: 1.75rem;
    --bs-navbar-toggler-transition: none;
    --bs-navbar-toggler-focus-width: 0rem;
}

.navbar-dark .navbar-toggler-icon {
    /* SVG sicher URL-codiert (%23000000 = #000000) */
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23000000' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-dark .offcanvas-title.h5,
.navbar-dark .nav-link,
.navbar-dark .navbar-nav .nav-link.active, 
.navbar-dark .navbar-nav .nav-link.show {
    color: #3b3b3b !important;
}

.btn-close-white {
    --bs-btn-close-filter: none !important;
    --bs-btn-close-color: #000 !important;
}

/* --- Forms --- */
.form-navigation {
    margin: 1rem 0;
}

form h2 {
    font-size: 1.5rem;
}

/* --- Swiper (Slider) --- */
.swiper-caption {
    background-color: transparent !important;
    color: #ffffff;
}

/* Fullscreen Layout für Swiper */
.t3s_swiper.frame-default, 
.t3s_swiper.frame-default #swiper-1,
.t3s_swiper.frame-default .swiper {
    height: 100vh !important; 
    height: 100dvh !important; 
    max-height: none !important; 
}

.t3s_swiper.frame-default .swiper-wrapper,
.t3s_swiper.frame-default .swiper-slide {
    height: 100% !important;
}

.t3s_swiper.frame-default .swiper-slide-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; 
    object-position: center; 
}

/* Swiper Typografie */
.t3s_swiper.frame-default .swiper-caption h3 {
    font-size: 3em !important;
    line-height: 1.2;
    margin: 0; 
}

/* Swiper Pagination */
.t3s_swiper.frame-default .swiper-pagination-bullet {
    background: #ffffff !important; 
    opacity: 0.4; 
}

.t3s_swiper.frame-default .swiper-pagination-bullet-active {
    background: #ffffff !important;
    opacity: 1 !important; 
}

/* ==========================================================================
   4. SEITENSPEZIFISCHE STYLES & FOOTER
   ========================================================================== */

/* Layout & Pages */
.main-content {
    margin-top: 5em;
}

#page-1 .main-content {
    margin-top: 0em;
}

/* Footer */
#page-footer {
    background-color: rgba(255, 205, 2, 0.9);
    color: #3b3b3b;
}

#page-footer a, 
#page-footer a:hover, 
#page-footer a:focus {
    color: #3b3b3b;
    text-decoration: none;
}

#page-footer h4, 
#page-footer .h4, 
#page-footer h5, 
#page-footer .h5 {
    font-size: 1.125rem; /* 18px in rem umgewandelt für bessere Skalierbarkeit (bei 16px Basis) */
}

#page-footer h5.text-secondary {
    color: #000000 !important;
}

/* ==========================================================================
   5. MEDIA QUERIES (RESPONSIVE STYLES)
   ========================================================================== */

@media (max-width: 768px) {
    .t3s_swiper.frame-default .swiper-caption h3 {
        font-size: 1.8em !important; 
    }
}