/*
 * Startseite v2 – nur auf der neuen Startseite geladen (inc/home-v2-loader.php).
 * Jede Regel beginnt mit .hv2… – kein Einfluss auf andere Seiten.
 * Farben und Schriften aus dem Theme (css/editorial-home.css: cream, terracotta, charcoal, sage;
 * Überschriften "Playfair Display"/Georgia wie die Editorial-Teile, Text Roboto wie style.css).
 * Handy zuerst (ab 320 px), Desktop ab 1024 px (Kopf mit großem Bild), sauber bis 1440 px.
 */

.hv2-page {
	--hv2-cream: #faf8f3;
	--hv2-paper: #ffffff;
	--hv2-tint: #f3eee4;
	--hv2-ink: #2d2d2d;
	--hv2-muted: #6b6258;
	--hv2-line: #e4ddd0;
	--hv2-accent: #c4846c;
	--hv2-accent-ink: #8f513b;
	--hv2-accent-soft: #f3e6df;
	--hv2-sage: #8b9a7d;
	--hv2-sage-ink: #5b6b50;
	--hv2-band: #4a5846;
	--hv2-band-ink: #faf8f3;
	--hv2-focus: #1f5f8b;
	--hv2-head: "Playfair Display", Georgia, "Times New Roman", serif;
	--hv2-body: Roboto, Arial, sans-serif;
	--hv2-r: 14px;
	background: var(--hv2-cream);
	color: var(--hv2-ink);
	font-family: var(--hv2-body);
	font-size: 16px;
	line-height: 1.5;
	overflow-x: clip;
	display: flow-root;
}

.hv2-page *,
.hv2-page *::before,
.hv2-page *::after {
	box-sizing: border-box;
}

.hv2 {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px 24px;
}

/* ---------- Grundlagen im eigenen Bereich (gegen Theme-Vorgaben) ---------- */
.hv2 a { color: inherit; text-decoration: none; }
.hv2 ul, .hv2 ol { list-style: none; margin: 0; padding: 0; }
.hv2 li { margin: 0; padding: 0; }
.hv2 p { margin: 0; }
.hv2 img { display: block; max-width: 100%; height: auto; border: 0; box-shadow: none; border-radius: 0; }
.hv2 button { font-family: var(--hv2-body); text-transform: none; letter-spacing: normal; box-shadow: none; cursor: pointer; }
.hv2 a:focus-visible,
.hv2 button:focus-visible,
.hv2 input:focus-visible,
.hv2 [tabindex]:focus-visible,
.hv2-disclosure a:focus-visible {
	outline: 3px solid var(--hv2-focus);
	outline-offset: 2px;
	border-radius: 4px;
}
.hv2-page .hv2-sr {
	position: absolute !important;
	width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.hv2 .hv2-h1,
.hv2 .hv2-h2 {
	font-family: var(--hv2-head);
	color: var(--hv2-ink);
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	margin: 0;
}
.hv2 .hv2-h2 { font-size: 26px; line-height: 1.18; margin: 0 0 6px; }
.hv2 .hv2-eyebrow {
	margin: 0 0 8px;
	font: 700 12px/1.3 var(--hv2-body);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--hv2-sage-ink);
}
.hv2 .hv2-sub { margin: 0 0 14px; color: var(--hv2-muted); font-size: 15px; }
.hv2 .hv2-sec { padding: 30px 0 6px; }
.hv2 .hv2-go {
	display: inline-block;
	font: 700 15px/1.3 var(--hv2-body);
	color: var(--hv2-accent-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
}

/* Bild-Rahmen: feste Seitenverhältnisse = kein Springen der Seite */
.hv2 .hv2-img {
	position: relative;
	display: block;
	overflow: hidden;
	background: var(--hv2-tint);
	border-radius: 10px;
}
.hv2 .hv2-img img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hv2 .hv2-img--hero,
.hv2 .hv2-img--today { aspect-ratio: 4 / 5; border-radius: var(--hv2-r); }
.hv2 .hv2-img--door { aspect-ratio: 1 / 1; }
.hv2 .hv2-img--tile { aspect-ratio: 4 / 3; }
.hv2 .hv2-img--thumb { aspect-ratio: 1 / 1; }
.hv2 .hv2-img--alm { aspect-ratio: 3 / 2; margin-bottom: 8px; }
.hv2 .hv2-img--fill { position: absolute; inset: 0; border-radius: 0; }

/* Nummern auf Moodboard-Bildern (passen zur Liste 01–06) */
.hv2 .hv2-nr {
	position: absolute;
	z-index: 2;
	top: 8px;
	left: 8px;
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(250, 248, 243, .92);
	color: var(--hv2-ink);
	font: 700 11px/1 var(--hv2-body);
}

/* KI-Kennzeichnung des Plugins (ai-image-label) auf kleinen Bildern kleiner, bleibt sichtbar */
.hv2 .hv2-img--thumb .ai-image-label,
.hv2 .hv2-img--tile .ai-image-label,
.hv2 .hv2-img--door .ai-image-label,
.hv2 .hv2-img--alm .ai-image-label,
.hv2 .hv2-mb-t .ai-image-label,
.hv2 .hv2-col-t .ai-image-label {
	width: 26px;
	height: 26px;
	right: 5px;
	bottom: 5px;
}

/* ---------- Deko-Grafiken (optional; Datei fehlt = nichts). Nie klickbar, nie über Text. ---------- */
.hv2-page .hv2-deko { display: block; pointer-events: none; -webkit-user-select: none; user-select: none; line-height: 0; }
.hv2-page .hv2-deko img { display: block; width: 100%; height: auto; max-width: none; border: 0; border-radius: 0; box-shadow: none; }
/* kleine Zeichen: Höhe fest, Breite folgt dem Bild */
.hv2 .hv2-ico,
.hv2 .hv2-deko-tab,
.hv2 .hv2-deko-ico-s { display: inline-block; vertical-align: middle; }
.hv2 .hv2-ico img,
.hv2 .hv2-deko-tab img,
.hv2 .hv2-deko-ico-s img { width: auto; height: 100%; }
.hv2 .hv2-ico { height: 28px; margin: -5px 10px 0 0; }
.hv2 .hv2-ico--klein { height: 22px; margin: -4px 7px 0 0; }
.hv2 .hv2-deko-tab { height: 18px; margin: -2px 6px 0 0; }
.hv2 .hv2-deko-ico-s { height: 16px; }
.hv2 .hv2-deko-zweig { position: absolute; z-index: 0; }
.hv2 .hv2-deko-zweig { display: none; } /* Handy: kein Zweig */
.hv2 .hv2-trenner { display: flex; justify-content: center; margin: 44px 0 4px; }
.hv2 .hv2-deko-trenner-img { width: min(200px, 55%); opacity: .7; }
.hv2 .hv2-deko-tape,
.hv2 .hv2-deko-pin { position: absolute; z-index: 3; }
.hv2 .hv2-deko-tape-a { top: -10px; left: 22px; width: 78px; transform: rotate(-12deg); opacity: .9; mix-blend-mode: multiply; }
.hv2 .hv2-deko-tape-b { top: -10px; right: 12px; width: 84px; transform: rotate(6deg); }
.hv2 .hv2-deko-pin { top: -9px; left: 50%; width: 28px; transform: translateX(-50%); }
.hv2 .hv2-deko-girlande { position: absolute; z-index: 0; top: 6px; left: 50%; width: min(460px, 92%); transform: translateX(-50%); }
.hv2 .hv2-deko-tuer { position: absolute; top: 50%; left: 50%; width: 30px; height: 30px; transform: translate(-50%, -50%); opacity: .22; }
.hv2 .hv2-deko-tuer img { width: 100%; height: 100%; object-fit: contain; }

/* ---------- 1 Kopf (Handy: mittig, Bild darunter) ---------- */
.hv2 .hv2-hero { position: relative; isolation: isolate; padding: 28px 0 0; }
.hv2 .hv2-hero > :not(.hv2-deko) { position: relative; z-index: 1; }
.hv2 .hv2-hero-still { max-width: 520px; margin: 26px auto 0; }
.hv2 .hv2-hero-still img { border-radius: 16px; }
.hv2 .hv2-hero-txt { text-align: center; }
.hv2 .hv2-h1 {
	font-size: clamp(30px, 8.4vw, 54px);
	line-height: 1.08;
	max-width: 22ch;
	margin: 0 auto;
}
.hv2 .hv2-h1-l { display: inline-block; }
.hv2 .hv2-lead { margin: 12px auto 0; color: var(--hv2-muted); font-size: 17px; }
.hv2 .hv2-search {
	position: relative;
	display: flex;
	align-items: center;
	max-width: 720px;
	margin: 22px auto 0;
	background: var(--hv2-paper);
	border: 1.5px solid var(--hv2-line);
	border-radius: 999px;
	padding: 4px 4px 4px 14px;
	box-shadow: 0 2px 10px rgba(45, 45, 45, .06);
	text-align: left;
}
.hv2 .hv2-search:focus-within { border-color: var(--hv2-accent); }
.hv2 .hv2-search-ic { display: grid; place-items: center; color: var(--hv2-accent-ink); flex: none; }
.hv2 .hv2-q {
	flex: 1 1 auto;
	min-width: 0;
	height: 46px;
	margin: 0;
	padding: 0 10px;
	border: 0;
	background: transparent;
	box-shadow: none;
	font: 400 16px/1.2 var(--hv2-body);
	color: var(--hv2-ink);
	-webkit-appearance: none;
	appearance: none;
}
.hv2 .hv2-q::placeholder { color: #8a8178; opacity: 1; }
.hv2 .hv2-q:focus-visible { outline: none; }
.hv2 .hv2-q-btn {
	flex: none;
	height: 46px;
	padding: 0 20px;
	border: 0;
	border-radius: 999px;
	background: var(--hv2-accent-ink);
	color: #fff;
	font: 700 15px/1 var(--hv2-body);
}
.hv2 .hv2-q-btn:hover { background: #7a4431; }
.hv2 .hv2-sugg {
	position: absolute;
	z-index: 20;
	left: 0;
	right: 0;
	top: calc(100% + 6px);
	background: var(--hv2-paper);
	border: 1px solid var(--hv2-line);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(45, 45, 45, .12);
	overflow: hidden;
}
.hv2 .hv2-sugg[hidden] { display: none; }
.hv2 .hv2-sugg a { display: block; padding: 11px 16px; border-top: 1px solid var(--hv2-line); font-size: 15px; line-height: 1.3; }
.hv2 .hv2-sugg li:first-child a { border-top: 0; }
.hv2 .hv2-sugg a:hover,
.hv2 .hv2-sugg a:focus-visible { background: var(--hv2-tint); }
.hv2 .hv2-try {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin: 16px auto 0;
	max-width: 720px;
	font-size: 14px;
	color: var(--hv2-muted);
}
.hv2 .hv2-chip {
	display: inline-block;
	padding: 6px 13px;
	border: 1px solid var(--hv2-sage);
	border-radius: 999px;
	background: var(--hv2-paper);
	color: var(--hv2-accent-ink);
	font-weight: 500;
	line-height: 1.2;
}
.hv2 .hv2-chip:hover { border-color: var(--hv2-accent-ink); }
.hv2 .hv2-surprise {
	display: none;
	align-items: center;
	gap: 6px;
	padding: 7px 14px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--hv2-accent-soft);
	color: var(--hv2-accent-ink);
	font: 700 14px/1.2 var(--hv2-body);
}
.hv2.hv2-js .hv2-surprise { display: inline-flex; }
.hv2 .hv2-surprise:hover { border-color: var(--hv2-accent-ink); }

/* Idee des Tages im Kopf (Variante a) – auf dem Handy wie ein normaler Block */
.hv2 .hv2-hero-media.hv2-today { padding-top: 30px; }
.hv2 .hv2-hcard { display: block; max-width: 520px; }
.hv2 .hv2-hcard-cap { display: block; margin-top: 12px; }
.hv2 .hv2-hcard-name { display: block; font: 500 23px/1.2 var(--hv2-head); color: var(--hv2-ink); }
.hv2 .hv2-hcard-from { display: block; margin-top: 2px; font-size: 14px; color: var(--hv2-muted); }
.hv2 .hv2-hcard .hv2-go { margin-top: 8px; }
.hv2 .hv2-hcard:hover .hv2-hcard-name { text-decoration: underline; text-underline-offset: 3px; }
.hv2 .hv2-hero-collage { display: none; }

/* Aktionstag */
.hv2 .hv2-ak {
	max-width: 520px;
	margin-top: 18px;
	padding: 14px 16px;
	background: var(--hv2-tint);
	border-radius: 12px;
}
.hv2 .hv2-ak-h { font: 700 15px/1.3 var(--hv2-body); margin-bottom: 4px; }
.hv2 .hv2-ak-list a { display: inline-block; padding: 3px 0; color: var(--hv2-ink); font-size: 15px; line-height: 1.35; }
.hv2 .hv2-ak-list a:hover { text-decoration: underline; text-underline-offset: 3px; }
.hv2 .hv2-pfeil { color: var(--hv2-accent-ink); font-weight: 700; }

/* ---------- 2 Today (nur wenn nicht im Kopf) ---------- */
.hv2 .hv2-today-card { display: block; max-width: 520px; }
.hv2 .hv2-today-txt { display: block; }
.hv2 .hv2-today-name { display: block; margin: 12px 0 2px; font: 500 23px/1.2 var(--hv2-head); color: var(--hv2-ink); }
.hv2 .hv2-today-from { display: block; font-size: 14px; color: var(--hv2-muted); }
.hv2 .hv2-today-card .hv2-go { margin-top: 8px; }
.hv2 .hv2-today-card:hover .hv2-today-name { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 3 Almanach ---------- */
.hv2 .hv2-alm {
	position: relative;
	isolation: isolate;
	margin-top: 28px;
	padding: 24px 16px 18px;
	background: var(--hv2-tint);
	border-radius: 18px;
}
.hv2 .hv2-alm .hv2-h2 { color: var(--hv2-accent-ink); font-size: 28px; }
.hv2 .hv2-tabs {
	display: none;
	flex-wrap: wrap;
	gap: 6px;
	padding: 2px 0 4px;
}
.hv2 .hv2-tabs::-webkit-scrollbar { display: none; }
.hv2.hv2-js .hv2-tabs { display: flex; }
.hv2 .hv2-tab {
	flex: none;
	min-height: 40px;
	padding: 8px 12px;
	border: 1px solid var(--hv2-sage);
	border-radius: 999px;
	background: var(--hv2-paper);
	color: var(--hv2-accent-ink);
	font: 600 13px/1.1 var(--hv2-body);
	white-space: nowrap;
}
.hv2 .hv2-tab[aria-selected="true"] { background: var(--hv2-accent-ink); border-color: var(--hv2-accent-ink); color: #fff; }
.hv2 .hv2-panel { margin-top: 10px; }
.hv2 .hv2-panel-h {
	margin: 14px 0 2px;
	font: 700 12px/1.2 var(--hv2-body);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--hv2-sage-ink);
}
.hv2.hv2-js .hv2-panel { display: none; }
.hv2.hv2-js .hv2-panel.is-active { display: block; }
.hv2.hv2-js .hv2-panel-h {
	position: absolute; width: 1px; height: 1px; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.hv2 .hv2-alm-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; margin-top: 6px; }
.hv2 .hv2-alm-item { display: block; }
.hv2 .hv2-alm-item b { display: block; font: 500 16px/1.25 var(--hv2-head); color: var(--hv2-ink); }
.hv2 .hv2-alm-item small { display: block; margin-top: 2px; font-size: 13.5px; color: var(--hv2-muted); }
.hv2 a.hv2-alm-item:hover b { color: var(--hv2-accent-ink); text-decoration: underline; text-underline-offset: 3px; }
.hv2 .hv2-alm-kal {
	display: grid;
	background: #e9ede6;
	place-items: center;
	text-align: center;
	font: 500 28px/1.1 var(--hv2-head);
	color: var(--hv2-sage-ink);
}

/* ---------- 4 Türchen-Kalender ---------- */
.hv2 .hv2-adv {
	margin: 30px -16px 0;
	padding: 26px 16px 22px;
	background: var(--hv2-band);
	color: var(--hv2-band-ink);
}
.hv2 .hv2-adv-in { max-width: 1168px; margin: 0 auto; }
.hv2 .hv2-adv .hv2-h2 { color: var(--hv2-band-ink); margin-bottom: 14px; }
.hv2 .hv2-adv-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.hv2 .hv2-adv-n14,
.hv2 .hv2-adv-n31 { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.hv2 .hv2-door {
	display: grid;
	place-items: center;
	aspect-ratio: 1 / 1;
	border-radius: 9px;
	font: 700 15px/1 var(--hv2-body);
}
.hv2 .hv2-door.is-open { background: #e9edc8; color: #23301f; border: 2px solid #e9edc8; }
.hv2 .hv2-door.is-open.is-seen { background: #c9d3a4; border-color: #c9d3a4; }
.hv2 .hv2-door.is-current { outline: 3px solid #ffd76a; outline-offset: 1px; }
.hv2 .hv2-door.is-closed { position: relative; overflow: hidden; border: 1.5px solid rgba(250, 248, 243, .5); color: rgba(250, 248, 243, .8); }
.hv2 .hv2-door.is-closed > span[aria-hidden="true"]:not(.hv2-deko) { position: relative; z-index: 1; }
.hv2 .hv2-adv { position: relative; overflow: hidden; }
.hv2 .hv2-adv-in { position: relative; z-index: 1; }
.hv2 .hv2-adv:has(.hv2-deko-girlande) .hv2-adv-in { padding-top: 46px; }
.hv2 .hv2-adv-panels { margin-top: 14px; }
.hv2 .hv2-adv-panel { display: none; }
.hv2 .hv2-adv-panel.is-active { display: block; }
.hv2 .hv2-adv-card {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 10px;
	background: var(--hv2-paper);
	color: var(--hv2-ink);
	border-radius: 12px;
}
.hv2 .hv2-adv-txt small { display: block; font-size: 13px; color: var(--hv2-muted); }
.hv2 .hv2-adv-txt b { display: block; margin: 2px 0; font: 500 19px/1.2 var(--hv2-head); }
.hv2 .hv2-adv-txt .hv2-go { margin-top: 6px; font-size: 14px; }
.hv2 .hv2-adv-card:hover b { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 5 Moodboard ---------- */
.hv2 .hv2-mb-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: clamp(84px, 23vw, 150px);
	gap: 6px;
	margin-top: 4px;
}
.hv2 .hv2-mb-t,
.hv2 .hv2-col-t {
	position: relative;
	display: block;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	border-radius: 10px;
	background: var(--hv2-tint);
}
.hv2 .hv2-col-t { overflow: visible; }
.hv2 .hv2-col-t .hv2-img--fill { border-radius: 10px; }
.hv2 .hv2-mb-n6 .hv2-mb-1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.hv2 .hv2-mb-n6 .hv2-mb-2 { grid-column: 3; grid-row: 1; }
.hv2 .hv2-mb-n6 .hv2-mb-3 { grid-column: 3; grid-row: 2 / 5; }
.hv2 .hv2-mb-n6 .hv2-mb-4 { grid-column: 1; grid-row: 3 / 5; }
.hv2 .hv2-mb-n6 .hv2-mb-5 { grid-column: 2; grid-row: 3; }
.hv2 .hv2-mb-n6 .hv2-mb-6 { grid-column: 2; grid-row: 4; }
.hv2 .hv2-mb-n5 .hv2-mb-1 { grid-column: 1 / 3; grid-row: 1 / 3; }
.hv2 .hv2-mb-n5 .hv2-mb-2 { grid-column: 3; grid-row: 1; }
.hv2 .hv2-mb-n5 .hv2-mb-3 { grid-column: 3; grid-row: 2; }
.hv2 .hv2-mb-n5 .hv2-mb-4 { grid-column: 1; grid-row: 3; }
.hv2 .hv2-mb-n5 .hv2-mb-5 { grid-column: 2 / 4; grid-row: 3; }
.hv2 .hv2-mb-n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hv2 .hv2-mb-n4 .hv2-mb-t { grid-row: span 2; }
.hv2 .hv2-mb-list { margin-top: 14px; }
.hv2 .hv2-mb-list a {
	display: block;
	align-items: baseline;
	padding: 9px 0;
	border-top: 1px solid var(--hv2-line);
	font-size: 14.5px;
	color: var(--hv2-muted);
}
.hv2 .hv2-mb-nr { font: 700 13px/1 var(--hv2-body); color: var(--hv2-accent-ink); }
.hv2 .hv2-mb-list b { color: var(--hv2-ink); font-weight: 600; }
.hv2 .hv2-mb-list a:hover b { color: var(--hv2-accent-ink); text-decoration: underline; }

/* ---------- 6 Zwei Türen ---------- */
.hv2 .hv2-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
.hv2 .hv2-tile { display: block; }
.hv2 .hv2-tile-name { display: block; margin-top: 6px; font-size: 15px; line-height: 1.25; font-weight: 500; color: var(--hv2-ink); }
.hv2 .hv2-tile.no-img .hv2-img--tile { background: linear-gradient(135deg, #efe6d6, #e3e8da); }
.hv2 .hv2-tile:hover .hv2-tile-name { color: var(--hv2-accent-ink); text-decoration: underline; }
.hv2 .hv2-more { margin-top: 16px; font-size: 15px; color: var(--hv2-muted); }
.hv2 .hv2-more a { color: var(--hv2-accent-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 7 Often opened ---------- */
.hv2 .hv2-often-item {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 9px 0;
	border-top: 1px solid var(--hv2-line);
}
.hv2 .hv2-often-list li:first-child .hv2-often-item { border-top: 0; }
.hv2 .hv2-often-t { font: 500 17px/1.3 var(--hv2-head); color: var(--hv2-ink); }
.hv2 .hv2-often-item:hover .hv2-often-t { color: var(--hv2-accent-ink); text-decoration: underline; }

/* ---------- 8 Offenlegung (ein Satz über dem Theme-Footer) ---------- */
.hv2-page .hv2-disclosure { border-top: 1px solid var(--hv2-line); padding: 16px 16px 20px; text-align: center; }
.hv2-page .hv2-disclosure p { max-width: 760px; margin: 0 auto; font: 400 13px/1.5 var(--hv2-body); color: var(--hv2-muted); }
.hv2-page .hv2-disclosure a { color: var(--hv2-accent-ink); text-decoration: underline; }

@media (prefers-reduced-motion: no-preference) {
	.hv2 .hv2-mb-t img,
	.hv2 .hv2-col-t img { transition: transform .35s ease; }
	.hv2 .hv2-mb-t:hover img,
	.hv2 .hv2-col-t:hover img { transform: scale(1.03); }
}

/* ---------- ab Tablet ---------- */
@media (min-width: 640px) {
	.hv2 { padding: 0 24px 32px; }
	.hv2 .hv2-adv { margin: 36px -24px 0; padding: 30px 24px 26px; }
	.hv2 .hv2-h2 { font-size: 30px; }
	.hv2 .hv2-adv-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
	.hv2 .hv2-adv-n14 { grid-template-columns: repeat(14, minmax(0, 1fr)); }
	.hv2 .hv2-adv-n31 { grid-template-columns: repeat(11, minmax(0, 1fr)); }
	.hv2 .hv2-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 14px; }
	.hv2 .hv2-mb-grid { grid-auto-rows: 120px; }
}

/* ---------- Desktop ---------- */
@media (min-width: 1024px) {
	.hv2 .hv2-sec { padding-top: 48px; }

	/* Kopf: links Text, rechts großes Bild */
	.hv2 .hv2-hero {
		display: grid;
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		grid-template-areas: ". media" "txt media" "ak media" ". media";
		grid-template-rows: 1fr auto auto 1fr;
		column-gap: 56px;
		align-items: start;
		padding: 24px 0 0;
	}
	.hv2 .hv2-hero--collage { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
	.hv2 .hv2-hero-txt { grid-area: txt; text-align: left; }
	.hv2 .hv2-hero-media { grid-area: media; }
	.hv2 .hv2-hero-ak { grid-area: ak; }
	.hv2 .hv2-hero .hv2-h1 { margin: 0; max-width: none; font-size: clamp(44px, 4.2vw, 56px); }
	.hv2 .hv2-hero .hv2-h1-l { display: block; }
	.hv2 .hv2-hero .hv2-lead { margin: 14px 0 0; }
	.hv2 .hv2-hero .hv2-search { margin: 28px 0 0; max-width: 600px; }
	.hv2 .hv2-hero .hv2-try { justify-content: flex-start; margin: 16px 0 0; max-width: 600px; }
	.hv2 .hv2-hero-ak {
		max-width: 600px;
		margin-top: 28px;
		padding: 18px 0 0;
		background: transparent;
		border-top: 1px solid var(--hv2-line);
		border-radius: 0;
	}
	/* Rückfall ohne Bild: Kopf mittig auf heller Fläche */
	.hv2 .hv2-hero--none {
		display: block;
		margin-top: 24px;
		padding: 64px 32px 56px;
		background: var(--hv2-tint);
		border-radius: 24px;
	}
	.hv2 .hv2-hero--none .hv2-hero-txt { text-align: center; padding-top: 0; }
	.hv2 .hv2-hero--none .hv2-h1 { margin: 0 auto; }
	.hv2 .hv2-hero--none .hv2-lead { margin: 14px auto 0; }
	.hv2 .hv2-hero--none .hv2-search,
	.hv2 .hv2-hero--none .hv2-try { margin-left: auto; margin-right: auto; justify-content: center; }

	/* Variante a: Idee des Tages groß */
	.hv2 .hv2-hero-media.hv2-today { padding-top: 0; }
	.hv2 .hv2-hero-k { margin-bottom: 10px; }
	.hv2 .hv2-hcard { max-width: none; }
	.hv2 .hv2-img--hero { aspect-ratio: auto; width: 100%; height: 480px; }
	.hv2 .hv2-hero .hv2-chip:nth-of-type(n+5) { display: none; } /* am Desktop 4 Begriffe, damit „Surprise me“ in der Zeile bleibt */
	.hv2 .hv2-hero--collage .hv2-h1 { font-size: clamp(32px, 3.3vw, 42px); }
	.hv2 .hv2-hero--collage .hv2-h1-l { white-space: nowrap; } /* nie 3 Zeilen */
	.hv2 .hv2-deko-zweig-r { display: block; top: 0; right: -84px; width: 140px; }
	.hv2 .hv2-hero--fallback { display: grid; }
	.hv2 .hv2-hero-still { max-width: none; margin: 0; }
	.hv2 .hv2-hero--fallback .hv2-hero-txt { text-align: left; }
	.hv2 .hv2-hero--fallback .hv2-h1,
	.hv2 .hv2-hero--fallback .hv2-lead,
	.hv2 .hv2-hero--fallback .hv2-search,
	.hv2 .hv2-hero--fallback .hv2-try { margin-left: 0; margin-right: 0; justify-content: flex-start; }
	/* Etikett an der Collage: „This week’s moodboard · Thema →“ (im ersten Bildschirm) */
	.hv2 .hv2-hero-collage { position: relative; }
	.hv2 .hv2-col-label {
		position: absolute;
		z-index: 4;
		left: -22px;
		bottom: 22px;
		display: block;
		max-width: 300px;
		padding: 12px 16px;
		background: var(--hv2-paper);
		border-radius: 4px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .08);
		transform: rotate(-1deg);
	}
	.hv2 .hv2-col-label .hv2-eyebrow { display: block; margin: 0 0 3px; font-size: 11px; }
	.hv2 .hv2-col-label-t { display: block; font: 500 21px/1.2 var(--hv2-head); color: var(--hv2-ink); }
	.hv2 .hv2-col-label:hover .hv2-col-label-t { color: var(--hv2-accent-ink); text-decoration: underline; text-underline-offset: 3px; }
	.hv2 .hv2-col-label-t span { display: inline-block; margin-left: 4px; }
	.hv2 .hv2-col-label:hover .hv2-col-label-t span { transform: translateX(3px); }
	/* Variante b: Titel des Moodboards steht schon am Etikett im Kopf → hier nur die Dachzeile + Liste (Titel bleibt für Vorleser) */
	.hv2 .hv2-mb--kopf .hv2-h2,
	.hv2 .hv2-mb--kopf .hv2-sub { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.hv2 .hv2-adv:has(.hv2-deko-girlande) .hv2-adv-in { padding-top: 62px; }

	/* Variante b: Collage aus dem Moodboard */
	.hv2 .hv2-hero-collage { display: block; }
	.hv2 .hv2-col-grid {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-template-rows: repeat(2, 262px);
		gap: 8px;
	}
	.hv2 .hv2-col-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.hv2 .hv2-col-1 { grid-column: 1 / 3; grid-row: 1 / 3; }
	.hv2 .hv2-col-n3 .hv2-col-2 { grid-column: 3; grid-row: 1; }
	.hv2 .hv2-col-n3 .hv2-col-3 { grid-column: 3; grid-row: 2; }
	.hv2 .hv2-col-n4 .hv2-col-2 { grid-column: 3; grid-row: 1 / 3; }
	.hv2 .hv2-col-n4 .hv2-col-3 { grid-column: 4; grid-row: 1; }
	.hv2 .hv2-col-n4 .hv2-col-4 { grid-column: 4; grid-row: 2; }
	.hv2 .hv2-col-n5 .hv2-col-2 { grid-column: 3; grid-row: 1; }
	.hv2 .hv2-col-n5 .hv2-col-3 { grid-column: 3; grid-row: 2; }
	.hv2 .hv2-col-n5 .hv2-col-4 { grid-column: 4; grid-row: 1; }
	.hv2 .hv2-col-n5 .hv2-col-5 { grid-column: 4; grid-row: 2; }
	.hv2 .hv2-col-cap { margin-top: 12px; }
	.hv2 .hv2-col-cap a { display: inline-flex; align-items: baseline; gap: 10px; }
	.hv2 .hv2-col-cap .hv2-eyebrow { margin: 0; }
	.hv2 .hv2-col-t-name { font: 500 19px/1.2 var(--hv2-head); color: var(--hv2-ink); }
	.hv2 .hv2-col-cap a:hover .hv2-col-t-name { color: var(--hv2-accent-ink); text-decoration: underline; }

	/* Variante b: Reihe unter dem Kopf = Idee des Tages + Moodboard-Liste */
	.hv2 .hv2-row--b {
		display: grid;
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		gap: 56px;
		align-items: start;
	}
	.hv2 .hv2-row--b > :only-child { grid-column: 1 / -1; }
	.hv2 .hv2-row--b .hv2-today-card {
		display: grid;
		grid-template-columns: 300px minmax(0, 1fr);
		gap: 28px;
		align-items: center;
		max-width: none;
	}
	.hv2 .hv2-row--b .hv2-today-name { margin-top: 0; font-size: 28px; }
	.hv2 .hv2-mb--kopf .hv2-mb-grid { display: none; }
	.hv2 .hv2-mb--kopf .hv2-mb-list { margin-top: 6px; }

	/* Almanach als breites Band: Kopfzeile mit Reitern rechts, 4 Karten mit Bild */
	.hv2 .hv2-alm { margin-top: 40px; padding: 32px 32px 30px; }
	.hv2 .hv2-alm-kopf { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
	.hv2 .hv2-alm-kopf .hv2-sub { margin-bottom: 4px; }
	.hv2 .hv2-alm-list { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: 10px; }
	.hv2 .hv2-img--alm { margin-bottom: 10px; }
	.hv2 .hv2-alm-item b { font-size: 18px; }

	/* Advent: Türen links, offene Tür rechts */
	.hv2 .hv2-adv { margin: 56px 0 0; padding: 30px 32px 30px; border-radius: 20px; }
	.hv2 .hv2-adv-body { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: stretch; }
	.hv2 .hv2-adv-grid,
	.hv2 .hv2-adv-n14,
	.hv2 .hv2-adv-n31 { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
	.hv2 .hv2-door { aspect-ratio: auto; height: 52px; }
	.hv2 .hv2-adv-panels { margin-top: 0; }
	.hv2 .hv2-adv-panel.is-active { height: 100%; }
	.hv2 .hv2-adv-card { height: 100%; grid-template-columns: 180px minmax(0, 1fr); gap: 20px; padding: 14px; }

	/* Moodboard (Variante a): Collage links, Liste rechts */
	.hv2 .hv2-mb:not(.hv2-mb--kopf) {
		display: grid;
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		grid-template-areas: "grid txt" "grid list";
		grid-template-rows: auto 1fr;
		column-gap: 48px;
	}
	.hv2 .hv2-mb:not(.hv2-mb--kopf) .hv2-mb-txt { grid-area: txt; align-self: end; }
	.hv2 .hv2-mb:not(.hv2-mb--kopf) .hv2-mb-grid { grid-area: grid; grid-auto-rows: 132px; margin-top: 0; }
	.hv2 .hv2-mb:not(.hv2-mb--kopf) .hv2-mb-list { grid-area: list; }

	/* Zwei Türen: mehr Luft, feine Linie dazwischen */
	.hv2 .hv2-doors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
	.hv2 .hv2-door-col:first-child { padding-right: 40px; border-right: 1px solid rgba(0, 0, 0, .06); }
	.hv2 .hv2-door-col:last-child { padding-left: 40px; }

	/* Often opened: 5 Karten */
	.hv2 .hv2-often-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
	.hv2 .hv2-often-item,
	.hv2 .hv2-often-list li:first-child .hv2-often-item { display: block; padding: 0; border-top: 0; }
	.hv2 .hv2-img--thumb { aspect-ratio: 3 / 2; }
	.hv2 .hv2-often-t {
		display: -webkit-box;
		margin-top: 10px;
		font-size: 16px;
		line-height: 1.35;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		overflow: hidden;
	}
	.hv2 .hv2-img--thumb .ai-image-label { width: 30px; height: 30px; }
}

