/* ===== Colors / Overrides ===== */
:root{
    /* Brand Palette */
    --brand-red:#D7262D;
    --brand-gold:#CCAB6A;
    --brand-blue:#0A48FF;
    --brand-dark:#111317;
    --brand-light:#F5F7FA;
    --text-body:#1F2328;
    --muted:#6B7280;

    --radius:6px;
    --shadow:0 10px 30px rgba(0,0,0,.08);

    /* Bootstrap Overrides */
    --bs-primary:var(--brand-red);
    --bs-primary-rgb:215,38,45;

    --bs-secondary:var(--brand-gold);
    --bs-secondary-rgb:204,171,106;

    --bs-info:var(--brand-blue);
    --bs-info-rgb:10,72,255;

    --bs-dark:var(--brand-dark);
    --bs-dark-rgb:17,19,23;

    --bs-light:var(--brand-light);
    --bs-light-rgb:245,247,250;
}

/* ===== Buttons ===== */
.btn{
    --bs-btn-border-radius:var(--radius);
}

/* PRIMARY */
.btn-primary{
    --bs-btn-color:#fff;
    --bs-btn-bg:var(--brand-red);
    --bs-btn-border-color:var(--brand-red);
    --bs-btn-hover-color:#fff;
    --bs-btn-hover-bg:#b71f25;
    --bs-btn-hover-border-color:#a61c22;
    --bs-btn-active-color:#fff;
    --bs-btn-active-bg:#8f181d;
    --bs-btn-active-border-color:#8f181d;
    --bs-btn-disabled-bg:#e7a3a6;
    --bs-btn-disabled-border-color:#e7a3a6;
}
.btn-outline-primary{
    --bs-btn-color:var(--brand-red);
    --bs-btn-border-color:var(--brand-red);
    --bs-btn-hover-color:#fff;
    --bs-btn-hover-bg:var(--brand-red);
    --bs-btn-hover-border-color:var(--brand-red);
}

/* SECONDARY */
.btn-secondary{
    --bs-btn-color:#fff;
    --bs-btn-bg:var(--brand-gold);
    --bs-btn-border-color:var(--brand-gold);
    --bs-btn-hover-color:#fff;
    --bs-btn-hover-bg:#b89655;
    --bs-btn-hover-border-color:#b89655;
    --bs-btn-active-bg:#9e7f46;
    --bs-btn-active-border-color:#9e7f46;
}
.btn-outline-secondary{
    --bs-btn-color:var(--brand-gold);
    --bs-btn-border-color:var(--brand-gold);
    --bs-btn-hover-color:#fff;
    --bs-btn-hover-bg:var(--brand-gold);
    --bs-btn-hover-border-color:var(--brand-gold);
}

/* INFO */
.btn-info{
    --bs-btn-color:#fff;
    --bs-btn-bg:var(--brand-blue);
    --bs-btn-border-color:var(--brand-blue);
    --bs-btn-hover-color:#fff;
    --bs-btn-hover-bg:#0837cc;
    --bs-btn-hover-border-color:#0837cc;
}
.btn-outline-info{
    --bs-btn-color:var(--brand-blue);
    --bs-btn-border-color:var(--brand-blue);
    --bs-btn-hover-color:#fff;
    --bs-btn-hover-bg:var(--brand-blue);
    --bs-btn-hover-border-color:var(--brand-blue);
}

/* DARK / LIGHT */
.btn-dark{
    --bs-btn-color:#fff;
    --bs-btn-bg:var(--brand-dark);
    --bs-btn-border-color:var(--brand-dark);
    --bs-btn-hover-bg:#000;
    --bs-btn-hover-border-color:#000;
}
.btn-light{
    --bs-btn-color:var(--brand-dark);
    --bs-btn-bg:var(--brand-light);
    --bs-btn-border-color:var(--brand-light);
    --bs-btn-hover-color:var(--brand-dark);
    --bs-btn-hover-bg:#e4e7ec;
    --bs-btn-hover-border-color:#e4e7ec;
}

:target {
    scroll-margin-top: 5rem;
}

/* ===== Defaults ===== */
html,body{
    height:100%;
}
body{
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
    color:var(--text-body);
    background:var(--brand-light);
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

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

/* ===== Topbar ===== */
.topbar{
    background:var(--brand-dark);
    border-bottom:1px solid rgba(255,255,255,.06);
}

/* ===== Navbar ===== */
.navbar{
    background:linear-gradient(180deg, var(--brand-dark) 0%, #161A20 100%);
}
.brand-wordmark{
    color:#fff;
    letter-spacing:.5px;
}
.nav-link{
    color:#ffffffcc !important;
    margin:0 .25rem;
    transition:color .15s ease;
}
.nav-link:hover{ color:#fff !important; }
.btn-cta{
    background:var(--brand-red);
    color:#fff;
    border:0;
    border-radius:999px;
    padding:.55rem 1rem;
    box-shadow:0 6px 16px rgba(215,38,45,.28);
}
.btn-cta:hover{ filter:brightness(1.05); }

/* ===== Footer ===== */
.legal-links {
    background:#161A20; /* etwas heller/dunkler als footer */
    border-top:1px solid rgba(255,255,255,.08);
}
.legal-links a {
    text-decoration:none;
    color:var(--muted);
    transition: color .2s;
}
.legal-links a:hover {
    color:#fff;
}

.site-footer{
    background:#0e1116;
    color:#c8cdd4;
    border-top:3px solid var(--brand-red);
}
.site-footer .text-accent{ color:var(--brand-gold); }

.custom-dropdown{
    background:#161A20;
    border:1px solid rgba(255,255,255,.06);
    border-radius:var(--radius);
    padding:.5rem 0;
    box-shadow:0 15px 35px rgba(0,0,0,.35);
    animation: dropdownFade .18s ease forwards;
}

.custom-dropdown .dropdown-item{
    color:#ffffffcc;
    padding:.6rem 1.2rem;
    transition: all .15s ease;
    font-weight:500;
}

.custom-dropdown .dropdown-item:hover{
    background:rgba(215,38,45,.12);
    color:#fff;
}

.custom-dropdown .dropdown-item:active{
    background:var(--brand-red);
    color:#fff;
}

div .shadow-sm:hover {
    transform: translateY(-3px);
    transition: all .2s ease;
}

.service-list li {
    margin-bottom: 8px;
}

.service-list li a {
    display: inline-block;
    padding-left: 4px;
}

main a {
    color: #2c2c2c;
    text-decoration: none;
    border-bottom: 1px solid rgba(0,0,0,0.2);
    transition: all .2s ease;
}

main a:hover {
    color: var(--bs-primary);
    border-bottom: 1px solid var(--bs-primary);
}

@media (min-width:992px){
    .navbar .dropdown:hover .dropdown-menu{
        display:block;
        margin-top:0;
    }
}

/* Subtle fade + slide */
@keyframes dropdownFade{
    from{
        opacity:0;
        transform:translateY(8px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* Enable AOS transitions globally */
[data-aos] {
    transition: opacity 0.8s ease, transform 0.8s ease;
    will-change: opacity, transform;
}