@import url('/custom/assets/fonts/fonts.css');

/* ==========================================================================
   gesundheit-medizin.com – "Praxis-Journal"
   Ruhiges Editorial-Design: warmes Papier, tiefes Tinten-Blau, Blatt-Grün,
   Fraunces (Display) + Figtree (Text). Signatur: Puls-Linie + Blatt-Radius.
   ========================================================================== */

:root {
    /* Farben */
    --primary:        #007daa;
    --primary-dark:   #005f82;
    --primary-deep:   #063a4d;
    --secondary:      #3a9a76;
    --secondary-dark: #25765a;
    --ink:            #112b36;
    --ink-soft:       #4b6571;
    --paper:          #fbf8f2;   /* body-Hintergrund */
    --surface:        #ffffff;
    --sand:           #f1e9db;
    --mint:           #e2f1ea;
    --mist:           #e3f1f6;   /* .outer-mainmenu-container / .site-header */
    --line:           #dbe5e8;

    /* Typografie */
    --font-display: 'Fraunces', 'Fraunces Fallback', Georgia, 'Times New Roman', serif;
    --font-body:    'Figtree', 'Figtree Fallback', 'Helvetica Neue', Arial, sans-serif;

    /* Formen */
    --leaf:        3px 34px 3px 34px;
    --leaf-small:  3px 18px 3px 18px;
    --shadow-soft: 0 1px 2px rgba(17, 43, 54, .05), 0 10px 30px -12px rgba(17, 43, 54, .18);
    --shadow-lift: 0 2px 4px rgba(17, 43, 54, .06), 0 24px 44px -16px rgba(0, 95, 130, .35);
    --header-h:    76px;
    --ease:        cubic-bezier(.22, .8, .24, 1);
}

/* ---------- Basis ---------- */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); -webkit-text-size-adjust: 100%; }

body {
    background-color: var(--paper);
    color: var(--ink);
    font-family: var(--font-body);
    font-size: 1.0625rem;
    line-height: 1.7;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

img { max-width: 100%; height: auto; }

a { color: var(--primary); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--primary-dark); }

h1, h2, h3, h4, h5 {
    font-family: var(--font-display);
    font-optical-sizing: auto;
    color: var(--ink);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -.012em;
}

:focus-visible { outline: 3px solid var(--primary); outline-offset: 3px; border-radius: 3px; }
::selection { background: var(--primary); color: #fff; }

.container { max-width: 1240px; padding-left: 24px; padding-right: 24px; }

.skip-link {
    position: absolute; left: 16px; top: -60px; z-index: 200;
    background: var(--ink); color: #fff; padding: .6rem 1rem; border-radius: 0 0 8px 8px;
    transition: top .2s ease;
}
.skip-link:focus { top: 0; color: #fff; }

.site-wrapper { min-height: 100vh; display: flex; flex-direction: column; }
.site-main { flex: 1 0 auto; }

/* Signatur: Puls-Linie */
.pulse {
    display: inline-block; width: 46px; height: 14px; flex: none;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 14'%3E%3Cpath d='M0 7h13l4-5.5 6 11 5-8 3 2.5h15' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 14'%3E%3Cpath d='M0 7h13l4-5.5 6 11 5-8 3 2.5h15' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Header / Hauptmenü ---------- */
.site-header,
.outer-mainmenu-container {
    background-color: var(--mist);
    border-bottom: 1px solid rgba(0, 125, 170, .16);
    position: sticky; top: 0; z-index: 100;
    transition: box-shadow .3s ease;
}
.site-header.scrolled { box-shadow: 0 10px 30px -18px rgba(6, 58, 77, .45); }

.site-header__inner {
    display: flex; align-items: center; justify-content: space-between;
    min-height: var(--header-h); gap: 1.5rem;
}
.site-header__logo { display: inline-flex; align-items: center; flex: none; }
.logo-img { height: 49px; width: auto; display: block; }
.logo-text { font-family: var(--font-display); font-weight: 600; font-size: 1.3rem; color: var(--ink); }

.nav-list { display: flex; align-items: center; gap: .15rem; list-style: none; margin: 0; padding: 0; }
.nav-link {
    position: relative; display: block; padding: .55rem .8rem;
    font-weight: 600; font-size: .98rem; color: var(--ink); letter-spacing: .005em;
}
.nav-link::after {
    content: ''; position: absolute; left: .8rem; right: .8rem; bottom: .2rem; height: 2px;
    background: var(--primary); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease);
}
.nav-link:hover { color: var(--primary-dark); }
.nav-link:hover::after, .nav-link.active::after { transform: scaleX(1); }
.nav-link.active { color: var(--primary-dark); }

.nav-item--cta { margin-left: .6rem; }
.nav-cta {
    display: inline-block; padding: .55rem 1.15rem; font-weight: 700; font-size: .95rem;
    color: #fff; background: var(--primary); border-radius: 999px;
    transition: background .2s ease, transform .2s var(--ease);
}
.nav-cta:hover { background: var(--primary-dark); color: #fff; transform: translateY(-1px); }

.site-header__toggle {
    display: none; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 12px;
    background: rgba(0, 125, 170, .1); cursor: pointer; flex-direction: column;
    align-items: center; justify-content: center; gap: 5px;
}
.site-header__toggle span { display: block; width: 22px; height: 2px; background: var(--primary-deep); border-radius: 2px; transition: transform .3s ease, opacity .2s ease; }
.site-header__toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-header__toggle.open span:nth-child(2) { opacity: 0; }
.site-header__toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- Buttons ---------- */
.btn-primary-fi, .btn-ghost-fi {
    display: inline-flex; align-items: center; gap: .55rem; padding: .85rem 1.55rem;
    font-weight: 700; font-size: 1rem; border-radius: 999px; line-height: 1.2;
    transition: background .2s ease, color .2s ease, transform .25s var(--ease), box-shadow .25s ease;
}
.btn-primary-fi { background: var(--primary); color: #fff; box-shadow: 0 10px 24px -10px rgba(0, 125, 170, .7); }
.btn-primary-fi:hover { background: var(--primary-dark); color: #fff; transform: translateY(-2px); }
.btn-ghost-fi { color: var(--primary-deep); box-shadow: inset 0 0 0 2px rgba(6, 58, 77, .22); }
.btn-ghost-fi:hover { color: #fff; background: var(--primary-deep); box-shadow: inset 0 0 0 2px var(--primary-deep); }

/* ---------- Breadcrumb ---------- */
.site-breadcrumb { padding: 1.1rem 0 0; font-size: .875rem; color: var(--ink-soft); }
.site-breadcrumb .breadcrumb { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; gap: 0; }
.site-breadcrumb .breadcrumb-item { display: flex; align-items: center; color: var(--ink-soft); padding: 0; }
.site-breadcrumb .breadcrumb-item + .breadcrumb-item::before { content: '/'; color: var(--primary); opacity: .55; padding: 0 .55rem; float: none; }
.site-breadcrumb .breadcrumb-item a { color: var(--ink-soft); font-weight: 600; }
.site-breadcrumb .breadcrumb-item a:hover { color: var(--primary); }
.site-breadcrumb .breadcrumb-item.active { color: var(--ink); max-width: 46ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- Hero (Startseite) ---------- */
.hero-section {
    position: relative; overflow: hidden; padding: clamp(2.5rem, 6vw, 5.5rem) 0 clamp(3rem, 6vw, 5rem);
    background-color: var(--paper);
    background-image:
        radial-gradient(60% 70% at 92% 8%, rgba(0, 125, 170, .13), transparent 62%),
        radial-gradient(45% 55% at 0% 100%, rgba(58, 154, 118, .13), transparent 65%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='52' viewBox='0 0 52 52'%3E%3Cpath d='M26 21v10M21 26h10' stroke='%23007daa' stroke-opacity='.10' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
}
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }

.hero-tag {
    display: inline-flex; align-items: center; gap: .75rem; margin: 0 0 1.4rem;
    font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--secondary-dark);
}
.hero-title {
    margin: 0 0 1.4rem; font-size: clamp(2.5rem, 5.4vw, 4.7rem); font-weight: 600; line-height: 1.04; letter-spacing: -.025em;
    color: var(--primary-deep);
}
.hero-body { max-width: 34rem; color: var(--ink-soft); font-size: 1.14rem; }
.hero-body p { margin: 0 0 1rem; }
.hero-body p:first-child { color: var(--ink); font-size: 1.22rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 1.9rem; }

.hero-feature { position: relative; display: block; color: var(--ink); padding: 0 18px 18px 0; }
.hero-feature::before {
    content: ''; position: absolute; inset: 22px 0 0 22px; z-index: 0; background: var(--sand); border-radius: var(--leaf);
    transition: transform .5s var(--ease);
}
.hero-feature__frame { position: relative; z-index: 1; display: block; overflow: hidden; border-radius: var(--leaf); box-shadow: var(--shadow-lift); aspect-ratio: 76 / 56; background: var(--mist); }
.hero-feature__frame img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.hero-feature:hover .hero-feature__frame img { transform: scale(1.05); }
.hero-feature:hover::before { transform: translate(8px, 8px); }
.hero-feature__meta {
    position: absolute; z-index: 2; left: -14px; bottom: -4px; max-width: min(88%, 25rem);
    display: block; padding: 1rem 1.3rem 1.1rem; background: var(--surface); border-radius: var(--leaf-small);
    box-shadow: var(--shadow-soft); border-left: 4px solid var(--secondary);
}
.hero-feature__cat { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--secondary-dark); margin-bottom: .25rem; }
.hero-feature__title { display: block; font-family: var(--font-display); font-weight: 600; font-size: 1.12rem; line-height: 1.25; color: var(--ink); }

/* Ladeanimation */
@keyframes rise { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
.hero-content > * { animation: rise .8s var(--ease) both; }
.hero-content > :nth-child(2) { animation-delay: .08s; }
.hero-content > :nth-child(3) { animation-delay: .16s; }
.hero-content > :nth-child(4) { animation-delay: .24s; }
.hero-feature { animation: rise 1s var(--ease) .2s both; }
.page-hero__inner > * { animation: rise .7s var(--ease) both; }
.page-hero__inner > :nth-child(2) { animation-delay: .07s; }
.page-hero__inner > :nth-child(3) { animation-delay: .14s; }

/* ---------- Page-Hero (Kategorie) ---------- */
.page-hero {
    position: relative; padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(2rem, 4vw, 3rem);
    background-image:
        radial-gradient(50% 120% at 100% 0%, rgba(0, 125, 170, .11), transparent 65%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='52' viewBox='0 0 52 52'%3E%3Cpath d='M26 21v10M21 26h10' stroke='%23007daa' stroke-opacity='.13' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
}
.page-hero__count { display: inline-flex; align-items: center; gap: .75rem; margin: 0 0 1rem; font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--secondary-dark); }
.page-hero__title { margin: 0 0 1rem; font-size: clamp(2.3rem, 5vw, 4rem); letter-spacing: -.025em; color: var(--primary-deep); }
.page-hero__intro { max-width: 40rem; font-size: 1.2rem; color: var(--ink-soft); }
.page-hero__intro p { margin: 0; }

/* ---------- Inhalts-Wrapper ---------- */
.inner-wrapper { padding: clamp(1.6rem, 4vw, 2.8rem) 0 clamp(3rem, 6vw, 5rem); }
.home-wrapper  { padding: clamp(2.5rem, 5vw, 4rem) 0 clamp(3rem, 6vw, 5rem); }

/* ---------- Artikel-Sektionen / Karten ---------- */
.home-category-section { counter-increment: cat; margin-bottom: clamp(3rem, 6vw, 4.5rem); }
.home-wrapper .col-lg-9 { counter-reset: cat; }

.article-list__header {
    position: relative; display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem;
    margin-bottom: 1.8rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line);
}
.article-list__header::after { content: ''; position: absolute; left: 0; bottom: -1px; width: 84px; height: 3px; background: var(--primary); border-radius: 3px; }
.article-list__heading { min-width: 0; }
.article-list__title { margin: 0; font-size: clamp(1.7rem, 3vw, 2.35rem); display: flex; align-items: baseline; gap: .8rem; letter-spacing: -.02em; }
/*.home-category-section .article-list__title::before {
    content: counter(cat, decimal-leading-zero); font-family: var(--font-display); font-style: italic; font-weight: 500;
    font-size: .62em; color: var(--secondary); letter-spacing: 0;
}*/
.article-list__title a { color: var(--ink); }
.article-list__title a:hover { color: var(--primary); }
.article-list__subtitle { margin: .5rem 0 0; max-width: 46rem; color: var(--ink-soft); font-size: 1rem; line-height: 1.55; }
.article-list__more-link { flex: none; font-weight: 700; font-size: .95rem; white-space: nowrap; padding-bottom: .15rem; }
.article-list__more-link span { display: inline-block; transition: transform .25s var(--ease); }
.article-list__more-link:hover span { transform: translateX(5px); }

.article-card { height: 100%; background: var(--surface); border-radius: var(--leaf); overflow: hidden; box-shadow: var(--shadow-soft); transition: transform .4s var(--ease), box-shadow .4s ease; }
.article-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lift); }
.article-card__link { display: flex; flex-direction: column; height: 100%; color: var(--ink); }
.article-card__link:hover { color: var(--ink); }
.article-card__image { position: relative; overflow: hidden; aspect-ratio: 3 / 2; background: var(--mist); }
.article-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.article-card:hover .article-card__image img { transform: scale(1.06); }
.article-card__image--placeholder { background: linear-gradient(135deg, var(--mist), var(--mint)); }
.article-card__body { display: flex; flex-direction: column; flex: 1; padding: 1.25rem 1.4rem 1.4rem; }
.article-card__title { margin: 0 0 .6rem; font-size: 1.28rem; line-height: 1.22; letter-spacing: -.01em; transition: color .2s ease; }
.article-card:hover .article-card__title { color: var(--primary); }
.article-card__excerpt {
    margin: 0 0 1.1rem; color: var(--ink-soft); font-size: .95rem; line-height: 1.6;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.article-card__readmore { margin-top: auto; font-weight: 700; font-size: .9rem; color: var(--primary); }
.article-card__readmore span { display: inline-block; transition: transform .25s var(--ease); }
.article-card:hover .article-card__readmore span { transform: translateX(5px); }

/* ---------- Pagination ---------- */
.pagination-nav { margin-top: 3rem; }
.pagination-list { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.pagination-link, .pagination-item--ellipsis span {
    display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 .9rem;
    border-radius: 999px; font-weight: 700; font-size: .95rem; color: var(--ink); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line);
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
}
a.pagination-link:hover { background: var(--mist); color: var(--primary-dark); box-shadow: inset 0 0 0 1px var(--primary); }
.pagination-item--active .pagination-link { background: var(--primary); color: #fff; box-shadow: none; }
.pagination-item--disabled .pagination-link { opacity: .4; }
.pagination-item--ellipsis span { background: transparent; box-shadow: none; min-width: 24px; padding: 0; }

/* ---------- Artikel-Detail ---------- */
.article-detail__header { margin-bottom: 1.8rem; }
.article-detail__meta { display: flex; align-items: center; gap: .7rem; margin: 0 0 1rem; font-size: .85rem; font-weight: 600; color: var(--ink-soft); }
.article-detail__cat { padding: .3rem .85rem; border-radius: 999px; background: var(--mint); color: var(--secondary-dark); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; font-size: .75rem; }
.article-detail__cat:hover { background: var(--secondary); color: #fff; }
.article-detail__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--primary); opacity: .5; }
.article-detail__title { margin: 0; font-size: clamp(2.1rem, 4.4vw, 3.4rem); letter-spacing: -.025em; line-height: 1.07; color: var(--primary-deep); text-wrap: balance; }
.article-detail__image { margin: 0 0 2.4rem; position: relative; }
.article-detail__image::before { content: ''; position: absolute; inset: 16px -14px -14px 16px; background: var(--sand); border-radius: var(--leaf); z-index: 0; }
.article-detail__image img { position: relative; z-index: 1; display: block; width: 100%; height: auto; aspect-ratio: 11 / 6; object-fit: cover; border-radius: var(--leaf); box-shadow: var(--shadow-soft); }

/* Fließtext (Artikel + Seiten) */
.content { max-width: 46rem; font-size: 1.11rem; line-height: 1.78; color: #1d3844; }
.content > p:first-of-type { font-size: 1.25rem; line-height: 1.65; color: var(--ink); }
.content p { margin: 0 0 1.35rem; }
.content h1 { font-size: clamp(2rem, 4vw, 2.8rem); margin: 0 0 1.2rem; color: var(--primary-deep); }
.content h2 { position: relative; font-size: clamp(1.55rem, 2.6vw, 2.05rem); margin: 2.7rem 0 1rem; padding-top: 1.1rem; color: var(--primary-deep); }
.content h2::before { content: ''; position: absolute; top: 0; left: 0; width: 46px; height: 14px; background: var(--secondary);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 14'%3E%3Cpath d='M0 7h13l4-5.5 6 11 5-8 3 2.5h15' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 14'%3E%3Cpath d='M0 7h13l4-5.5 6 11 5-8 3 2.5h15' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat; }
.content h3 { font-size: 1.35rem; margin: 2rem 0 .7rem; }
.content h4 { font-size: 1.12rem; margin: 1.6rem 0 .5rem; font-family: var(--font-body); font-weight: 700; }
.content strong { font-weight: 700; color: var(--ink); }
.content em { font-style: italic; }
.content a { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; text-decoration-color: rgba(0, 125, 170, .45); }
.content a:hover { text-decoration-color: currentColor; }
.content ul, .content ol { margin: 0 0 1.5rem; padding: 0; list-style: none; }
.content ol { counter-reset: li; }
.content li { position: relative; margin: 0 0 .65rem; padding-left: 1.9rem; }
.content ul li::before { content: ''; position: absolute; left: .15rem; top: .72em; width: 9px; height: 9px; background: var(--secondary); border-radius: 1px 7px 1px 7px; }
.content ol li { counter-increment: li; }
.content ol li::before { content: counter(li); position: absolute; left: 0; top: .1em; width: 1.5rem; font-family: var(--font-display); font-weight: 700; color: var(--primary); }
.content img { display: block; max-width: 100%; height: auto; margin: 1.8rem 0; border-radius: var(--leaf-small); }
.content blockquote { margin: 2rem 0; padding: 1.2rem 1.6rem; background: var(--mint); border-left: 4px solid var(--secondary); border-radius: 0 var(--leaf-small) var(--leaf-small) 0; font-family: var(--font-display); font-size: 1.2rem; font-style: italic; }
.content table { width: 100%; margin: 1.8rem 0; border-collapse: collapse; font-size: .98rem; }
.content th, .content td { padding: .7rem .9rem; border-bottom: 1px solid var(--line); text-align: left; }
.content th { background: var(--mist); font-weight: 700; }
.content iframe { max-width: 100%; border-radius: var(--leaf-small); background: var(--surface); }
.page-body { background: transparent; }
.page-body.content { max-width: 50rem; }

.related-articles { margin-top: clamp(3rem, 6vw, 4.5rem); padding-top: 2.4rem; border-top: 1px solid var(--line); }
.related-articles__title { margin: 0 0 1.6rem; font-size: clamp(1.5rem, 2.6vw, 2rem); }

/* ---------- Sidebar ---------- */
.site-sidebar { position: sticky; top: calc(var(--header-h) + 24px); display: grid; gap: 1.5rem; margin-top: .4rem; }
.fi-newsletter-cta {
    position: relative; overflow: hidden; padding: 1.7rem 1.5rem 1.6rem; color: #eaf6fa;
    background: linear-gradient(160deg, var(--primary) 0%, var(--primary-deep) 100%); border-radius: var(--leaf); box-shadow: var(--shadow-lift);
}
.fi-newsletter-cta::after {
    content: ''; position: absolute; right: -50px; bottom: -50px; width: 160px; height: 160px; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 255, 255, .16), transparent);
}
.fi-newsletter-cta__badge {
    display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 1rem; border-radius: 50%;
    background: #fff; color: var(--primary); font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; line-height: 1;
}
.fi-newsletter-cta__title { margin: 0 0 .5rem; font-size: 1.55rem; color: #fff; }
.fi-newsletter-cta__text { margin: 0 0 1.2rem; font-size: .96rem; line-height: 1.55; color: #d6edf5; }
.fi-newsletter-cta__btn {
    position: relative; z-index: 1; display: inline-flex; align-items: center; gap: .5rem; padding: .7rem 1.2rem; border-radius: 999px;
    background: #fff; color: var(--primary-deep); font-weight: 700; font-size: .93rem; transition: transform .25s var(--ease), background .2s ease;
}
.fi-newsletter-cta__btn:hover { background: var(--mint); color: var(--primary-deep); transform: translateY(-2px); }

.sidebar-widget { padding: 1.5rem; background: var(--surface); border-radius: var(--leaf); box-shadow: var(--shadow-soft); }
.sidebar-widget__title { margin: 0 0 1rem; font-size: 1.15rem; display: flex; align-items: center; gap: .7rem; color: var(--primary-deep); }
.sidebar-widget__title::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.sidebar-categories { list-style: none; margin: 0; padding: 0; }
.sidebar-categories li + li { border-top: 1px solid var(--line); }
.sidebar-categories a { display: flex; justify-content: space-between; align-items: center; padding: .7rem 0; font-weight: 600; color: var(--ink); transition: color .2s ease, padding .25s var(--ease); }
.sidebar-categories a::after { content: '\2192'; opacity: 0; transform: translateX(-6px); transition: opacity .2s ease, transform .25s var(--ease); color: var(--primary); }
.sidebar-categories a:hover, .sidebar-categories a.active { color: var(--primary); padding-left: .35rem; }
.sidebar-categories a:hover::after, .sidebar-categories a.active::after { opacity: 1; transform: none; }

/* ---------- Footer ---------- */
.site-footer {
    margin-top: auto; padding: clamp(2.5rem, 5vw, 3.8rem) 0 2.4rem; text-align: center;
    background-color: var(--mist); border-top: 1px solid rgba(0, 125, 170, .16);
}
.site-footer__logo { display: inline-block; margin-bottom: 1.2rem; }
.footer-logo { height: 49px; width: auto; display: block; }
.site-footer__copy { margin: 0 0 1.1rem; color: var(--ink-soft); font-size: .95rem; }
.footer-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.6rem; }
.footer-nav a { font-weight: 600; font-size: .95rem; color: var(--primary-deep); }
.footer-nav a:hover { color: var(--primary); text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Sonstiges ---------- */
.cookieicon { background-color: var(--primary-deep); }
#turnstile-wrapper { margin-bottom: 1.5rem; }

/* ---------- Responsive ---------- */
@media (max-width: 991.98px) {
    :root { --header-h: 68px; }
    .hero-grid { grid-template-columns: 1fr; }
    .hero-feature { max-width: 560px; }
    .site-sidebar { position: static; margin-top: 3rem; grid-template-columns: 1fr 1fr; }
    .site-header__toggle { display: flex; }
    .site-header__nav {
        position: absolute; top: 100%; left: 0; right: 0; background: var(--mist);
        border-bottom: 1px solid rgba(0, 125, 170, .16); box-shadow: 0 24px 40px -24px rgba(6, 58, 77, .5);
        max-height: 0; overflow: hidden; visibility: hidden; transition: max-height .4s var(--ease), visibility 0s .4s;
    }
    .site-header__nav.open { max-height: 80vh; visibility: visible; transition: max-height .4s var(--ease), visibility 0s; }
    .nav-list { flex-direction: column; align-items: stretch; gap: 0; padding: .6rem 24px 1.4rem; }
    .nav-link { padding: .85rem 0; font-size: 1.05rem; border-bottom: 1px solid rgba(0, 125, 170, .12); }
    .nav-link::after { display: none; }
    .nav-item--cta { margin: 1rem 0 0; }
    .nav-cta { display: block; text-align: center; padding: .85rem 1rem; }
}

@media (max-width: 767.98px) {
    body { font-size: 1.02rem; }
    .container { padding-left: 18px; padding-right: 18px; }
    .logo-img { height: 42px; }
    .site-sidebar { grid-template-columns: 1fr; }
    .article-list__header { flex-direction: column; align-items: flex-start; gap: .8rem; }
    .hero-feature__meta { left: 0; max-width: 92%; }
    .article-detail__image::before { inset: 10px -6px -8px 10px; }
    .content { font-size: 1.06rem; }
    .content > p:first-of-type { font-size: 1.15rem; }
    .site-breadcrumb .breadcrumb-item.active { max-width: 24ch; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
}
