/*
 * meinSeenland CI „Wasserlinie“ – Website-Schicht (Stand 18.10.2026)
 *
 * Wird NACH Avada (fusion-styles) und den gw-Plugins geladen (functions.php, Priorität 999).
 * Logo und Markenfarben bleiben (#0A3151, #004162, #FFFFFF); neu sind die Schriften
 * Funnel Display (Überschriften, Buttons) und Funnel Sans (Fließtext), fließende Schriftgrößen
 * und die Wellen-Signatur aus dem Logo. Schriften liegen lokal im Child-Theme (DSGVO, OFL 1.1).
 * Alle Marken-Werte als --msl-* Tokens; Avada- und Plugin-Variablen werden darauf gemappt.
 */

@font-face {
	font-family: "Funnel Display";
	src: url("fonts/funnel-display-latin-wght-normal.woff2") format("woff2-variations"),
		url("fonts/funnel-display-latin-wght-normal.woff2") format("woff2");
	font-weight: 300 800;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Funnel Sans";
	src: url("fonts/funnel-sans-latin-wght-normal.woff2") format("woff2-variations"),
		url("fonts/funnel-sans-latin-wght-normal.woff2") format("woff2");
	font-weight: 300 800;
	font-style: normal;
	font-display: swap;
}

/* ---------- Tokens ---------- */
html:root {
	--msl-blue: #0a3151;
	--msl-deep: #004162;
	--msl-white: #fff;
	--msl-paper: #f3f7fa;
	--msl-mist: #e3ecf2;
	--msl-line: rgba(10, 49, 81, 0.14);
	--msl-ink: #0a3151;
	--msl-ink-soft: #3c5468;
	--msl-radius: 16px;
	--msl-radius-sm: 10px;
	--msl-shadow: 0 14px 34px -22px rgba(10, 49, 81, 0.55);
	--msl-font-display: "Funnel Display", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--msl-font-sans: "Funnel Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	/* Wellenkante aus dem Logo (drei weiche Bögen), als Maske/Fläche nutzbar */
	--msl-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 22 C100 6 200 6 300 22 S500 38 600 22 S800 6 900 22 S1100 38 1200 22 V40 H0Z' fill='%23000'/%3E%3C/svg%3E");

	/* Avada-Mapping: Schriften */
	--awb-typography1-font-family: var(--msl-font-display);
	--awb-typography2-font-family: var(--msl-font-sans);
	--awb-typography3-font-family: var(--msl-font-display);
	--awb-typography4-font-family: var(--msl-font-sans);
	--awb-typography5-font-family: var(--msl-font-sans);
	--body_typography-font-family: var(--msl-font-sans);
	--h1_typography-font-family: var(--msl-font-display);
	--h2_typography-font-family: var(--msl-font-display);
	--h3_typography-font-family: var(--msl-font-display);
	--h4_typography-font-family: var(--msl-font-display);
	--h5_typography-font-family: var(--msl-font-display);
	--h6_typography-font-family: var(--msl-font-display);
	--nav_typography-font-family: var(--msl-font-display);
	--button_typography-font-family: var(--msl-font-display);

	/* Avada-Mapping: Farben (gleiche Marke, CI-genaue Werte) */
	--awb-custom_color_1: var(--msl-blue);
	--awb-color5: var(--msl-deep);
}

/* ---------- Grundtypografie ---------- */
body,
body p, body li, body input, body select, body textarea {
	font-family: var(--msl-font-sans) !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6,
.fusion-title-heading,
.fusion-button,
.fusion-menu, .awb-menu,
.fusion-tb-header a {
	font-family: var(--msl-font-display) !important;
}

h1, h2, h3, h4, h5, h6 {
	overflow-wrap: break-word;
	hyphens: manual;
	text-wrap: balance;
	letter-spacing: -0.01em;
}

/* Fließende Größen über Avadas Variablen (Elemente mit eigener Größe im Builder behalten diese) */
html:root {
	--h1_typography-font-size: clamp(2rem, 1.25rem + 3.4vw, 3.75rem);
	--h2_typography-font-size: clamp(1.65rem, 1.15rem + 2.1vw, 2.6rem);
	--h3_typography-font-size: clamp(1.3rem, 1.05rem + 1.1vw, 1.9rem);
	--h4_typography-font-size: clamp(1.15rem, 1rem + 0.6vw, 1.5rem);
	--h5_typography-font-size: clamp(1.15rem, 1rem + 0.8vw, 1.6rem);
	--h1_typography-font-weight: 800;
	--h2_typography-font-weight: 750;
	--h3_typography-font-weight: 700;
	--h4_typography-font-weight: 700;
	--h5_typography-font-weight: 700;
	--h1_typography-line-height: 1.08;
	--h2_typography-line-height: 1.12;
	--h3_typography-line-height: 1.2;
}
h1 { font-weight: 800; }
h2 { font-weight: 750; }
h3, h4, h5 { font-weight: 700; }

/* Builder-Titel mit fester Pixelgröße (z. B. 80px) auf kleinen Bildschirmen deckeln */
/* (Avada setzt die Größe über --awb-font-size am Container; nur große Werte ≥ 44px werden ersetzt) */
@media (max-width: 1024px) {
	.fusion-title[style*="--awb-font-size:44px"],
	.fusion-title[style*="--awb-font-size:45px"],
	.fusion-title[style*="--awb-font-size:46px"],
	.fusion-title[style*="--awb-font-size:47px"],
	.fusion-title[style*="--awb-font-size:48px"],
	.fusion-title[style*="--awb-font-size:49px"],
	.fusion-title[style*="--awb-font-size:50px"],
	.fusion-title[style*="--awb-font-size:51px"],
	.fusion-title[style*="--awb-font-size:52px"],
	.fusion-title[style*="--awb-font-size:53px"],
	.fusion-title[style*="--awb-font-size:54px"],
	.fusion-title[style*="--awb-font-size:55px"],
	.fusion-title[style*="--awb-font-size:56px"],
	.fusion-title[style*="--awb-font-size:57px"],
	.fusion-title[style*="--awb-font-size:58px"],
	.fusion-title[style*="--awb-font-size:59px"],
	.fusion-title[style*="--awb-font-size:60px"],
	.fusion-title[style*="--awb-font-size:61px"],
	.fusion-title[style*="--awb-font-size:62px"],
	.fusion-title[style*="--awb-font-size:63px"],
	.fusion-title[style*="--awb-font-size:64px"],
	.fusion-title[style*="--awb-font-size:65px"],
	.fusion-title[style*="--awb-font-size:66px"],
	.fusion-title[style*="--awb-font-size:67px"],
	.fusion-title[style*="--awb-font-size:68px"],
	.fusion-title[style*="--awb-font-size:69px"],
	.fusion-title[style*="--awb-font-size:70px"],
	.fusion-title[style*="--awb-font-size:71px"],
	.fusion-title[style*="--awb-font-size:72px"],
	.fusion-title[style*="--awb-font-size:73px"],
	.fusion-title[style*="--awb-font-size:74px"],
	.fusion-title[style*="--awb-font-size:75px"],
	.fusion-title[style*="--awb-font-size:76px"],
	.fusion-title[style*="--awb-font-size:77px"],
	.fusion-title[style*="--awb-font-size:78px"],
	.fusion-title[style*="--awb-font-size:79px"],
	.fusion-title[style*="--awb-font-size:80px"],
	.fusion-title[style*="--awb-font-size:81px"],
	.fusion-title[style*="--awb-font-size:82px"],
	.fusion-title[style*="--awb-font-size:83px"],
	.fusion-title[style*="--awb-font-size:84px"],
	.fusion-title[style*="--awb-font-size:85px"],
	.fusion-title[style*="--awb-font-size:86px"],
	.fusion-title[style*="--awb-font-size:87px"],
	.fusion-title[style*="--awb-font-size:88px"],
	.fusion-title[style*="--awb-font-size:89px"],
	.fusion-title[style*="--awb-font-size:90px"],
	.fusion-title[style*="--awb-font-size:91px"],
	.fusion-title[style*="--awb-font-size:92px"],
	.fusion-title[style*="--awb-font-size:93px"],
	.fusion-title[style*="--awb-font-size:94px"],
	.fusion-title[style*="--awb-font-size:95px"],
	.fusion-title[style*="--awb-font-size:96px"],
	.fusion-title[style*="--awb-font-size:97px"],
	.fusion-title[style*="--awb-font-size:98px"],
	.fusion-title[style*="--awb-font-size:99px"],
	.fusion-title[style*="--awb-font-size:100px"],
	.fusion-title[style*="--awb-font-size:101px"],
	.fusion-title[style*="--awb-font-size:102px"],
	.fusion-title[style*="--awb-font-size:103px"],
	.fusion-title[style*="--awb-font-size:104px"],
	.fusion-title[style*="--awb-font-size:105px"],
	.fusion-title[style*="--awb-font-size:106px"],
	.fusion-title[style*="--awb-font-size:107px"],
	.fusion-title[style*="--awb-font-size:108px"],
	.fusion-title[style*="--awb-font-size:109px"],
	.fusion-title[style*="--awb-font-size:110px"],
	.fusion-title[style*="--awb-font-size:111px"],
	.fusion-title[style*="--awb-font-size:112px"],
	.fusion-title[style*="--awb-font-size:113px"],
	.fusion-title[style*="--awb-font-size:114px"],
	.fusion-title[style*="--awb-font-size:115px"],
	.fusion-title[style*="--awb-font-size:116px"],
	.fusion-title[style*="--awb-font-size:117px"],
	.fusion-title[style*="--awb-font-size:118px"],
	.fusion-title[style*="--awb-font-size:119px"],
	.fusion-title[style*="--awb-font-size:120px"],
	.fusion-title[style*="--awb-font-size:2.75rem"],
	.fusion-title[style*="--awb-font-size:3rem"],
	.fusion-title[style*="--awb-font-size:3.5rem"],
	.fusion-title[style*="--awb-font-size:4rem"],
	.fusion-title[style*="--awb-font-size:4.5rem"],
	.fusion-title[style*="--awb-font-size:5rem"],
	.fusion-title[style*="--awb-font-size:5.5rem"],
	.fusion-title[style*="--awb-font-size:6rem"],
	.fusion-title[style*="--awb-font-size:7rem"],
	.fusion-title[style*="--awb-font-size:8rem"],
	.fusion-title[style*="--awb-font-size:9rem"],
	.fusion-title[style*="--awb-font-size:10rem"],
	.fusion-title[style*="--awb-font-size:3em"],
	.fusion-title[style*="--awb-font-size:4em"],
	.fusion-title[style*="--awb-font-size:5em"],
	.fusion-title[style*="--awb-font-size:6em"],
	.fusion-title.home-headlines[style*="--awb-font-size:"] { --awb-font-size: clamp(2.4rem, 1.2rem + 4vw, 3.4rem) !important; }
}
@media (max-width: 640px) {
	.fusion-title[style*="--awb-font-size:44px"],
	.fusion-title[style*="--awb-font-size:45px"],
	.fusion-title[style*="--awb-font-size:46px"],
	.fusion-title[style*="--awb-font-size:47px"],
	.fusion-title[style*="--awb-font-size:48px"],
	.fusion-title[style*="--awb-font-size:49px"],
	.fusion-title[style*="--awb-font-size:50px"],
	.fusion-title[style*="--awb-font-size:51px"],
	.fusion-title[style*="--awb-font-size:52px"],
	.fusion-title[style*="--awb-font-size:53px"],
	.fusion-title[style*="--awb-font-size:54px"],
	.fusion-title[style*="--awb-font-size:55px"],
	.fusion-title[style*="--awb-font-size:56px"],
	.fusion-title[style*="--awb-font-size:57px"],
	.fusion-title[style*="--awb-font-size:58px"],
	.fusion-title[style*="--awb-font-size:59px"],
	.fusion-title[style*="--awb-font-size:60px"],
	.fusion-title[style*="--awb-font-size:61px"],
	.fusion-title[style*="--awb-font-size:62px"],
	.fusion-title[style*="--awb-font-size:63px"],
	.fusion-title[style*="--awb-font-size:64px"],
	.fusion-title[style*="--awb-font-size:65px"],
	.fusion-title[style*="--awb-font-size:66px"],
	.fusion-title[style*="--awb-font-size:67px"],
	.fusion-title[style*="--awb-font-size:68px"],
	.fusion-title[style*="--awb-font-size:69px"],
	.fusion-title[style*="--awb-font-size:70px"],
	.fusion-title[style*="--awb-font-size:71px"],
	.fusion-title[style*="--awb-font-size:72px"],
	.fusion-title[style*="--awb-font-size:73px"],
	.fusion-title[style*="--awb-font-size:74px"],
	.fusion-title[style*="--awb-font-size:75px"],
	.fusion-title[style*="--awb-font-size:76px"],
	.fusion-title[style*="--awb-font-size:77px"],
	.fusion-title[style*="--awb-font-size:78px"],
	.fusion-title[style*="--awb-font-size:79px"],
	.fusion-title[style*="--awb-font-size:80px"],
	.fusion-title[style*="--awb-font-size:81px"],
	.fusion-title[style*="--awb-font-size:82px"],
	.fusion-title[style*="--awb-font-size:83px"],
	.fusion-title[style*="--awb-font-size:84px"],
	.fusion-title[style*="--awb-font-size:85px"],
	.fusion-title[style*="--awb-font-size:86px"],
	.fusion-title[style*="--awb-font-size:87px"],
	.fusion-title[style*="--awb-font-size:88px"],
	.fusion-title[style*="--awb-font-size:89px"],
	.fusion-title[style*="--awb-font-size:90px"],
	.fusion-title[style*="--awb-font-size:91px"],
	.fusion-title[style*="--awb-font-size:92px"],
	.fusion-title[style*="--awb-font-size:93px"],
	.fusion-title[style*="--awb-font-size:94px"],
	.fusion-title[style*="--awb-font-size:95px"],
	.fusion-title[style*="--awb-font-size:96px"],
	.fusion-title[style*="--awb-font-size:97px"],
	.fusion-title[style*="--awb-font-size:98px"],
	.fusion-title[style*="--awb-font-size:99px"],
	.fusion-title[style*="--awb-font-size:100px"],
	.fusion-title[style*="--awb-font-size:101px"],
	.fusion-title[style*="--awb-font-size:102px"],
	.fusion-title[style*="--awb-font-size:103px"],
	.fusion-title[style*="--awb-font-size:104px"],
	.fusion-title[style*="--awb-font-size:105px"],
	.fusion-title[style*="--awb-font-size:106px"],
	.fusion-title[style*="--awb-font-size:107px"],
	.fusion-title[style*="--awb-font-size:108px"],
	.fusion-title[style*="--awb-font-size:109px"],
	.fusion-title[style*="--awb-font-size:110px"],
	.fusion-title[style*="--awb-font-size:111px"],
	.fusion-title[style*="--awb-font-size:112px"],
	.fusion-title[style*="--awb-font-size:113px"],
	.fusion-title[style*="--awb-font-size:114px"],
	.fusion-title[style*="--awb-font-size:115px"],
	.fusion-title[style*="--awb-font-size:116px"],
	.fusion-title[style*="--awb-font-size:117px"],
	.fusion-title[style*="--awb-font-size:118px"],
	.fusion-title[style*="--awb-font-size:119px"],
	.fusion-title[style*="--awb-font-size:120px"],
	.fusion-title[style*="--awb-font-size:2.75rem"],
	.fusion-title[style*="--awb-font-size:3rem"],
	.fusion-title[style*="--awb-font-size:3.5rem"],
	.fusion-title[style*="--awb-font-size:4rem"],
	.fusion-title[style*="--awb-font-size:4.5rem"],
	.fusion-title[style*="--awb-font-size:5rem"],
	.fusion-title[style*="--awb-font-size:5.5rem"],
	.fusion-title[style*="--awb-font-size:6rem"],
	.fusion-title[style*="--awb-font-size:7rem"],
	.fusion-title[style*="--awb-font-size:8rem"],
	.fusion-title[style*="--awb-font-size:9rem"],
	.fusion-title[style*="--awb-font-size:10rem"],
	.fusion-title[style*="--awb-font-size:3em"],
	.fusion-title[style*="--awb-font-size:4em"],
	.fusion-title[style*="--awb-font-size:5em"],
	.fusion-title[style*="--awb-font-size:6em"],
	.fusion-title.home-headlines[style*="--awb-font-size:"] { --awb-font-size: clamp(2rem, 1.2rem + 3.6vw, 2.4rem) !important; line-height: 1.1 !important; }
	/* Bild-Sektionen mit 412px Leerraum unten: auf dem Handy nur so viel, dass das Foto sichtbar bleibt */
	.fusion-fullwidth[style*="--awb-padding-bottom:412px"] { --awb-padding-bottom: 180px !important; padding-bottom: 180px !important; }
	.top-banner h1 { font-size: clamp(1.9rem, 8vw, 2.4rem) !important; line-height: 1.12 !important; }
}

/* Startseiten-Kacheln (Aktivitäten/Seen) – vorher 40/30px fett in alter Schrift */
.galarie-activities h5, .gallerie-lakes h5 {
	font-size: clamp(1.15rem, 0.95rem + 1vw, 1.75rem) !important;
	font-weight: 750 !important;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

p, li { text-wrap: pretty; }

/* ---------- Buttons ---------- */
.fusion-button {
	border-radius: 999px !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease !important;
}
.fusion-button:hover { transform: translateY(-1px); box-shadow: var(--msl-shadow); }

/* ---------- Header: Wellenkante unter der Leiste ---------- */
.fusion-tb-header { position: relative; }
.fusion-tb-header::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -11px;
	height: 12px;
	background: var(--msl-blue);
	-webkit-mask: var(--msl-wave) bottom / 100% 100% no-repeat;
	mask: var(--msl-wave) bottom / 100% 100% no-repeat;
	transform: scaleY(-1);
	pointer-events: none;
	z-index: 5;
}

/* ---------- Startseite: lesbar auch bevor das Hintergrundbild geladen ist ---------- */
.fusion-fullwidth[data-back],
.fusion-fullwidth.video-background,
.fusion-fullwidth.lazyload,
.fusion-fullwidth.lazyloaded {
	background-color: var(--msl-blue);
}
.home-headlines { text-shadow: 0 2px 18px rgba(10, 49, 81, 0.55) !important; }
.top-banner h1 { text-shadow: 0 2px 20px rgba(10, 49, 81, 0.6); }

/* ---------- gw-Plugins: gleiche Schrift, Farben, Kartenmaß ---------- */
.gw-webcam, .gw-webcams-dashboard, .gw-webcam-detail, .gw-webcams-detail,
.gw-events-board, .gw-events-list, .gw-places-board, .gw-planner {
	font-family: var(--msl-font-sans) !important;
	--gw-brand: var(--msl-blue);
	--gw-cta: var(--msl-deep);
	--gw-cta-hover: var(--msl-blue);
	--gw-ink: var(--msl-ink);
	--gw-ink-soft: var(--msl-ink-soft);
	--gwp-cta: var(--msl-deep);
	--gwp-ink: var(--msl-ink);
	--gwp-ink-soft: var(--msl-ink-soft);
	--gw-card-radius: var(--msl-radius);
}

/* Karten-Titel erbten die globale h3-Größe (48px) → feste, ruhige Kartengröße */
body .gw-event-card-title,
body .gw-place-card-title,
body .gw-webcam-tile-title {
	font-family: var(--msl-font-display) !important;
	font-size: clamp(1.05rem, 0.98rem + 0.35vw, 1.25rem) !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	letter-spacing: -0.005em;
	margin: 0 !important;
}
body .gw-event-card-title a,
body .gw-place-card-title a { color: var(--msl-ink); }

body .gw-webcams-ort-title {
	font-family: var(--msl-font-display) !important;
	font-size: clamp(1.25rem, 1.05rem + 0.9vw, 1.6rem) !important;
	font-weight: 750 !important;
	color: var(--msl-blue);
}

body .gw-planner-hero-h1 { font-size: clamp(2rem, 1.3rem + 3.2vw, 3.4rem) !important; }
body .gw-planner-h { font-size: clamp(1.45rem, 1.15rem + 1.3vw, 2rem) !important; }

/* Kicker („Jetzt am See“, „Was los ist“) als Wellen-Kicker */
.gw-planner-kick, .gw-planner-hero-kick {
	font-family: var(--msl-font-display) !important;
	font-weight: 700;
	letter-spacing: 0.14em;
}

/* Hero-Karten der Plugins mit Wellenkante unten */
.gw-planner-hero, .gw-hero { position: relative; }
.gw-planner-hero::after, .gw-hero::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -1px;
	height: 18px;
	background: var(--msl-white);
	-webkit-mask: var(--msl-wave) bottom / 100% 100% no-repeat;
	mask: var(--msl-wave) bottom / 100% 100% no-repeat;
	opacity: 0.9;
	pointer-events: none;
}

/* ---------- Footer: Markenblau statt Schwarz, Partner-Kicker in CI-Schrift ---------- */
.fusion-fullwidth[style*="--awb-background-color:#000000"] {
	--awb-background-color: var(--msl-blue) !important;
	background-color: var(--msl-blue) !important;
	--link_color: #c9d8e4 !important;
}
.fusion-fullwidth[style*="--awb-background-color:#000000"] a,
.fusion-fullwidth[style*="--awb-background-color:#000000"] p { color: #c9d8e4 !important; }
.fusion-fullwidth[style*="--awb-background-color:#000000"] a:hover { color: var(--msl-white) !important; }
.fusion-text[style*="Amatic SC"] {
	--awb-text-font-family: var(--msl-font-display) !important;
	font-family: var(--msl-font-display) !important;
	letter-spacing: 0.04em;
	color: var(--msl-ink);
}
.fusion-text[style*="Amatic SC"] p { font-family: inherit !important; }

/* Footer-Links umbrechen statt aus dem Bild laufen (Handy) */
.fusion-modal-text-link center {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35em 1.1em;
}
.fusion-modal-text-link center br { display: none; }

/* Magazin-Kacheln: feste Höhe nur auf großen Bildschirmen, sonst wächst die Kachel mit dem Titel */
@media (max-width: 1024px) {
	.magazin-small-box-right, .magazin-big-box-left { height: auto !important; min-height: 230px !important; }
}

/* Handy: das runde Logo ragt unter die Kopfleiste – Inhalt der Unterseiten beginnt darunter */
@media (max-width: 1024px) {
	body:not(.home) #main { padding-top: 88px !important; }
}

/* Footer (Schwarz → Blau): Links-Zeile umbrechen */
.fusion-fullwidth[style*="--awb-background-color:#000000"] center {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.35em 1.1em;
}
.fusion-fullwidth[style*="--awb-background-color:#000000"] center br { display: none; }

/* Beitragslisten (Blog-Shortcode, „Weitere Beiträge“): Kartentitel statt globaler h3-Größe */
body .blog-shortcode-post-title {
	font-size: clamp(1.05rem, 0.95rem + 0.5vw, 1.3rem) !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	overflow-wrap: break-word;
}
