/* ======================================================================
   1) FONTS – Custom Webfont Einbindungen
   ====================================================================== */

@font-face {
    font-family: "kepler-std";
    src: url("../fonts/kepler/new/kepler-std-300-normal.woff2") format("woff2"), url("../fonts/kepler/new/kepler-std-300-normal.woff") format("woff");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "kepler-std";
    src: url("../fonts/kepler/new/kepler-std-300-italic.woff2") format("woff2"), url("../fonts/kepler/new/kepler-std-300-italic.woff") format("woff");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: "kepler-std";
    src: url("../fonts/kepler/new/kepler-std-400-normal.woff2") format("woff2"), url("../fonts/kepler/new/kepler-std-400-normal.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "kepler-std-semicondensed";
    src: url("../fonts/kepler/new/kepler-std-semicondensed-400-normal.woff2") format("woff2"), url("../fonts/kepler/new/kepler-std-semicondensed-400-normal.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "kepler-std-semicondensed-dis";
    src: url("../fonts/kepler/new/kepler-std-semicondensed-dis-300-normal.woff2") format("woff2"), url("../fonts/kepler/new/kepler-std-semicondensed-dis-300-normal.woff") format("woff");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "kepler-std-semicondensed-dis";
    src: url("../fonts/kepler/new/kepler-std-semicondensed-dis-400-normal.woff2") format("woff2"), url("../fonts/kepler/new/kepler-std-semicondensed-dis-400-normal.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "kepler-std-semicondensed-dis";
    src: url("../fonts/kepler/new/kepler-std-semicondensed-dis-600-normal.woff2") format("woff2"), url("../fonts/kepler/new/kepler-std-semicondensed-dis-600-normal.woff") format("woff");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "kepler-std-semicondensed-dis";
    src: url("../fonts/kepler/new/kepler-std-semicondensed-dis-700-normal.woff2") format("woff2"), url("../fonts/kepler/new/kepler-std-semicondensed-dis-700-normal.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Karla';
    src: url('../fonts/karla/Karla-Light.ttf') format('truetype');
    font-style: normal;
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: 'Karla';
    src: url('../fonts/karla/Karla-LightItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: 'Karla';
    src: url('../fonts/karla/Karla-Bold.ttf') format('truetype');
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}
@font-face {
    font-family: 'Karla';
    src: url('../fonts/karla/Karla-BoldItalic.ttf') format('truetype');
    font-style: italic;
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: "kepler-std-local";
    src: url("../fonts/kepler/keplerstd-regular-webfont.woff2") format("woff2"), url("../fonts/kepler/keplerstd-regular-webfont.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ======================================================================
   2) FONT UTILITY CLASSES – Schnelle Wiederverwendung
   ====================================================================== */

.font-kepler-std { font-family: "kepler-std", Georgia, serif; }
.font-kepler-std-semicondensed { font-family: "kepler-std-semicondensed", Georgia, serif; }
.font-kepler-std-semicondensed-dis { font-family: "kepler-std-semicondensed-dis", Georgia, serif; }

/* ======================================================================
   3) VARIABLES – Farben & Fontfamilien
   ====================================================================== */
:root {
    /* Farben */
    --color-brand-primary: #d92128 !important;
    --color-brand-primary: color(srgb 0.85 0.13 0.16) !important;
    --color-black: #000000;
    --color-white: #ffffff;
    --color-grey: #8c8c8c;
    --color-grey-dark: #5a5a5a;
    --color-grey-light: #dcdcdc;
    --color-heat-vision: #6442ac;
    --color-live-feed: #008080;

    /* Schriftfamilien */
    --thr-sans: "Karla", Arial, sans-serif;
    --thr-serif: "kepler-std", Georgia, serif;

    --font-family-display: var(--thr-serif);
    --font-family-primary: var(--thr-serif);
    --font-family-sans: var(--thr-sans);
    --font-family-body: var(--thr-sans);
    --font-family-secondary: var(--thr-serif);
    --font-family-accent: var(--thr-sans);

    /* Schriftgrößen */
    --font-size-base: 16px;       /* Standard Body / Content */
    --font-size-body: 16px;       /* Body-Text */
    /*--font-size-menu: .875rem;    !* Hauptmenü (14px) *!*/
    /*--font-size-heading: 24px;    !* Überschriften *!*/
    /*--font-size-small: 14px;      !* Kleine Elemente *!*/
    --site-max-width: 78.75rem;   /* 1260px */

    /* Spacing */
    --spacing-00: 0;
    --spacing-025: 0.25rem;
    --spacing-050: 0.5rem;
    --spacing-075: 0.75rem;
    --spacing-1: 1rem;
    --spacing-125: 1.25rem;
    --spacing-150: 1.5rem;
    --spacing-2: 2rem;
    --spacing-3: 3rem;
}

/* Theme-interne Google-Fonts überschreiben */
html:root {
    --td_default_google_font_1: var(--font-family-display);
    --td_default_google_font_2: var(--font-family-primary);
    --td_default_google_font_3: var(--font-family-sans);
}

/* ======================================================================
   4) TYPOGRAFIE GLOBAL – Overrides für Newspaper
   ====================================================================== */

/* Body / Standardtext */
html, body {
    font-size: var(--font-size-body) !important;
    background-color: #FFFFFF;
}

/* Content (Absätze, Listen etc.) */
/*.td-post-content p,*/
/*.td-post-content li,*/
/*.td-post-content {*/
/*    font-size: var(--font-size-base) !important;*/
/*    line-height: 1.6;*/
/*}*/

/* Headlines mit Kepler */
/*h1, h2, h3, h4, h5, h6,*/
/*.td-post-title,*/
/*.td_module_title {*/
/*    font-family: 'kepler-std', Georgia, serif !important;*/
/*}*/

/* Menü */
.tdb_header_menu .tdb-menu > li > a,
.sf-menu > li > a {
    font-family: 'Karla', sans-serif !important;
    font-size: .875rem !important; /* fest 14px */
    line-height: 1.5rem !important;
    text-transform: uppercase;
    font-weight: 600 !important;
}

/* Newsletter-Button über die Extra-Class erzwingen */
/*.thr-header-newsletter.tds-button,*/
/*.thr-header-newsletter .tds-button,*/
/*.thr-header-newsletter .tdb-btn,*/
/*.thr-header-newsletter .tdb-btn .tdb-btn-text {*/
/*    font-family: 'Karla', sans-serif !important;*/
/*    font-size: .875rem !important;   !* 14px wie Menü *!*/
/*    font-weight: 600 !important;     !* Bold wie Menü *!*/
/*    text-transform: uppercase !important;*/
/*    letter-spacing: 0.04375rem !important;*/
/*    line-height: 1.2 !important;*/
/*}*/

/* ======================================================================
   5) RESPONSIVE BREAKPOINTS – Schriftgrößen anpassen
   ====================================================================== */

/* Tablets (bis 1024px) */
@media (max-width: 1024px) {
    :root {
        /*--font-size-body: 15px;*/
        /*--font-size-menu: .875rem; !* bleibt 14px *!*/
        /*--font-size-heading: 22px;*/
        /*--font-size-small: 13px;*/
    }
}

/* Smartphones (bis 767px) */
@media (max-width: 767px) {
    :root {
        /*--font-size-body: 14px;*/
        /*--font-size-menu: .875rem; !* bleibt 14px *!*/
        /*--font-size-heading: 20px;*/
        /*--font-size-small: 12px;*/
    }

    /* Menü enger machen */
    .tdb_header_menu .tdb-menu > li > a,
    .sf-menu > li > a { padding: 0 6px; }
}

/* ======================================================================
   6) LAYOUT — Container-Breiten angleichen an 1260px
   ====================================================================== */
.lrv-a-wrapper,
.td-container,
.td-main-content-wrap,
.tdc-row,
.has-side-skins,
.td-header-wrap .td-container,
.td-footer-wrapper .td-container {
    width: 100%;
    max-width: var(--site-max-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
}

@media (max-width: 767px) {
    .lrv-a-wrapper,
    .td-container,
    .td-main-content-wrap,
    .tdc-row,
    .has-side-skins,
    .td-header-wrap .td-container,
    .td-footer-wrapper .td-container {
        padding-left: 0.3rem;
        padding-right: 0.3rem;
    }
}

/* ======================================================================
   7) TYPOGRAFIE — Bereichsspezifische Wrapper
   ====================================================================== */

/* Header */
.thr-header,
.thr-header .tdb-block-inner,
.thr-header a,
.thr-header .tdb-btn,
.thr-header .tdb-btn .tdb-btn-text,
.thr-header .tds-button,
.thr-header .tds-btn {
    /*font-family: 'Karla', sans-serif !important;*/
}

/* Sidebar */
.thr-sidebar,
.thr-sidebar .tdb-block-inner,
.thr-sidebar a,
.thr-sidebar .tdb-btn,
.thr-sidebar .tdb-btn .tdb-btn-text {
    /*font-family: 'Karla', sans-serif !important;*/
}

/* ======================================================================
   8) THEME OVERRIDES – Newspaper Spezials
   ====================================================================== */

/* Icon-Font "newspaper" unverändert lassen */
.td-icon,
[class^="td-icon-"],
[class*=" td-icon-"] {
    font-family: "newspaper" !important;
}

/* ======================================================================
   9) HEADER
   ====================================================================== */

.td-header-desktop-wrap .wpb_row::before,
.td-header-mobile-wrap .wpb_row::before,
.td-header-desktop-sticky-wrap .wpb_row::before,
.td-header-mobile-sticky-wrap .wpb_row::before{
    box-shadow: none;
    border-bottom: solid 1px var(--color-grey-light);
}

/* ======================================================================
   9.1) TOPSTORY Block - Flex Block Styling (Composer: thr-top-story)
   ====================================================================== */

.thr-top-story .td-image-container {
    position: relative;
    overflow: visible;
}

.thr-top-story .td-image-container:before {
    position: absolute;
    top: -1rem; /* leicht über dem Bild */
    left: 50%;
    transform: translateX(-50%);
    padding: 0.5rem 0.75rem 0.4rem 0.65rem;
    border: 1px solid #333;
    box-shadow: 0 0 0 3px #fff, 0 0 0 4px #333;
    pointer-events: none;
    background-color: #FFFFFF;

    font-family: var(--font-family-display) !important;
    font-size: 1rem;
    line-height: 1.375rem;
    letter-spacing: .08rem;
    font-weight: 300;
    text-transform: uppercase;
    text-align: center;
    color: var(--color-black);
    z-index: 2;
    content: "Top Story";
}

.thr-top-story {
    border-bottom: 1px dotted var(--color-grey-light);
    padding-top: var(--spacing-1);
    margin-bottom: var(--spacing-3);
}

.td_block_wrap.thr-top-story .td-module-title,
.td_block_wrap.thr-top-story .td-module-title a {
    font-family: "kepler-std-semicondensed-dis"; !important;
    font-weight: 700;
    color: var(--color-black);
    letter-spacing: -.016875rem;
    line-height: 3rem;
    font-size: 3.375rem;
}

.td_block_wrap.thr-top-story .td-module-title a:hover,
.td_block_wrap.thr-top-story .entry-title a:hover {
    color: var(--color-brand-primary) !important;
}

.td_block_wrap.thr-top-story .td-excerpt {
    font-family: var(--font-family-display) !important;
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.5625rem;
    color: var(--color-black);
    margin-bottom: var(--spacing-050);
    letter-spacing: -0.006875rem;
}

.td_block_wrap.thr-top-story .td-post-author-name a {
    font-family: "Karla", san-serif !important;
    font-size: 1rem;
    line-height: 1.1875rem;
    letter-spacing: .005rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--color-grey-dark);
}

.td_block_wrap.thr-top-story .c-tagline {
    display: inline-block;
    background-color: var(--color-white);
    border: 1px solid var(--color-grey-dark);
    padding: 0.25rem 0.5rem;
    font-family: var(--font-family-secondary);
    font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: var(--spacing-050);
}

@media (max-width: 767px) {
    .td_block_wrap.thr-top-story .td-module-title,
    .td_block_wrap.thr-top-story .td-module-title a {
        font-family: "kepler-std-semicondensed-dis"; !important;
        font-weight: 700;
        font-size: 2rem;
        line-height: 2.1875rem;
        letter-spacing: -.01rem;
        margin-top: 30px;
    }

    .thr-top-story .td-image-container {
        width: 100vw !important;
        position: relative !important;;
        left: 50% !important;;
        right: 50% !important;;
        margin-left: -50vw !important;;
        margin-right: -50vw !important;;
    }

    .thr-top-story .td-image-container::before {
        top: auto;
        bottom: -1rem; /* leicht aus dem Bild heraus */
        transform: translateX(-50%);
    }

    .td_block_wrap.thr-top-story .td-excerpt {
        font-size: 1.125rem;
        line-height: 1.3125rem;
        letter-spacing: -.005625rem;
        margin-bottom: var(--spacing-050);
    }

    .td_block_wrap.thr-top-story .td-post-author-name a {
        font-size: .75rem;
        line-height: .875rem;
        letter-spacing: .00375rem;
    }
}

/* ======================================================================
   9.2) TOPSTORY Block Autor verschieben
   ====================================================================== */

/* Nur bei thr-top-story: Autor unter Exzerpt + Abstand nach unten */
.td_block_wrap.thr-top-story .td_module_flex_1 .td-module-meta-info {
    display: flex;
    flex-direction: column;
}

.td_block_wrap.thr-top-story .td_module_flex_1 .td-excerpt {
    order: 1;
}

.td_block_wrap.thr-top-story .td_module_flex_1 .td-editor-date {
    order: 2;
    margin-top: var(--spacing-050);
    margin-bottom: 15px;
}

/* ======================================================================
   9.3) Sidebar Headline Styling (.td-side-news)
   ====================================================================== */

/* Sidebar Header korrekt stylen */
.td_block_wrap.thr-side-news .td-block-title {
    margin-bottom: 0;
}

.td_block_wrap.thr-side-news .td-block-title .td-pulldown-size {
    font-family: var(--font-family-primary);
    font-size: 2rem;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.2;
    letter-spacing: -0.015rem;
    padding: 0;
    margin: 0;
    display: inline-block;
}
/*
.td_block_wrap.thr-side-news .td-block-title {
   padding-bottom: var(--spacing-050);
   margin-bottom: var(--spacing-1);
}
*/

.td_block_wrap.thr-side-news .td_block_inner {
    margin-left: 0;
    margin-right: 0;
}

/* Entfernt die Linie oben und unten beim Sidebar-Block-Header */
.td_block_wrap.thr-side-news .td-block-title::before,
.td_block_wrap.thr-side-news .td-block-title::after {
    display: none !important;
    content: none !important;
}

/* ======================================================================
   9.4.1) Sidebar "Magazine Box"
   ====================================================================== */
.td_block_wrap.thr-side-magazine {
    margin-bottom: 0.5rem;
}

/* ======================================================================
   9.4.2) Sidebar "Latest News" – Formatierung wie Content-Listing
   ====================================================================== */


/* Standard: Desktop/Tablet → kein Bild */
.thr-ln-row .featured-image { display: none !important; }

.thr-ln-row .category a,
.thr-ln-row .date {
    font-family: "Karla";
    text-decoration: none;
    background-color: transparent !important;
    text-transform: uppercase;
    font-size: .75rem;
    line-height: 1.125rem;
    letter-spacing: .0075rem;
    font-weight: 700;
}

.thr-ln-row .title {
    font-family: "Kepler Std";
    line-height: 1.1;
    font-size: 1.125rem;
    padding-top: .25rem;
    padding-left: 6px;
    letter-spacing: -.005625rem;
    font-weight: 400;
}

.thr-ln-row .category a { color: var(--color-brand-primary); }
.thr-ln-row .date { color: var(--color-grey-dark); }

@media (max-width: 767px) {
    .thr-ln-row .title {
        font-family: "kepler-std-semicondensed-dis"; !important;
        font-size: 1.5625rem;
        letter-spacing: -.005625rem;
        font-weight: 700;
    }
}

/* Mobile: Bild links, Text rechts */
@media (max-width: 767px) {
    .thr-ln-row .inner-column > .wpb_wrapper {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 1rem;
    }

    .thr-ln-row .featured-image {
        display: block !important;
        flex: 0 0 35%;
        max-width: 35%;
    }

    .thr-ln-row .text-block {
        flex: 1 1 65%;
        display: flex;
        flex-direction: column;
        gap: .25rem;
    }

    .thr-ln-row .category,
    .thr-ln-row .date {
        display: inline-block;
        margin-right: .4rem;
    }
}
/* Desktop & Tablet (>= 768px) – Kategorie + Datum nebeneinander */
@media (min-width: 768px) {
    .thr-ln-row .text-block {
        display: flex;
        flex-direction: column;
        gap: .25rem;
    }

    .thr-ln-row .category,
    .thr-ln-row .date {
        display: inline-block;
        margin-right: .4rem;
        vertical-align: middle;
    }
}

@media (max-width: 767px) {
    /* Container: quadratisches Format erzwingen */
    .thr-ln-row .featured-image {
        position: relative !important;
        flex: 0 0 35%;
        max-width: 35%;
        width: 35%;
        aspect-ratio: 1 / 1;
        padding: 0 !important;               /* überschreibt das TagDiv padding-bottom */
        height: auto !important;
        overflow: hidden;
    }

    /* Bild: absolut positionieren und füllen */
    .thr-ln-row .featured-image img {
        position: absolute !important;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover;
    }
}



.thr-latest-news-title-row {
    margin-bottom: 10px !important;
}

.thr-latest-news-loop .td_module_wrap:last-child .td-module-container::before {
    display: block !important;
}

.thr-latest-news-loop {
    margin-bottom: 0 !important;
}

.thr-latest-news-row .inner-column {
    padding-left: 12px;
    padding-right: 0;
}

.thr-latest-news-row .meta-info-row-top {
    margin-bottom: 1px !important;
}
.thr-latest-news-row .meta-info-row-top .wpb_wrapper {
    display: flex !important;
}

.thr-latest-news-row .post-category a,
.thr-latest-news-row .post-date{
    font-family: var(--font-family-sans) !important;
}

.thr-latest-news-row .post-category a {
    color: var(--color-brand-primary);
}

.thr-latest-news-row .post-date a {
    color: var(--color-grey);
}

.thr-latest-news-row .post-category a{
    padding: 0 10px 4px 0 !important;
}

.thr-latest-news-row .post-category a,
.thr-latest-news-row .post-date {
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.125;
    letter-spacing: .0075em;
    background: none;
    text-transform: uppercase;
}
.thr-latest-news-row .post-category a {
    cursor: pointer;
}

.thr-latest-news-row .post-category a:hover {
    background: none;
}

.thr-latest-news-row .post-title a {
    font-size: 1.125rem !important;
    letter-spacing: -.005625rem!important;
    font-weight: 400 !important;
    line-height: 1.1 !important;
}

.thr-latest-news-row .post-title a:hover{
    color: var(--color-brand-primary);
}

/* ======================================================================
   9.4.2) Sidebar "More News Button"
   ====================================================================== */

.sidebar-more-news-button {
    font-family: 'Kepler Std', serif;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 1.813rem;
    font-weight: 400;
    letter-spacing: .00875rem;
    color: var(--color-black);
    background-color: transparent;
    text-transform: uppercase;
    text-decoration: none;
    padding: 20px 20px 12px 20px;
    transition: all 0.2s ease-in-out;
    width: 100%;
}

.sidebar-more-news-button:hover {
    background-color: var(--color-brand-primary);
    color: var(--color-white); /* Text weiß beim Hover */
}

.sidebar-more-news-button img {
    display: inline-block;
    width: 24px;
    height: auto;
    position: relative;
    top: -4px;
    transition: filter 0.2s ease-in-out;
}

.sidebar-more-news-button:hover img {
    filter: brightness(0) invert(1); /* Pfeil weiß bei Hover */
}

.sidebar-more-news-button-wrapper {
    text-align: center;
    margin-top: 15px;
}

/* ======================================================================
   9.5) Card List
   ====================================================================== */

.thr-card-list {
    border-bottom: 1px solid #000 !important;
    margin-bottom: 40px;
}

/* Container anpassen */
.thr-card-list .td_module_flex_5 .td-image-container {
    display: grid;
    grid-template-areas:
        "category"
        "image";
}

.thr-card-list .td_module_flex_5 .td-image-container .td-post-category {
    grid-area: category;
}

.thr-card-list .td_module_flex_5 .td-image-container .td-post-category {
    font-family: 'Karla Variable', sans-serif;
    color: var(--color-brand-primary);
    font-weight: 700;
    font-size: .875rem;
    line-height: 1.1875rem;
    text-transform: uppercase;
    letter-spacing: 0.005rem;
    padding: 0;
    background-color: transparent;
    margin-bottom: 0.5rem;
}

.thr-card-list .td_module_flex_5 .td-image-container .td-module-thumb {
    grid-area: image;
}

.thr-card-list .td_module_flex_5 .td-module-meta-info {
    display: flex;
    flex-direction: column;
}

.thr-card-list .td_module_flex_5 .td-module-meta-info .entry-title {
    order: 0;
}

.thr-card-list .td_module_flex_5 .td-module-meta-info .td-excerpt {
    order: 1;
    font-size: 1rem;
    line-height: 1.1875rem;
    letter-spacing: -.025rem;
    margin-bottom: 15px;
    color: var(--color-black);
}

.thr-card-list .td_module_flex_5 .td-module-meta-info .td-editor-date {
    order: 2;
}

/* Datumslink: kleiner, uppercase, Primärfarbe */
.thr-card-list .td_module_flex_5 .td-module-meta-info .td-editor-date a {
    font-family: var(--font-family-accent);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.125rem;
    letter-spacing: 0.0075rem;
    text-transform: uppercase;
    color: var(--color-grey);
}

.thr-card-list .td_module_flex_5 .td-module-meta-info .td-editor-date a:hover {
    color: var(--color-brand-primary);
}

.thr-card-list .thr-card-list-column-left,
.thr-card-list .thr-card-list-column-right {
    width: 28%;
}

.thr-card-list .thr-card-list-column-middle {
    width: 44%;
}

@media (max-width: 768px) {
    .thr-card-list .thr-card-list-column-left,
    .thr-card-list .thr-card-list-column-middle,
    .thr-card-list .thr-card-list-column-right {
        width: 100% !important;
        display: block;
    }
}

.thr-card-list .thr-card-list-block .td-image-wrap {
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.thr-card-list .thr-card-list-block .td-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.thr-card-list .thr-card-list-block .td-module-title a {
    font-family: "kepler-std-semicondensed-dis", Georgia, serif !important;
    font-size: 1.8125rem;
    line-height: 1.75rem;
    letter-spacing: .00875rem;
    font-weight: 700;
}

.thr-card-list .thr-card-list-block.block-middle .td-image-container {
    position: relative;
    border: 1px solid #000;
    padding: 4px;
}

@media (max-width: 1140px) {
    .thr-card-list .thr-card-list-block.block-middle .td-image-container {
        border: none;
        padding: 0;
        background-color: transparent;
    }
}

@media (max-width: 767px) {
    .vc_row_inner.thr-card-list .td_module_flex_5 .td-module-meta-info .td-excerpt {
        display: none;
    }
}

/* ======================================================================
  9.6) MAGAZINE BOX — Cover, Teaser, CTA
  ====================================================================== */

.thr-magazine-box {
    border: 1px solid var(--color-black);
    padding: var(--spacing-025);
    max-width: 350px;
    margin: 0 auto;
}

.thr-magazine-inner {
    border: 1px solid var(--color-black);
    padding: var(--spacing-1);
    background-color: var(--color-white);
}

.thr-magazine-card {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.thr-magazine-cover {
    display: block;
    width: 100%;
    max-width: 100%;
}

.thr-magazine-cover img {
    display: block;
    width: 100%;
    height: auto;
    background-color: var(--color-grey-light);
}

.thr-magazine-content {
    text-align: center;
    margin-top: var(--spacing-1);
    margin-bottom: var(--spacing-1);
}

.thr-magazine-title {
    font-family: var(--font-family-display);
    font-size: 1.125rem;
    line-height: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.015rem;
    text-transform: uppercase;
    margin: 0 0 var(--spacing-050);
}

.thr-magazine-title a {
    color: var(--color-black);
    text-decoration: none;
}

.thr-magazine-subline {
    font-family: var(--font-family-body);
    font-size: 0.8125rem;
    line-height: 1.25rem;
    letter-spacing: normal;
    font-weight: 400;
    color: var(--color-black);
    margin: 0;
}


.thr-magazine-button {
    font-family: var(--font-family-accent);
    display: block;
    width: 100%;
    text-align: center;
    background-color: var(--color-brand-primary);
    color: var(--color-white);
    font-size: 0.875rem;
    line-height: 1.25rem;
    letter-spacing: 0.05rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 0.625rem 1rem; /* 10px top/bottom */
    text-decoration: none;
    cursor: pointer;
    margin-top: var(--spacing-1);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* ======================================================================
  9.7) NEWSLETTER BOX / LINE
  ====================================================================== */

/* === Äußerer Rahmen === */
.thr-newsletter-box{
    border: 1px solid var(--color-black);
    padding: var(--spacing-025);
    max-width: 350px;
    margin: 0 auto;
}

/* === Innerer Rahmen mit Abstand === */
.thr-newsletter-box-inner{
    border: 1px solid var(--color-black);
    padding: var(--spacing-1);
    background-color: var(--color-white);
}

/* === Formular Reset innerhalb der Box === */
.thr-newsletter-box .mailpoet_form {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent;
    box-shadow: none;
    text-align: center;
}

/* === Titel === */
.thr-newsletter-box .mailpoet_form_paragraph:not(:has(input, textarea, select)):nth-of-type(1),
.thr-newsletter-line .mailpoet_form_paragraph:not(:has(input, textarea, select)):nth-of-type(1){
    font-family: var(--font-family-display);
    text-align: center;
    font-size: 1.4625rem;
    line-height: 1.5625rem;
    font-weight: 400;
    letter-spacing: 0.015rem;
    text-transform: uppercase;
}

/* === Subline === */
.thr-newsletter-box .mailpoet_form_paragraph:not(:has(input, textarea, select)):nth-of-type(2),
.thr-newsletter-line .mailpoet_form_paragraph:not(:has(input, textarea, select)):nth-of-type(2) {
    font-family: var(--font-family-body);
    text-align: center !important;
    font-size: 1rem;
    letter-spacing:-0.025rem;
    font-weight: 400;
    color: var(--color-black);
}

/* === E-Mail Feld === */
.thr-newsletter-box .mailpoet_form input[type="email"] {
    border: none;
    border-bottom: 2px solid var(--color-black);
    border-radius: 0;
    background: transparent;
    padding: 8px 4px;
    font-size: 1rem;
    color: var(--color-black);
    width: 100%;
    box-sizing: border-box;
}

/* Placeholder-Styling */
.thr-newsletter-box .mailpoet_form input[type="email"]::placeholder,
.thr-newsletter-line .mailpoet_form input[type="email"]::placeholder{
    font-size: 0.75rem;
    line-height: 0.875rem;
    letter-spacing: 0.0075rem;
    text-transform: uppercase;
    font-weight: 700;
    color: var(--color-black);
    opacity: 1;
}

/* DSGVO-Hinweis (z.B. drittes Text-p) */
.thr-newsletter-box .mailpoet_form_paragraph:not(:has(input, textarea, select)).last,
.thr-newsletter-line .mailpoet_form_paragraph:not(:has(input, textarea, select)).last {
    font-size: .625rem !important;
    line-height: 1.125rem !important;
    letter-spacing: .0075rem !important;
    text-align: center !important;
}

/* === Submit Button === */
.thr-newsletter-box input.mailpoet_submit,
.thr-newsletter-line input.mailpoet_submit {
    font-family: var(--font-family-accent);
    color: var(--color-black);
    font-size: .875rem;
    line-height: 1.0625rem;
    font-weight: 400;
    letter-spacing: .04375rem;
    text-transform: uppercase;
    background-color: transparent;
    border: 1px solid var(--color-black) !important;
    padding: 0.625rem 1rem !important;
    text-decoration: none;
    cursor: pointer;
}

.thr-newsletter-line .mailpoet_form_paragraph:not(:has(input, textarea, select)):nth-of-type(2),
.thr-newsletter-line .mailpoet_form_paragraph:not(:has(input, textarea, select)).last {
    text-align: left !important;
}

/* ======================================================================
  9.8) RELATED STORIES BOX / Line
  ====================================================================== */

/* Kategorie-Label */
.thr-related-stories-block .td-post-category {
    display: inline;
    cursor: pointer;
    font-family: 'Karla Variable', sans-serif;
    font-weight: 700;
    font-size: .75rem;
    line-height: 1.125rem;
    text-transform: uppercase;
    letter-spacing: .0075rem;
    color: var(--color-grey);
    padding: 0;
    background-color: transparent;
}

.thr-related-stories-block .td-post-category:hover {
    color: var(--color-brand-primary);
}

/* ======================================================================
  10.0) FEATURED CHANNELS
  ====================================================================== */

.featured-channels-inner:not(:last-child) {
    border-right: 1px solid var(--color-black);
}

/* Title */
.thr-featured-channels-title .td-block-title {
    display: block !important;
    text-align: center !important;
    margin: 0 auto !important;
    font-size: 2.7rem !important;
    line-height: 3rem !important;
    letter-spacing: .15rem !important;
    text-transform: uppercase;
    margin-bottom: 10px !important;
}

.thr-featured-channels-title {
    text-align: center !important;
    margin-bottom: 20px !important;
}

.thr-heat-vision-inner {
    margin-bottom: 40px;
}

.thr-featured-channels-tagline {
    font-family: var(--font-family-display) !important;
    color: var(--color-black) !important;
    font-size: 1.125rem !important;
    font-style: italic;
    font-weight: 400 !important;;
    line-height: 1.125rem !important;;
    letter-spacing: -.01125rem !important;;
    margin-top: 0.5rem;
}

.thr-featured-channel-block {
    margin-top: 0.75rem;
    margin-bottom: 0 !important;
}

.thr-featured-channel-block .td-image-container {
    position: relative;
    display: inline-block;
    border: 1px solid #000;
    padding: 4px;
    background-color: transparent;
}

.thr-featured-channel-block .td_module_flex_1 .td-module-container{
    padding-bottom: .75rem !important;
}

.thr-featured-channel-block .td_module_flex_1 .td-module-title {
    font-family: "kepler-std-semicondensed-dis"; !important;
    font-weight: 700;
    font-size: 1.813rem;
    line-height: 1.1;
    padding-top: 1.25rem;
}

.thr-featured-channel-block .td_module_flex_1 .td-excerpt {
    font-family: var(--font-family-sans) !important;
    font-size: 1rem;
    line-height: 1.1875rem;
    letter-spacing: -.025rem;
    margin-top: .5rem;
    color: var(--color-black);
    padding-bottom: 0.75rem;
}

.thr-featured-channel-block .td_module_flex_3 .td-module-container{
    /*    padding-top: .75rem !important;
        padding-bottom: .75rem !important;*/
}

.thr-featured-channel-block .td_module_flex_3 .td-module-title {
    font-family: "kepler-std-semicondensed-dis"; !important;
    font-size: 1.5625rem;
    line-height: 1.5625rem;
    padding-top: .75rem;
    font-weight: 700;
}

.thr-featured-channel-block .td_module_flex_3:last-child .td-module-container:before {
    display: block !important;
}

.featured-channels-all-button-wrapper {
    text-align: center;
    padding-top: 1.25rem;
}

.featured-channels-all-button-wrapper a {
    color: var(--color-black);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.1875rem;
    letter-spacing: .005rem;
    text-transform: uppercase;
    cursor: pointer;
}

.thr-color-heat-vision {
    color: var(--color-heat-vision);
}

.thr-color-live-feed {
    color: var(--color-live-feed);
}

.thr-heat-vision-header svg {
    color: var(--color-heat-vision) !important;
}

.thr-heat-vision-header .td-block-title {
    font-family: var(--font-family-sans) !important;
    color: var(--color-heat-vision) !important;
}

.thr-live-feed-header svg {
    color: var(--color-live-feed) !important;
}

.thr-live-feed-header .td-block-title {
    color: var(--color-live-feed) !important;
    letter-spacing: .6rem !important;
}

.thr-heat-vision-inner .td-image-container:hover {
    background-color: var(--color-heat-vision) !important;
}

.thr-live-feed-inner .td-image-container:hover {
    background-color: var(--color-live-feed) !important;
}

@media (max-width: 767px) {
    .featured-channels-inner:not(:last-child) {
        border-right: none;
    }

    .thr-featured-channels {
        border-bottom: 1px solid var(--color-black);
        margin-bottom: 1rem;
    }
}

/* ======================================================================
  10.1) MUST READS
  ====================================================================== */

.thr-must-read-row {
    margin-top: 40px !important;
    border-bottom: 1px solid var(--color-black) !important;
}

.thr-must-read-row .thr-must-read-column-left {
    width: 20%;
}

.thr-must-read-row .thr-must-read-column-right {
    width: 80%;
}

@media (max-width: 767px) {
    .thr-must-read-row .thr-must-read-column-right,
    .thr-must-read-row .thr-must-read-column-left {
        width: 100%;
    }
}

.thr-must-read-row .thr-must-read-column-left .thr-must-reads-title {
    margin-bottom: .75rem;
}

.thr-must-read-row .thr-must-read-column-left .thr-must-read-title .td_mod_wrap p {
    font-family: var(--font-family-display) !important;
    font-style: italic;
    letter-spacing: -.005625rem;
    font-size: 1rem;
    line-height: 1.25rem;
    margin-bottom: 0.5rem;
}

.thr-must-read-row .thr-must-read-column-left .thr-must-read-title .td_mod_wrap p a {
    font-family: var(--font-family-sans) !important;
    color: var(--color-grey);
    font-size: 1rem;
    line-height: 1.1875rem;
    letter-spacing: .005rem;
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
}

.thr-must-read-row .thr-must-read-column-left .thr-must-read-title .td_mod_wrap p a:hover {
    color: var(--color-black) !important;
}

.thr-must-read-row .thr-must-read-loop .td-module-title {
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: -.005625rem;
    line-height: 1.1;
}

.thr-must-read-loop {
    margin-bottom: 20px;
}

.thr-must-read-loop .td_module_wrap {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

@media (max-width: 767px) {
    .thr-must-read-loop .td_block_inner {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .thr-must-read-row .thr-must-read-column-left .thr-must-read-title .td_mod_wrap p a {
        color: var(--color-brand-primary);
        font-size: .75rem;
        line-height: .875rem;
        letter-spacing: .00375rem;
        font-weight: 700;
    }

    .thr-must-read-title {
        margin-bottom: 1.2rem !important;
    }

    .thr-must-read-row .thr-must-read-column-left .thr-must-reads-title {
        margin-bottom: .25rem;
    }

    .thr-must-read-row .thr-section-title h2 {
        font-size: 1.25rem;
        line-height: 1.25rem;
        letter-spacing: .00625rem;
    }
}

/* ======================================================================
  10.1) HIGHLIGHTS MAGAZINE
  ====================================================================== */

.thr-high-magazine-title-row {
    margin-top: 40px !important;
    margin-bottom: 20px !important;
}

.thr-high-magazine-row .column-left {
    width: 20%;
}

.thr-high-magazine-row .column-right {
    width: 80%;
}

.thr-high-magazine-loop .td_module_wrap {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.thr-high-magazine-loop .td_module_wrap .tdc-column {
    padding-right: 10px;
    padding-left: 10px;
}

.thr-high-magazine-loop .thr-high-magazine-thumb {
    margin-bottom: 10px;
}

.thr-high-magazine-loop .thr-high-magazine-category a {
    font-family: 'Karla Variable', sans-serif;
    color: var(--color-brand-primary);
    font-weight: 700;
    font-size: .75rem;
    line-height: 1.125rem;
    text-transform: uppercase;
    letter-spacing: 0.075rem;
    padding: 0;
    background-color: transparent;
}

.thr-high-magazine-loop .thr-high-magazine-category a:hover {
    background-color: transparent;
}

.thr-high-magazine-loop .thr-high-magazine-title {
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: -.005625rem;
    line-height: 1.25;
}

.thr-high-magazine-loop .thr-high-magazine-title a:hover {
    color: var(--color-brand-primary);
}

.thr-high-magazine-loop .thr-high-magazine-author a {
    font-family: var(--font-family-accent);
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.125rem;
    letter-spacing: 0.0075rem;
    text-transform: uppercase;
    color: var(--color-grey);
}

.thr-high-magazine-loop .thr-high-magazine-author a:hover {
    color: var(--color-brand-primary);
}

@media (max-width: 767px) {
    .thr-high-magazine-row .column-left {
        display: none;
    }

    .thr-high-magazine-row .column-right {
        width: 100%;
    }

    .thr-high-magazine-title-row .thr-section-title h2 {
        font-size: 1.25rem;
        line-height: 1.25rem;
        letter-spacing: .00625rem;
    }
}

/* ======================================================================
  10.2) MOST POPULAR CAROUSEL
  ====================================================================== */

.thr-most-popular-title-row {
    margin-top: 40px !important;
    margin-bottom: 20px !important;
}

@media (max-width: 767px) {
    .most-popular .row {
        display: block;
    }
}

/* ======================================================================
   11) Category Result Page
   ====================================================================== */

.thr-category-result {
    margin-top: 30px;
}

.thr-category-result .page-title {
    margin-bottom: 12px !important;
}

.thr-category-result .page-title h1 {
    font-family: 'kepler-std', Georgia, serif !important;
    font-weight: 300;
    font-size: 1.8125rem !important;
    line-height: 1.75rem !important;
    letter-spacing: .01em !important;
    text-transform: uppercase;
}

.thr-category-result .page-title .tdb-title-line {
    height: 10px !important;
}

.thr-category-result .page-title .tdb-title-line::after {
    background-color: var(--color-black) !important;
}

.thr-category-result-row .column-left {
    padding-left: 10px;
    padding-right: 10px;
    width: 40% !important;
}

.thr-category-result-row .column-right {
    padding-left: 10px;
    padding-right: 10px;
    width: 60% !important;
}

.thr-category-result-loop .td_module_wrap {
    margin-bottom: 24px !important;
    padding-bottom: 24px !important;
}

.thr-category-result-loop .td_module_wrap .td-module-container::before {
    bottom: -24px !important;
}

.thr-category-result-row .post-thumb {
    position: relative !important;
    width: 100%;
    padding-bottom: 56.25%  !important; /* 16:9 Verhältnis = 9/16 * 100 */
    height: 0;
    overflow: hidden;
}

.thr-category-result-row .post-thumb img {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.thr-category-result-row .meta-info-row-top .wpb_wrapper {
    display: flex !important;
}

.thr-category-result-row .post-category a,
.thr-category-result-row .post-author a,
.thr-category-result-row .post-date,
.thr-category-result-row .post-exerpt{
    font-family: var(--font-family-sans) !important;
}

.thr-category-result-row .post-exerpt {
    color: var(--color-black) !important;
}

.thr-category-result-row .post-category a {
    color: var(--color-brand-primary);

}

.thr-category-result-row .post-date a,
.thr-category-result-row .post-author a {
    color: var(--color-grey-dark);
}

.thr-category-result-row .post-category a{
    padding: 0 10px 4px 0 !important;
}

.thr-category-result-row .post-category a,
.thr-category-result-row .post-date {
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: .03em;
    background: none;
    text-transform: uppercase;
}
.thr-category-result-row .post-category a {
    cursor: pointer;
}

.thr-category-result-row .post-category a:hover {
    background: none;
}

.thr-category-result-row .post-title a {
    font-size: 1.725rem;
    line-height: 1.1;
    letter-spacing: .0075rem;
}

.thr-category-result-row .post-author a {
    font-size: .75rem;
    line-height: .875rem;
    letter-spacing: .0075rem;
    text-transform: uppercase;
    margin-top: 10px;
}

.thr-category-result-row .post-title a:hover,
.thr-category-result-row .post-author a:hover{
    color: var(--color-brand-primary);
}

.thr-category-result-row .post-exerpt {
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.1875rem;
    letter-spacing: -.025rem;
}


.thr-category-result-loop .td-next-prev-wrap {
    display: flex;
    justify-content: center;
    gap: 30px;
    border-top: 1px dotted #000000;
    margin-top: -14px !important;
    padding-top: 24px;
}

/* Buttons stylen */
.thr-category-result-loop .td-next-prev-wrap a {
    font-family: var(--font-family-sans) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 32px;
    background-color: var(--color-brand-primary);
    color: #fff;
    text-transform: uppercase;
    font-size: .75rem;
    font-weight: 300;
    line-height: 1.35;
    text-decoration: none;
    border-radius: 2px;
    transition: background-color 0.2s ease;
    width: 18.75rem !important;
    position: relative;
    cursor: pointer;
}

/* Hover */
.thr-category-result-loop .td-next-prev-wrap a:hover {
    background-color: #97171c;
}

/* Icons ausblenden */
.thr-category-result-loop .td-next-prev-wrap a i {
    display: none;
}

/* Texte manuell einfügen */
.thr-category-result-loop .td-next-prev-wrap a[aria-label="prev-page"]::before {
    content: "← Prev";
}

.thr-category-result-loop .td-next-prev-wrap a[aria-label="next-page"]::before {
    content: "Next →";
}

/* Disabled-Button ausgrauen */
/*.thr-category-result-loop .td-next-prev-wrap a.ajax-page-disabled {*/
/*    background-color: #eee;*/
/*    color: #999;*/
/*    pointer-events: none;*/
/*}*/

/* Nur den inaktiven Button ausblenden */
.td-next-prev-wrap a.ajax-page-disabled {
    display: none;
}

/* Der Wrapper bleibt sichtbar, damit der andere Button aktiv bleibt */
.td-next-prev-wrap {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}

@media (max-width: 768px) {
    .thr-category-result-row .column-left {
        width: 100% !important;
    }

    .thr-category-result-row .column-right {
        width: 100% !important;
    }
}

/* ======================================================================
   12) Contact Page
   ====================================================================== */

.thr-contact-form-row .contact-header h1,
.thr-contact-form-row .contact-header p{
    font-family: kepler-std-semicondensed-dis !important;
}

.thr-contact-form-row a {
    color: var(--color-grey-dark);
}

.thr-contact-form-row .contact-header h1 {
    font-size: 1.8125rem;
    line-height: 1.75rem;
    letter-spacing: .00875rem;
    font-weight: 700;
}

.thr-contact-form-row .contact-header p {
    font-size: 1.375rem;
    line-height: 1.75rem;
    letter-spacing: -.006875rem;
}

.thr-contact-form-row .form-hint {
    font-size: .8rem;
}

.thr-contact-form-row form input.wpcf7-submit {
    font-family: var(--font-family-accent);
    display: block;
    width: 150px;
    text-align: center;
    background-color: var(--color-brand-primary);
    color: var(--color-white);
    font-size: 0.875rem;
    line-height: 1.25rem;
    letter-spacing: 0.05rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 0.625rem 1rem; /* 10px top/bottom */
    text-decoration: none;
    cursor: pointer;
    margin-top: var(--spacing-1);
}

/* ======================================================================
  FOOTER
  ====================================================================== */

html body .tdi_138_rand_style {
    background-color: #000000 !important;
}

.thr-footer {
    max-width: var(--site-max-width);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

@media (max-width: 1140px) {
    .thr-expand-on-mobile {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

@media (max-width: 1024px) {
    .tdc-row-content {
        flex-wrap: wrap !important;
    }
}


/* Überschrift */
.thr-footer-headline {
    font-family: var(--font-family-sans) !important;
    font-size: 1.125rem;
    line-height: 1.375rem;
    letter-spacing: -0.03125rem;
    font-weight: 700;
    color: #fff;
}

.thr-footer-list {
    list-style-type: none;
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 26px;
}

.thr-footer-list li {
    margin-bottom: 2px;
    margin-left: 0 !important;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 1.2;
}

.thr-footer-list a {
    font-family: var(--font-family-sans) !important;
    font-size: 0.75rem;
    line-height: 0.875rem;
    letter-spacing: -.01125rem;
    font-weight: 700;
    text-decoration: none;
    color: #bfbfbf;
}

.thr-footer-list a:hover {
    color: var(--color-white);
}

/* =========================================================
   FOOTER – Divider & Spaltenabstände (TOP & BOTTOM)
   Basis-Klassen: thr-footer-top, thr-footer-bott, thr-footer-col
   ========================================================= */

/* ---------- TOP-ZEILE (4 Spalten) ---------- */
/* gleiche Höhe + saubere Divider rechts je Spalte */
.thr-footer-top {
    display: flex !important;
    align-items: stretch;
    gap: 0;
}

/* rechter Divider + Innenabstand */
.thr-footer-top > .tdc-inner-column.thr-footer-col {
    border-right: 1px solid var(--color-grey-dark);
    padding: 0 24px;                 /* links/rechts gleicher Innenabstand */
    box-sizing: border-box;
}

/* letzte Spalte ohne rechten Divider */
.thr-footer-top > .tdc-inner-column.thr-footer-col:last-child {
    border-right: 0;
}

/* ---------- LINIE zwischen TOP und BOTTOM ---------- */
/* Full-bleed (Rand-zu-Rand). Wenn du nur Content-Breite willst, siehe Kommentar darunter */
.thr-footer-bott {
    border-top: 1px solid var(--color-grey-dark);
    padding-top: 24px;                /* Abstand unter der Linie */
}

/* Alternative: Linie auf Content-Breite (statt oben)
   -> dann den Block direkt über diesem Kommentar entfernen
.thr-footer-bott .vc_row_inner {
    border-top: 1px solid var(--color-grey-dark);
    padding-top: 24px;
    max-width: var(--site-max-width);
    margin: 0 auto;
    padding-left: 16px;
    padding-right: 16px;
    box-sizing: border-box;
}
*/

/* ---------- BOTTOM-ZEILE (2 Spalten) ---------- */
/* Untere Zeile: 2 Spalten */
.thr-footer-bott .tdc-inner-column {
    padding: 0 24px;
    box-sizing: border-box;
}

/* 1) zweite Spalte vorbereiten */
.thr-footer-bott .tdc-inner-column + .tdc-inner-column {
    position: relative;           /* Basis für die Linie */
    padding-left: 24px;           /* Abstand zur Linie */
    /* border-left: 1px solid var(--color-grey-dark);  <- entfernen */
}

/* 2) mittlere Vertikale als Pseudo-Element */
.thr-footer-bott .tdc-inner-column + .tdc-inner-column::before {
    content: "";
    position: absolute;
    left: 0;                 /* an linker Kante der 2. Spalte */
    top: 12px;               /* Höhe oben anpassen */
    height: calc(100% - 24px); /* 100% minus top+bottom */
    /*border-left: 1px solid var(--color-grey-dark, rgba(255,255,255,.18));*/
    width: 0;                /* wichtig: keine Fläche, nur Border */
    pointer-events: none;
}

/* erste Spalte: nur Innenabstand rechts */
.thr-footer-bott .tdc-inner-column:first-child {
    padding-right: 24px;
}

/* Mobile Cleanup */
@media (max-width: 767px) {
    .thr-footer-bott .tdc-inner-column { padding-left: 0; padding-right: 0; }
    .thr-footer-bott .tdc-inner-column + .tdc-inner-column::before { display: none; }
    .thr-footer-bott { padding-top: 16px; }
}


/* Falls die Icons zu nah an der rechten Trennlinie kleben */
.thr-col.thr-social { padding-right: 20px; }

/* Optional: linksbündige Spalten-Trennlinie rechts (falls genutzt) */
.thr-footer-top > .tdc-inner-column.thr-footer-col:last-child{
    border-right:0;
    padding-right:0;
}

/* === FOOTER: Social-Liste vertikal, Icon links, Label rechts === */
.thr-footer-social .tdm-social-wrapper{
    display:flex;
    flex-direction:column;
    gap:14px; /* vertikaler Abstand zwischen Einträgen */
}

/* Eintrag: Icon + Label auf einer Linie */
.thr-footer-social .tdm-social-item-wrap{
    display:flex;
    align-items:center;
}

/* Icon: kompakt, links */
.thr-footer-social .tdm-social-item{
    width:20px; height:20px;
    margin:0 12px 0 0;            /* Abstand Icon → Label */
}

/* Icon-Farbe überschreibt tagDiv-Defaults */
.thr-footer-social .tdm-social-item i{
    font-size:16px;
    color:#fff !important;        /* statt Theme-Primary/Netzwerkfarbe */
    line-height:20px;
}

/* Label einblenden und typografisch wie im Vorbild */
.thr-footer-social .tdm-social-text{
    display:inline-block !important;  /* überschreibt inline <style> */
    margin:0 !important;              /* entfernt 2px/18px aus .tdi_163 */
    font-family:var(--font-family-sans);
    font-size:0.875rem;               /* 14px */
    line-height:1.25rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05rem;
    color:#fff !important;            /* neutralisiert #4db2ec etc. */
}

/* Hover-Status einheitlich */
.thr-footer-social .tdm-social-item-wrap:hover i,
.thr-footer-social .tdm-social-item-wrap:hover .tdm-social-text{
    color:var(--color-grey-dark) !important;
}

/* === Footer Social Icons: Namen auf Mobile ausblenden === */
@media (max-width: 767px) {
    .thr-footer-social .tdm-social-text {
        display: none !important;
    }

    .thr-footer-social .tdm-social-wrapper {
        flex-direction: row !important;   /* waagerecht statt Spalte */
        gap: 1.5rem;                       /* horizontaler Abstand */
        justify-content: center;          /* zentriert ausrichten */
    }

    .thr-footer-social .tdm-social-item-wrap {
        flex-direction: column;           /* Icon oben, kein Text */
        align-items: center;
        margin: 0;
    }

    .thr-footer-social .tdm-social-item {
        margin: 0;                        /* kein horizontaler Abstand nötig */
    }
}


/* === Newsletter Footer === */

.thr-newsletter-footer-line input,
.thr-newsletter-footer-line button,
.thr-newsletter-footer-line .mailpoet_text,
.thr-newsletter-footer-line .mailpoet_submit,
.thr-newsletter-footer-line .mailpoet_message .mailpoet_validate_success{
    font-family: var(--font-family-sans) !important;
}

/* 1) Grid-Layout: Input (flex) + Button (auto) in einer Zeile */
.thr-newsletter-footer-line .mailpoet_form_form {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: .75rem;
    row-gap: .75rem;
    align-items: stretch;
    justify-content: center; /* zentriert die 2 Spalten als Block */
}

/* Header & Disclaimer: volle Breite, zentriert */
.thr-newsletter-footer-line .thr-newsletter-footer-header,
.thr-newsletter-footer-line .thr-newsletter-footer-disclaimer {
    grid-column: 1 / -1;
    text-align: center !important;
    margin: 0;
}

.thr-newsletter-footer-header {
    font-size: 1.125rem;
    line-height: 1.375rem;
    letter-spacing: -0.03125rem;
    font-weight: 700;
    color: #fff;
}

.thr-newsletter-footer-disclaimer {
    color: var(--color-grey);
    font-size: .625rem;
    line-height: 1.125rem;
    letter-spacing: .0075rem;
}

.thr-newsletter-footer-disclaimer a {
    color: var(--color-grey);
    font-weight: 700;
    text-decoration: none;
}

/* 2) Duo-Zeile: Zellen ausrichten */
.thr-newsletter-footer-line .thr-newsletter-footer-email,
.thr-newsletter-footer-line .thr-newsletter-footer-btn {
    margin: 0; /* Abstände kommen aus Grid-Gaps */
}
.thr-newsletter-footer-line .thr-newsletter-footer-email {
    max-width: 28rem;         /* optional kompakter; entfernen für volle Breite */
    justify-self: center;
    width: 100%;
}
.thr-newsletter-footer-line .thr-newsletter-footer-btn {
    justify-self: center;
}

/* 3) Input: Stil + funktionale Overrides */
.thr-newsletter-footer-line .thr-newsletter-footer-email .mailpoet_text {
    color: #fff;
    background: #000;
    width: 100% !important;   /* überschreibt MailPoet width:200px */
    min-width: 0;
    box-sizing: border-box;
    padding: 8px 10px 6px;

    /* Rahmen-Logik: unten weiß; im Fokus vollflächig weiß, ohne Layout-Shift */
    border: 1px solid transparent;
    border-bottom: 1px solid #fff;
    border-radius: 0;
    outline: none;
}

/* Placeholder: Größe, Zeilenhöhe, Letter-Spacing + dezente Farbe */
.thr-newsletter-footer-line .thr-newsletter-footer-email .mailpoet_text::placeholder {
    color: rgba(255,255,255,.7);
    font-size: .75rem;
    line-height: .875rem;
    letter-spacing: .0075rem;
    opacity: 1; /* Firefox */
}
/* Safari/WebKit Fallback */
.thr-newsletter-footer-line .thr-newsletter-footer-email .mailpoet_text::-webkit-input-placeholder {
    font-size: .75rem;
    line-height: .875rem;
    letter-spacing: .0075rem;
}

/* Fokus: 1px weißer Rahmen, keine Effekte */
.thr-newsletter-footer-line .thr-newsletter-footer-email .mailpoet_text:focus,
.thr-newsletter-footer-line .thr-newsletter-footer-email .mailpoet_text:focus-visible {
    border-color: #fff;
    border-width: 1px;
    box-shadow: none;
}

/* 4) Button: schwarz, weiß, kein Hover-Effekt */
.thr-newsletter-footer-line .thr-newsletter-footer-btn .mailpoet_submit {
    background: #000;
    color: #fff;
    border: 1px solid #000;
    width: auto !important;   /* verhindert 100%-Breite */
    white-space: nowrap;
    cursor: pointer;
    box-shadow: none;
    text-shadow: none;
    transition: none;
    text-transform: uppercase;
    font-size: .875rem;
    line-height: 1.0625rem;
}
.thr-newsletter-footer-line .thr-newsletter-footer-btn .mailpoet_submit:hover,
.thr-newsletter-footer-line .thr-newsletter-footer-btn .mailpoet_submit:focus,
.thr-newsletter-footer-line .thr-newsletter-footer-btn .mailpoet_submit:active {
    background: #000;
    color: #fff;
    border-color: #000;
    box-shadow: none;
}

/* Success-Message im Footer-Newsletter */
.thr-newsletter-footer-line .mailpoet_message .mailpoet_validate_success,
.thr-newsletter-footer-line .mailpoet_message .mailpoet_validate_error {
    color: #bfbfbf;
    background: transparent;
    text-align: center;
    margin: .5rem 0 0;
    font-size: 0.75rem;
    line-height: 0.875rem;
    letter-spacing: -.01125rem;
    font-weight: 700;
}

/* Links in der Success-Message (falls vorhanden) */
.thr-newsletter-footer-line .mailpoet_message .mailpoet_validate_success a,
.thr-newsletter-footer-line .mailpoet_message .mailpoet_validate_error a {
    color: var(--color-grey-dark);
    text-decoration: none;
}

/* 5) Responsiv: untereinander bei sehr schmal (z. B. alte SE) */
@media (max-width: 360px) {
    .thr-newsletter-footer-line .mailpoet_form_form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 499px) {
    .thr-newsletter-footer-line
    .mailpoet_form_paragraph.thr-newsletter-footer-disclaimer {
        font-size: .625rem !important;
        line-height: 1.125rem !important;
        letter-spacing: .0075rem !important;
    }
}

/* === Accordion Grundlayout Footer === */

.thr-footer-accordion {
    border: 1px solid var(--color-grey-dark);
    margin-bottom: 1rem;
}

.thr-accordion-toggle {
    width: 100%;
    background: none;
    border: none;
    padding: 1rem;
    text-align: left;
    font-family: var(--font-family-sans);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02rem;
    color: var(--color-white);
    position: relative;
    cursor: pointer;
}

.thr-accordion-toggle::after {
    content: "▾";
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
}

.thr-footer-accordion.open .thr-accordion-toggle::after {
    transform: translateY(-50%) rotate(180deg);
}

.thr-accordion-content {
    display: none;
    padding: 0 1rem 1rem;
    list-style: none;
    margin: 0;
}

.thr-accordion-content li {
    margin-bottom: 0.5rem;
}

.thr-accordion-content li a {
    font-family: var(--font-family-sans);
    font-size: 0.875rem;
    color: var(--color-white);
    text-decoration: none;
}

.thr-accordion-content li a:hover {
    color: var(--color-brand-primary);
}


/* === Footer: Tipp-Sektion === */
.thr-footer-tipbox {
    text-align: center;
    color: #fff !important;
}

.thr-footer-tipbox-headline {
    font-family: var(--font-family-sans) !important;
    font-size: 1.125rem;
    line-height: 1.375rem;
    letter-spacing: -0.03125rem;
    font-weight: 700;
    color: #fff;
}

.thr-footer-tipbox-text {
    font-size: 0.875rem !important;
    line-height: 1.0625rem !important;
    letter-spacing: .04375rem !important;
    margin-bottom: 1rem !important;
    color: var(--color-grey-light);
}

.thr-footer-tipbox-link {
    margin: 0;
}

.thr-footer-tipbox-cta {
    font-family: var(--font-family-sans) !important;
    background: #000;
    color: #fff !important;
    text-transform: uppercase;
    font-size: .875rem;
    line-height: 1.0625rem;
    font-weight: 500;
    letter-spacing: .04375rem;
}

.thr-footer-tipbox-cta:hover {
    color: var(--color-grey-dark);
}


@media (max-width: 767px) {
    .thr-footer-tipbox {
        display: block !important;
    }
}

/* ======================================================================
   THEME OVERRIDES
   ====================================================================== */

/* CAPTIONS – Bildunterschriften & Quellen */
/*
.wp-caption-text {
    font-family: 'kepler-std', Georgia, serif !important;
    font-size: 0.85em;
    color: #555;
    margin-top: 4px;
    line-height: 1.4;
}

.wp-caption-text cite {
    font-style: italic;
    color: #888;
    display: inline-block;
    margin-left: 4px;
}
*/

/* ======================================================================
   GLOBALE BEFEHLE
   ====================================================================== */

.thr-section-title h2 {
    font-family: kepler-std-semicondensed-dis !important;
    font-size: 1.8125rem;
    line-height: 1.75rem;
    letter-spacing: .00875rem;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0;
}

/* === Klasse wird in Mobiler Ansicht ausgeblendet === */
@media (max-width: 767px) {
    .thr-section-title h2 {
        font-size: 2rem;
        line-height: 1.25rem;
        letter-spacing: .00625rem;
    }
    .hide-on-mobile {
        display: none !important;
    }
}


