/*
Theme Name:   IPTV Anbieter Z
Theme URI:    https://iptvanbieterz.com/
Author:       IPTV Anbieter Z
Author URI:   https://iptvanbieterz.com/
Description:  Redaktionelles, konversionsstarkes WordPress-Theme für iptvanbieterz.com. Design-Familie "Magazine / Editorial SEO": weißes Papier-Layout, warme Bordeaux-Akzente, Ratgeber-Struktur, deutscher Markt, mobil zuerst.
Version:      1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  iptv-anbieter-z
Tags:         custom-menu, featured-images, translation-ready, accessibility-ready, two-columns, right-sidebar, blog
*/

/* ==========================================================================
   BASIS-SCHICHT — Abschnitts-Styles liegen in assets/css/iaz-sections.css
   01 Design-Tokens
   02 Reset & Basis
   03 Typografie (redaktionell)
   04 Layout & Raster
   05 Buttons & Links
   06 Formulare, Tabellen, Medien
   07 Kopfbereich (zweistufig) & Navigation
   08 Fußzeile (Impressum-Stil)
   09 WhatsApp-Element
   10 Hilfsklassen, Motion, Druck
   ========================================================================== */

/* ==========================================================================
   01 DESIGN-TOKENS
   Warmes Papier statt kühlem Tech-Blau. Bordeaux als Signalfarbe,
   Messing als redaktioneller Akzent.
   ========================================================================== */
:root {
	/* Flächen */
	--iaz-paper:       #FFFFFF;
	--iaz-cream:       #FAF6F1;
	--iaz-cream-2:     #F4ECE3;
	--iaz-dark:        #1C1613;
	--iaz-dark-2:      #2A211C;

	/* Text */
	--iaz-ink:         #1A1512;
	--iaz-body:        #4E453E;
	--iaz-muted:       #776C63;
	--iaz-faint:       #9A8F85;
	--iaz-on-dark:     #F7F1EA;
	--iaz-on-dark-mut: #BFB2A6;

	/* Linien */
	--iaz-line:        #E7DDD2;
	--iaz-line-2:      #F1E9E0;
	--iaz-line-strong: #D3C4B4;
	--iaz-line-dark:   rgba(255,255,255,.16);

	/* Signalfarben */
	--iaz-wine:        #9B1B3C;
	--iaz-wine-dark:   #7C1230;
	--iaz-wine-deep:   #5E0C23;
	--iaz-wine-soft:   #FBEEF1;
	--iaz-wine-tint:   #FDF6F8;

	--iaz-brass:       #A9761A;
	--iaz-brass-dark:  #8A5F12;
	--iaz-brass-soft:  #FBF2E0;

	--iaz-green:       #1F7A4C;
	--iaz-green-soft:  #E8F4ED;
	--iaz-alert:       #A33417;
	--iaz-alert-soft:  #FCEFEA;

	--iaz-wa:          #25D366;
	--iaz-wa-dark:     #17A64B;

	/* Radien: redaktionell weich bei Medien, hart bei Linien */
	--iaz-r-sm:  10px;
	--iaz-r-md:  16px;
	--iaz-r-lg:  24px;
	--iaz-r-xl:  32px;
	--iaz-r-pill: 999px;

	/* Schatten: sehr zurückhaltend, warm getönt */
	--iaz-sh-1: 0 1px 2px rgba(26,21,18,.05);
	--iaz-sh-2: 0 6px 20px -8px rgba(26,21,18,.14);
	--iaz-sh-3: 0 18px 48px -20px rgba(26,21,18,.26);
	--iaz-sh-wine: 0 10px 26px -12px rgba(155,27,60,.55);

	/* Raster */
	--iaz-wrap:      1200px;
	--iaz-wrap-wide: 1360px;
	--iaz-wrap-read: 760px;
	--iaz-gap:       clamp(20px, 3vw, 34px);
	--iaz-pad-x:     clamp(18px, 5vw, 40px);
	--iaz-sec-y:     clamp(56px, 8vw, 104px);

	/* Schrift */
	--iaz-font-display: "Outfit", "Segoe UI", system-ui, -apple-system, sans-serif;
	--iaz-font-text:    "Source Sans 3", "Segoe UI", system-ui, -apple-system, sans-serif;

	--iaz-header-h: 76px;

	--iaz-ease: cubic-bezier(.4, 0, .2, 1);
}

/* ==========================================================================
   02 RESET & BASIS
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

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

body {
	margin: 0;
	background: var(--iaz-paper);
	color: var(--iaz-body);
	font-family: var(--iaz-font-text);
	font-size: 17px;
	line-height: 1.72;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

body.iaz-no-scroll { overflow: hidden; }

img, svg, video, canvas { max-width: 100%; height: auto; display: block; }
img { border-style: none; }

ul, ol { padding-left: 1.15em; }
li + li { margin-top: .4em; }

hr {
	border: 0;
	border-top: 1px solid var(--iaz-line);
	margin: 2.5rem 0;
}

::selection { background: var(--iaz-wine); color: #fff; }

/* Sichtbarer Fokus — Pflicht für Tastaturbedienung */
:focus-visible {
	outline: 3px solid var(--iaz-wine);
	outline-offset: 3px;
	border-radius: 3px;
}
.iaz-dark-block :focus-visible,
.iaz-footer :focus-visible { outline-color: #F0C0CD; }

/* Sprunglink */
.iaz-skip {
	position: absolute;
	left: 12px;
	top: -100px;
	z-index: 999;
	background: var(--iaz-ink);
	color: #fff;
	padding: 12px 20px;
	border-radius: var(--iaz-r-sm);
	font-weight: 600;
	text-decoration: none;
	transition: top .18s var(--iaz-ease);
}
.iaz-skip:focus { top: 12px; }

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background: #fff;
	clip: auto;
	clip-path: none;
	color: var(--iaz-ink);
	display: block;
	height: auto;
	left: 8px;
	padding: 14px 22px;
	top: 8px;
	width: auto;
	z-index: 100000;
	border-radius: var(--iaz-r-sm);
	box-shadow: var(--iaz-sh-3);
}

/* ==========================================================================
   03 TYPOGRAFIE — redaktionelle Anmutung
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--iaz-font-display);
	color: var(--iaz-ink);
	margin: 0 0 .5em;
	font-weight: 600;
	line-height: 1.14;
	letter-spacing: -.022em;
	text-wrap: balance;
}

h1 { font-size: clamp(2.15rem, 5.4vw, 3.55rem); font-weight: 700; letter-spacing: -.03em; }
h2 { font-size: clamp(1.65rem, 3.5vw, 2.5rem); }
h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); }
h4 { font-size: 1.1rem; letter-spacing: -.012em; }
h5, h6 { font-size: 1rem; }

p { margin: 0 0 1.15em; }
p:last-child { margin-bottom: 0; }

a {
	color: var(--iaz-wine);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color .16s var(--iaz-ease);
}
a:hover { color: var(--iaz-wine-dark); }

strong, b { font-weight: 600; color: var(--iaz-ink); }
small { font-size: .875em; }

/* Redaktionelle Bausteine */
.iaz-kicker {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--iaz-font-text);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--iaz-wine);
	margin: 0 0 14px;
}
.iaz-kicker::before {
	content: "";
	width: 26px;
	height: 2px;
	background: var(--iaz-brass);
	flex: none;
}
.iaz-kicker--brass { color: var(--iaz-brass-dark); }
.iaz-kicker--light { color: #E9B7C4; }
.iaz-kicker--light::before { background: #E9B7C4; }

/* Vorspann / Standfirst */
.iaz-lead {
	font-size: clamp(1.06rem, 1.5vw, 1.28rem);
	line-height: 1.6;
	color: var(--iaz-body);
	max-width: 62ch;
}

.iaz-sec-head { max-width: 68ch; margin-bottom: clamp(28px, 4vw, 46px); }
.iaz-sec-head--center { margin-inline: auto; text-align: center; }
.iaz-sec-head--center .iaz-kicker { justify-content: center; }
.iaz-sec-head--center .iaz-lead { margin-inline: auto; }
.iaz-sec-head p { margin-bottom: 0; }
.iaz-sec-head h2 { margin-bottom: .38em; }

/* Zitat / Redaktionsnotiz */
blockquote, .iaz-quote {
	margin: 2rem 0;
	padding: 4px 0 4px 24px;
	border-left: 3px solid var(--iaz-brass);
	font-family: var(--iaz-font-display);
	font-size: clamp(1.15rem, 2vw, 1.4rem);
	line-height: 1.45;
	color: var(--iaz-ink);
	font-weight: 500;
	letter-spacing: -.015em;
}
blockquote cite, .iaz-quote cite {
	display: block;
	margin-top: 12px;
	font-family: var(--iaz-font-text);
	font-size: .9rem;
	font-style: normal;
	font-weight: 600;
	color: var(--iaz-muted);
	letter-spacing: 0;
}

code, kbd, pre {
	font-family: ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, monospace;
	font-size: .92em;
}
code {
	background: var(--iaz-cream-2);
	padding: .12em .42em;
	border-radius: 5px;
	color: var(--iaz-ink);
}
pre {
	background: var(--iaz-dark);
	color: var(--iaz-on-dark);
	padding: 20px 22px;
	border-radius: var(--iaz-r-md);
	overflow-x: auto;
	line-height: 1.6;
}
pre code { background: none; padding: 0; color: inherit; }

/* ==========================================================================
   04 LAYOUT & RASTER
   ========================================================================== */
.iaz-wrap {
	width: 100%;
	max-width: var(--iaz-wrap);
	margin-inline: auto;
	padding-inline: var(--iaz-pad-x);
}
.iaz-wrap--wide { max-width: var(--iaz-wrap-wide); }
.iaz-wrap--read { max-width: var(--iaz-wrap-read); }

.iaz-section { padding-block: var(--iaz-sec-y); position: relative; }
.iaz-section--tight { padding-block: clamp(38px, 5vw, 62px); }
.iaz-section--cream { background: var(--iaz-cream); }
.iaz-section--rule { border-top: 1px solid var(--iaz-line); }

.iaz-dark-block {
	background: var(--iaz-dark);
	color: var(--iaz-on-dark-mut);
}
.iaz-dark-block h1, .iaz-dark-block h2,
.iaz-dark-block h3, .iaz-dark-block h4 { color: var(--iaz-on-dark); }
.iaz-dark-block .iaz-lead { color: var(--iaz-on-dark-mut); }
.iaz-dark-block a { color: #F2C3CF; }

.iaz-grid { display: grid; gap: var(--iaz-gap); }
.iaz-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.iaz-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.iaz-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.iaz-split {
	display: grid;
	gap: clamp(28px, 5vw, 64px);
	align-items: center;
	grid-template-columns: 1fr 1fr;
}
.iaz-split--55 { grid-template-columns: 1.15fr 1fr; }
.iaz-split--45 { grid-template-columns: 1fr 1.15fr; }
.iaz-split--top { align-items: start; }
.iaz-split--flip > :first-child { order: 2; }

@media (max-width: 960px) {
	.iaz-grid--3, .iaz-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.iaz-split, .iaz-split--55, .iaz-split--45 { grid-template-columns: 1fr; }
	.iaz-split--flip > :first-child { order: 0; }
}
@media (max-width: 640px) {
	.iaz-grid--2, .iaz-grid--3, .iaz-grid--4 { grid-template-columns: 1fr; }
}

/* ==========================================================================
   05 BUTTONS & LINKS — Pillenform als bewusster Stilbruch
   ========================================================================== */
.iaz-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 15px 30px;
	min-height: 52px;
	border-radius: var(--iaz-r-pill);
	border: 1.5px solid transparent;
	font-family: var(--iaz-font-text);
	font-size: 1.01rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: transform .16s var(--iaz-ease), background-color .16s var(--iaz-ease),
	            border-color .16s var(--iaz-ease), box-shadow .16s var(--iaz-ease), color .16s var(--iaz-ease);
}
.iaz-btn svg { flex: none; }

.iaz-btn--primary {
	background: var(--iaz-wine);
	color: #fff;
	box-shadow: var(--iaz-sh-wine);
}
.iaz-btn--primary:hover { background: var(--iaz-wine-dark); color: #fff; transform: translateY(-2px); }

.iaz-btn--ghost {
	background: #fff;
	color: var(--iaz-ink);
	border-color: var(--iaz-line-strong);
}
.iaz-btn--ghost:hover { border-color: var(--iaz-ink); color: var(--iaz-ink); transform: translateY(-2px); }

.iaz-btn--ink { background: var(--iaz-ink); color: #fff; }
.iaz-btn--ink:hover { background: #000; color: #fff; transform: translateY(-2px); }

.iaz-btn--light { background: #fff; color: var(--iaz-ink); }
.iaz-btn--light:hover { background: var(--iaz-cream); color: var(--iaz-ink); transform: translateY(-2px); }

.iaz-btn--outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,.4); }
.iaz-btn--outline-light:hover { border-color: #fff; color: #fff; background: rgba(255,255,255,.08); }

.iaz-btn--wa { background: var(--iaz-wa); color: #06301A; }
.iaz-btn--wa:hover { background: var(--iaz-wa-dark); color: #fff; transform: translateY(-2px); }

.iaz-btn--sm { padding: 11px 22px; min-height: 44px; font-size: .94rem; }
.iaz-btn--block { display: flex; width: 100%; }

.iaz-btns { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }

/* Textlink mit Pfeil */
.iaz-arrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1.5px solid currentColor;
	padding-bottom: 2px;
}
.iaz-arrow svg { transition: transform .18s var(--iaz-ease); }
.iaz-arrow:hover svg { transform: translateX(4px); }

/* ==========================================================================
   06 FORMULARE, TABELLEN, MEDIEN
   ========================================================================== */
label { display: block; font-weight: 600; color: var(--iaz-ink); margin-bottom: 7px; font-size: .95rem; }

input[type="text"], input[type="email"], input[type="tel"], input[type="url"],
input[type="search"], input[type="number"], input[type="password"], select, textarea {
	width: 100%;
	padding: 14px 16px;
	min-height: 52px;
	font-family: inherit;
	font-size: 1rem;
	color: var(--iaz-ink);
	background: #fff;
	border: 1.5px solid var(--iaz-line-strong);
	border-radius: var(--iaz-r-sm);
	transition: border-color .16s var(--iaz-ease), box-shadow .16s var(--iaz-ease);
}
textarea { min-height: 150px; resize: vertical; line-height: 1.6; }
input:focus, select:focus, textarea:focus {
	border-color: var(--iaz-wine);
	box-shadow: 0 0 0 4px var(--iaz-wine-soft);
	outline: none;
}
::placeholder { color: var(--iaz-faint); opacity: 1; }

input[type="submit"], button { font-family: inherit; }

.iaz-field { margin-bottom: 18px; }
.iaz-field__hint { font-size: .86rem; color: var(--iaz-muted); margin-top: 6px; }

table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0;
	font-size: .97rem;
}
th, td { padding: 14px 16px; text-align: left; border-bottom: 1px solid var(--iaz-line); }
th { font-family: var(--iaz-font-display); color: var(--iaz-ink); font-weight: 600; }

figure { margin: 2rem 0; }
figcaption {
	font-size: .88rem;
	color: var(--iaz-muted);
	margin-top: 10px;
	padding-left: 14px;
	border-left: 2px solid var(--iaz-line-strong);
}

/* Medienrahmen (Fotoplatz) */
.iaz-media {
	position: relative;
	border-radius: var(--iaz-r-lg);
	overflow: hidden;
	background: var(--iaz-cream-2);
	box-shadow: var(--iaz-sh-2);
}
.iaz-media > img { width: 100%; height: auto; display: block; }
/* Die Ersatzgrafik hat ein festes Seitenverhältnis, damit nichts springt. */
.iaz-media > svg { width: 100%; height: auto; aspect-ratio: 8 / 5; display: block; }
.iaz-media--ratio { aspect-ratio: 16 / 10; }
.iaz-media--ratio > img,
.iaz-media--ratio > svg { height: 100%; object-fit: cover; aspect-ratio: auto; }
.iaz-media--flat { box-shadow: none; border: 1px solid var(--iaz-line); }
.iaz-media--sm { border-radius: var(--iaz-r-md); }
.iaz-media__cap {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 26px 22px 16px;
	background: linear-gradient(to top, rgba(20,15,12,.82), rgba(20,15,12,0));
	color: #fff;
	font-size: .86rem;
	font-weight: 600;
}

/* ==========================================================================
   07 KOPFBEREICH — zweistufig: Servicezeile + Hauptzeile
   ========================================================================== */
.iaz-topbar {
	background: var(--iaz-dark);
	color: var(--iaz-on-dark-mut);
	font-size: .84rem;
	line-height: 1.4;
}
.iaz-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	min-height: 40px;
	padding-block: 7px;
}
.iaz-topbar__list { display: flex; align-items: center; gap: 22px; margin: 0; padding: 0; list-style: none; }
.iaz-topbar__list li { margin: 0; display: inline-flex; align-items: center; gap: 7px; }
.iaz-topbar__list svg { color: var(--iaz-brass); flex: none; }
.iaz-topbar a { color: var(--iaz-on-dark); text-decoration: none; font-weight: 600; }
.iaz-topbar a:hover { color: #fff; text-decoration: underline; }
.iaz-topbar__wa { display: inline-flex; align-items: center; gap: 7px; }
.iaz-topbar__wa svg { color: var(--iaz-wa); }
@media (max-width: 860px) { .iaz-topbar { display: none; } }

.iaz-header {
	position: sticky;
	top: 0;
	z-index: 300;
	background: rgba(255,255,255,.94);
	backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid var(--iaz-line);
	transition: box-shadow .2s var(--iaz-ease);
}
.iaz-header.is-stuck { box-shadow: 0 6px 22px -14px rgba(26,21,18,.4); }
.admin-bar .iaz-header { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .iaz-header { top: 46px; } }

.iaz-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	min-height: var(--iaz-header-h);
}

.iaz-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; flex: none; }
.iaz-logo img { width: auto; height: 42px; object-fit: contain; }
.iaz-logo__mark {
	width: 42px; height: 42px;
	display: grid; place-items: center;
	background: var(--iaz-wine);
	color: #fff;
	border-radius: 12px;
	font-family: var(--iaz-font-display);
	font-weight: 700;
	font-size: 1.15rem;
	letter-spacing: -.04em;
	flex: none;
}
.iaz-logo__text { display: flex; flex-direction: column; line-height: 1.1; }
.iaz-logo__name {
	font-family: var(--iaz-font-display);
	font-weight: 700;
	font-size: 1.14rem;
	color: var(--iaz-ink);
	letter-spacing: -.03em;
}
.iaz-logo__name em { font-style: normal; color: var(--iaz-wine); }
.iaz-logo__sub {
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--iaz-muted);
	margin-top: 2px;
}

.iaz-nav { margin-left: auto; }
.iaz-nav ul { display: flex; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.iaz-nav li { margin: 0; position: relative; }
.iaz-nav a {
	display: block;
	padding: 10px 13px;
	font-size: .96rem;
	font-weight: 600;
	color: var(--iaz-ink);
	text-decoration: none;
	border-radius: var(--iaz-r-sm);
	transition: background-color .15s var(--iaz-ease), color .15s var(--iaz-ease);
}
.iaz-nav a:hover { background: var(--iaz-cream-2); color: var(--iaz-ink); }
.iaz-nav .current-menu-item > a,
.iaz-nav .current_page_item > a { color: var(--iaz-wine); background: var(--iaz-wine-soft); }

/* Untermenü */
.iaz-nav .sub-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 232px;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	background: #fff;
	border: 1px solid var(--iaz-line);
	border-radius: var(--iaz-r-md);
	box-shadow: var(--iaz-sh-3);
	padding: 8px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity .16s var(--iaz-ease), transform .16s var(--iaz-ease), visibility .16s;
	z-index: 20;
}
.iaz-nav li:hover > .sub-menu,
.iaz-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.iaz-nav .sub-menu a { padding: 10px 12px; font-weight: 500; font-size: .93rem; }

.iaz-header__actions { display: flex; align-items: center; gap: 10px; flex: none; }
.iaz-header__wa {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .93rem;
	font-weight: 600;
	color: var(--iaz-ink);
	text-decoration: none;
	padding: 9px 14px;
	border-radius: var(--iaz-r-pill);
	border: 1.5px solid var(--iaz-line);
	transition: border-color .15s var(--iaz-ease), background-color .15s var(--iaz-ease);
}
.iaz-header__wa svg { color: var(--iaz-wa-dark); }
.iaz-header__wa:hover { border-color: var(--iaz-wa); background: #F1FCF5; color: var(--iaz-ink); }

@media (max-width: 1100px) { .iaz-nav a { padding: 10px 9px; font-size: .92rem; } }
@media (max-width: 1024px) {
	.iaz-nav, .iaz-header__wa { display: none; }
}

/* Burger */
.iaz-burger {
	display: none;
	width: 48px; height: 48px;
	align-items: center; justify-content: center;
	background: #fff;
	border: 1.5px solid var(--iaz-line-strong);
	border-radius: var(--iaz-r-sm);
	cursor: pointer;
	color: var(--iaz-ink);
}
.iaz-burger span {
	display: block; width: 20px; height: 2px;
	background: currentColor; border-radius: 2px;
	position: relative;
	transition: transform .2s var(--iaz-ease), background-color .2s var(--iaz-ease);
}
.iaz-burger span::before, .iaz-burger span::after {
	content: ""; position: absolute; left: 0; width: 20px; height: 2px;
	background: currentColor; border-radius: 2px;
	transition: transform .2s var(--iaz-ease), top .2s var(--iaz-ease);
}
.iaz-burger span::before { top: -6px; }
.iaz-burger span::after  { top: 6px; }
.iaz-burger[aria-expanded="true"] span { background: transparent; }
.iaz-burger[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.iaz-burger[aria-expanded="true"] span::after  { top: 0; transform: rotate(-45deg); }
@media (max-width: 1024px) { .iaz-burger { display: inline-flex; } }

/* Mobilmenü */
.iaz-mobile {
	position: fixed;
	inset: 0;
	z-index: 400;
	background: #fff;
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform .26s var(--iaz-ease);
	overflow-y: auto;
	overscroll-behavior: contain;
}
.iaz-mobile.is-open { transform: translateX(0); }
.iaz-mobile__top {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px; padding: 16px var(--iaz-pad-x);
	border-bottom: 1px solid var(--iaz-line);
	position: sticky; top: 0; background: #fff; z-index: 2;
}
.iaz-mobile__close {
	width: 48px; height: 48px; display: grid; place-items: center;
	background: var(--iaz-cream); border: 0; border-radius: var(--iaz-r-sm);
	cursor: pointer; color: var(--iaz-ink);
}
.iaz-mobile__body { padding: 10px var(--iaz-pad-x) 40px; flex: 1; }
.iaz-mobile ul { list-style: none; margin: 0; padding: 0; }
.iaz-mobile li { margin: 0; border-bottom: 1px solid var(--iaz-line-2); }
.iaz-mobile a {
	display: block;
	padding: 15px 2px;
	font-family: var(--iaz-font-display);
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--iaz-ink);
	text-decoration: none;
}
.iaz-mobile a:hover { color: var(--iaz-wine); }
.iaz-mobile .sub-menu { padding-left: 14px; border-left: 2px solid var(--iaz-line); margin-bottom: 10px; }
.iaz-mobile .sub-menu li { border-bottom: 0; }
.iaz-mobile .sub-menu a { font-size: .98rem; font-weight: 500; padding: 9px 2px; font-family: var(--iaz-font-text); }
.iaz-mobile__foot { margin-top: 26px; display: grid; gap: 12px; }
.iaz-mobile__meta { margin-top: 22px; font-size: .9rem; color: var(--iaz-muted); }
.iaz-mobile__meta a { font-size: .9rem; font-family: var(--iaz-font-text); font-weight: 600; color: var(--iaz-wine); display: inline; padding: 0; }

/* ==========================================================================
   08 FUSSZEILE — Impressum-Stil mit Kopfleiste
   ========================================================================== */
.iaz-footer { background: var(--iaz-dark); color: var(--iaz-on-dark-mut); }
.iaz-footer a { color: var(--iaz-on-dark-mut); text-decoration: none; }
.iaz-footer a:hover { color: #fff; text-decoration: underline; }

.iaz-footer__masthead {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr));
	gap: clamp(28px, 4vw, 52px);
	padding-block: clamp(46px, 6vw, 74px);
	border-top: 3px solid var(--iaz-brass);
}
.iaz-footer__brand .iaz-logo__name { color: #fff; }
.iaz-footer__brand .iaz-logo__name em { color: #E9B7C4; }
.iaz-footer__brand .iaz-logo__sub { color: var(--iaz-on-dark-mut); }
.iaz-footer__about { margin-top: 18px; font-size: .95rem; max-width: 42ch; }
.iaz-footer__contact { margin-top: 20px; display: grid; gap: 10px; font-size: .93rem; }
.iaz-footer__contact div { display: flex; gap: 10px; align-items: flex-start; }
.iaz-footer__contact svg { color: var(--iaz-brass); flex: none; margin-top: 3px; }

.iaz-footer__col h3 {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--iaz-line-dark);
	font-family: var(--iaz-font-text);
}
.iaz-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.iaz-footer__col li { margin: 0; }
.iaz-footer__col a { font-size: .94rem; }

.iaz-footer__legal {
	border-top: 1px solid var(--iaz-line-dark);
	padding-block: 22px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	font-size: .86rem;
}
.iaz-footer__legal p { margin: 0; }
.iaz-footer__legal nav { display: flex; flex-wrap: wrap; gap: 18px; }

.iaz-footer__note {
	border-top: 1px solid var(--iaz-line-dark);
	padding-block: 20px 34px;
	font-size: .8rem;
	line-height: 1.6;
	color: #8C8177;
	max-width: 90ch;
}

@media (max-width: 900px) {
	.iaz-footer__masthead { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.iaz-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	.iaz-footer__masthead { grid-template-columns: 1fr; }
	.iaz-footer__legal { flex-direction: column; align-items: flex-start; }
}

/* ==========================================================================
   09 WHATSAPP-ELEMENT (frei schwebend)
   ========================================================================== */
.iaz-wa-float {
	position: fixed;
	right: 24px;
	bottom: calc(24px + env(safe-area-inset-bottom, 0px));
	z-index: 280;
	display: inline-flex;
	align-items: center;
	gap: 11px;
	padding: 14px 22px 14px 18px;
	min-height: 56px;
	background: var(--iaz-wa);
	color: #06301A;
	font-family: var(--iaz-font-text);
	font-size: .98rem;
	font-weight: 700;
	text-decoration: none;
	border-radius: var(--iaz-r-pill);
	box-shadow: 0 12px 30px -10px rgba(11,63,32,.55), 0 2px 6px rgba(0,0,0,.12);
	transition: transform .18s var(--iaz-ease), background-color .18s var(--iaz-ease), box-shadow .18s var(--iaz-ease);
}
.iaz-wa-float svg { flex: none; }
.iaz-wa-float:hover {
	background: var(--iaz-wa-dark);
	color: #fff;
	transform: translateY(-3px);
	box-shadow: 0 18px 38px -12px rgba(11,63,32,.6);
}
.iaz-wa-float:focus-visible { outline: 3px solid var(--iaz-ink); outline-offset: 4px; }
.iaz-wa-float.is-hidden { opacity: 0; visibility: hidden; transform: translateY(14px); }

@media (max-width: 720px) {
	.iaz-wa-float {
		right: 16px;
		bottom: calc(16px + env(safe-area-inset-bottom, 0px));
		width: 56px;
		height: 56px;
		min-height: 56px;
		padding: 0;
		justify-content: center;
		gap: 0;
	}
	.iaz-wa-float__label { display: none; }
}

/* ==========================================================================
   10 HILFSKLASSEN, MOTION, DRUCK
   ========================================================================== */
.iaz-center { text-align: center; }
.iaz-mt-0 { margin-top: 0; }
.iaz-mb-0 { margin-bottom: 0; }
.iaz-mt-l { margin-top: clamp(24px, 4vw, 42px); }
@media (max-width: 640px) { .iaz-hide-mob { display: none; } }

.iaz-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .55s var(--iaz-ease), transform .55s var(--iaz-ease);
	will-change: opacity, transform;
}
.iaz-reveal.is-in { opacity: 1; transform: none; }
.no-js .iaz-reveal { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
		scroll-behavior: auto !important;
	}
	.iaz-reveal { opacity: 1 !important; transform: none !important; }
}

@media print {
	.iaz-header, .iaz-topbar, .iaz-footer, .iaz-wa-float, .iaz-burger, .iaz-mobile { display: none !important; }
	body { font-size: 12pt; color: #000; }
	a { text-decoration: underline; }
}

/* WordPress-Standardklassen */
.alignleft  { float: left; margin: .4rem 1.6rem 1.2rem 0; }
.alignright { float: right; margin: .4rem 0 1.2rem 1.6rem; }
.aligncenter { display: block; margin-inline: auto; }
.alignwide, .alignfull { margin-block: 2rem; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: .88rem; color: var(--iaz-muted); margin-top: 8px; }
.sticky .iaz-post-card { border-color: var(--iaz-brass); }
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gallery-item { margin: 0; }
