/*
Theme Name: wmfx Magazin
Theme URI: https://wmfx.io
Author: wmfx
Description: Block-Theme (FSE) für das wmfx Magazin – Forex, Gold, Krypto, Copy-Trading. Design v2 (September 2026), Brand Guide v1.0. Mobile-first, keine externen Requests, SEO/GEO-optimiert.
Version: 2.0.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: wmfx
*/

/* ── Grundlagen ──────────────────────────────────────────────── */
html { -webkit-font-smoothing: antialiased; scroll-behavior: smooth; }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; position: relative; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; margin-block-end: 0; }
.wmfx-mono, .wmfx-label { font-family: var(--wp--preset--font-family--space-mono); }

/* Dekorativer Hintergrund (Raster + Farbflächen + Kurslinien) – reines CSS/SVG, kein JS */
.wmfx-backdrop { position: absolute; inset: 0; pointer-events: none; z-index: 0; overflow: hidden; height: 1200px; }
.wmfx-backdrop::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(12,24,48,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(12,24,48,.045) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), rgba(0,0,0,.35) 40%, transparent 80%); mask-image: linear-gradient(to bottom, rgba(0,0,0,.9), rgba(0,0,0,.35) 40%, transparent 80%); animation: wmfxGrid 18s linear infinite; }
.wmfx-backdrop__blob { position: absolute; border-radius: 50%; }
.wmfx-backdrop__blob--blue { top: -180px; right: -120px; width: 640px; height: 640px; background: radial-gradient(circle, rgba(44,111,214,.16), transparent 62%); animation: wmfxDrift 22s ease-in-out infinite; }
.wmfx-backdrop__blob--gold { top: 420px; left: -200px; width: 560px; height: 560px; background: radial-gradient(circle, rgba(181,137,43,.14), transparent 62%); animation: wmfxDrift2 26s ease-in-out infinite; }
.wmfx-backdrop svg { position: absolute; top: 80px; left: 0; width: 100%; height: 500px; opacity: .55; }
.wmfx-backdrop path { stroke-dasharray: 1200; animation: wmfxDraw 2.2s cubic-bezier(.4,0,.2,1) forwards; }
@keyframes wmfxGrid { from { background-position: 0 0, 0 0; } to { background-position: 64px 64px, 64px 64px; } }
@keyframes wmfxDrift { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(-40px,18px,0); } }
@keyframes wmfxDrift2 { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(50px,-24px,0); } }
@keyframes wmfxDraw { from { stroke-dashoffset: 1200; } to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .wmfx-backdrop::before, .wmfx-backdrop__blob, .wmfx-backdrop path { animation: none; } }
.wp-site-blocks > *:not(.wmfx-backdrop) { position: relative; z-index: 1; }

/* Container für Header/Topbar/Footer (bewusst ohne Constrained-Layout: das setzt max-width nur auf Kinder) */
.wmfx-container { max-width: 1240px; margin-left: auto; margin-right: auto; padding-left: 24px; padding-right: 24px; width: 100%; }

/* ── Topbar ──────────────────────────────────────────────────── */
.wmfx-topbar { border-bottom: 1px solid var(--wp--preset--color--border); background: rgba(246,246,242,.7); font-family: var(--wp--preset--font-family--space-mono); font-size: 10.5px; color: var(--wp--preset--color--gray); letter-spacing: .3px; }
.wmfx-topbar > .wmfx-container { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 7px; padding-bottom: 7px; overflow: hidden; }
.wmfx-topbar > .wmfx-container > * { line-height: 1.5; margin: 0; }
.wmfx-topbar__links { display: flex; gap: 14px; white-space: nowrap; align-items: center; }
.wmfx-topbar__links a { color: var(--wp--preset--color--gray); }
.wmfx-topbar__links a:hover, .wmfx-topbar__links a.is-active { color: var(--wp--preset--color--navy); }

/* ── Header ──────────────────────────────────────────────────── */
.wmfx-header { position: sticky; top: 0; z-index: 100; background: rgba(246,246,242,.92); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid var(--wp--preset--color--border); }
.wmfx-header > .wmfx-container { display: flex; align-items: center; gap: 22px; padding-top: 16px; padding-bottom: 16px; }
.wmfx-header .wp-block-navigation { flex: 1; min-width: 0; }
.wmfx-header .wp-block-navigation .wp-block-navigation__container { gap: 20px; }
.wmfx-header .wp-block-navigation-item__content { padding: 6px 0; color: var(--wp--preset--color--muted); font-weight: 500; white-space: nowrap; transition: color .15s; }
.wmfx-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--navy); }
.wmfx-header .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--navy); font-weight: 600; box-shadow: inset 0 -2px 0 var(--wp--preset--color--navy); }
.wmfx-header__cta { flex: none; }
.wmfx-header__cta .wp-block-button__link { background: var(--wp--preset--color--navy); color: #fff; font-size: 13px; padding: 11px 18px; border-radius: 6px; transition: transform .15s, background .15s; }
.wmfx-header__cta .wp-block-button__link:hover { background: var(--wp--preset--color--primary); transform: translateY(-1px); }
/* Mobiles Overlay-Menü (Core Navigation) */
.wmfx-header .wp-block-navigation__responsive-container-open { border: 1px solid var(--wp--preset--color--navy); border-radius: 6px; width: 40px; height: 40px; display: grid; place-items: center; color: var(--wp--preset--color--navy); }
.wmfx-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--page); padding: 24px; }
.wmfx-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 4px; }
.wmfx-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 18px; font-weight: 600; padding: 12px 0; border-bottom: 1px solid var(--wp--preset--color--border); color: var(--wp--preset--color--navy); }
.wmfx-header .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content { box-shadow: none; color: var(--wp--preset--color--primary); }

/* ── Seiteninhalt ────────────────────────────────────────────── */
.wmfx-main { padding-top: 44px; padding-bottom: 72px; }
.wmfx-no-ticker .wmfx-ticker { display: none; }
.is-style-section { border-top: 1px solid var(--wp--preset--color--navy); padding-top: 26px; margin-bottom: 56px; }
.is-style-section:last-child { margin-bottom: 0; }
.is-style-card { background: #fff; border: 1px solid var(--wp--preset--color--border); padding: 24px; }
.is-style-partner { background: var(--wp--preset--color--navy); color: #fff; padding: 44px 48px; margin-bottom: 56px; }
.is-style-partner :is(h1,h2,h3,h4) { color: #fff; }
.is-style-partner p { color: var(--wp--preset--color--navy-muted); }
.is-style-partner .wmfx-label { color: var(--wp--preset--color--navy-gray); }
.is-style-partner .wp-block-button__link { background: var(--wp--preset--color--primary); }
.is-style-partner .wp-block-button__link:hover { background: var(--wp--preset--color--primary-dark); }
.is-style-partner-inline { border-top: 1px solid var(--wp--preset--color--navy); border-bottom: 1px solid var(--wp--preset--color--border); padding: 24px 0; margin: 8px 0 30px; }
.is-style-partner-inline h3, .is-style-partner-inline h4 { font-size: 18px; margin: 0 0 6px; }
.is-style-partner-inline p { font-size: 14px; color: var(--wp--preset--color--muted); margin: 0; }
.wmfx-partner-note { font-family: var(--wp--preset--font-family--space-mono); font-size: 9.5px; color: #6B7690; text-align: center; display: block; }

/* Hero-Layout: 2/3 + Seitenleiste mit Linie */
.wmfx-hero { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 0; }
.wmfx-hero > :first-child { padding-right: 40px; min-width: 0; }
.wmfx-hero__aside { border-left: 1px solid var(--wp--preset--color--border); padding-left: 32px; min-width: 0; }
.wmfx-hero__aside .wmfx-chart-card { margin-bottom: 26px; }
.wmfx-hero__aside .wmfx-label { margin-bottom: 6px; display: block; }
.wmfx-grid-21 { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 40px; }
.wmfx-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px,1fr)); gap: 40px; }
.wmfx-grid-cards > .wp-block-post-template, .wmfx-grid-cards { --wmfx-card-min: 270px; }
.wp-block-post-template.is-layout-grid, .wmfx-grid-cards .wp-block-post-template { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--wmfx-card-min, 280px), 1fr)); gap: 36px 28px; }
.wp-block-post-template.is-layout-flow > .wp-block-post { margin: 0; }
.wmfx-hero .wp-block-post-template, .wmfx-hero__aside .wp-block-post-template { display: block; }

/* Buttons */
.wp-block-button__link { line-height: 1.2; }
.is-style-ghost .wp-block-button__link { background: transparent; border: 1px solid var(--wp--preset--color--navy); color: var(--wp--preset--color--navy); font-size: 13px; padding: 11px 16px; }
.is-style-ghost .wp-block-button__link:hover { background: var(--wp--preset--color--navy); color: #fff; }
.is-style-dark .wp-block-button__link { background: var(--wp--preset--color--navy); }
.is-style-dark .wp-block-button__link:hover { background: var(--wp--preset--color--primary); }

/* Typografie-Stile */
.is-style-lead { font-size: 19px; line-height: 1.55; color: var(--wp--preset--color--muted); text-wrap: pretty; }
.is-style-mono { font-family: var(--wp--preset--font-family--space-mono); font-size: 10.5px; letter-spacing: 2px; text-transform: uppercase; color: var(--wp--preset--color--gray); }
.is-style-disclaimer { font-size: 12px; line-height: 1.65; color: var(--wp--preset--color--gray); border-top: 1px solid var(--wp--preset--color--border); padding-top: 16px; }
.is-style-disclaimer strong { color: var(--wp--preset--color--muted); }
.wp-block-list.is-style-key-facts { list-style: none; padding: 0; margin: 0; counter-reset: kf; display: flex; flex-direction: column; gap: 12px; }
.wp-block-list.is-style-key-facts li { display: flex; gap: 16px; align-items: baseline; font-size: 15px; line-height: 1.5; counter-increment: kf; }
.wp-block-list.is-style-key-facts li::before { content: counter(kf, decimal-leading-zero); font-family: var(--wp--preset--font-family--space-mono); font-size: 11px; color: var(--wp--preset--color--primary); flex: none; }
.wmfx-key-facts { border-top: 1px solid var(--wp--preset--color--navy); padding: 22px 0 10px; margin: 28px 0; }
.wmfx-key-facts .wmfx-label { display: block; margin-bottom: 16px; }

/* Artikel */
.wmfx-article .wp-block-post-title { margin-bottom: 20px; text-wrap: balance; }
.wmfx-article .wp-block-post-excerpt__excerpt { font-size: 19px; line-height: 1.55; color: var(--wp--preset--color--muted); margin: 0 0 26px; text-wrap: pretty; }
.wmfx-article .wp-block-post-featured-image { margin: 0 0 10px; }
.wmfx-article .wp-block-post-featured-image img { width: 100%; height: 460px; object-fit: cover; display: block; }
.wmfx-img-credit { color: var(--wp--preset--color--gray-light); margin-bottom: 40px; font-size: 10px; }
.wmfx-article .wp-block-post-content { font-size: 17.5px; line-height: 1.8; color: var(--wp--preset--color--text); }
.wmfx-article .wp-block-post-content > p { margin: 0 0 22px; }
.wmfx-article .wp-block-post-content > h2 { margin: 36px 0 16px; }
.wmfx-article .wp-block-post-content > h3 { margin: 28px 0 12px; font-size: 21px; }
.wmfx-article .wp-block-post-content ul, .wmfx-article .wp-block-post-content ol { padding-left: 22px; }
.wmfx-article .wp-block-post-content figure { margin: 0 0 30px; }
.wmfx-article .wp-block-post-content figcaption { font-size: 11.5px; color: var(--wp--preset--color--gray); margin-top: 10px; line-height: 1.5; }
.wmfx-article .wmfx-grid-cards { --wmfx-card-min: 200px; }
.wmfx-article .wp-block-quote { margin: 0 0 30px; color: var(--wp--preset--color--navy); text-wrap: balance; }
.wmfx-article .wp-block-quote p { margin: 0; color: inherit; }
.wmfx-article .wp-block-table table { font-size: 14.5px; border-collapse: collapse; width: 100%; }
.wmfx-article .wp-block-table td, .wmfx-article .wp-block-table th { border: 1px solid var(--wp--preset--color--border); padding: 10px 12px; text-align: left; }
.wmfx-article .wp-block-table th { font-family: var(--wp--preset--font-family--space-mono); font-size: 10px; letter-spacing: 1px; text-transform: uppercase; color: var(--wp--preset--color--gray); background: #fff; }
.wmfx-breadcrumb, .rank-math-breadcrumb { font-family: var(--wp--preset--font-family--space-mono); font-size: 10.5px; color: var(--wp--preset--color--gray); margin-bottom: 22px; }
.rank-math-breadcrumb a { color: var(--wp--preset--color--gray); }
.rank-math-breadcrumb .last { color: var(--wp--preset--color--primary); }
.rank-math-breadcrumb .separator { margin: 0 6px; }
/* Rank Math FAQ-Block im Brand-Look */
.wp-block-rank-math-faq-block .rank-math-faq-item { border-top: 1px solid var(--wp--preset--color--border); padding: 18px 0; }
.wp-block-rank-math-faq-block .rank-math-question { font-size: 17px; font-weight: 600; margin: 0 0 8px; }
.wp-block-rank-math-faq-block .rank-math-answer { font-size: 15.5px; color: var(--wp--preset--color--muted); }
.wp-block-rank-math-faq-block .rank-math-answer p { margin: 0; }

/* Seiten-Kopf (Insights, Kalender, Anbieter) */
.wmfx-page-head .wmfx-label, .wmfx-page-head .is-style-mono { display: block; margin-bottom: 12px; }
.wmfx-page-head h1 { margin: 0 0 12px; }
.wmfx-page-head .wmfx-page-head__intro { font-size: 15px; color: var(--wp--preset--color--muted); margin: 0 0 36px; max-width: 640px; line-height: 1.6; text-wrap: pretty; }
.wmfx-page .wp-block-post-title { margin-bottom: 26px; }
.wmfx-page .wp-block-post-content { font-size: 16px; line-height: 1.7; }
.wmfx-page .wp-block-post-content > h2 { margin-top: 32px; }

/* Archiv / Autor */
.wmfx-author-head { display: flex; gap: 22px; align-items: flex-start; margin-bottom: 36px; }
.wmfx-author-head .wp-block-post-author-biography, .wmfx-author-head p { font-size: 15px; color: var(--wp--preset--color--muted); margin: 8px 0 0; max-width: 640px; }
.wp-block-query-pagination { margin-top: 44px; font-family: var(--wp--preset--font-family--space-mono); font-size: 12px; }
.wp-block-query-pagination a { color: var(--wp--preset--color--navy); }
.wp-block-query-pagination-numbers .current { color: var(--wp--preset--color--primary); font-weight: 700; }
.wp-block-query-no-results p { color: var(--wp--preset--color--gray); }
.wp-block-search__input { border: 1px solid var(--wp--preset--color--border); border-radius: 6px; padding: 12px 14px; font-family: inherit; font-size: 15px; background: #fff; }
.wp-block-search__button { border-radius: 6px; }

/* Newsletter-Sektion */
.wmfx-newsletter-section { background: #fff; border: 1px solid var(--wp--preset--color--border); padding: 32px; display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 32px; align-items: center; }
.wmfx-newsletter-section h2 { margin: 8px 0 8px; font-size: 24px; }
.wmfx-newsletter-section p { margin: 0; color: var(--wp--preset--color--muted); font-size: 14.5px; }

/* ── Footer ──────────────────────────────────────────────────── */
.wmfx-footer { border-top: 1px solid var(--wp--preset--color--navy); background: var(--wp--preset--color--page); }
.wmfx-footer > .wmfx-container { padding-top: 48px; padding-bottom: 36px; }
.wmfx-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 36px; margin-bottom: 44px; }
.wmfx-footer__brand p { font-size: 14px; line-height: 1.65; color: var(--wp--preset--color--muted); max-width: 380px; margin: 16px 0 0; }
.wmfx-footer .wmfx-label { font-size: 10px; letter-spacing: 1.5px; margin-bottom: 14px; display: block; }
.wmfx-footer .wp-block-navigation { --navigation-layout-direction: column; }
.wmfx-footer .wp-block-navigation .wp-block-navigation__container { flex-direction: column; gap: 10px; align-items: flex-start; }
.wmfx-footer .wp-block-navigation-item__content { font-size: 14px; color: var(--wp--preset--color--navy); }
.wmfx-footer .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary); }
.wmfx-footer__legal { border-top: 1px solid var(--wp--preset--color--border); padding-top: 20px; font-size: 11.5px; line-height: 1.65; color: var(--wp--preset--color--gray); max-width: 960px; }
.wmfx-footer__legal p { margin: 0 0 8px; color: inherit; font-size: inherit; }

/* ── Mobil ───────────────────────────────────────────────────── */
@media (max-width: 782px) {
	.wmfx-main { padding-top: 28px; padding-bottom: 48px; }
	.wmfx-header > .wmfx-container { padding-top: 12px; padding-bottom: 12px; gap: 12px; }
	.wmfx-header .wmfx-header__cta { display: none; }
	.wmfx-header .wp-block-navigation { flex: none; margin-left: auto; }
	.wmfx-hero, .wmfx-grid-21, .wmfx-newsletter-section { grid-template-columns: minmax(0,1fr); }
	.wmfx-hero > :first-child { padding-right: 0; margin-bottom: 32px; }
	.wmfx-hero__aside { border-left: 0; padding-left: 0; }
	.wmfx-grid-21 { gap: 32px; }
	.is-style-section { margin-bottom: 40px; }
	.is-style-partner { padding: 28px 24px; margin-bottom: 40px; }
	.wmfx-article .wp-block-post-featured-image img { height: 240px; }
	.wmfx-article .wp-block-post-content { font-size: 16.5px; }
	.wmfx-footer__grid { grid-template-columns: 1fr 1fr; }
	.wmfx-footer__brand { grid-column: 1 / -1; }
	.wmfx-backdrop { height: 900px; }
}
@media (min-width: 783px) { .wmfx-header .wp-block-navigation__responsive-container-open { display: none; } }
