body {
    margin: 0;
    background: var(--dct-bg-light);
    color: var(--dct-text-light);
    transition: background 0.3s ease, color 0.3s ease;
}

body.dark-mode {
    background: var(--dct-bg-dark);
    color: var(--dct-text-dark);
}

/* LINKS = normaler Text */
a,
a:visited {
    color: inherit;
    text-decoration: none;
}

a:hover {
    color: inherit;
    text-decoration: underline;
}

/* =========================================
   HEADER + ZIERLEISTE
========================================= */

header,
.site-header,
#masthead,
.elementor-location-header,
.wp-block-template-part,
.top-bar,
.header-top,
.top-header,
.site-topbar,
.announcement-bar,
.zierleiste {
    position: sticky;
    top: 0;
    z-index: 9999;
    background: var(--dct-header-light) !important;
    transition:
        transform 0.35s ease,
        background 0.3s ease;
    will-change: transform;
}

/* HIDE ON SCROLL */
header.dct-hide-header,
.site-header.dct-hide-header,
#masthead.dct-hide-header,
.elementor-location-header.dct-hide-header,
.wp-block-template-part.dct-hide-header,
.top-bar.dct-hide-header,
.header-top.dct-hide-header,
.top-header.dct-hide-header,
.site-topbar.dct-hide-header,
.announcement-bar.dct-hide-header,
.zierleiste.dct-hide-header {
    transform: translateY(-100%);
}

/* DARK MODE HEADER */
body.dark-mode header,
body.dark-mode .site-header,
body.dark-mode #masthead,
body.dark-mode .elementor-location-header,
body.dark-mode .wp-block-template-part,
body.dark-mode .top-bar,
body.dark-mode .header-top,
body.dark-mode .top-header,
body.dark-mode .site-topbar,
body.dark-mode .announcement-bar,
body.dark-mode .zierleiste {
    background: var(--dct-header-dark) !important;
}

/* =========================================
   FOOTER BLEIBT UNVERÄNDERT
========================================= */

footer,
.site-footer,
#colophon {
    transform: none !important;
}

/* TOGGLE */
.dct-toggle {
    width: var(--dct-button-size);
    height: var(--dct-button-size);
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
    overflow: visible;
}

/* FIX: no distortion */
.dct-toggle img,
.dct-toggle svg {
    width: 150%;
    height: 150%;
    object-fit: contain;
    display: block;
}

/* TOGGLE ICON WHITE IN DARK MODE */
body.dark-mode .dct-toggle img {
    filter: brightness(0) invert(1);
}

/* SOCIAL ICONS */
body.dark-mode .wp-social-link,
body.dark-mode .wp-social-link a {
    color: #fff !important;
}

body.dark-mode .wp-social-link svg,
body.dark-mode .wp-social-link svg * {
    fill: #fff !important;
    stroke: #fff !important;
}

/* FONT ICONS */
body.dark-mode i,
body.dark-mode .fa,
body.dark-mode [class*="fa-"],
body.dark-mode .dashicons {
    color: #fff !important;
}

/* SAFE SVG HANDLING */
body.dark-mode svg:not(.dct-icon) {
    fill: currentColor;
    stroke: currentColor;
}