:root {
    --wolf-blue: #0A72FA;
    --wolf-blue-bright: #2280FA;
    --wolf-blue-deep: #0858C6;
    --ink: #1D2126;
    --steel-900: #202327;
    --steel-700: #595959;
    --steel-500: #8A8F98;
    --line: #E6E9EE;
    --mist: #F4F6F9;
    --paper: #FFFFFF;
    --font-display: 'Space Grotesk', sans-serif;
    --font-body: 'Inter', sans-serif;
    --radius: 16px;
    --radius-sm: 10px;
    --shadow: 0 2px 4px rgba(20, 30, 50, .04), 0 1px 2px rgba(20, 30, 50, .06);
    --shadow-lift: 0 24px 48px -22px rgba(16, 28, 54, .34);
    --maxw: 1180px;
}

/* ---------- BASE ---------- */
html {
    scroll-behavior: smooth;
    overflow-x: clip
}

/* Guard gg. horizontales Scrollen durch dekorative Akzente (clip bricht Sticky-Header nicht) */
/* Body-Grundschrift (Inter), Zeilenhöhe 1.65 und Größe 17px kommen NATIV aus dem Elementor-Kit
   (Theme Style → Typografie → Body). Hier nur, was das Kit nicht abbildet: Font-Smoothing + Flächen. */
body {
    color: var(--ink);
    background: var(--paper);
    -webkit-font-smoothing: antialiased
}

.eyebrow {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: .8rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--wolf-blue);
    display: inline-flex;
    align-items: center !important;
    gap: 10px
}

.eyebrow::before {
    content: "";
    width: 26px;
    height: 2px;
    background: var(--wolf-blue);
    display: inline-block;
    position: relative;
}

.accent {
    color: var(--wolf-blue)
}

.step .num {
    display: flex;
    align-items: center;
    gap: 12px
}

.step .num::after {
    content: "";
    flex: 1;
    height: 2px;
    background: linear-gradient(90deg, var(--wolf-blue), transparent)
}

/* ============================================================
   FOOTER (Astra Footer-Builder) – Mockup-Optik
   ============================================================ */
.site-footer, .site-primary-footer-wrap, .site-below-footer-wrap, .ast-below-footer-wrap {
    background: var(--steel-900) !important;
    border: 0 !important
}

.site-footer {
    color: #C7CBD2;
    padding-top: 74px
}

.site-footer .widget-title, .site-footer h2.widget-title, .site-footer h5 {
    font-family: var(--font-display) !important;
    color: #fff !important;
    font-size: .92rem !important;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 20px;
    font-weight: 600;
    border: 0;
    padding: 0
}

.site-footer p, .site-footer li, .site-footer .ast-builder-html-element {
    color: #9CA1A9;
    font-size: .97rem;
    line-height: 1.8
}

.site-footer a {
    color: #9CA1A9;
    transition: .2s
}

.site-footer a:hover {
    color: var(--wolf-blue-bright)
}

.site-footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 11px
}

.wolf-foot-claim {
    font-family: var(--font-display);
    font-size: 1.05rem;
    color: #fff;
    margin: 18px 0 14px
}

.wolf-foot-logo img {
    max-width: 190px;
    height: auto;
    margin-bottom: 6px
}

.wolf-foot-contact .row {
    margin-bottom: 16px
}

.wolf-foot-contact .row span {
    display: block;
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #6F757E;
    margin-bottom: 3px
}

.wolf-foot-contact .row a {
    color: #fff !important;
    font-family: var(--font-display);
    font-weight: 500;
    font-size: 1rem
}

.wolf-foot-contact .row a:hover {
    color: var(--wolf-blue-bright) !important
}

.site-below-footer-wrap .links {
    display: flex;
    gap: 24px;
    flex-wrap: wrap
}

.visual::after {
    content: "";
    position: absolute;
    right: -26px;
    top: -26px;
    width: 150px;
    height: 150px;
    border-radius: 30px;
    background: var(--wolf-blue);
    opacity: .18;
    transform: rotate(-38deg);
    z-index: 0;
    pointer-events: none
}

.visual .imgslot {
    position: relative;
    z-index: 2
}

.imgslot img, .imgslot .e-image-base {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 4/3;
    object-fit: cover
}

.entry-content p:last-of-type {
    margin-bottom: 0;
}

.ast-builder-footer-grid-columns a {
    color: #fff !important;
}

.ast-builder-footer-grid-columns a:hover {
    text-decoration: underline;
}

@media only screen and (max-width: 767px) {
    .site-footer {
        padding: 0 20px;
    }
}