/* ==========================================================================
   FVH Herbstein – Gestaltung im Stil der Kampagnenplakate
   Gelb wie das Plakat, Rot/Grün/Gold aus dem Wappen, Pinsel-Schrift für
   Überschriften. Schriften liegen lokal im Plugin (DSGVO).
   ========================================================================== */

@font-face { font-family: "FVH Brush"; src: url(../fonts/caveat-brush-400.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "FVH Cond"; src: url(../fonts/barlow-semi-condensed-400.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "FVH Cond"; src: url(../fonts/barlow-semi-condensed-500.woff2) format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "FVH Cond"; src: url(../fonts/barlow-semi-condensed-600.woff2) format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "FVH Cond"; src: url(../fonts/barlow-semi-condensed-700.woff2) format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "FVH Cond"; src: url(../fonts/barlow-semi-condensed-800.woff2) format("woff2"); font-weight: 800; font-display: swap; }
@font-face { font-family: "FVH Text"; src: url(../fonts/barlow-400.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "FVH Text"; src: url(../fonts/barlow-400i.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "FVH Text"; src: url(../fonts/barlow-600.woff2) format("woff2"); font-weight: 600; font-display: swap; }

:root {
	--fvh-green-dark: #1f7a37;
	--fvh-yellow: #ffe000;
	--fvh-yellow-2: #ffd200;
	--fvh-gold: #dfc022;
	--fvh-red: #c51b32;
	--fvh-red-2: #a8142a;
	--fvh-green: #2e9b47;
	--fvh-ink: #161412;
	--fvh-ink-2: #3a3530;
	--fvh-paper: #fffcf1;
	--fvh-cream: #fff4c7;
	--fvh-line: 2px solid var(--fvh-ink);
	--fvh-display: "FVH Brush", "Comic Sans MS", cursive;
	--fvh-ui: "FVH Cond", "Arial Narrow", Arial, sans-serif;
	--fvh-text: "FVH Text", Arial, sans-serif;
	--fvh-ease: cubic-bezier(.2, .9, .3, 1.25);
	--fvh-sticky: 0px;
}

/* ---------- Grundlagen ---------- */
body,
body.et_divi_theme {
	font-family: var(--fvh-text);
	color: var(--fvh-ink-2);
	background: var(--fvh-paper);
	font-size: 18px;
	-webkit-font-smoothing: antialiased;
}
#page-container, #main-content, .et_pb_section { background-color: transparent; }
#page-container { overflow-x: clip; }
#main-content { background: var(--fvh-paper); }
#main-content .container:before { display: none; }
body.fvh-page #main-content .container { padding-top: 0; }
body.fvh-page.et_pb_pagebuilder_layout .entry-content { margin: 0; }

h1, h2, h3, h4, h5, h6 { color: var(--fvh-ink); padding-bottom: .3em; }
h1, h2,
.et_pb_text h1, .et_pb_text h2 { font-family: var(--fvh-display); font-weight: 400; line-height: 1; letter-spacing: .005em; }
h3, h4, h5, h6,
.et_pb_text h3, .et_pb_text h4 { font-family: var(--fvh-ui); font-weight: 800; line-height: 1.1; letter-spacing: .005em; }
.et_pb_text h1 { font-size: clamp(46px, 7vw, 92px); }
.et_pb_text h2 { font-size: clamp(38px, 5vw, 64px); }
.et_pb_text h3 { font-size: clamp(22px, 2.3vw, 28px); }
.et_pb_text h4 { font-size: 20px; text-transform: uppercase; letter-spacing: .06em; }
.et_pb_text, .et_pb_text p { font-size: 18.5px; line-height: 1.65; }
.et_pb_text p:not(:last-child) { padding-bottom: 1.05em; }
.et_pb_text ul { padding-left: 1.2em; }
.et_pb_text li { padding-bottom: .35em; }
.et_pb_text blockquote,
.fvh-quote {
	border: 0;
	margin: 1.4em 0;
	padding: .2em 0 .2em 1.1em;
	position: relative;
	font-family: var(--fvh-display);
	font-size: clamp(26px, 3vw, 34px);
	line-height: 1.2;
	color: var(--fvh-ink);
}
.et_pb_text blockquote::before,
.fvh-quote::before { content: ""; position: absolute; left: 0; top: .15em; bottom: .15em; width: 6px; border-radius: 6px; background: var(--fvh-yellow-2); }
.et_pb_text blockquote p { font-size: inherit; line-height: inherit; }
a { color: var(--fvh-red); transition: color .2s; }
a:hover { color: var(--fvh-ink); }
.et_pb_text a:not(.fvh-btn) { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; text-decoration-color: var(--fvh-yellow-2); }
.et_pb_text a:not(.fvh-btn):hover { text-decoration-color: var(--fvh-red); }
::selection { background: var(--fvh-yellow); color: var(--fvh-ink); }
:focus-visible { outline: 3px solid var(--fvh-red); outline-offset: 3px; }

.fvh-wrap { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.fvh-pad { padding: 30px 0 90px; }
.fvh-ico { width: 1.05em; height: 1.05em; vertical-align: -0.15em; flex: none; }

.fvh-kicker {
	display: inline-flex; align-items: center; gap: .55em;
	font-family: var(--fvh-ui); font-weight: 700; font-size: 15px;
	letter-spacing: .16em; text-transform: uppercase; color: var(--fvh-red);
	padding-bottom: 10px;
}
.fvh-kicker::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--fvh-green); box-shadow: 14px 0 0 var(--fvh-yellow-2); margin-right: 14px; }
.fvh-lead { font-size: clamp(19px, 2vw, 22px); line-height: 1.55; color: var(--fvh-ink-2); max-width: 46em; }

/* Gelbe „Plakat-Ellipse“ hinter Wörtern: <mark class="fvh-blob">Wort</mark> */
.fvh-blob, mark.fvh-blob {
	background: none; color: inherit; position: relative; z-index: 0; white-space: nowrap;
}
.fvh-blob::before {
	content: ""; position: absolute; z-index: -1; left: -.25em; right: -.3em; top: .12em; bottom: -.02em;
	background: var(--fvh-yellow); border-radius: 46% 54% 42% 58% / 58% 46% 54% 42%; transform: rotate(-2deg);
}

/* ---------- Header (Divi) ---------- */
#main-header {
	box-shadow: none !important;
	border-bottom: 2px solid var(--fvh-ink);
	background: #fff;
}
#main-header::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; z-index: 2;
	background: linear-gradient(90deg, var(--fvh-red) 0 33.4%, var(--fvh-yellow) 33.4% 66.7%, var(--fvh-green) 66.7% 100%);
}
#logo { transition: transform .45s var(--fvh-ease) !important; }
.logo_container:hover #logo { transform: rotate(-6deg) scale(1.06); }
#top-menu li { padding-right: 18px; }
#top-menu > li > a,
.et_header_style_left #et-top-navigation nav > ul > li > a {
	font-family: var(--fvh-ui); font-weight: 700; font-size: 17px; text-transform: uppercase; letter-spacing: .05em;
	color: var(--fvh-ink); position: relative;
}
#top-menu > li > a::before {
	content: ""; position: absolute; left: 0; right: 0; top: 1.35em; height: 8px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6c10-4 18 3 28-1s17-4 26 0 18 3 28-1 10-2 14 0' fill='none' stroke='%23ffd200' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;
	transform: scaleX(0); transform-origin: left; transition: transform .35s var(--fvh-ease);
}
#top-menu > li > a:hover::before,
#top-menu > li.current-menu-item > a::before,
#top-menu > li.current-menu-ancestor > a::before,
#top-menu > li.current_page_ancestor > a::before { transform: scaleX(1); }
#top-menu > li > a:hover { opacity: 1 !important; color: var(--fvh-ink) !important; }
#top-menu li.current-menu-item > a, #top-menu li.current-menu-ancestor > a { color: var(--fvh-red) !important; }
#top-menu .menu-item-has-children > a:first-child { padding-right: 18px; }
#top-menu .menu-item-has-children > a:first-child::before { right: 18px; }

/* Shop-Menüpunkt als kleiner Aufkleber */
#top-menu li.fvh-menu-shop > a {
	background: var(--fvh-yellow); color: var(--fvh-ink) !important;
	border: 2px solid var(--fvh-ink); border-radius: 999px;
	padding: 7px 18px 6px !important; margin-top: -9px;
	box-shadow: 3px 3px 0 var(--fvh-ink);
	transition: transform .25s var(--fvh-ease), box-shadow .25s;
	display: inline-block;
}
#top-menu li.fvh-menu-shop > a::before { display: none; }
#top-menu li.fvh-menu-shop > a:hover { transform: translate(-2px, -2px) rotate(-3deg); box-shadow: 5px 5px 0 var(--fvh-red); }
#top-menu li.fvh-menu-shop { padding-right: 0; }

/* Dropdowns */
#top-menu li ul.sub-menu, .nav li ul {
	border-top: 0; border: var(--fvh-line); border-radius: 14px; padding: 10px 0;
	box-shadow: 6px 6px 0 var(--fvh-ink); width: 270px; background: #fff;
}
#top-menu li ul.sub-menu li { padding: 0 12px; width: 100%; }
#top-menu li ul.sub-menu a {
	font-family: var(--fvh-ui); font-weight: 600; font-size: 17px; text-transform: none; letter-spacing: 0;
	width: 100%; padding: 9px 12px; border-radius: 9px; color: var(--fvh-ink); transition: background .2s, transform .2s;
}
#top-menu li ul.sub-menu a:hover { background: var(--fvh-yellow); opacity: 1; transform: translateX(4px); }

/* ---------- Buttons ---------- */
.fvh-btn,
body #page-container .et_pb_button {
	display: inline-flex; align-items: center; gap: .55em;
	font-family: var(--fvh-ui) !important; font-weight: 700 !important; font-size: 17px !important; line-height: 1.2 !important;
	text-transform: uppercase; letter-spacing: .07em;
	padding: 14px 26px 13px !important; border-radius: 999px !important;
	background: var(--fvh-ink); color: var(--fvh-yellow) !important; border: 2px solid var(--fvh-ink) !important;
	box-shadow: 4px 4px 0 var(--fvh-red);
	text-decoration: none !important; cursor: pointer;
	transition: transform .25s var(--fvh-ease), box-shadow .25s, background .2s, color .2s;
}
body #page-container .et_pb_button { background: var(--fvh-yellow) !important; color: var(--fvh-ink) !important; box-shadow: 4px 4px 0 var(--fvh-ink); }
body #page-container .et_pb_button:after { display: none !important; }
.fvh-btn:hover,
body #page-container .et_pb_button:hover { transform: translate(-2px, -2px) rotate(-1.5deg); box-shadow: 7px 7px 0 var(--fvh-red); padding: 14px 26px 13px !important; }
.fvh-btn:active, body #page-container .et_pb_button:active { transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--fvh-ink); }
.fvh-btn .fvh-ico { transition: transform .25s var(--fvh-ease); }
.fvh-btn:hover .fvh-ico { transform: translateX(4px); }
.fvh-btn--light { background: var(--fvh-yellow); color: var(--fvh-ink) !important; box-shadow: 4px 4px 0 var(--fvh-ink); }
.fvh-btn--light:hover { box-shadow: 7px 7px 0 var(--fvh-ink); }
.fvh-btn--ghost { background: transparent; color: var(--fvh-ink) !important; box-shadow: 4px 4px 0 var(--fvh-yellow-2); }
.fvh-btn--ghost:hover { background: var(--fvh-yellow); box-shadow: 6px 6px 0 var(--fvh-ink); }
.fvh-btn--ghost span { font-weight: 500; text-transform: none; letter-spacing: 0; opacity: .7; }
.fvh-btns { display: flex; flex-wrap: wrap; gap: 16px 18px; margin-top: 10px; }

/* ---------- Bühne Startseite ---------- */
.fvh-hero {
	position: relative; isolation: isolate; overflow: hidden;
	min-height: clamp(560px, calc(100vh - 92px), 860px);
	display: flex; align-items: flex-end;
	background: var(--fvh-ink);
}
.fvh-hero__media { position: absolute; inset: 0; z-index: -2; }
.fvh-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; transform: scale(1.04); animation: fvh-hero-zoom 14s ease-out forwards; }
@keyframes fvh-hero-zoom { to { transform: scale(1); } }
.fvh-hero::after {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(180deg, rgba(22,20,18,0) 40%, rgba(22,20,18,.55) 100%);
}
.fvh-hero__inner { width: min(1180px, calc(100% - 40px)); margin: 0 auto; padding: 120px 0 70px; }
.fvh-hero__card {
	position: relative; max-width: 640px; padding: 46px 60px 50px 56px;
	background: var(--fvh-yellow); color: var(--fvh-ink);
	border-radius: 52% 48% 44% 56% / 30% 38% 62% 70%;
	border-radius: 140px 90px 160px 70px / 90px 120px 80px 130px;
	transform: rotate(-1.5deg);
	box-shadow: 10px 12px 0 rgba(22,20,18,.85);
	animation: fvh-pop .9s .15s var(--fvh-ease) both;
}
@keyframes fvh-pop { from { opacity: 0; transform: translateY(40px) rotate(-6deg) scale(.92); } }
.fvh-hero__card > * { transform: rotate(1.5deg); }
.fvh-hero__card .fvh-kicker { color: var(--fvh-red); }
.fvh-hero__card .fvh-kicker::before { background: var(--fvh-red); box-shadow: 14px 0 0 var(--fvh-green); }
.fvh-hero__title { font-family: var(--fvh-display); font-size: clamp(54px, 8.2vw, 104px); line-height: .9; padding: 0 0 14px; margin: 0; color: var(--fvh-ink); }
.fvh-hero__sub { font-size: clamp(17px, 1.8vw, 20px); line-height: 1.5; max-width: 30em; margin-bottom: 26px; color: var(--fvh-ink); padding: 0; }
.fvh-hero__actions { display: flex; flex-wrap: wrap; gap: 14px 16px; }
.fvh-hero__actions .fvh-btn--light { background: #fff; }
.fvh-hero__stamp {
	position: absolute; right: -34px; top: -46px; width: 132px; height: 132px; border-radius: 50%;
	background: var(--fvh-red); color: #fff; display: grid; place-content: center; text-align: center;
	border: 3px solid var(--fvh-ink); box-shadow: 4px 4px 0 var(--fvh-ink);
	transform: rotate(12deg) !important; transition: transform .6s var(--fvh-ease);
	font-family: var(--fvh-ui); line-height: 1;
}
.fvh-hero__stamp b { font-family: var(--fvh-display); font-weight: 400; font-size: 58px; line-height: .8; color: var(--fvh-yellow); }
.fvh-hero__stamp span { font-weight: 700; font-size: 15px; text-transform: uppercase; letter-spacing: .08em; }
.fvh-hero__stamp small { font-size: 12px; opacity: .85; margin-top: 3px; }
.fvh-hero__card:hover .fvh-hero__stamp { transform: rotate(-8deg) scale(1.08) !important; }
.fvh-hero__side {
	position: absolute; right: 18px; bottom: 40px; writing-mode: vertical-rl; transform: rotate(180deg);
	font-family: var(--fvh-display); font-size: clamp(28px, 3.4vw, 44px); color: var(--fvh-yellow);
	text-shadow: 2px 2px 0 rgba(0,0,0,.35); pointer-events: none;
}
.fvh-confetti { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 5; }

/* ---------- Seitenkopf ---------- */
.fvh-pagehead { position: relative; padding: clamp(48px, 7vw, 92px) 0 clamp(28px, 4vw, 48px); overflow: hidden; }
.fvh-pagehead::before {
	content: ""; position: absolute; z-index: 0; width: 520px; height: 300px; right: -120px; top: -90px;
	background: var(--fvh-yellow); border-radius: 50%; transform: rotate(-12deg); opacity: .9;
}
.fvh-pagehead::after {
	content: ""; position: absolute; left: 4%; top: 40px; width: 18px; height: 18px; border-radius: 50%;
	background: var(--fvh-red); box-shadow: 34px 22px 0 -4px var(--fvh-green), 18px 58px 0 -7px var(--fvh-gold);
}
.fvh-pagehead__grid { position: relative; z-index: 1; display: grid; gap: 40px; align-items: center; }
.fvh-pagehead.has-img .fvh-pagehead__grid { grid-template-columns: 1.15fr .85fr; }
.fvh-title { font-family: var(--fvh-display); font-weight: 400; font-size: clamp(52px, 7.6vw, 100px); line-height: .92; margin: 0; padding: 0 0 18px; color: var(--fvh-ink); }
.fvh-pagehead__img { margin: 0; position: relative; transform: rotate(2.5deg); transition: transform .5s var(--fvh-ease); }
.fvh-pagehead__img img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 8px solid #fff; border-radius: 6px; box-shadow: 10px 10px 0 var(--fvh-ink); }
.fvh-pagehead__img:hover { transform: rotate(0deg) scale(1.02); }
.fvh-pagehead--small { padding-bottom: 10px; }

/* ---------- Divi-Layout-Helfer ---------- */
.et_pb_section.fvh-sec-hero, .et_pb_section.fvh-sec-head { padding: 0 !important; }

.fvh-sec-hero .et_pb_code, .fvh-sec-head .et_pb_code, .fvh-row-full .et_pb_module { margin-bottom: 0 !important; }
.et_pb_section { padding: clamp(46px, 6vw, 84px) 0; }
.et_pb_section .et_pb_row,
.et_pb_section .et_pb_row.et_flex_row { width: min(1180px, calc(100% - 40px)) !important; max-width: 1180px !important; padding: 18px 0; }
.et_pb_column.fvh-card { gap: 0 !important; row-gap: 0 !important; }
.et_pb_section .et_pb_row.fvh-row-full,
.et_pb_section .et_pb_row.et_flex_row.fvh-row-full { width: 100% !important; max-width: none !important; padding: 0 !important; }
.et_pb_column.fvh-card h3 { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; }
.et-cart-info, #et-top-navigation .et-cart-info { display: none !important; }
.fvh-evgrid--teaser { grid-template-columns: repeat(3, 1fr); }
.fvh-day__tag { justify-self: start; }
.fvh-sec--red { background: var(--fvh-red) !important; color: #fff; position: relative; margin-bottom: 40px; }
.fvh-sec--red h2, .fvh-sec--red .et_pb_text h2 { color: #fff; }
.fvh-sec--red .fvh-kicker { color: var(--fvh-yellow); }
.fvh-sec--red .fvh-kicker::before { background: var(--fvh-yellow); box-shadow: 14px 0 0 #fff; }
.fvh-sec--red .et_pb_text, .fvh-sec--red .et_pb_text p { color: #fff; }
.fvh-sec--red .fvh-btn--light { box-shadow: 4px 4px 0 var(--fvh-ink); }
.fvh-sec--red::after { content: ""; position: absolute; left: 0; right: 0; bottom: -38px; height: 40px; background: inherit; transform: scaleY(-1); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22C140 4 260 30 420 18S700 -4 860 14s250 20 340 4v22z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22C140 4 260 30 420 18S700 -4 860 14s250 20 340 4v22z'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.et_pb_code_inner > :last-child, .et_pb_text_inner > :last-child { margin-bottom: 0; }
.fvh-sec-next { padding: 56px 0 !important; }
.fvh-sec-intro { padding-top: clamp(60px, 8vw, 110px) !important; }
@media (min-width: 981px) {
	.et_pb_row.fvh-split { align-items: center; }
	.et_pb_row.fvh-split--6040 > .et_pb_column:nth-child(1) { flex: 1.45 1 0 !important; }
	.et_pb_row.fvh-split--6040 > .et_pb_column:nth-child(2) { flex: 1 1 0 !important; }
	.et_pb_row.fvh-split--4060 > .et_pb_column:nth-child(1) { flex: 1 1 0 !important; }
	.et_pb_row.fvh-split--4060 > .et_pb_column:nth-child(2) { flex: 1.45 1 0 !important; }
	.et_pb_row.fvh-split--6535 { align-items: flex-start; }
	.et_pb_row.fvh-split--6535 > .et_pb_column:nth-child(1) { flex: 1.85 1 0 !important; }
	.et_pb_row.fvh-split--6535 > .et_pb_column:nth-child(2) { flex: 1 1 0 !important; position: sticky; top: calc(var(--fvh-sticky) + 24px); }
	.et_pb_row.fvh-split--3070 > .et_pb_column:nth-child(1) { flex: .42 1 0 !important; }
	.et_pb_row.fvh-split--3070 > .et_pb_column:nth-child(2) { flex: 1 1 0 !important; }
	.et_pb_row.fvh-split--3070 { align-items: flex-start; }
}
.fvh-split .et_pb_image.fvh-frame { margin-bottom: 34px !important; }
.fvh-split .et_pb_image.fvh-frame:last-child { margin-bottom: 0 !important; }
.fvh-figrow { border-bottom: 2px dashed rgba(22,20,18,.16); padding: 34px 0 !important; }
.fvh-figrow:last-child { border-bottom: 0; }
.fvh-figrow h3 { font-family: var(--fvh-display) !important; font-weight: 400 !important; font-size: clamp(36px, 3.8vw, 50px) !important; line-height: 1 !important; scroll-margin-top: calc(var(--fvh-sticky) + 30px); }
[id] { scroll-margin-top: calc(var(--fvh-sticky) + 30px); }
.fvh-figrow .et_pb_image img { aspect-ratio: 4 / 5; object-fit: cover; }
.fvh-cards { align-items: stretch !important; }
.fvh-cards + .fvh-cards { margin-top: 10px; }
.fvh-legal { max-width: 760px; }
.fvh-legal h3 { padding-top: 18px; }
.fvh-cta-btns p { display: inline-block; padding: 0 16px 16px 0 !important; }
.fvh-cta-btns { text-align: right; }

/* Jubiläums-Kachel */
.fvh-jubi { position: relative; background: #fff; border: 3px solid var(--fvh-ink); border-radius: 30px 70px 34px 64px / 60px 30px 64px 34px; padding: 40px 36px 30px 40px; box-shadow: 8px 8px 0 var(--fvh-ink); transform: rotate(1.2deg); transition: transform .45s var(--fvh-ease); }
.fvh-jubi:hover { transform: rotate(0) scale(1.01); }
.fvh-jubi__num { position: absolute; right: 22px; top: -54px; font-family: var(--fvh-display); font-size: 150px; line-height: 1; color: var(--fvh-red); text-shadow: 4px 4px 0 var(--fvh-ink); transform: rotate(-8deg); transition: transform .5s var(--fvh-ease); }
.fvh-jubi:hover .fvh-jubi__num { transform: rotate(4deg) scale(1.05); }
.fvh-jubi h3 { font-family: var(--fvh-display) !important; font-weight: 400 !important; font-size: clamp(34px, 3.4vw, 44px) !important; max-width: 70%; line-height: 1 !important; }
.fvh-jubi p { font-size: 17.5px !important; }
.fvh-person__soon { position: absolute; bottom: 14px; left: 0; right: 0; font-family: var(--fvh-display); font-size: 22px; color: var(--fvh-ink-2); }

/* ---------- Sektionen ---------- */
.fvh-sec--yellow { background: var(--fvh-yellow) !important; position: relative; }
.fvh-sec--cream { background: var(--fvh-cream) !important; position: relative; }
.fvh-sec--ink { background: var(--fvh-ink) !important; color: #e9e3d6; position: relative; }
.fvh-sec--ink h2, .fvh-sec--ink h3, .fvh-sec--ink .et_pb_text h2 { color: #fff; }
.fvh-sec--ink .fvh-kicker { color: var(--fvh-yellow); }
.fvh-sec--ink .et_pb_text, .fvh-sec--ink .et_pb_text p { color: #e9e3d6; }
.fvh-wave-top::before {
	content: ""; position: absolute; left: 0; right: 0; top: -38px; height: 40px; pointer-events: none;
	background: inherit;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22C140 4 260 30 420 18S700 -4 860 14s250 20 340 4v22z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22C140 4 260 30 420 18S700 -4 860 14s250 20 340 4v22z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

/* Inhaltsbilder mit Rahmen & Hover */
.fvh-frame img, .et_pb_image.fvh-frame .et_pb_image_wrap img {
	border: 7px solid #fff; border-radius: 6px; box-shadow: 8px 8px 0 var(--fvh-ink);
	transition: transform .45s var(--fvh-ease), box-shadow .3s;
}
.et_pb_image.fvh-frame .et_pb_image_wrap { overflow: visible; }
.fvh-frame:nth-of-type(odd) img { transform: rotate(-1.6deg); }
.fvh-frame:nth-of-type(even) img { transform: rotate(1.4deg); }
.fvh-frame:hover img { transform: rotate(0) scale(1.025); box-shadow: 12px 12px 0 var(--fvh-red); }

/* Collage (Startseite) */
.fvh-collage { position: relative; min-height: 520px; }
.fvh-collage figure { position: absolute; margin: 0; transition: transform .5s var(--fvh-ease), z-index 0s .2s; }
.fvh-collage img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 8px solid #fff; border-radius: 4px; box-shadow: 8px 8px 0 var(--fvh-ink); }
.fvh-collage figcaption { font-family: var(--fvh-display); font-size: 24px; color: var(--fvh-ink); text-align: center; padding-top: 8px; }
.fvh-collage figure:nth-child(1) { width: 66%; left: 0; top: 0; transform: rotate(-3deg); z-index: 1; }
.fvh-collage figure:nth-child(2) { width: 54%; right: 0; top: 150px; transform: rotate(3.5deg); z-index: 2; }
.fvh-collage figure:nth-child(3) { width: 46%; left: 12%; top: 300px; transform: rotate(-1deg); z-index: 3; }
.fvh-collage figure:hover { transform: rotate(0) scale(1.05); z-index: 5; transition: transform .5s var(--fvh-ease), z-index 0s; }
.fvh-collage::after { content: ""; position: absolute; width: 74px; height: 74px; border-radius: 50%; background: var(--fvh-red); right: 8%; top: 40px; z-index: 0; box-shadow: -40px 70px 0 -22px var(--fvh-green), 20px 90px 0 -28px var(--fvh-gold); }

/* Karten aus Divi-Spalten: Spalte mit Klasse fvh-card */
.et_pb_column.fvh-card {
	background: #fff; border: var(--fvh-line); border-radius: 18px; overflow: hidden;
	transition: transform .4s var(--fvh-ease), box-shadow .3s; cursor: pointer; position: relative;
	box-shadow: 0 0 0 var(--fvh-ink);
}
.et_pb_column.fvh-card .et_pb_image { margin: 0 !important; overflow: hidden; border-bottom: var(--fvh-line); }
.et_pb_column.fvh-card .et_pb_image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .7s var(--fvh-ease); display: block; }
.et_pb_column.fvh-card .et_pb_text { padding: 20px 24px 24px; margin: 0 !important; }
.et_pb_column.fvh-card h3 { font-size: 26px; padding-bottom: 6px; }
.et_pb_column.fvh-card p { font-size: 16.5px !important; line-height: 1.5 !important; }
.et_pb_column.fvh-card .fvh-more { font-family: var(--fvh-ui); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: 15px; color: var(--fvh-red); text-decoration: none !important; display: inline-flex; gap: .4em; align-items: center; }
.et_pb_column.fvh-card:hover { transform: translateY(-6px) rotate(-1deg); box-shadow: 8px 8px 0 var(--fvh-ink); }
.et_pb_column.fvh-card:nth-child(even):hover { transform: translateY(-6px) rotate(1deg); }
.et_pb_column.fvh-card:hover .et_pb_image img { transform: scale(1.07); }
.et_pb_column.fvh-card:hover .fvh-more .fvh-ico { transform: translateX(5px); }
.fvh-more .fvh-ico { transition: transform .3s var(--fvh-ease); }

/* Person (Vorstand/Elferrat) */
.fvh-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 30px 24px; margin: 10px 0 30px; }
.fvh-person { text-align: center; }
.fvh-person__img { position: relative; aspect-ratio: 3 / 4; border-radius: 120px 120px 16px 16px; overflow: hidden; border: var(--fvh-line); background: var(--fvh-cream); transition: transform .4s var(--fvh-ease), box-shadow .3s; }
.fvh-person__img img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; transition: transform .6s var(--fvh-ease); }
.fvh-person__img--empty { display: grid; place-items: center; }
.fvh-person__img--empty img { width: 52%; height: auto; opacity: .35; filter: grayscale(1); }
.fvh-person:hover .fvh-person__img { transform: rotate(-2deg) translateY(-4px); box-shadow: 6px 6px 0 var(--fvh-yellow-2); }
.fvh-person:hover .fvh-person__img img { transform: scale(1.05); }
.fvh-person__name { font-family: var(--fvh-ui); font-weight: 800; font-size: 21px; color: var(--fvh-ink); margin-top: 12px; line-height: 1.15; }
.fvh-person__role { font-family: var(--fvh-ui); font-weight: 500; font-size: 16px; color: var(--fvh-ink-2); line-height: 1.3; }
.fvh-group-title { font-family: var(--fvh-ui) !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .12em; font-size: 18px !important; color: var(--fvh-red) !important; border-bottom: 2px dashed rgba(22,20,18,.25); padding: 26px 0 10px !important; margin-bottom: 18px; }

/* Infobox / Kontakt */
.fvh-note {
	background: var(--fvh-cream); border: var(--fvh-line); border-radius: 22px 60px 22px 50px / 40px 22px 50px 22px;
	padding: 26px 30px; margin: 10px 0 24px; box-shadow: 6px 6px 0 var(--fvh-yellow-2);
}
.fvh-note h3, .fvh-note h4 { padding-top: 0; }
.fvh-note p:last-child { padding-bottom: 0; }

/* Downloads */
.fvh-downloads { list-style: none !important; padding: 0 !important; margin: 0 0 10px; display: grid; gap: 12px; }
.fvh-downloads li { padding: 0 !important; }
.fvh-downloads a {
	display: flex; align-items: center; gap: 16px; padding: 16px 20px; background: #fff; border: var(--fvh-line); border-radius: 14px;
	text-decoration: none !important; color: var(--fvh-ink) !important; transition: transform .3s var(--fvh-ease), box-shadow .25s, background .2s;
}
.fvh-downloads a b { font-family: var(--fvh-ui); font-weight: 700; font-size: 19px; display: block; line-height: 1.2; }
.fvh-downloads a small { font-size: 14.5px; color: var(--fvh-ink-2); }
.fvh-downloads a .fvh-ico { width: 38px; height: 38px; padding: 8px; border-radius: 50%; background: var(--fvh-yellow); flex: none; transition: transform .3s var(--fvh-ease); }
.fvh-downloads a:hover { transform: translateX(6px); box-shadow: -6px 6px 0 var(--fvh-ink); background: var(--fvh-paper); }
.fvh-downloads a:hover .fvh-ico { transform: translateY(3px); background: var(--fvh-red); color: #fff; }

/* Figuren-Liste (Tradition) */
.fvh-figur { display: grid; grid-template-columns: 300px 1fr; gap: 34px; align-items: start; padding: 34px 0; border-bottom: 2px dashed rgba(22,20,18,.18); }
.fvh-figur:last-child { border-bottom: 0; }
.fvh-figur img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border: 7px solid #fff; border-radius: 6px; box-shadow: 7px 7px 0 var(--fvh-ink); transform: rotate(-1.5deg); transition: transform .45s var(--fvh-ease), box-shadow .3s; cursor: zoom-in; }
.fvh-figur:nth-child(even) img { transform: rotate(1.5deg); }
.fvh-figur:hover img { transform: rotate(0) scale(1.03); box-shadow: 10px 10px 0 var(--fvh-red); }
.fvh-figur h3 { font-family: var(--fvh-display) !important; font-weight: 400 !important; font-size: clamp(34px, 3.6vw, 46px) !important; line-height: 1; }
.fvh-figurnav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; padding: 0 !important; list-style: none !important; }
.fvh-figurnav li { padding: 0 !important; }
.fvh-figurnav a { display: inline-block; font-family: var(--fvh-ui); font-weight: 700; font-size: 16px; padding: 6px 14px; border: var(--fvh-line); border-radius: 999px; color: var(--fvh-ink) !important; text-decoration: none !important; background: #fff; transition: background .2s, transform .25s var(--fvh-ease); }
.fvh-figurnav a:hover { background: var(--fvh-yellow); transform: rotate(-3deg); }

/* ---------- Programm / Termine ---------- */
.fvh-programm { list-style: none !important; padding: 0 !important; margin: 0; counter-reset: d; }
.fvh-day { display: grid; grid-template-columns: 200px 1fr; gap: 34px; padding: 34px 0 !important; border-top: 2px dashed rgba(22,20,18,.2); position: relative; }
.fvh-day:first-child { border-top: 0; }
.fvh-day__date { position: sticky; top: calc(var(--fvh-sticky) + 20px); align-self: start; font-family: var(--fvh-ui); color: var(--fvh-ink); line-height: 1; }
.fvh-day__wd { display: block; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; font-size: 15px; color: var(--fvh-red); }
.fvh-day__d { display: block; font-family: var(--fvh-display); font-size: 92px; line-height: .9; margin: 4px 0 2px; }
.fvh-day__m { display: block; font-weight: 600; font-size: 18px; }
.fvh-day__events { display: grid; gap: 18px; position: relative; }
.fvh-day__tag {
	font-family: var(--fvh-display); font-size: 32px; line-height: 1; color: var(--fvh-ink); text-transform: uppercase; letter-spacing: .04em;
	transform: rotate(-2.5deg); transform-origin: left; display: inline-block; margin: -4px 0 -2px 6px;
}
.fvh-day__tag::after { content: ""; display: block; height: 6px; margin-top: 2px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M2 6c10-4 18 3 28-1s17-4 26 0 18 3 28-1 10-2 14 0' fill='none' stroke='%23c51b32' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") left/100% 100% no-repeat; }
.fvh-day__past { position: absolute; right: 0; top: 0; font-family: var(--fvh-display); font-size: 24px; color: var(--fvh-green); transform: rotate(6deg); }
.fvh-ev {
	position: relative; background: var(--fvh-yellow); color: var(--fvh-ink);
	padding: 24px 32px 22px; border-radius: 34px 80px 40px 70px / 60px 34px 70px 38px;
	transition: transform .4s var(--fvh-ease), box-shadow .3s;
	transform: rotate(-.5deg);
}
.fvh-ev:nth-child(even) { transform: rotate(.5deg); border-radius: 80px 36px 70px 40px / 36px 64px 40px 70px; }
.fvh-ev:hover { transform: rotate(0) scale(1.015); box-shadow: 7px 7px 0 var(--fvh-ink); }
.fvh-ev.is-highlight { background: var(--fvh-yellow); border: 3px solid var(--fvh-ink); box-shadow: 6px 6px 0 var(--fvh-red); }
.fvh-ev.is-highlight:hover { box-shadow: 9px 9px 0 var(--fvh-red); }
.fvh-ev__time { font-family: var(--fvh-ui); font-weight: 700; font-size: 18px; color: var(--fvh-red); padding: 0 0 4px !important; margin: 0; }
.fvh-ev__title { font-family: var(--fvh-ui) !important; font-weight: 800 !important; font-size: clamp(23px, 2.4vw, 29px) !important; line-height: 1.12 !important; margin: 0; padding: 0 0 8px !important; color: var(--fvh-ink) !important; }
.fvh-ev__ort, .fvh-ev__mit { font-family: var(--fvh-ui); font-size: 18px; font-weight: 500; padding: 0 0 2px !important; margin: 0; display: flex; gap: .45em; align-items: flex-start; }
.fvh-ev__ort .fvh-ico, .fvh-ev__mit .fvh-ico { margin-top: .2em; }
.fvh-ev__text { font-size: 16.5px; line-height: 1.5; margin-top: 8px; }
.fvh-ev__text p { padding: 0 !important; font-size: inherit !important; }
.fvh-ev__ics {
	display: inline-flex; gap: .4em; align-items: center; margin-top: 12px; font-family: var(--fvh-ui); font-weight: 700; font-size: 14px;
	text-transform: uppercase; letter-spacing: .08em; color: var(--fvh-ink) !important; text-decoration: none !important;
	padding: 5px 12px; border: 2px solid var(--fvh-ink); border-radius: 999px; transition: background .2s, color .2s, transform .25s var(--fvh-ease);
}
.fvh-ev__ics:hover { background: var(--fvh-ink); color: var(--fvh-yellow) !important; transform: rotate(-2deg); }
.fvh-day.is-past .fvh-ev { background: #efe9d5; }
.fvh-day.is-past { opacity: .7; }

/* Nächste Termine (kompakt) */
.fvh-next { list-style: none !important; padding: 0 !important; margin: 0; display: grid; gap: 12px; }
.fvh-next__item { display: flex; gap: 18px; align-items: center; padding: 12px 14px !important; border-radius: 16px; transition: background .2s, transform .3s var(--fvh-ease); }
.fvh-next__item:hover { background: rgba(255,255,255,.55); transform: translateX(6px); }
.fvh-next__date { flex: none; width: 76px; height: 76px; display: grid; place-content: center; text-align: center; background: var(--fvh-ink); color: var(--fvh-yellow); border-radius: 18px 28px 16px 26px; transform: rotate(-4deg); font-family: var(--fvh-ui); font-weight: 700; text-transform: uppercase; font-size: 14px; letter-spacing: .08em; line-height: 1; transition: transform .35s var(--fvh-ease); }
.fvh-next__item:nth-child(even) .fvh-next__date { transform: rotate(3deg); background: var(--fvh-red); color: #fff; }
.fvh-next__item:hover .fvh-next__date { transform: rotate(0) scale(1.06); }
.fvh-next__date b { font-family: var(--fvh-display); font-weight: 400; font-size: 38px; letter-spacing: 0; }
.fvh-next__body { display: flex; flex-direction: column; }
.fvh-next__meta { font-family: var(--fvh-ui); font-weight: 600; font-size: 15px; text-transform: uppercase; letter-spacing: .08em; color: var(--fvh-red); }
.fvh-next__title { font-family: var(--fvh-ui); font-weight: 800; font-size: 22px; color: var(--fvh-ink); line-height: 1.15; }
.fvh-next__ort { font-size: 16px; color: var(--fvh-ink-2); }
.fvh-sec--yellow .fvh-next__meta { color: var(--fvh-red-2); }

/* Nächster Termin groß */
.fvh-nextbig { display: grid; grid-template-columns: auto 1fr; gap: 40px; align-items: center; }
.fvh-nextbig__date {
	width: 210px; height: 210px; border-radius: 50%; background: var(--fvh-red); color: #fff; display: grid; place-content: center; text-align: center;
	font-family: var(--fvh-ui); font-weight: 700; text-transform: uppercase; letter-spacing: .1em; font-size: 17px; line-height: 1;
	border: 3px solid var(--fvh-ink); box-shadow: 6px 6px 0 var(--fvh-ink); transform: rotate(-8deg); transition: transform .6s var(--fvh-ease);
}
.fvh-nextbig:hover .fvh-nextbig__date { transform: rotate(4deg) scale(1.04); }
.fvh-nextbig__date b { font-family: var(--fvh-display); font-weight: 400; font-size: 104px; line-height: .85; color: var(--fvh-yellow); letter-spacing: 0; margin: 4px 0; }
.fvh-nextbig h3 { font-family: var(--fvh-display) !important; font-weight: 400 !important; font-size: clamp(38px, 4.6vw, 62px) !important; line-height: .95 !important; padding-bottom: 12px !important; }
.fvh-nextbig__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; font-family: var(--fvh-ui); font-weight: 600; font-size: 20px; color: var(--fvh-ink); padding-bottom: 8px !important; }
.fvh-nextbig__meta span { display: inline-flex; gap: .4em; align-items: center; }
.fvh-nextbig__text p { font-size: 18px !important; }

/* ---------- Galerie ---------- */
.fvh-years-wrap {
	position: sticky; top: var(--fvh-sticky); z-index: 20; display: flex; align-items: center; gap: 14px;
	background: var(--fvh-paper); padding: 14px 0; margin-bottom: 18px; border-bottom: 2px solid rgba(22,20,18,.08);
}
.fvh-years-label { font-family: var(--fvh-ui); font-weight: 700; text-transform: uppercase; letter-spacing: .14em; font-size: 14px; color: var(--fvh-red); flex: none; }
.fvh-years { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 4px 6px 6px 2px; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity; }
.fvh-years::-webkit-scrollbar { display: none; }
.fvh-year {
	flex: none; scroll-snap-align: start; font-family: var(--fvh-ui); font-weight: 700; font-size: 19px; color: var(--fvh-ink) !important; text-decoration: none !important;
	padding: 7px 16px 6px; border: var(--fvh-line); border-radius: 999px; background: #fff; transition: transform .25s var(--fvh-ease), background .2s, box-shadow .2s;
}
.fvh-year:hover { background: var(--fvh-yellow); transform: translateY(-2px) rotate(-3deg); }
.fvh-year.is-active { background: var(--fvh-ink); color: var(--fvh-yellow) !important; box-shadow: 3px 3px 0 var(--fvh-red); }
.fvh-year-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 20px; margin: 18px 0 22px; }
.fvh-year-head h2 { font-size: clamp(40px, 5vw, 60px); padding: 0; margin: 0; }
.fvh-year-head p { font-family: var(--fvh-ui); font-weight: 600; font-size: 18px; color: var(--fvh-ink-2); padding: 0; }
.fvh-gal.is-js .fvh-year-panel { display: none; }
.fvh-gal.is-js .fvh-year-panel.is-active { display: block; animation: fvh-fade .45s ease both; }
.fvh-gal:not(.is-js) .fvh-year-panel { margin-bottom: 50px; }
@keyframes fvh-fade { from { opacity: 0; transform: translateY(12px); } }

.fvh-evgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 30px 26px; }
.fvh-evcard { display: block; text-decoration: none !important; color: var(--fvh-ink) !important; background: #fff; border: var(--fvh-line); border-radius: 18px; overflow: hidden; transition: transform .4s var(--fvh-ease), box-shadow .3s; }
.fvh-evcard__img { display: block; position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--fvh-cream); border-bottom: var(--fvh-line); }
.fvh-evcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--fvh-ease), filter .4s; }
.fvh-evcard__count { position: absolute; left: 12px; bottom: 12px; background: var(--fvh-yellow); border: 2px solid var(--fvh-ink); border-radius: 999px; padding: 3px 11px 2px; font-family: var(--fvh-ui); font-weight: 700; font-size: 15px; display: inline-flex; gap: .35em; align-items: center; }
.fvh-evcard__body { display: block; padding: 16px 20px 18px; }
.fvh-evcard__year { display: block; font-family: var(--fvh-ui); font-weight: 700; font-size: 14px; letter-spacing: .14em; color: var(--fvh-red); }
.fvh-evcard__title { display: block; font-family: var(--fvh-ui); font-weight: 800; font-size: 23px; line-height: 1.15; margin-bottom: 8px; }
.fvh-evcard__more { font-family: var(--fvh-ui); font-weight: 700; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--fvh-red); display: inline-flex; gap: .35em; align-items: center; }
.fvh-evcard__more .fvh-ico { transition: transform .3s var(--fvh-ease); }
.fvh-evcard:hover { transform: translateY(-6px) rotate(-1.2deg); box-shadow: 8px 8px 0 var(--fvh-ink); }
.fvh-evcard:nth-child(even):hover { transform: translateY(-6px) rotate(1.2deg); }
.fvh-evcard:hover .fvh-evcard__img img { transform: scale(1.08); }
.fvh-evcard:hover .fvh-evcard__more .fvh-ico { transform: translateX(5px); }

/* Veranstaltung */
.fvh-event { padding: 34px 0 90px; }
.fvh-crumbs { font-family: var(--fvh-ui); font-weight: 600; font-size: 16px; color: var(--fvh-ink-2); display: flex; flex-wrap: wrap; gap: 8px; }
.fvh-crumbs a { color: var(--fvh-ink); text-decoration: underline; text-decoration-color: var(--fvh-yellow-2); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.fvh-event__head { padding: 26px 0 26px; position: relative; }
.fvh-event__title { font-family: var(--fvh-display); font-weight: 400; font-size: clamp(50px, 7vw, 92px); line-height: .95; padding: 0 0 12px; margin: 0; }
.fvh-event__meta { font-family: var(--fvh-ui); font-weight: 600; font-size: 18px; color: var(--fvh-ink-2); display: flex; gap: .45em; align-items: center; }
.fvh-event__text { max-width: 760px; margin-top: 16px; padding: 20px 24px; background: var(--fvh-cream); border-radius: 18px; border: var(--fvh-line); font-size: 17px; }
.fvh-event__text p:last-child { padding-bottom: 0; }

.fvh-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; }
.fvh-photos--inline { grid-template-columns: repeat(var(--cols, 4), 1fr); margin: 10px 0 24px; }
.fvh-ph { display: block; position: relative; aspect-ratio: 1; overflow: hidden; border-radius: 10px; background: var(--fvh-cream); cursor: zoom-in; transition: transform .35s var(--fvh-ease), box-shadow .25s; }
.fvh-ph img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--fvh-ease); }
.fvh-ph::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 0 var(--fvh-yellow); transition: box-shadow .25s; pointer-events: none; }
.fvh-ph:hover { transform: rotate(-1.5deg) scale(1.03); z-index: 2; box-shadow: 5px 5px 0 var(--fvh-ink); }
.fvh-ph:nth-child(3n):hover { transform: rotate(1.5deg) scale(1.03); }
.fvh-ph:hover img { transform: scale(1.08); }
.fvh-ph:hover::after { box-shadow: inset 0 0 0 5px var(--fvh-yellow); }
.fvh-more-wrap { text-align: center; margin: 34px 0 0; }

.fvh-eventnav { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: stretch; margin-top: 60px; padding-top: 30px; border-top: 2px dashed rgba(22,20,18,.2); }
.fvh-eventnav a { font-family: var(--fvh-ui); font-weight: 800; font-size: 20px; color: var(--fvh-ink) !important; text-decoration: none !important; padding: 14px 18px; border: var(--fvh-line); border-radius: 16px; background: #fff; transition: transform .3s var(--fvh-ease), box-shadow .25s, background .2s; line-height: 1.2; }
.fvh-eventnav a small { display: block; font-weight: 700; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--fvh-red); }
.fvh-eventnav__next { text-align: right; }
.fvh-eventnav__all { align-self: center; background: var(--fvh-yellow) !important; border-radius: 999px !important; font-size: 17px !important; text-transform: uppercase; letter-spacing: .06em; }
.fvh-eventnav a:hover { transform: translateY(-3px); box-shadow: 5px 5px 0 var(--fvh-ink); background: var(--fvh-paper); }

/* Lightbox */
.fvh-lb { position: fixed; inset: 0; z-index: 100000; background: rgba(18,16,14,.96); display: none; color: #fff; touch-action: pan-y; }
.fvh-lb.is-open { display: block; animation: fvh-fade .25s ease both; }
.fvh-lb__stage { position: absolute; inset: 64px 76px 70px; display: grid; place-items: center; }
.fvh-lb__img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 4px; box-shadow: 0 20px 60px rgba(0,0,0,.5); transition: opacity .2s; user-select: none; -webkit-user-drag: none; }
.fvh-lb__img.is-loading { opacity: .25; }
.fvh-lb__bar { position: absolute; left: 0; right: 0; top: 0; height: 64px; display: flex; align-items: center; gap: 16px; padding: 0 18px; font-family: var(--fvh-ui); }
.fvh-lb__title { font-weight: 700; font-size: 18px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fvh-lb__count { font-weight: 600; font-size: 16px; color: var(--fvh-yellow); }
.fvh-lb button, .fvh-lb__dl {
	appearance: none; border: 2px solid var(--fvh-ink); background: var(--fvh-yellow); color: var(--fvh-ink); width: 48px; height: 48px; border-radius: 50%;
	display: grid; place-items: center; cursor: pointer; font-size: 26px; line-height: 1; transition: transform .25s var(--fvh-ease), background .2s; padding: 0;
}
.fvh-lb__dl { width: 44px; height: 44px; }
.fvh-lb__dl .fvh-ico { width: 22px; height: 22px; }
.fvh-lb button:hover, .fvh-lb__dl:hover { transform: scale(1.1) rotate(-6deg); background: #fff; }
.fvh-lb__prev, .fvh-lb__next { position: absolute; top: 50%; margin-top: -24px; }
.fvh-lb__prev { left: 14px; }
.fvh-lb__next { right: 14px; }
.fvh-lb__close { background: #fff !important; }
.fvh-lb__hint { position: absolute; bottom: 22px; left: 0; right: 0; text-align: center; font-family: var(--fvh-ui); font-size: 15px; color: rgba(255,255,255,.55); }

/* ---------- Footer ---------- */
#main-footer { display: none; }
.fvh-footer { background: var(--fvh-ink); color: #d9d2c3; position: relative; padding: 70px 0 0; font-size: 17px; }
.fvh-footer__dots { position: absolute; top: -24px; left: 50%; transform: translateX(-50%); display: flex; gap: 14px; }
.fvh-footer__dots i { width: 44px; height: 44px; border-radius: 50%; border: 3px solid var(--fvh-ink); display: block; transition: transform .5s var(--fvh-ease); }
.fvh-footer__dots i:nth-child(1) { background: var(--fvh-red); }
.fvh-footer__dots i:nth-child(2) { background: var(--fvh-yellow); transform: translateY(-10px); }
.fvh-footer__dots i:nth-child(3) { background: var(--fvh-green); }
.fvh-footer:hover .fvh-footer__dots i:nth-child(1) { transform: translateY(-12px); }
.fvh-footer:hover .fvh-footer__dots i:nth-child(2) { transform: translateY(0); }
.fvh-footer:hover .fvh-footer__dots i:nth-child(3) { transform: translateY(-14px); }
.fvh-footer__grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 46px; }
.fvh-footer__brand { display: flex; gap: 18px; align-items: center; }
.fvh-footer__brand img { width: 92px; height: auto; transition: transform .5s var(--fvh-ease); }
.fvh-footer__brand:hover img { transform: rotate(-8deg) scale(1.05); }
.fvh-footer__brand p, .fvh-footer p { color: #d9d2c3; padding-bottom: .6em; line-height: 1.5; }
.fvh-footer strong { color: #fff; font-family: var(--fvh-ui); font-weight: 700; font-size: 20px; line-height: 1.2; }
.fvh-footer__h { font-family: var(--fvh-display) !important; font-weight: 400 !important; color: var(--fvh-yellow) !important; font-size: 32px !important; padding-bottom: 10px; }
.fvh-footer a { color: #fff; text-decoration: none; background: linear-gradient(var(--fvh-yellow), var(--fvh-yellow)) left 100% / 0 2px no-repeat; transition: background-size .3s, color .2s; }
.fvh-footer a:hover { color: var(--fvh-yellow); background-size: 100% 2px; }
.fvh-footer__links { list-style: none; padding: 0; margin: 0; }
.fvh-footer__links li { padding: 0 0 8px; }
.fvh-footer__motto { font-family: var(--fvh-display); font-size: 24px; line-height: 1.2; color: #fff !important; transform: rotate(-2deg); margin-top: 10px; }
.fvh-footer__bottom { border-top: 1px solid rgba(255,255,255,.14); padding: 20px 0 26px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 30px; font-size: 15px; color: #a79f90; }
.fvh-footer__legal ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 0; padding: 0; }
.fvh-footer__legal a { color: #d9d2c3; }

/* ---------- Shop (WooCommerce) ---------- */
.fvh-shopbar { width: min(1180px, calc(100% - 40px)); margin: 30px auto 0 !important; display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 0 0 28px; padding: 14px 20px; background: var(--fvh-yellow); border: var(--fvh-line); border-radius: 16px; }
.fvh-shopbar__t { font-family: var(--fvh-display); font-size: 34px; line-height: 1; color: var(--fvh-ink); }
.fvh-shopbar__cart { font-family: var(--fvh-ui); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--fvh-ink) !important; text-decoration: none; display: inline-flex; gap: 8px; align-items: center; }
.fvh-shopbar__cart b { background: var(--fvh-ink); color: var(--fvh-yellow); border-radius: 999px; min-width: 28px; height: 28px; display: inline-grid; place-items: center; padding: 0 6px; }
body.fvh-shop-area #main-content .container { padding-top: 46px; }
body.fvh-shop-area #left-area { width: 100%; padding-right: 0 !important; }
body.fvh-shop-area #sidebar { display: none; }
body.fvh-shop-area #main-content .container:before { display: none; }
.woocommerce-products-header__title, .woocommerce div.product .product_title { font-family: var(--fvh-display); font-weight: 400; font-size: clamp(44px, 5.5vw, 72px) !important; line-height: .95; color: var(--fvh-ink); }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	background: #fff; border: var(--fvh-line); border-radius: 18px; padding: 0 0 18px !important; overflow: hidden;
	transition: transform .4s var(--fvh-ease), box-shadow .3s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-6px) rotate(-1deg); box-shadow: 8px 8px 0 var(--fvh-ink); }
.woocommerce ul.products li.product a img { margin: 0 0 14px !important; border-bottom: var(--fvh-line); transition: transform .7s var(--fvh-ease); }
.woocommerce ul.products li.product .et_shop_image { overflow: hidden; display: block; }
.woocommerce ul.products li.product:hover .et_shop_image img { transform: scale(1.06); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--fvh-ui); font-weight: 800; font-size: 21px !important; color: var(--fvh-ink); padding: 0 18px 4px !important; line-height: 1.2; }
.woocommerce ul.products li.product .price { padding: 0 18px; font-family: var(--fvh-ui); font-weight: 700; font-size: 19px !important; color: var(--fvh-red) !important; }
.woocommerce ul.products li.product .button { margin: 10px 18px 0 !important; }
.woocommerce span.onsale { background: var(--fvh-red) !important; }
.et_overlay { display: none !important; }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce a.button.alt, .woocommerce button.button.alt,
.wc-block-components-button:not(.is-link) {
	font-family: var(--fvh-ui) !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .06em; font-size: 16px !important;
	background: var(--fvh-yellow) !important; color: var(--fvh-ink) !important; border: 2px solid var(--fvh-ink) !important; border-radius: 999px !important;
	padding: 11px 22px !important; box-shadow: 3px 3px 0 var(--fvh-ink); transition: transform .25s var(--fvh-ease), box-shadow .25s !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.button.alt:hover, .wc-block-components-button:not(.is-link):hover { transform: translate(-2px,-2px) rotate(-1.5deg); box-shadow: 6px 6px 0 var(--fvh-red); padding: 11px 22px !important; }
.woocommerce a.button:after, .woocommerce button.button:after { display: none !important; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--fvh-red) !important; font-family: var(--fvh-ui); font-weight: 800; font-size: 30px !important; }
.woocommerce div.product div.images img { border: var(--fvh-line); border-radius: 18px; }
.woocommerce div.product form.cart .variations select,
.woocommerce div.product form.cart .variations td select {
	min-width: 220px; height: auto; font-size: 17px !important; color: var(--fvh-ink); border: var(--fvh-line); border-radius: 10px; padding: 10px 12px; font-family: var(--fvh-ui); font-size: 17px; background: #fff; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations label { font-family: var(--fvh-ui); font-weight: 700; font-size: 17px; }
.woocommerce .quantity input.qty { border: var(--fvh-line) !important; border-radius: 10px; font-family: var(--fvh-ui); font-size: 18px !important; }

/* ---------- Responsiv ---------- */
@media (max-width: 980px) {
	.fvh-pagehead.has-img .fvh-pagehead__grid { grid-template-columns: 1fr; }
	.fvh-pagehead__img { max-width: 560px; }
	.fvh-footer__grid { grid-template-columns: 1fr 1fr; }
	.fvh-day { grid-template-columns: 150px 1fr; gap: 22px; }
	.fvh-day__d { font-size: 72px; }
	.fvh-figur { grid-template-columns: 220px 1fr; gap: 24px; }
	.fvh-collage { min-height: 460px; margin-top: 30px; }
}
@media (max-width: 767px) {
	body { font-size: 17px; }
	.fvh-hero { min-height: 0; display: block; background: var(--fvh-paper); }
	.fvh-hero__media { position: relative; height: 58vh; min-height: 340px; }
	.fvh-hero::after { display: none; }
	.fvh-hero__inner { padding: 0 0 40px; margin-top: -90px; position: relative; }
	.fvh-hero__card { padding: 36px 26px 34px; border-radius: 60px 40px 70px 34px / 40px 60px 34px 60px; box-shadow: 6px 8px 0 var(--fvh-ink); }
	.fvh-hero__stamp { width: 100px; height: 100px; right: -6px; top: -54px; }
	.fvh-hero__stamp b { font-size: 44px; }
	.fvh-hero__stamp span { font-size: 12px; }
	.fvh-hero__stamp small { display: none; }
	.fvh-hero__side { display: none; }
	.fvh-btn, body #page-container .et_pb_button { font-size: 15px !important; padding: 12px 20px 11px !important; }
	.fvh-day { grid-template-columns: 1fr; gap: 12px; padding: 26px 0 !important; }
	.fvh-day__date { position: static; display: flex; align-items: baseline; gap: 10px; }
	.fvh-day__d { font-size: 54px; margin: 0; }
	.fvh-ev { padding: 20px 22px 18px; border-radius: 26px 48px 30px 44px / 40px 26px 44px 30px !important; }
	.fvh-nextbig { grid-template-columns: 1fr; gap: 24px; }
	.fvh-nextbig__date { width: 150px; height: 150px; }
	.fvh-nextbig__date b { font-size: 72px; }
	.fvh-evgrid, .fvh-evgrid--teaser { grid-template-columns: 1fr 1fr; gap: 14px; }
	.fvh-evcard__title { font-size: 18px; }
	.fvh-evcard__body { padding: 12px 12px 14px; }
	.fvh-evcard__more { display: none; }
	.fvh-photos { grid-template-columns: repeat(3, 1fr); gap: 6px; }
	.fvh-photos--inline { grid-template-columns: repeat(2, 1fr); }
	.fvh-ph { border-radius: 6px; }
	.fvh-lb__stage { inset: 60px 0 60px; }
	.fvh-lb__prev, .fvh-lb__next { top: auto; bottom: 10px; margin: 0; }
	.fvh-lb__prev { left: calc(50% - 64px); }
	.fvh-lb__next { right: calc(50% - 64px); }
	.fvh-lb__hint { display: none; }
	.fvh-eventnav { grid-template-columns: 1fr 1fr; }
	.fvh-eventnav__all { grid-column: 1 / -1; order: -1; text-align: center; }
	.fvh-footer__grid { grid-template-columns: 1fr; gap: 26px; }
	.fvh-figur { grid-template-columns: 1fr; }
	.fvh-figur img { max-width: 360px; }
	.fvh-collage { min-height: 380px; }
	.fvh-people { grid-template-columns: repeat(2, 1fr); gap: 22px 14px; }
	.fvh-person__name { font-size: 18px; }
	.fvh-years-label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

body.admin-bar .fvh-lb { top: 32px; }
@media (max-width: 782px) { body.admin-bar .fvh-lb { top: 46px; } }

/* Bildmodule in Karten & Splits immer spaltenbreit */
.et_pb_column.fvh-card .et_pb_image,
.et_pb_column.fvh-card .et_pb_image .et_pb_image_wrap,
.fvh-split .et_pb_image,
.fvh-split .et_pb_image .et_pb_image_wrap { display: block; width: 100% !important; max-width: none !important; text-align: left; }
.et_pb_column.fvh-card .et_pb_image img { width: 100% !important; height: auto !important; aspect-ratio: 4 / 3 !important; object-fit: cover; object-position: center 30%; }
.fvh-split .et_pb_image img { width: 100% !important; height: auto; }
.fvh-figrow .et_pb_image img { aspect-ratio: 4 / 5 !important; object-fit: cover; }


/* ==========================================================================
   Mobiles Menü
   ========================================================================== */
@media (max-width: 980px) {
	#et_mobile_nav_menu { margin-top: -4px; }
	.mobile_nav .mobile_menu_bar { width: 48px; height: 48px; border-radius: 50%; background: var(--fvh-yellow); border: 2px solid var(--fvh-ink); box-shadow: 3px 3px 0 var(--fvh-ink); display: grid !important; place-items: center; padding: 0 !important; transition: transform .3s var(--fvh-ease), box-shadow .2s, background .2s; }
	.mobile_nav .mobile_menu_bar:before { position: static !important; font-size: 30px !important; line-height: 1 !important; color: var(--fvh-ink) !important; top: auto !important; left: auto !important; }
	.mobile_nav.opened .mobile_menu_bar { background: var(--fvh-ink); transform: rotate(-8deg); box-shadow: 3px 3px 0 var(--fvh-red); }
	.mobile_nav.opened .mobile_menu_bar:before { color: var(--fvh-yellow) !important; content: "\4d" !important; }
	.et_header_style_left .mobile_menu_bar { padding-bottom: 0 !important; }

	html.fvh-mm-open, html.fvh-mm-open body { overflow: hidden; }
	#main-header .et_mobile_menu,
	.et_mobile_menu {
		position: fixed !important; left: 0 !important; right: 0 !important; top: var(--fvh-mh, 80px) !important; width: 100% !important;
		max-height: calc(100vh - var(--fvh-mh, 80px)); max-height: calc(100dvh - var(--fvh-mh, 80px)); overflow-y: auto; overscroll-behavior: contain;
		margin: 0 !important; padding: 10px 22px 34px !important; border: 0 !important;
		background: var(--fvh-paper) !important; box-shadow: 0 30px 50px rgba(22,20,18,.28) !important;
		border-top: 2px solid var(--fvh-ink) !important;
	}
	.et_mobile_menu li { position: relative; padding: 0 !important; }
	#main-header .et_mobile_menu > li > a,
	.et_mobile_menu > li > a {
		display: block; padding: 15px 60px 14px 4px !important; border-bottom: 2px dashed rgba(22,20,18,.14) !important;
		font-family: var(--fvh-display) !important; font-weight: 400 !important; font-size: 30px !important; line-height: 1.05 !important;
		color: var(--fvh-ink) !important; background: none !important; letter-spacing: .01em; text-transform: none;
		opacity: 0; transform: translateY(8px); animation: fvh-mm-in .4s var(--fvh-ease) forwards;
	}
	.et_mobile_menu > li:nth-child(2) > a { animation-delay: .04s; }
	.et_mobile_menu > li:nth-child(3) > a { animation-delay: .08s; }
	.et_mobile_menu > li:nth-child(4) > a { animation-delay: .12s; }
	.et_mobile_menu > li:nth-child(5) > a { animation-delay: .16s; }
	.et_mobile_menu > li:nth-child(6) > a { animation-delay: .2s; }
	@keyframes fvh-mm-in { to { opacity: 1; transform: none; } }
	.et_mobile_menu > li.current-menu-item > a,
	.et_mobile_menu > li.current-menu-ancestor > a { color: var(--fvh-red) !important; }
	.et_mobile_menu > li > a:active { background: var(--fvh-yellow) !important; }

	/* Aufklapp-Knopf */
	.fvh-subtoggle {
		position: absolute; right: 2px; top: 10px; width: 44px; height: 44px; border-radius: 50%;
		border: 2px solid var(--fvh-ink); background: #fff; color: var(--fvh-ink); display: grid; place-items: center; padding: 0; cursor: pointer;
		transition: transform .35s var(--fvh-ease), background .2s;
	}
	.fvh-subtoggle svg { width: 22px; height: 22px; }
	.fvh-open > .fvh-subtoggle { transform: rotate(180deg); background: var(--fvh-yellow); }

	/* Untermenüs eingeklappt */
	#main-header .et_mobile_menu li ul.sub-menu,
	.et_mobile_menu li ul.sub-menu {
		display: none !important; visibility: visible !important; padding: 8px 0 !important; margin: 4px 0 14px !important;
		background: #fff !important; border: 2px solid var(--fvh-ink) !important; border-radius: 16px; box-shadow: 5px 5px 0 var(--fvh-yellow-2);
	}
	#main-header .et_mobile_menu li.fvh-open > ul.sub-menu,
	.et_mobile_menu li.fvh-open > ul.sub-menu { display: block !important; animation: fvh-fade .3s ease both; }
	#main-header .et_mobile_menu li ul.sub-menu a,
	.et_mobile_menu li li a {
		display: block; padding: 11px 18px !important; border: 0 !important; background: none !important;
		font-family: var(--fvh-ui) !important; font-weight: 600 !important; font-size: 18px !important; color: var(--fvh-ink) !important; width: auto !important;
	}
	.et_mobile_menu li li + li a { border-top: 1px solid #eee5c8 !important; }
	.et_mobile_menu li li.current-menu-item > a { color: var(--fvh-red) !important; }
	.et_mobile_menu li li a:active { background: var(--fvh-cream) !important; }

	/* Narrenshop als Knopf */
	#main-header .et_mobile_menu li.fvh-menu-shop { margin-top: 20px; }
	#main-header .et_mobile_menu li.fvh-menu-shop > a {
		text-align: center; padding: 14px 20px !important; border: 2px solid var(--fvh-ink) !important; border-radius: 999px;
		background: var(--fvh-yellow) !important; box-shadow: 4px 4px 0 var(--fvh-ink); font-size: 28px !important;
	}

	/* Fußzeile im Menü */
	.et_mobile_menu li.fvh-mm-info { margin-top: 26px; padding: 18px 4px 0 !important; font-family: var(--fvh-ui); font-size: 15px; line-height: 1.45; color: var(--fvh-ink-2); display: flex; flex-direction: column; gap: 2px; }
	.et_mobile_menu li.fvh-mm-info b { color: var(--fvh-ink); font-size: 16px; }
	.et_mobile_menu li.fvh-mm-info a { color: var(--fvh-red) !important; padding: 0 !important; border: 0 !important; font-size: 15px !important; font-family: var(--fvh-ui) !important; }
	.fvh-mm-dots { display: flex; gap: 8px; margin-bottom: 10px; }
	.fvh-mm-dots i { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--fvh-ink); display: block; }
	.fvh-mm-dots i:nth-child(1) { background: var(--fvh-red); }
	.fvh-mm-dots i:nth-child(2) { background: var(--fvh-yellow); }
	.fvh-mm-dots i:nth-child(3) { background: var(--fvh-green); }
}

/* ==========================================================================
   Formulare (Gravity Forms)
   ========================================================================== */
.fvh-formbox { margin: 8px 0 10px; border: 2px solid var(--fvh-ink); border-radius: 22px; background: #fff; box-shadow: 6px 6px 0 var(--fvh-yellow-2); overflow: hidden; transition: box-shadow .3s; }
.fvh-formbox[open] { box-shadow: 8px 8px 0 var(--fvh-ink); }
.fvh-formbox summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 16px; padding: 18px 22px; background: var(--fvh-yellow); transition: background .2s; }
.fvh-formbox summary::-webkit-details-marker { display: none; }
.fvh-formbox summary:hover { background: var(--fvh-yellow-2); }
.fvh-formbox__ico { flex: none; width: 46px; height: 46px; border-radius: 50%; background: var(--fvh-ink); color: var(--fvh-yellow); display: grid; place-items: center; font-size: 22px; transform: rotate(-8deg); transition: transform .4s var(--fvh-ease); }
.fvh-formbox summary:hover .fvh-formbox__ico { transform: rotate(8deg) scale(1.06); }
.fvh-formbox__t { flex: 1; font-family: var(--fvh-ui); font-weight: 800; font-size: 22px; line-height: 1.15; color: var(--fvh-ink); }
.fvh-formbox__t small { display: block; font-weight: 500; font-size: 15px; color: var(--fvh-ink-2); }
.fvh-formbox__chev { flex: none; width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--fvh-ink); background: #fff; position: relative; transition: transform .35s var(--fvh-ease); }
.fvh-formbox__chev::before { content: ""; position: absolute; left: 50%; top: 45%; width: 10px; height: 10px; border-right: 3px solid var(--fvh-ink); border-bottom: 3px solid var(--fvh-ink); transform: translate(-50%, -50%) rotate(45deg); }
.fvh-formbox[open] .fvh-formbox__chev { transform: rotate(180deg); }
.fvh-formbox__body { padding: 26px 28px 30px; animation: fvh-fade .35s ease both; }
.fvh-formbox .gform_wrapper .gform_title { display: none; }
.fvh-formbox .gform_wrapper .gform_description { font-size: 17px; color: var(--fvh-ink-2); margin-bottom: 10px; }
.gform_wrapper.gravity-theme .gfield_label, .gform_wrapper .gfield_label { font-family: var(--fvh-ui) !important; font-weight: 700 !important; font-size: 17px !important; color: var(--fvh-ink) !important; }
.gform_wrapper .gfield_required { color: var(--fvh-red) !important; }
.gform_wrapper input[type=text], .gform_wrapper input[type=email], .gform_wrapper input[type=tel], .gform_wrapper input[type=number], .gform_wrapper textarea, .gform_wrapper select {
	border: 2px solid var(--fvh-ink) !important; border-radius: 12px !important; padding: 12px 14px !important; font-family: var(--fvh-text) !important; font-size: 17px !important;
	background: var(--fvh-paper) !important; color: var(--fvh-ink) !important; box-shadow: none !important; transition: box-shadow .2s, background .2s;
}
.gform_wrapper input:focus, .gform_wrapper textarea:focus, .gform_wrapper select:focus { outline: none !important; background: #fff !important; box-shadow: 4px 4px 0 var(--fvh-yellow-2) !important; }
.gform_wrapper .gsection { border-bottom: 2px dashed rgba(22,20,18,.2) !important; padding: 16px 0 6px !important; margin-top: 10px; }
.gform_wrapper .gsection_title { font-family: var(--fvh-display) !important; font-weight: 400 !important; font-size: 30px !important; color: var(--fvh-ink) !important; }
.gform_wrapper .gsection_description { font-size: 15px; color: var(--fvh-ink-2); }
.gform_wrapper .gchoice { display: inline-flex; align-items: center; margin: 0 18px 6px 0; }
.gform_wrapper .gfield-choice-input { accent-color: var(--fvh-red); width: 20px !important; height: 20px !important; }
.gform_wrapper .gchoice label { font-size: 17px !important; font-family: var(--fvh-text); }
.gform_wrapper .gfield--type-checkbox .gchoice { display: flex; align-items: flex-start; }
.gform_wrapper .gfield--type-checkbox .gchoice label { line-height: 1.45; }
.gform_wrapper .gform_footer .gform_button, .gform_wrapper .gform_footer input[type=submit] {
	font-family: var(--fvh-ui) !important; font-weight: 700 !important; font-size: 17px !important; text-transform: uppercase; letter-spacing: .07em;
	padding: 15px 30px !important; border-radius: 999px !important; background: var(--fvh-ink) !important; color: var(--fvh-yellow) !important;
	border: 2px solid var(--fvh-ink) !important; box-shadow: 4px 4px 0 var(--fvh-red) !important; cursor: pointer; transition: transform .25s var(--fvh-ease), box-shadow .25s !important;
}
.gform_wrapper .gform_footer .gform_button:hover { transform: translate(-2px, -2px) rotate(-1.5deg); box-shadow: 7px 7px 0 var(--fvh-red) !important; }
.gform_wrapper .gform_validation_errors { border-radius: 14px !important; border: 2px solid var(--fvh-red) !important; }
.fvh-forminfo { background: var(--fvh-cream); border-radius: 14px; padding: 14px 18px; font-size: 16px; }
.fvh-forminfo p { padding: 0 0 6px !important; font-size: 16px !important; }
.fvh-thanks { background: var(--fvh-yellow); border: 2px solid var(--fvh-ink); border-radius: 18px; padding: 22px 24px; font-size: 18px; }
.fvh-thanks strong { font-family: var(--fvh-display); font-weight: 400; font-size: 32px; display: block; line-height: 1.1; }
@media (max-width: 767px) {
	.fvh-formbox__body { padding: 18px 16px 22px; }
	.fvh-formbox summary { padding: 14px 14px; gap: 12px; }
	.fvh-formbox__ico { width: 38px; height: 38px; font-size: 18px; }
	.fvh-formbox__t { font-size: 19px; }
}
.fvh-formbox .gform_wrapper.gform-theme,
.fvh-formbox .gform-theme--foundation {
	--gf-ctrl-size: 50px; --gf-ctrl-border-color: var(--fvh-ink); --gf-ctrl-border-width: 2px; --gf-ctrl-radius: 12px;
	--gf-ctrl-bg-color: var(--fvh-paper); --gf-ctrl-font-size: 17px; --gf-color-primary: #c51b32; --gf-color-primary-rgb: 197, 27, 50;
	--gf-ctrl-border-color-focus: var(--fvh-ink); --gf-ctrl-label-font-size-primary: 17px; --gf-field-gap-y: 22px;
}
.fvh-formbox .gform_wrapper input[type=text], .fvh-formbox .gform_wrapper input[type=email], .fvh-formbox .gform_wrapper input[type=tel], .fvh-formbox .gform_wrapper input[type=number] { min-height: 50px !important; height: auto !important; }


/* ==========================================================================
   Narrenshop – Hinweise, Übersicht, Warenkorb & Kasse
   ========================================================================== */
/* Hinweise: Erfolg grün, Info cremefarben, Fehler rot */
.woocommerce-message, .woocommerce-info, .woocommerce-error,
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error {
	position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px;
	border: 2px solid var(--fvh-ink) !important; border-radius: 18px !important; padding: 18px 22px 18px 70px !important; margin: 0 0 28px !important;
	font-family: var(--fvh-ui); font-weight: 600; font-size: 18px !important; line-height: 1.35; list-style: none;
	box-shadow: 5px 5px 0 var(--fvh-ink); outline: 0 !important;
}
html body .woocommerce-message, html body.woocommerce .woocommerce-message { background: var(--fvh-green-dark) !important; background-color: var(--fvh-green-dark) !important; color: #fff !important; }
html body .woocommerce-info, html body.woocommerce .woocommerce-info { background: var(--fvh-cream) !important; background-color: var(--fvh-cream) !important; color: var(--fvh-ink) !important; }
html body .woocommerce-error, html body.woocommerce .woocommerce-error { background: var(--fvh-red) !important; background-color: var(--fvh-red) !important; color: #fff !important; }
html body .woocommerce-message::before, html body .woocommerce-info::before, html body .woocommerce-error::before {
	content: "✓" !important; font-family: var(--fvh-ui) !important; position: absolute !important; left: 18px !important; top: 50% !important; transform: translateY(-50%);
	width: 36px; height: 36px; border-radius: 50%; display: grid !important; place-items: center; font-size: 20px; font-weight: 800; line-height: 1 !important; opacity: 1 !important; visibility: visible !important;
	background: var(--fvh-yellow); color: var(--fvh-ink) !important; border: 2px solid var(--fvh-ink);
}
.woocommerce-info::before { content: "i" !important; }
.woocommerce-error::before { content: "!" !important; background: #fff; }
.woocommerce-message a:not(.button), .woocommerce-error a:not(.button) { color: #fff !important; text-decoration: underline; }
.woocommerce-message .button, .woocommerce-info .button { order: 2; float: none !important; margin: 0 !important; }
.woocommerce-error li { padding: 0 !important; }
.wc-block-components-notice-banner { border: 2px solid var(--fvh-ink) !important; border-radius: 16px !important; font-family: var(--fvh-ui); font-size: 17px !important; font-weight: 600; box-shadow: 4px 4px 0 var(--fvh-ink); }
.wc-block-components-notice-banner.is-success { background: var(--fvh-green-dark) !important; color: #fff !important; }
.wc-block-components-notice-banner.is-success > svg { background: var(--fvh-yellow) !important; fill: var(--fvh-ink) !important; }
.wc-block-components-notice-banner.is-error { background: var(--fvh-red) !important; color: #fff !important; }
.wc-block-components-notice-banner.is-error > svg { background: #fff !important; fill: var(--fvh-red) !important; }
.wc-block-components-notice-banner.is-info { background: var(--fvh-cream) !important; }
.wc-block-components-notice-banner a { color: inherit !important; }

/* Übersicht */
.fvh-shop-intro { font-size: 20px; line-height: 1.5; max-width: 42em; margin: -6px 0 22px; color: var(--fvh-ink-2); }
.fvh-shop-usp { list-style: none; padding: 0 !important; margin: 0 0 30px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.fvh-shop-usp li::before, .fvh-shop-usp li::marker { display: none; content: none; }
.fvh-shop-usp li { list-style: none; padding: 14px 18px !important; border: 2px solid var(--fvh-ink); border-radius: 16px; background: #fff; font-family: var(--fvh-ui); line-height: 1.2; transition: transform .3s var(--fvh-ease), box-shadow .25s; }
.fvh-shop-usp li:nth-child(1) { background: var(--fvh-yellow); }
.fvh-shop-usp li:hover { transform: rotate(-1.5deg) translateY(-2px); box-shadow: 4px 4px 0 var(--fvh-ink); }
.fvh-shop-usp b { display: block; font-weight: 800; font-size: 19px; color: var(--fvh-ink); }
.fvh-shop-usp span { font-size: 15.5px; color: var(--fvh-ink-2); }
.fvh-catnav { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 30px; }
.fvh-cat { font-family: var(--fvh-ui); font-weight: 700; font-size: 18px; color: var(--fvh-ink) !important; text-decoration: none !important; padding: 8px 18px 7px; border: 2px solid var(--fvh-ink); border-radius: 999px; background: #fff; display: inline-flex; gap: 8px; align-items: center; transition: transform .25s var(--fvh-ease), background .2s; }
.fvh-cat small { font-size: 13px; background: var(--fvh-cream); border-radius: 999px; padding: 1px 8px; }
.fvh-cat:hover { background: var(--fvh-yellow); transform: rotate(-3deg); }
.fvh-cat.is-active { background: var(--fvh-ink); color: var(--fvh-yellow) !important; box-shadow: 3px 3px 0 var(--fvh-red); }
.fvh-cat.is-active small { background: var(--fvh-yellow); color: var(--fvh-ink); }
.woocommerce .woocommerce-breadcrumb { font-family: var(--fvh-ui); font-size: 15px; color: var(--fvh-ink-2); }
.woocommerce .woocommerce-breadcrumb a { color: var(--fvh-ink); }
.woocommerce-products-header__title.page-title { padding-bottom: 8px; }
.term-description, .woocommerce-products-header .term-description { font-size: 19px; }

/* Seitentitel von Warenkorb / Kasse / Konto */
body.fvh-cart .main_title, body.fvh-checkout .main_title, body.woocommerce-account .main_title,
body.fvh-cart .entry-title, body.fvh-checkout .entry-title {
	font-family: var(--fvh-display) !important; font-weight: 400 !important; font-size: clamp(48px, 6vw, 80px) !important; line-height: .95 !important; color: var(--fvh-ink); padding-bottom: 14px !important;
}
body.fvh-cart #main-content .container, body.fvh-checkout #main-content .container, body.woocommerce-account #main-content .container { padding-top: 50px; }
body.fvh-cart #left-area, body.fvh-checkout #left-area, body.woocommerce-account #left-area { width: 100% !important; padding: 0 !important; float: none; }
body.fvh-cart #sidebar, body.fvh-checkout #sidebar, body.woocommerce-account #sidebar { display: none; }

/* Fortschritt */
.fvh-steps { list-style: none !important; padding: 0 !important; margin: 4px 0 34px !important; display: flex; align-items: center; gap: 0; counter-reset: none; }
.fvh-steps li { display: flex; align-items: center; padding: 0 !important; flex: 1; position: relative; }
.fvh-steps li:not(:last-child)::after { content: ""; flex: 1; height: 0; border-top: 3px dashed rgba(22,20,18,.25); margin: 0 14px; }
.fvh-steps li.is-done:not(:last-child)::after { border-top: 3px solid var(--fvh-green); }
.fvh-steps li:last-child { flex: none; }
.fvh-steps a { display: flex; align-items: center; gap: 10px; text-decoration: none !important; color: inherit !important; }
.fvh-steps__n { flex: none; width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--fvh-ink); background: #fff; display: grid; place-items: center; font-family: var(--fvh-ui); font-weight: 800; font-size: 18px; color: var(--fvh-ink); }
.fvh-steps__t { font-family: var(--fvh-ui); font-weight: 700; font-size: 17px; text-transform: uppercase; letter-spacing: .06em; color: var(--fvh-ink-2); margin-left: 10px; white-space: nowrap; }
.fvh-steps a .fvh-steps__t { margin-left: 0; }
.fvh-steps li.is-done .fvh-steps__n { background: var(--fvh-green); color: #fff; }
.fvh-steps li.is-current .fvh-steps__n { background: var(--fvh-yellow); box-shadow: 3px 3px 0 var(--fvh-ink); transform: rotate(-6deg); }
.fvh-steps li.is-current .fvh-steps__t { color: var(--fvh-ink); }

/* Blöcke: gemeinsame Basis */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-family: var(--fvh-text); color: var(--fvh-ink); }
.wc-block-components-sidebar-layout { gap: 0 40px; }
.wc-block-cart .wc-block-cart-items,
.wc-block-components-sidebar-layout .wc-block-components-main > .wc-block-cart-items {
	background: #fff; border: 2px solid var(--fvh-ink) !important; border-radius: 20px; border-collapse: separate !important; overflow: hidden;
}
.wc-block-cart-items__header { background: var(--fvh-ink); }
.wc-block-cart-items__header th { color: var(--fvh-yellow) !important; font-family: var(--fvh-ui); font-weight: 700; letter-spacing: .1em; padding: 14px 18px !important; border: 0 !important; }
.wc-block-cart-items__row td { padding: 20px 18px !important; border-top: 2px dashed rgba(22,20,18,.14) !important; }
.wc-block-cart-items__row:first-child td { border-top: 0 !important; }
.wc-block-cart-item__image img { border: 2px solid var(--fvh-ink); border-radius: 12px; }
.wc-block-components-product-name { font-family: var(--fvh-ui) !important; font-weight: 800 !important; font-size: 20px !important; color: var(--fvh-ink) !important; text-decoration: none !important; }
.wc-block-components-product-price, .wc-block-cart-item__total .wc-block-components-product-price { font-family: var(--fvh-ui); font-weight: 700; color: var(--fvh-red); }
.wc-block-components-product-metadata, .wc-block-components-product-details { font-size: 15px; color: var(--fvh-ink-2); }
.wc-block-components-quantity-selector { border: 2px solid var(--fvh-ink) !important; border-radius: 999px !important; overflow: hidden; background: var(--fvh-paper); }
.wc-block-components-quantity-selector::after { display: none !important; }
.wc-block-components-quantity-selector__button { font-weight: 800 !important; color: var(--fvh-ink) !important; }
.wc-block-components-quantity-selector__button:hover { background: var(--fvh-yellow) !important; }
.wc-block-cart-item__remove-link { color: var(--fvh-red) !important; font-family: var(--fvh-ui); font-size: 14px !important; }

/* Seitenleiste mit Summen */
.wc-block-cart__sidebar .wp-block-woocommerce-cart-totals-block,
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
	background: var(--fvh-cream); border: 2px solid var(--fvh-ink) !important; border-radius: 22px !important; padding: 8px 22px 22px; box-shadow: 6px 6px 0 var(--fvh-yellow-2);
}
.wc-block-cart__totals-title, .wc-block-components-checkout-order-summary__title-text {
	font-family: var(--fvh-display) !important; font-weight: 400 !important; font-size: 32px !important; text-transform: none !important; color: var(--fvh-ink) !important; letter-spacing: 0 !important; padding-top: 14px !important;
}
.wc-block-components-totals-item__label { font-family: var(--fvh-ui); font-weight: 600; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family: var(--fvh-ui) !important; font-weight: 800 !important; font-size: 24px !important; color: var(--fvh-ink); }
.wc-block-components-totals-wrapper { border-top: 2px dashed rgba(22,20,18,.2) !important; }
.wc-block-components-panel__button { font-family: var(--fvh-ui); font-weight: 700; }
.wc-block-components-button.wc-block-cart__submit-button:not(.is-link), .wc-block-components-button.wc-block-components-checkout-place-order-button:not(.is-link) {
	width: 100%; min-height: 60px; font-size: 19px !important; background: var(--fvh-ink) !important; color: var(--fvh-yellow) !important; box-shadow: 5px 5px 0 var(--fvh-red) !important;
}
.wc-block-components-button.wc-block-cart__submit-button:not(.is-link):hover, .wc-block-components-button.wc-block-components-checkout-place-order-button:not(.is-link):hover { box-shadow: 8px 8px 0 var(--fvh-red) !important; }


/* Kasse */
.wc-block-components-checkout-step { padding-bottom: 8px; }
.wc-block-components-checkout-step__title { font-family: var(--fvh-display) !important; font-weight: 400 !important; font-size: 32px !important; color: var(--fvh-ink) !important; }
.wc-block-components-checkout-step__description { font-size: 15.5px; color: var(--fvh-ink-2); }
.wc-block-components-checkout-step__container { background: #fff; border: 2px solid var(--fvh-ink); border-radius: 20px; padding: 22px 22px 14px; }
.wc-block-checkout__form .wc-block-components-checkout-step::after, .wc-block-components-checkout-step::before { display: none !important; }
.wc-block-components-checkout-step__heading { margin: 26px 0 14px !important; }
.wc-block-components-text-input input, .wc-block-components-text-input textarea,
.wc-blocks-components-select .wc-blocks-components-select__select, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-block-components-textarea {
	border: 2px solid var(--fvh-ink) !important; border-radius: 12px !important; background: var(--fvh-paper) !important; font-family: var(--fvh-text) !important; font-size: 17px !important; color: var(--fvh-ink) !important;
}
.wc-block-components-text-input input:focus, .wc-blocks-components-select .wc-blocks-components-select__select:focus, .wc-block-components-textarea:focus { background: #fff !important; box-shadow: 4px 4px 0 var(--fvh-yellow-2) !important; outline: none !important; }
.wc-block-components-text-input label, .wc-blocks-components-select__label { font-family: var(--fvh-ui) !important; font-weight: 600 !important; color: var(--fvh-ink-2) !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option {
	border: 2px solid var(--fvh-ink) !important; border-radius: 14px !important; margin-bottom: 10px !important; background: var(--fvh-paper); box-shadow: none !important; transition: background .2s, transform .25s var(--fvh-ease);
}
.wc-block-components-radio-control__option:hover { transform: translateX(3px); }
.wc-block-components-radio-control__option-checked, .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option-checked { background: var(--fvh-yellow) !important; }
.wc-block-components-radio-control__input { border: 2px solid var(--fvh-ink) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--fvh-ink) !important; }
.wc-block-components-radio-control__label, .wc-block-components-radio-control__option .wc-block-components-radio-control__label { font-family: var(--fvh-ui); font-weight: 700; font-size: 18px; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { border: 2px solid var(--fvh-ink) !important; border-radius: 6px !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--fvh-yellow) !important; }
.wc-block-checkout__terms { font-size: 15.5px; }
.wc-block-components-order-summary-item__image img { border-radius: 10px; border: 2px solid var(--fvh-ink); }
.wc-block-components-order-summary-item__quantity { background: var(--fvh-ink) !important; color: var(--fvh-yellow) !important; border: 0 !important; }

/* Leerer Warenkorb */
.wp-block-woocommerce-empty-cart-block { text-align: center; }
.wc-block-cart__empty-cart__title { font-family: var(--fvh-display) !important; font-weight: 400 !important; font-size: 40px !important; color: var(--fvh-ink); }
.wc-block-cart__empty-cart__title::before { width: 90px !important; height: 90px !important; background: var(--fvh-yellow) !important; -webkit-mask: none !important; mask: none !important; border-radius: 50%; border: 3px solid var(--fvh-ink); content: "🛒" !important; display: grid !important; place-items: center; font-size: 40px; margin: 0 auto 16px !important; }
.wp-block-woocommerce-empty-cart-block > p a, .wp-block-woocommerce-empty-cart-block .wp-block-separator + h2 + * a { font-weight: 700; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator { border: 0 !important; height: 2px; background: none; border-top: 2px dashed rgba(22,20,18,.2) !important; max-width: 260px; margin: 34px auto !important; }
.wp-block-woocommerce-empty-cart-block h2 { font-family: var(--fvh-display) !important; font-size: 36px !important; }
.wc-block-grid__product { border: 2px solid var(--fvh-ink) !important; border-radius: 18px; background: #fff; padding: 0 0 16px !important; overflow: hidden; transition: transform .35s var(--fvh-ease), box-shadow .25s; }
.wc-block-grid__product:hover { transform: translateY(-5px) rotate(-1deg); box-shadow: 6px 6px 0 var(--fvh-ink); }
.wc-block-grid__product-image img { border-bottom: 2px solid var(--fvh-ink); }
.wc-block-grid__product-title { font-family: var(--fvh-ui) !important; font-weight: 800 !important; font-size: 18px !important; color: var(--fvh-ink) !important; padding: 10px 12px 0; }
.wc-block-grid__product-price { color: var(--fvh-red) !important; font-family: var(--fvh-ui); font-weight: 700; }
.wc-block-grid__product .wp-block-button__link { font-family: var(--fvh-ui) !important; font-weight: 700 !important; text-transform: uppercase; font-size: 14px !important; letter-spacing: .06em; background: var(--fvh-yellow) !important; color: var(--fvh-ink) !important; border: 2px solid var(--fvh-ink) !important; border-radius: 999px !important; }

/* Bestellbestätigung */
.woocommerce-order .woocommerce-thankyou-order-received, .wc-block-order-confirmation-status {
	background: var(--fvh-green-dark); color: #fff; border: 2px solid var(--fvh-ink); border-radius: 20px; padding: 22px 26px !important; font-family: var(--fvh-ui); font-size: 20px; box-shadow: 6px 6px 0 var(--fvh-ink);
}
.wc-block-order-confirmation-status h1 { color: #fff !important; font-family: var(--fvh-display) !important; font-weight: 400 !important; }
.wc-bacs-bank-details, .woocommerce-bacs-bank-details { background: var(--fvh-yellow); border: 2px solid var(--fvh-ink); border-radius: 20px; padding: 20px 24px; margin: 24px 0; }
.wc-bacs-bank-details-heading { font-family: var(--fvh-display) !important; font-weight: 400 !important; font-size: 30px !important; }
.woocommerce-order-overview, .wc-block-order-confirmation-summary-list { border: 2px solid var(--fvh-ink); border-radius: 18px; background: #fff; padding: 18px 22px !important; }

@media (max-width: 767px) {
	.fvh-shop-usp { grid-template-columns: 1fr; gap: 8px; }
	.fvh-shop-usp li { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 10px 14px !important; }
	.fvh-steps__t { display: none; }
	.fvh-steps li.is-current .fvh-steps__t { display: inline; font-size: 15px; }
	.woocommerce-message, .woocommerce-info, .woocommerce-error { padding: 16px 16px 16px 62px !important; font-size: 16px !important; }
	.woocommerce-message .button { width: 100%; justify-content: center; }
}


/* Produkt-Tabs */
.woocommerce div.product .woocommerce-tabs { margin-top: 50px; border: 0 !important; background: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex; flex-wrap: wrap; gap: 10px; padding: 0 !important; margin: 0 0 -2px 22px !important; background: none !important; border: 0 !important; position: relative; z-index: 2;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0 !important; padding: 0 !important; background: #fff !important; border: 2px solid var(--fvh-ink) !important; border-bottom: 0 !important;
	border-radius: 16px 16px 0 0 !important; transition: transform .25s var(--fvh-ease), background .2s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block; padding: 12px 22px 11px !important; font-family: var(--fvh-ui) !important; font-weight: 700 !important; font-size: 17px !important;
	text-transform: uppercase; letter-spacing: .06em; color: var(--fvh-ink) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:not(.active):hover { background: var(--fvh-yellow) !important; transform: translateY(-3px) rotate(-1.5deg); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--fvh-ink) !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--fvh-yellow) !important; }
.woocommerce div.product .woocommerce-tabs .panel {
	background: #fff !important; border: 2px solid var(--fvh-ink) !important; border-radius: 22px !important; padding: 30px 34px 26px !important; margin: 0 !important;
	box-shadow: 6px 6px 0 var(--fvh-yellow-2); position: relative; z-index: 1;
}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce div.product .woocommerce-tabs .panel p, .woocommerce div.product .woocommerce-tabs .panel li { font-size: 17.5px; line-height: 1.6; }
.woocommerce div.product .woocommerce-tabs .panel ul { list-style: none; padding-left: 0 !important; }
.woocommerce div.product .woocommerce-tabs .panel ul li { position: relative; padding: 0 0 6px 26px !important; }
.woocommerce div.product .woocommerce-tabs .panel ul li::before { content: ""; position: absolute; left: 4px; top: .55em; width: 11px; height: 11px; border-radius: 50%; background: var(--fvh-red); box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--fvh-yellow-2); }
.woocommerce table.shop_attributes { border: 0 !important; margin: 0; }
.woocommerce table.shop_attributes tr { border-bottom: 2px dashed rgba(22,20,18,.14); }
.woocommerce table.shop_attributes tr:last-child { border-bottom: 0; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border: 0 !important; background: none !important; padding: 12px 10px !important; font-style: normal !important; }
.woocommerce table.shop_attributes th { font-family: var(--fvh-ui); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 15px; color: var(--fvh-red); width: 180px; }
.woocommerce table.shop_attributes td p { padding: 0 !important; font-family: var(--fvh-ui); font-weight: 600; font-size: 17px; }
.woocommerce .related.products > h2, .woocommerce .upsells.products > h2 { font-family: var(--fvh-display) !important; font-weight: 400 !important; font-size: clamp(36px, 4vw, 52px) !important; color: var(--fvh-ink); margin-top: 30px; }
@media (max-width: 767px) {
	.woocommerce div.product .woocommerce-tabs ul.tabs { margin-left: 10px !important; gap: 6px; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 14px 9px !important; font-size: 14px !important; }
	.woocommerce div.product .woocommerce-tabs .panel { padding: 22px 18px 18px !important; }
	.woocommerce table.shop_attributes th { width: 110px; }
}
html body.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--fvh-ink) !important; background-color: var(--fvh-ink) !important; }
html body.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--fvh-yellow) !important; }
html body.woocommerce div.product .woocommerce-tabs .panel ul, html body.woocommerce div.product .woocommerce-tabs .panel ul li { list-style: none !important; }
html body.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li { background: #fff !important; background-color: #fff !important; }
html body.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li:not(.active):hover { background-color: var(--fvh-yellow) !important; }
html body.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li.active { background: var(--fvh-ink) !important; background-color: var(--fvh-ink) !important; }
html body.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li.active a { color: var(--fvh-yellow) !important; }
html body.woocommerce #content-area div.product .woocommerce-tabs ul.tabs li a { color: var(--fvh-ink) !important; }
/* Footer-Punkte immer über vorangehenden Sektionen/Wellen */
.fvh-footer { z-index: 10; isolation: isolate; }
.fvh-footer__dots { z-index: 11; }
.fvh-sec--red { z-index: 1; }

/* ==========================================================================
   Responsive Divi-Zeilen: Spalten sauber umbrechen
   ========================================================================== */
@media (max-width: 980px) {
	.et_pb_section .et_pb_row.et_flex_row { flex-wrap: wrap !important; row-gap: 34px !important; }
	.et_pb_section .et_pb_row.et_flex_row > .et_pb_column { flex: 1 1 100% !important; width: 100% !important; max-width: 100% !important; margin-right: 0 !important; }
	.et_pb_section .et_pb_row.fvh-cards.et_flex_row { row-gap: 24px !important; }
	.et_pb_section .et_pb_row.fvh-cards.et_flex_row > .et_pb_column { flex: 1 1 calc(50% - 14px) !important; max-width: calc(50% - 12px) !important; }
	.fvh-split--6535 > .et_pb_column:nth-child(2) { position: static !important; }
	.fvh-collage { max-width: 520px; margin: 10px auto 0; }
	.fvh-jubi { margin-top: 50px; }
	.fvh-cta-btns { text-align: left; }
}
@media (max-width: 600px) {
	.et_pb_section .et_pb_row.fvh-cards.et_flex_row > .et_pb_column { flex: 1 1 100% !important; max-width: 100% !important; }
	.et_pb_column.fvh-card .et_pb_image img { aspect-ratio: 16 / 9 !important; }
	.fvh-collage { min-height: 360px; }
	.fvh-collage figcaption { font-size: 19px; }
	.fvh-jubi { padding: 34px 22px 22px; }
	.fvh-jubi__num { font-size: 110px; top: -44px; right: 14px; }
	.fvh-jubi h3 { max-width: 62%; font-size: 30px !important; }
	.et_pb_text h2 { font-size: 40px; }
	.fvh-nextbig { text-align: left; }
	.fvh-nextbig__date { margin: 0; }
}

/* Mobiles Logo größer */
@media (max-width: 980px) {
	.et_header_style_left #et-top-navigation, .et_header_style_split #et-top-navigation { padding-top: 22px !important; padding-bottom: 0 !important; }
	.et_header_style_left .logo_container { height: 100%; }
	#main-header #logo, .et_header_style_left #logo { max-height: 72px !important; height: 72px; width: auto; max-width: 70%; top: 0; }
	#main-header .container.et_menu_container { min-height: 92px; }
	#main-header .logo_container { padding: 10px 0; box-sizing: border-box; }
}
@media (max-width: 400px) {
	#main-header #logo, .et_header_style_left #logo { max-height: 62px !important; height: 62px; }
	#main-header .container.et_menu_container { min-height: 82px; }
	.et_header_style_left #et-top-navigation { padding-top: 17px !important; }
}
@media (max-width: 600px) {
	.fvh-collage figure:nth-child(1) { width: 72%; }
	.fvh-collage figure:nth-child(2) { width: 60%; top: 125px; }
	.fvh-collage figure:nth-child(3) { width: 52%; top: 245px; left: 4%; }
	.fvh-collage figure:not(:last-child) figcaption { display: none; }
}
