/* ==========================================================
   HEIRATEN AM GARDASEE
   MASTER CSS v3.0 – KUNDENFEEDBACK / DESIGNREFINEMENT
   WordPress / BeTheme / BeBuilder
   ========================================================== */


/* ==========================================================
   01. DESIGN TOKENS
   ========================================================== */

:root {

	/* Brand / Farbwelt */
	--hag-bg: #F7F3ED;
	--hag-tiffany: #8FCFC5;
	--hag-sage: #A8B5A0;
	--hag-olive: #6F7755;
	--hag-olive-dark: #4F593F;
	--hag-sand: #D8C8AE;
	--hag-champagne: #E8DCC9;
	--hag-terracotta: #C98F7A;

	/* Neutrals */
	--hag-white: #F7F3ED;
	--hag-bg-soft: #FCFAF6;
	--hag-bg-sage: #F0F2EB;
	--hag-bg-tiffany: #EDF8F6;
	--hag-text: #53594D;
	--hag-text-muted: #6F756B;
	--hag-border: rgba(79, 89, 63, 0.16);
	--hag-border-soft: rgba(79, 89, 63, 0.09);

	/* Fonts */
	--hag-font-heading: "Playfair Display", Georgia, serif;
	--hag-font-body: "Montserrat", Arial, sans-serif;
	--hag-font-script: "WindSong", cursive;
	

	/* Einheitlicher Fliesstext */
	--hag-body-size: 1.04rem;
	--hag-body-line: 1.70;

	/* Signature Eyebrow */
	--hag-eyebrow-line-width: 30px;
	--hag-eyebrow-line-gap: 12px;

	/* Layout */
	--hag-content-width: 1200px;
	--hag-header-width: 1360px;
	--hag-text-width: 760px;
	--hag-narrow-width: 680px;
	--hag-section-space: 108px;
	--hag-section-space-small: 78px;
	--hag-section-space-large: 128px;

	/* Radius */
	--hag-radius-xs: 4px;
	--hag-radius-sm: 10px;
	--hag-radius: 18px;
	--hag-radius-lg: 30px;
	--hag-radius-organic: 38px;
	--hag-radius-pill: 999px;

	/* Shadows */
	--hag-shadow-sm: 0 10px 30px rgba(79, 89, 63, 0.06);
	--hag-shadow: 0 20px 55px rgba(79, 89, 63, 0.10);
	--hag-shadow-lg: 0 28px 80px rgba(79, 89, 63, 0.14);

	/* Transitions */
	--hag-transition: 0.25s ease;
	--hag-transition-slow: 0.45s ease;

	/* Header */
	--hag-header-height: 92px;
	--hag-header-height-sticky: 78px;
	--hag-header-height-mobile: 72px;
	--hag-logo-width: 285px;
	--hag-logo-width-sticky: 260px;

	/* Mobile horizontal rhythm */
	--hag-mobile-gutter: 18px;
}


/* ==========================================================
   02. GLOBAL RESET / BASIS
   ========================================================== */

html {
	scroll-behavior: smooth;
	scroll-padding-top: 92px;
}

body,
#Wrapper,
#Content {
	font-family: var(--hag-font-body);
	color: var(--hag-text);
	font-size: 17px;
	line-height: 1.72;
	background: var(--hag-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

html,
body,
#Wrapper {
	max-width: 100%;
	overflow-x: hidden;
}

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

img {
	max-width: 100%;
	height: auto;
}

::selection {
	background: var(--hag-tiffany);
	color: var(--hag-olive-dark);
}


/* ==========================================================
   03. TYPOGRAPHY
   ========================================================== */

h1,
h2,
h3,
h4,
h5,
h6,
.big,
.title {
	font-family: var(--hag-font-heading);
	color: var(--hag-olive-dark);
	font-weight: 500;
	letter-spacing: -0.018em;
	margin-top: 0;
}

h1 {
	font-size: clamp(3.4rem, 5.4vw, 4.9rem);
	line-height: 0.98;
	margin-bottom: 28px;
}

h2 {
	font-size: clamp(2.55rem, 4.35vw, 3.75rem);
	line-height: 1.02;
	margin-bottom: 24px;
}

h3 {
	font-size: clamp(1.8rem, 2.8vw, 2.3rem);
	line-height: 1.12;
	margin-bottom: 16px;
}

h4 {
	font-family: var(--hag-font-body);
	font-size: 1.08rem;
	font-weight: 600;
	line-height: 1.45;
	margin-bottom: 12px;
}

p {
	margin-top: 0;
	margin-bottom: 22px;
}

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

strong,
b {
	font-weight: 600;
}

a {
	color: var(--hag-olive-dark);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color var(--hag-transition);
}

a:hover {
	color: var(--hag-olive);
}

.hag-lead {
	max-width: var(--hag-text-width);
	font-size: clamp(1.08rem, 1.45vw, 1.28rem);
	line-height: 1.68;
	color: var(--hag-text-muted);
}

.hag-small {
	font-size: 0.88rem;
	line-height: 1.55;
	color: var(--hag-text-muted);
}

.hag-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--hag-eyebrow-line-gap);
	margin-bottom: 15px;
	font-family: var(--hag-font-body);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.20em;
	text-transform: uppercase;
	color: var(--hag-olive);
}

.hag-eyebrow::before,
.hag-sina-eyebrow::before,
.hag-hero-full-eyebrow::before {
	content: "";
	display: block;
	flex: 0 0 var(--hag-eyebrow-line-width);
	width: var(--hag-eyebrow-line-width);
	height: 2px;
	background: var(--hag-tiffany);
}

.hag-accent {
	color: var(--hag-tiffany);
}

.hag-serif-accent {
	font-family: var(--hag-font-heading);
	font-style: italic;
	font-weight: 400;
	color: var(--hag-olive);
}

.hag-copy p,
.hag-copy .hag-lead {
	font-size: var(--hag-body-size);
	line-height: var(--hag-body-line);
	color: var(--hag-text-muted);
}


/* ==========================================================
   04. BETHEME GLOBAL OVERRIDES
   ========================================================== */

#Wrapper,
#Content {
	background: var(--hag-bg);
}

.section_wrapper,
.container {
	max-width: var(--hag-content-width);
}

.section {
	position: relative;
}

.mcb-wrap,
.column {
	box-sizing: border-box;
}

.column_column ul,
.column_column ol {
	color: var(--hag-text);
}

.button,
a.button,
button,
input[type="submit"] {
	font-family: var(--hag-font-body);
}

.image_frame {
	border: 0;
	box-shadow: none;
}

.image_frame .image_wrapper {
	border-radius: var(--hag-radius);
}

.image_frame .image_wrapper img {
	display: block;
}

#Header_wrapper,
#Header,
#Content,
.content_wrapper,
.sections_group,
.entry-content,
.mfn-builder-content {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.header_placeholder {
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}


/* ==========================================================
   05. CONTAINER / SECTIONS
   ========================================================== */

.hag-container {
	width: min(calc(100% - 48px), var(--hag-content-width));
	margin-inline: auto;
}

.hag-container-narrow {
	width: min(calc(100% - 48px), var(--hag-narrow-width));
	margin-inline: auto;
}

.hag-section {
	position: relative;
	padding-top: var(--hag-section-space);
	padding-bottom: var(--hag-section-space);
}

.hag-section-small {
	padding-top: var(--hag-section-space-small);
	padding-bottom: var(--hag-section-space-small);
}

.hag-section-large {
	padding-top: var(--hag-section-space-large);
	padding-bottom: var(--hag-section-space-large);
}

.hag-section-bg {
	background: var(--hag-bg);
}

.hag-section-white {
	background: var(--hag-white);
}

.hag-section-soft {
	background: var(--hag-bg-soft);
}

.hag-section-sage {
	background: var(--hag-bg-sage);
}

.hag-section-tiffany-soft {
	background: var(--hag-bg-tiffany);
}

.hag-section-champagne {
	background: var(--hag-champagne);
}

/* Dritter, sehr ruhiger Farbton fuer gezielte Rhythmuswechsel */
.hag-section-mist {
	background:
		linear-gradient(135deg, rgba(234, 245, 242, 0.88), rgba(238, 240, 232, 0.72));
}

/* Optional: extrem dezentes Hintergrundbild pro Section.
   Bild wird spaeter ueber --hag-section-bg-image gesetzt. */
.hag-section-photo-soft {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.hag-section-photo-soft::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(rgba(247, 243, 237, 0.93), rgba(247, 243, 237, 0.93)),
		var(--hag-section-bg-image, none);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.hag-section-olive {
	background: var(--hag-olive-dark);
	color: var(--hag-bg);
}

.hag-section-olive h1,
.hag-section-olive h2,
.hag-section-olive h3,
.hag-section-olive h4 {
	color: var(--hag-bg);
}

.hag-section-olive p,
.hag-section-olive .hag-lead,
.hag-section-olive .hag-small {
	color: rgba(247, 243, 237, 0.82);
}

.hag-section-head {
	max-width: 790px;
	margin-bottom: 50px;
}

.hag-section-head-center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.hag-section-head-center .hag-lead {
	margin-left: auto;
	margin-right: auto;
}


/* ==========================================================
   06. BUTTONS / TEXTLINKS
   ========================================================== */

.hag-btn,
a.hag-btn,
button.hag-btn,
input.hag-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 14px 25px;
	border: 1px solid var(--hag-olive-dark);
	border-radius: var(--hag-radius-xs);
	background: var(--hag-olive-dark);
	color: var(--hag-bg) !important;
	font-family: var(--hag-font-body);
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none !important;
	cursor: pointer;
	transition:
		background var(--hag-transition),
		border-color var(--hag-transition),
		color var(--hag-transition),
		transform var(--hag-transition);
}

.hag-btn:hover {
	background: var(--hag-tiffany);
	border-color: var(--hag-tiffany);
	color: var(--hag-olive-dark) !important;
	transform: translateY(-1px);
}

.hag-btn-outline,
a.hag-btn-outline {
	background: transparent !important;
	border-color: var(--hag-olive-dark) !important;
	color: var(--hag-olive-dark) !important;
}

.hag-btn-outline:hover,
a.hag-btn-outline:hover {
	background: var(--hag-olive-dark) !important;
	color: #3F4835 !important;
}

.hag-btn-light,
a.hag-btn-light {
	background: var(--hag-bg) !important;
	border-color: var(--hag-bg) !important;
	color: var(--hag-olive-dark) !important;
}

.hag-btn-light:hover,
a.hag-btn-light:hover {
	background: var(--hag-tiffany) !important;
	border-color: var(--hag-tiffany) !important;
}

.hag-btn-text,
a.hag-btn-text {
	min-height: auto;
	padding: 0 0 5px;
	border: 0;
	border-bottom: 1px solid var(--hag-tiffany);
	border-radius: 0;
	background: transparent;
	color: var(--hag-olive-dark) !important;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	box-shadow: none;
}

.hag-btn-text:hover,
a.hag-btn-text:hover {
	color: var(--hag-olive) !important;
	border-bottom-color: var(--hag-olive);
	transform: none;
}


/* ==========================================================
   07. ACCENT / LINE-ART ELEMENTS
   ========================================================== */

.hag-line {
	display: block;
	width: 66px;
	height: 1px;
	margin-bottom: 24px;
	background: var(--hag-olive);
}

.hag-line-tiffany {
	background: var(--hag-tiffany);
}

.hag-divider {
	height: 1px;
	background: var(--hag-border);
}

.hag-lineart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--hag-olive-dark);
}

.hag-lineart svg,
.hag-lineart img {
	display: block;
	width: 52px;
	height: 52px;
	object-fit: contain;
}

.hag-lineart-large svg,
.hag-lineart-large img {
	width: 82px;
	height: 82px;
}

/* Dezente Projekt-Icons: bewusst nur punktuell einsetzen */
.hag-icon-soft {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-bottom: 16px;
	opacity: 0.72;
}

.hag-icon-soft img,
.hag-icon-soft svg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.hag-signature img,
img.hag-signature {
	display: block;
	width: min(180px, 100%);
	height: auto;
}


/* ==========================================================
   08. HEADER DESKTOP / STICKY
   BeTheme Standard Header – FINAL
   ========================================================== */

#Header_wrapper,
#Header {
	background: var(--hag-bg) !important;
	min-height: var(--hag-header-height) !important;
	height: var(--hag-header-height) !important;
	margin: 0 !important;
	padding: 0 !important;
}

#Top_bar {
	background: rgba(247, 243, 237, 0.985) !important;
	box-shadow: none !important;
	transition: background var(--hag-transition), box-shadow var(--hag-transition);
}

#Top_bar:not(.is-sticky),
#Top_bar:not(.is-sticky) .container,
#Top_bar:not(.is-sticky) .column.one,
#Top_bar:not(.is-sticky) .top_bar_left,
#Top_bar:not(.is-sticky) .menu_wrapper {
	min-height: var(--hag-header-height) !important;
	height: var(--hag-header-height) !important;
}

/* Nur der Header nutzt die breitere 1360-px-Fläche. */
#Top_bar .container {
	width: min(calc(100% - 48px), var(--hag-header-width)) !important;
	max-width: var(--hag-header-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	background: transparent !important;
}

#Top_bar .column.one {
	width: 100% !important;
	margin: 0 !important;
	background: transparent !important;
}

#Top_bar .top_bar_left {
	display: flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	width: 100% !important;
	background: transparent !important;
}

/* Logo */
#Top_bar .logo {
	float: none !important;
	display: flex !important;
	align-items: center !important;
	flex: 0 0 auto !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

#Top_bar #logo {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex: 0 0 var(--hag-logo-width) !important;
	width: var(--hag-logo-width) !important;
	max-width: var(--hag-logo-width) !important;
	height: var(--hag-header-height) !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1 !important;
}

#Top_bar #logo img,
#Top_bar #logo img.logo-main {
	display: block !important;
	width: var(--hag-logo-width) !important;
	max-width: var(--hag-logo-width) !important;
	height: auto !important;
	max-height: 78px !important;
	margin: 0 !important;
	object-fit: contain !important;
	object-position: left center !important;
}

/* BeTheme erzeugt vier Logo-Varianten; wir verwenden bewusst das Hauptlogo. */
#Top_bar #logo .logo-main {
	display: block !important;
}

#Top_bar #logo .logo-sticky,
#Top_bar #logo .logo-mobile,
#Top_bar #logo .logo-mobile-sticky {
	display: none !important;
}

/* Navigation */
#Top_bar .menu_wrapper {
	float: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin-left: 34px !important;
	background: transparent !important;
	white-space: nowrap !important;
}

#Top_bar #menu,
#Top_bar #menu > ul,
#Top_bar .menu {
	height: auto !important;
	background: transparent !important;
}

/* BeTheme gibt menu-main und menu-mobile parallel aus. */
@media only screen and (min-width: 1241px) {
	#Top_bar #menu > ul.menu-main {
		display: flex !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		white-space: nowrap !important;
	}

	#Top_bar #menu > ul.menu-mobile {
		display: none !important;
	}
}

#Top_bar .menu > li {
	display: flex !important;
	align-items: center !important;
	flex: 0 0 auto !important;
	height: auto !important;
	background: transparent !important;
}

#Top_bar .menu > li > a,
#Top_bar .menu > li > a span,
#Top_bar .hag-header-cta > a,
#Top_bar .hag-header-cta > a span {
	font-family: var(--hag-font-body) !important;
}

#Top_bar .menu > li > a {
	display: flex !important;
	align-items: center !important;
	height: auto !important;
	padding: 0 !important;
	background: transparent !important;
	color: var(--hag-olive-dark) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.075em !important;
	text-transform: uppercase !important;
}

#Top_bar .menu > li > a span:not(.description) {
	display: inline-flex !important;
	align-items: center !important;
	height: auto !important;
	padding: 13px 12px !important;
	border: 0 !important;
	background: transparent !important;
	line-height: 1.2 !important;
}

#Top_bar .menu > li.current-menu-item > a,
#Top_bar .menu > li.current_page_item > a,
#Top_bar .menu > li > a:hover {
	color: #00979F !important;
}

/* Dropdown */
#Top_bar .menu li ul {
	background: var(--hag-bg) !important;
	border: 1px solid rgba(79, 89, 63, 0.10) !important;
	box-shadow: 0 14px 34px rgba(79, 89, 63, 0.08) !important;
}

#Top_bar .menu li ul li,
#Top_bar .menu li ul li a {
	background: transparent !important;
}

#Top_bar .menu li ul li a {
	padding: 14px 20px !important;
	font-family: var(--hag-font-body) !important;
	font-size: 14.5px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	color: var(--hag-olive-dark) !important;
}

#Top_bar .menu li ul li a:hover,
#Top_bar .menu li ul li.current-menu-item > a {
	background: rgba(143, 207, 197, 0.14) !important;
	color: #00979F !important;
}

/* Header CTA */
#Top_bar .menu > li.hag-header-cta > a {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 0 0 8px !important;
}

#Top_bar .menu > li.hag-header-cta > a > span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 46px !important;
	padding: 0 20px !important;
	border: 1px solid rgba(79, 89, 63, 0.40) !important;
	border-radius: 3px !important;
	background: var(--hag-tiffany) !important;
	color: #3F4835 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: 0.075em !important;
	white-space: nowrap !important;
	transition: background var(--hag-transition), border-color var(--hag-transition), color var(--hag-transition), transform var(--hag-transition) !important;
}

#Top_bar .menu > li.hag-header-cta > a:hover > span {
	background: #00979F !important;
	border-color: #00979F !important;
	color: #FFFFFF !important;
	transform: translateY(-1px);
}

/* Sticky */
#Top_bar.is-sticky {
	background: rgba(247, 243, 237, 0.985) !important;
	box-shadow: 0 7px 28px rgba(79, 89, 63, 0.07) !important;
	min-height: var(--hag-header-height-sticky) !important;
	height: var(--hag-header-height-sticky) !important;
}

#Top_bar.is-sticky .container,
#Top_bar.is-sticky .column.one,
#Top_bar.is-sticky .top_bar_left,
#Top_bar.is-sticky .menu_wrapper {
	min-height: var(--hag-header-height-sticky) !important;
	height: var(--hag-header-height-sticky) !important;
}

#Top_bar.is-sticky #logo {
	flex-basis: var(--hag-logo-width-sticky) !important;
	width: var(--hag-logo-width-sticky) !important;
	max-width: var(--hag-logo-width-sticky) !important;
	height: var(--hag-header-height-sticky) !important;
}

#Top_bar.is-sticky #logo img,
#Top_bar.is-sticky #logo img.logo-main {
	width: var(--hag-logo-width-sticky) !important;
	max-width: var(--hag-logo-width-sticky) !important;
	max-height: 68px !important;
}


/* ==========================================================
   09. MOBILE MENU / SIDE SLIDE
   FINAL – BeTheme opening/closing logic preserved
   ========================================================== */

.responsive-menu-toggle {
	color: var(--hag-olive-dark) !important;
	font-family: var(--hag-font-body) !important;
}

/* WICHTIG: right NICHT überschreiben – BeTheme steuert damit open/close. */
#Side_slide,
#Side_slide.dark,
#Side_slide.enabled {
	position: fixed !important;
	top: 0 !important;
	height: 100vh !important;
	height: 100dvh !important;
	min-height: 100vh !important;
	min-height: 100dvh !important;
	max-height: 100dvh !important;
	background: var(--hag-bg) !important;
	background-color: var(--hag-bg) !important;
	background-image: none !important;
	font-family: var(--hag-font-body) !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
}

#Side_slide .close-wrapper,
#Side_slide .extras,
#Side_slide .extras-wrapper,
#Side_slide .lang-wrapper,
#Side_slide .menu_wrapper,
#Side_slide #menu,
#Side_slide #menu > ul,
#Side_slide ul.menu,
#Side_slide ul.sub-menu {
	background: transparent !important;
	background-color: transparent !important;
}

#Side_slide .close-wrapper a {
	color: var(--hag-olive-dark) !important;
}

#Side_slide > ul.social,
#Side_slide ul.social,
#Side_slide .social:empty {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

#Side_slide #menu ul li {
	border-color: rgba(79, 89, 63, 0.12) !important;
}

#Side_slide #menu ul li a,
#Side_slide #menu ul li a span {
	font-family: var(--hag-font-body) !important;
	color: var(--hag-olive-dark) !important;
}

#Side_slide #menu ul li a {
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}

#Side_slide #menu ul li.current-menu-item > a,
#Side_slide #menu ul li.current-menu-item > a span,
#Side_slide #menu ul li a:hover,
#Side_slide #menu ul li a:hover span {
	color: #00979F !important;
}

/* Plus/Minus bleibt an der Hauptzeile, auch wenn das Submenü geöffnet ist. */
#Side_slide #menu > ul > li.submenu {
	position: relative !important;
}

#Side_slide #menu > ul > li.submenu > .menu-toggle {
	position: absolute !important;
	top: 0 !important;
	right: 8px !important;
	bottom: auto !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 46px !important;
	height: 54px !important;
	min-height: 54px !important;
	max-height: 54px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--hag-olive) !important;
	opacity: 0.72 !important;
	z-index: 5 !important;
}

#Side_slide #menu > ul > li.submenu > .menu-toggle::after {
	position: static !important;
	margin: 0 !important;
	line-height: 1 !important;
	transform: translateY(-2px) !important;
	color: var(--hag-olive) !important;
}

#Side_slide #menu > ul > li.submenu > .menu-toggle:hover,
#Side_slide #menu > ul > li.submenu > .menu-toggle:hover::after {
	color: #00979F !important;
	opacity: 1 !important;
}

/* CTA im Side Slide */
#Side_slide #menu > ul > li.hag-header-cta {
	margin-top: 22px !important;
	padding-left: 14px !important;
	padding-right: 14px !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
}

#Side_slide #menu > ul > li:has(+ li.hag-header-cta) {
	border-bottom: 0 !important;
}

#Side_slide #menu > ul > li.hag-header-cta > a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 48px !important;
	padding: 11px 18px !important;
	border: 1px solid rgba(79, 89, 63, 0.16) !important;
	border-radius: 4px !important;
	background: var(--hag-tiffany) !important;
	color: #3F4835 !important;
	font-weight: 700 !important;
	box-shadow: none !important;
}

#Side_slide #menu > ul > li.hag-header-cta > a span {
	color: #3F4835 !important;
}

#Side_slide #menu > ul > li.hag-header-cta > a:hover,
#Side_slide #menu > ul > li.hag-header-cta > a:hover span {
	background: #00979F !important;
	color: #FFFFFF !important;
}


/* ==========================================================
   10. IMAGE SYSTEM
   ========================================================== */

.hag-image-clean,
.hag-image-soft,
.hag-image-organic,
.hag-image-fade {
	position: relative;
	display: block;
	width: 100%;
}

.hag-image-clean img,
.hag-image-soft img,
.hag-image-organic img,
.hag-image-fade img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.hag-image-clean {
	overflow: hidden;
	border-radius: var(--hag-radius-sm);
}

.hag-image-soft {
	overflow: hidden;
	border-radius: var(--hag-radius-lg);
}

.hag-image-soft img {
	border-radius: inherit;
}

.hag-image-organic {
	isolation: isolate;
	padding: 18px 0 0 18px;
}

.hag-image-organic::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 72%;
	height: 78%;
	z-index: -1;
	border-radius: 42% 58% 54% 46% / 48% 44% 56% 52%;
	background: rgba(168, 181, 160, 0.45);
}

.hag-image-organic img {
	border-radius: 42px 22px 46px 26px;
}

.hag-image-fade {
	overflow: hidden;
	border-radius: var(--hag-radius-lg);
}

.hag-image-fade::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 68%, rgba(245, 241, 232, 0.72) 88%, var(--hag-bg) 100%);
}

.hag-image-shadow {
	box-shadow: var(--hag-shadow);
}

.hag-image-landscape img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.hag-image-portrait img {
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.hag-image-wide img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}


/* ==========================================================
   12. STANDARD SPLIT / PHILOSOPHY
   ========================================================== */

.hag-split {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: clamp(54px, 7vw, 96px);
}

.hag-split-reverse .hag-split-media {
	order: 2;
}

.hag-split-reverse .hag-split-copy {
	order: 1;
}

.hag-split-copy {
	max-width: 560px;
}

.hag-philosophy {
	position: relative;
}

.hag-philosophy .hag-split-media {
	max-width: 520px;
}

.hag-philosophy .hag-split-copy {
	position: relative;
}

.hag-philosophy .hag-lineart {
	position: absolute;
	right: 0;
	bottom: -24px;
	opacity: 0.72;
}
/* ==========================================================
   14. SERVICES GRID
   Bildbasierte Service-Karten
   ========================================================== */

.hag-services-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}


/* ==========================================================
   CARD
   ========================================================== */

.hag-service-card {
	position: relative;

	display: flex;
	flex-direction: column;

	min-width: 0;
	overflow: hidden;

	border:
		1px solid
		var(--hag-border-soft);

	border-radius:
		18px;

	background:
		var(--hag-bg-soft);

	color:
		var(--hag-text) !important;

	text-decoration:
		none !important;

	transition:
		transform var(--hag-transition),
		border-color var(--hag-transition),
		box-shadow var(--hag-transition);
}


.hag-service-card:hover {
	transform:
		translateY(-4px);

	border-color:
		rgba(79, 89, 63, .15);

	box-shadow:
		var(--hag-shadow-sm);
}


/* ==========================================================
   IMAGE
   ========================================================== */

.hag-service-media {
	position: relative;

	width: 100%;

	overflow: hidden;

	aspect-ratio:
		4 / 3;

	background:
		var(--hag-bg);
}


.hag-service-media img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transition:
		transform var(--hag-transition-slow);
}


.hag-service-card:hover
.hag-service-media img {
	transform:
		scale(1.025);
}


/* ==========================================================
   CONTENT
   ========================================================== */

.hag-service-content {
	display: flex;
	flex-direction: column;

	flex: 1 1 auto;

	padding:
		27px
		27px
		26px;
}


.hag-service-content h3 {
	margin:
		0
		0
		14px !important;

	font-size:
		clamp(1.65rem, 2vw, 2rem);

	line-height:
		1.1;

	color:
		#4F593F !important;
}


/*
 * Auch hier unsere einheitliche Fließtextgröße.
 */

.hag-service-content p {
	margin:
		0
		0
		24px !important;

	font-family:
		var(--hag-font-body);

	font-size:
		var(--hag-body-size) !important;

	line-height:
		var(--hag-body-line) !important;

	color:
		#53594D;
}


/* ==========================================================
   LINK
   ========================================================== */

.hag-service-link {
	display: inline-flex;

	align-items: center;

	align-self: flex-start;

	margin-top: auto;

	padding-bottom: 5px;

	border-bottom:
		1px solid
		var(--hag-tiffany);

	font-family:
		var(--hag-font-body);

	font-size:
		.91rem;

	font-weight:
		500;

	line-height:
		1.3;

	color:
		#4F593F;

	transition:
		color var(--hag-transition),
		border-color var(--hag-transition);
}


.hag-service-card:hover
.hag-service-link {
	color:
		#00979F;

	border-bottom-color:
		#00979F;
}

/* ==========================================================
   15. REAL WEDDINGS / CASE TEASERS
   ========================================================== */

.hag-weddings-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.hag-wedding-card {
	position: relative;
}

.hag-wedding-card-media {
	overflow: hidden;
	border-radius: var(--hag-radius);
	background: var(--hag-bg-soft);
}

.hag-wedding-card-media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	transition: transform var(--hag-transition-slow);
}

.hag-wedding-card:hover .hag-wedding-card-media img {
	transform: scale(1.025);
}

.hag-wedding-card-copy {
	padding: 18px 4px 0;
}

.hag-wedding-card-kicker {
	display: block;
	margin-bottom: 7px;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hag-olive);
}

.hag-wedding-card h3 {
	margin-bottom: 6px;
	font-size: 1.75rem;
}

.hag-wedding-card-meta {
	font-size: var(--hag-body-size);
	line-height: var(--hag-body-line);
	color: var(--hag-text-muted);
}


/* ==========================================================
   16. PROCESS / ABLAUF
   ========================================================== */

.hag-process {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	border-top: 1px solid var(--hag-border);
	border-bottom: 1px solid var(--hag-border);
}

.hag-process-step {
	position: relative;
	padding: 30px 26px 32px;
}

.hag-process-step:not(:last-child)::after {
	content: "";
	position: absolute;
	right: 0;
	top: 18%;
	width: 1px;
	height: 64%;
	background: var(--hag-border);
}

.hag-process-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 22px;
	border: 1px solid var(--hag-olive-dark);
	border-radius: 50%;
	font-family: var(--hag-font-heading);
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--hag-olive-dark);
}

.hag-process-step h3 {
	margin-bottom: 8px;
	font-size: 1.45rem;
}

.hag-process-step p {
	font-size: var(--hag-body-size);
	line-height: var(--hag-body-line);
	color: var(--hag-text-muted);
}


/* ==========================================================
   17. LOCATIONS MODULE
   ========================================================== */

.hag-location-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
	gap: clamp(56px, 7vw, 92px);
	align-items: center;
}

.hag-location-gallery {
	position: relative;
	padding-bottom: 60px;
}

.hag-location-main {
	overflow: hidden;
	border-radius: var(--hag-radius-lg);
}

.hag-location-main img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.hag-location-detail {
	position: absolute;
	right: -28px;
	bottom: 0;
	width: 42%;
	overflow: hidden;
	border: 8px solid var(--hag-bg);
	border-radius: 24px;
	box-shadow: var(--hag-shadow-sm);
}

.hag-location-detail img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.hag-location-copy {
	max-width: 520px;
}


/* ==========================================================
   19. INSIDER TIPS / POST TEASERS
   Intro oben, drei grosszuegige Karten darunter
   ========================================================== */

.hag-insider-layout {
	display: block;
}

.hag-insider-intro {
	position: static;
	max-width: 790px;
	margin-bottom: 50px;
}

.hag-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.hag-post-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--hag-border-soft);
	border-radius: var(--hag-radius);
	background: rgba(255, 253, 252, 0.58);
	transition:
		transform var(--hag-transition),
		border-color var(--hag-transition),
		box-shadow var(--hag-transition);
}

.hag-post-card:hover {
	transform: translateY(-3px);
	border-color: rgba(79, 89, 63, 0.15);
	box-shadow: var(--hag-shadow-sm);
}

.hag-post-card-media {
	display: block;
	overflow: hidden;
}

.hag-post-card-media img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	transition: transform var(--hag-transition-slow);
}

.hag-post-card:hover .hag-post-card-media img {
	transform: scale(1.025);
}

.hag-post-card-copy {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 22px 22px 24px;
}

.hag-post-card-meta {
	display: block;
	margin-bottom: 8px;
	font-size: 0.67rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hag-olive);
}

.hag-post-card h3 {
	margin-bottom: 12px;
	font-size: 1.72rem;
	line-height: 1.12;
}

.hag-post-card p {
	margin-bottom: 22px;
	font-size: var(--hag-body-size);
	line-height: var(--hag-body-line);
	color: var(--hag-text-muted);
}

.hag-post-card-copy .hag-btn-text {
	align-self: flex-start;
	margin-top: auto;
}

/* ==========================================================
   20. FAQ
   ========================================================== */

.hag-faq-head {
	max-width: 760px;
	margin-bottom: 40px;
}

.hag-faq-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 54px;
	border-top: 1px solid var(--hag-border);
}

.hag-faq-item {
	margin: 0;
	border-bottom: 1px solid var(--hag-border);
}

.hag-faq-item summary {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 76px;
	padding: 20px 50px 20px 0;
	font-family: var(--hag-font-heading);
	font-size: 1.35rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--hag-olive-dark);
	cursor: pointer;
	list-style: none;
}

.hag-faq-item summary::-webkit-details-marker {
	display: none;
}

.hag-faq-item summary::before,
.hag-faq-item summary::after {
	content: "";
	position: absolute;
	right: 8px;
	top: 50%;
	width: 16px;
	height: 1.5px;
	background: var(--hag-olive);
	transform: translateY(-50%);
	transition: transform 0.22s ease;
}

.hag-faq-item summary::after {
	transform: translateY(-50%) rotate(90deg);
}

.hag-faq-item[open] summary::after {
	transform: translateY(-50%) rotate(0deg);
}

.hag-faq-answer {
	padding: 0 42px 22px 0;
}

.hag-faq-answer p {
	margin: 0;
	font-size: var(--hag-body-size);
	line-height: var(--hag-body-line);
	color: var(--hag-text-muted);
}


/* ==========================================================
   21. FINAL CTA
   ========================================================== */

.hag-final-cta {
	position: relative;
	overflow: hidden;
	background: var(--hag-tiffany);
}

.hag-final-cta-inner {
	display: grid;
	grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr);
	align-items: center;
	gap: clamp(50px, 7vw, 92px);
}

.hag-final-cta-copy {
	max-width: 520px;
}

.hag-final-cta-copy .hag-eyebrow {
	color: var(--hag-olive-dark);
}

.hag-final-cta-image {
	position: relative;
	align-self: stretch;
	min-height: 430px;
}

.hag-final-cta-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 32px 0 0 32px;
}

.hag-final-cta .hag-signature {
	margin-top: 26px;
}


/* ==========================================================
   22. CONTACT / CF7
   ========================================================== */

.hag-contact {
	display: grid;
	grid-template-columns: minmax(0, 0.84fr) minmax(0, 1.16fr);
	gap: clamp(54px, 7vw, 88px);
	align-items: start;
}

.hag-contact-intro {
	padding-top: 14px;
}

.hag-contact-direct {
	margin-top: 34px;
	border-top: 1px solid var(--hag-border);
}

.hag-contact-direct-item {
	padding: 16px 0;
	border-bottom: 1px solid var(--hag-border);
}

.hag-contact-direct-item span {
	display: block;
	margin-bottom: 3px;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hag-olive);
}

.hag-contact-direct-item a {
	font-family: var(--hag-font-heading);
	font-size: 1.3rem;
	font-weight: 500;
	text-decoration: none;
	color: var(--hag-olive-dark);
}

.hag-contact-form {
	padding: 38px 42px;
	border: 1px solid var(--hag-border-soft);
	border-radius: var(--hag-radius-lg);
	background: rgba(255, 255, 255, 0.52);
	box-shadow: var(--hag-shadow-sm);
}

.hag-form-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	margin-bottom: 18px;
}

.hag-form-row-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hag-form-field label {
	display: block;
	margin-bottom: 7px;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--hag-olive-dark);
}

.hag-form input[type="text"],
.hag-form input[type="email"],
.hag-form input[type="tel"],
.hag-form input[type="date"],
.hag-form input[type="number"],
.hag-form select,
.hag-form textarea {
	display: block;
	width: 100% !important;
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 1px solid var(--hag-border) !important;
	border-radius: var(--hag-radius-sm) !important;
	background: rgba(255, 255, 255, 0.72) !important;
	font-family: var(--hag-font-body) !important;
	font-size: 0.94rem !important;
	color: var(--hag-olive-dark) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
}

.hag-form input,
.hag-form select {
	min-height: 48px;
}

.hag-form textarea {
	min-height: 120px !important;
	height: 120px !important;
	max-height: 220px !important;
	resize: vertical !important;
}

.hag-form input:focus,
.hag-form select:focus,
.hag-form textarea:focus {
	outline: none !important;
	border-color: var(--hag-tiffany) !important;
	box-shadow: 0 0 0 3px rgba(143, 207, 197, 0.18) !important;
}

/* ==========================================================
   CF7 DATENSCHUTZ / ACCEPTANCE
   ========================================================== */

.hag-form-privacy {
	margin: 22px 0 24px;

	font-family: var(--hag-font-body);
	font-size: .76rem;
	line-height: 1.55;

	color: var(--hag-text-muted);
}


.hag-form-privacy .wpcf7-form-control-wrap,
.hag-form-privacy .wpcf7-acceptance {
	display: block;
	width: 100%;
}


.hag-form-privacy .wpcf7-list-item {
	display: block;

	width: 100%;

	margin: 0 !important;
}


.hag-form-privacy .wpcf7-list-item label {
	display: flex;

	align-items: flex-start;

	gap: 11px;

	width: 100%;

	margin: 0;

	cursor: pointer;
}


/* Checkbox */

.hag-form-privacy input[type="checkbox"] {
	flex: 0 0 auto;

	width: 16px !important;
	height: 16px !important;

	min-height: 0 !important;

	margin: 3px 0 0 !important;

	padding: 0 !important;
}


/* Text neben Checkbox */

.hag-form-privacy .wpcf7-list-item-label {
	display: block;

	flex: 1 1 auto;

	margin: 0;

	line-height: 1.55;
}


.hag-form-privacy a {
	color: var(--hag-olive-dark) !important;

	text-decoration: underline;
	text-underline-offset: 2px;
}


.hag-form-privacy a:hover {
	color: #00979F !important;
}
.hag-form-field > p,
.hag-form-privacy > p,
.hag-form-submit > p {
	margin: 0 !important;
	padding: 0 !important;
}

.hag-form-field > p > br {
	display: none !important;
}

.hag-form-submit input[type="submit"] {
	width: auto !important;
	min-height: 50px;
	margin: 0 !important;
	padding: 0 25px !important;
	border: 1px solid var(--hag-olive-dark) !important;
	border-radius: var(--hag-radius-xs) !important;
	background: var(--hag-olive-dark) !important;
	font-family: var(--hag-font-body) !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.10em !important;
	text-transform: uppercase !important;
	color: var(--hag-bg) !important;
	cursor: pointer;
}

.hag-form-submit input[type="submit"]:hover {
	background: var(--hag-tiffany) !important;
	border-color: var(--hag-tiffany) !important;
	color: var(--hag-olive-dark) !important;
}

.hag-contact-form .wpcf7-not-valid-tip {
	margin-top: 5px;
	font-size: 0.75rem;
	color: #9b4f45;
}

.hag-contact-form .wpcf7-response-output {
	margin: 20px 0 0 !important;
	padding: 12px 15px !important;
	border: 0 !important;
	border-radius: var(--hag-radius-sm) !important;
	background: var(--hag-bg-sage) !important;
	color: var(--hag-olive-dark) !important;
}


/* ==========================================================
   23. FOOTER
   ========================================================== */

#Footer {
	background: var(--hag-bg-soft) !important;
	color: var(--hag-text-muted);
}

#Footer .widgets_wrapper {
	padding: 58px 0 50px !important;
	background: var(--hag-bg-soft) !important;
}

#Footer .widgets_wrapper .container,
#Footer .footer_copy .container {
	width: min(calc(100% - 48px), var(--hag-header-width));
	max-width: var(--hag-header-width);
	margin: 0 auto;
}

#Footer .widgets_wrapper .column {
	margin-bottom: 0 !important;
}

#Footer .widget,
#Footer .textwidget {
	margin: 0 !important;
	padding: 0 !important;
}

#Footer .widget::before,
#Footer .widget::after {
	display: none !important;
}

.hag-footer-widget {
	font-family: var(--hag-font-body);
	color: var(--hag-text-muted);
}

.hag-footer-title {
	display: block;
	margin: 0 0 15px;
	font-size: 0.67rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hag-olive);
}

.hag-footer-logo {
	display: block;
	width: 190px;
	max-width: 100%;
	height: auto;
}

.hag-footer-links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 7px;
}

.hag-footer-links a,
.hag-footer-contact a {
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--hag-text-muted) !important;
	text-decoration: none !important;
}

.hag-footer-links a:hover,
.hag-footer-contact a:hover {
	color: var(--hag-olive-dark) !important;
}

.hag-footer-contact strong {
	display: block;
	margin-bottom: 8px;
	font-family: var(--hag-font-heading);
	font-size: 1.35rem;
	font-weight: 500;
	color: var(--hag-olive-dark);
}

#Footer .footer_copy {
	background: var(--hag-tiffany) !important;
	border: 0 !important;
}

#Footer .footer_copy .column.one {
	width: 100%;
	margin: 0 !important;
}

#Footer .footer_copy .mcb-column-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	min-height: 60px;
	margin: 0 !important;
	padding: 0 !important;
}

#Footer .footer_copy .copyright {
	margin: 0 !important;
	font-size: 0.74rem;
	font-weight: 500;
	line-height: 1.5;
	color: #3F4835 !important;
}

#Footer .footer_copy .copyright a {
	color: #3F4835 !important;
	text-decoration: none !important;
}

#Footer .footer_copy .copyright a:hover {
	color: var(--hag-bg) !important;
}

#Footer #back_to_top {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 38px !important;
	height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(247, 243, 237, 0.22) !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: rgba(247, 243, 237, 0.78) !important;
	box-shadow: none !important;
}

#Footer #back_to_top:hover {
	border-color: rgba(247, 243, 237, 0.55) !important;
	color: var(--hag-bg) !important;
}


/* ==========================================================
   24. LEGAL / TEXT PAGES
   ========================================================== */

.hag-legal-section {
	background: var(--hag-bg-soft);
}

.hag-legal-page {
	width: 100%;
	max-width: 980px;
	margin: 0 auto;
}

.hag-legal-intro {
	max-width: 760px;
	margin-bottom: 46px;
}

.hag-legal-stack {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
}

.hag-legal-card {
	padding: 34px 38px;
	border: 1px solid var(--hag-border);
	border-radius: var(--hag-radius);
	background: rgba(255, 255, 255, 0.60);
}

.hag-legal-card h2 {
	margin: 0 0 20px;
	font-size: clamp(1.8rem, 3vw, 2.35rem);
}

.hag-legal-card h3 {
	margin: 28px 0 12px;
	font-size: 1.5rem;
}

.hag-legal-card p,
.hag-legal-card li,
.hag-legal-card address {
	font-size: 0.94rem;
	line-height: 1.72;
	color: var(--hag-text-muted);
}

.hag-legal-card address {
	font-style: normal;
}


/* ==========================================================
   25. MOBILE STICKY CTA (OPTIONAL)
   ========================================================== */

.hag-mobile-cta {
	display: none;
}


/* ==========================================================
   26. BORLABS COOKIE
   ========================================================== */

#BorlabsCookieBox {
	font-family: var(--hag-font-body);
}

#BorlabsCookieBox ._brlbs-box {
	border-radius: var(--hag-radius) !important;
	box-shadow: var(--hag-shadow-lg);
}

#BorlabsCookieBox ._brlbs-box h3,
#BorlabsCookieBox ._brlbs-box h4 {
	font-family: var(--hag-font-heading);
	color: var(--hag-olive-dark);
}

#BorlabsCookieBox ._brlbs-btn {
	border-radius: var(--hag-radius-xs) !important;
	font-family: var(--hag-font-body) !important;
	font-weight: 600 !important;
}

#BorlabsCookieBox ._brlbs-btn-accept-all {
	background: var(--hag-olive-dark) !important;
	color: var(--hag-bg) !important;
}

#BorlabsCookieBox ._brlbs-btn-accept-all:hover {
	background: var(--hag-tiffany) !important;
	color: var(--hag-olive-dark) !important;
}


/* ==========================================================
   27. UTILITIES
   ========================================================== */

.hag-text-center { text-align: center; }
.hag-text-left { text-align: left; }
.hag-mx-auto { margin-left: auto; margin-right: auto; }
.hag-hidden { display: none !important; }
.hag-visible-mobile { display: none !important; }
.hag-no-margin { margin: 0 !important; }
.hag-no-padding { padding: 0 !important; }


/* ==========================================================
   28. ACCESSIBILITY
   ========================================================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid rgba(143, 207, 197, 0.72);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}


/* ==========================================================
   29. TABLET
   ========================================================== */

@media only screen and (max-width: 1050px) {

	:root {
		--hag-section-space: 88px;
		--hag-section-space-small: 64px;
		--hag-section-space-large: 104px;
	}


	
	.hag-services-grid,
	.hag-weddings-grid,
	.hag-post-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hag-process {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hag-process-step:nth-child(3)::after {
		display: none;
	}

	.hag-process-step:nth-child(n+4) {
		border-top: 1px solid var(--hag-border);
	}

	.hag-location-layout,
	.hag-final-cta-inner,
	.hag-contact {
		gap: 48px;
	}

}


/* ==========================================================
   30. RESPONSIVE HEADER / TABLET
   ========================================================== */

@media only screen and (max-width: 1240px) {

	#Top_bar .container {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	#Top_bar .column.one {
		width: 100% !important;
		margin: 0 !important;
	}

	#Top_bar .top_bar_left {
		min-height: 82px !important;
	}

	#Top_bar #logo {
		width: 170px !important;
	}

	#Top_bar #logo img.logo-main {
		max-width: 170px !important;
		max-height: 60px !important;
	}

	#Top_bar .menu_wrapper {
		position: relative !important;
		flex: 0 0 44px !important;
		width: 44px !important;
		min-width: 44px !important;
		max-width: 44px !important;
		height: 82px !important;
		min-height: 82px !important;
		margin: 0 0 0 auto !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		overflow: visible !important;
	}

	#Top_bar #menu {
		display: none !important;
	}

	.responsive-menu-toggle {
		position: static !important;
		float: none !important;
		transform: none !important;
		flex: 0 0 44px !important;
		width: 44px !important;
		height: 44px !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	#Top_bar.is-sticky,
	#Top_bar.is-sticky .container,
	#Top_bar.is-sticky .column.one,
	#Top_bar.is-sticky .top_bar_left,
	#Top_bar.is-sticky .menu_wrapper {
		min-height: 76px !important;
		height: 76px !important;
	}

	#Top_bar.is-sticky #logo,
	#Top_bar.is-sticky #logo img.logo-main {
		width: 162px !important;
		max-width: 162px !important;
	}

}


/* ==========================================================
   31. MOBILE
   ========================================================== */

@media only screen and (max-width: 767px) {

	:root {
		--hag-section-space: 68px;
		--hag-section-space-small: 50px;
		--hag-section-space-large: 82px;
		--hag-header-height: var(--hag-header-height-mobile);
		--hag-body-size: 1rem;
		--hag-body-line: 1.65;
	}

	html {
		scroll-padding-top: 72px;
	}

	body,
	#Wrapper,
	#Content {
		font-size: 16px;
		line-height: 1.68;
	}

	.hag-container,
	.hag-container-narrow {
		width: calc(100% - (2 * var(--hag-mobile-gutter)));
		margin-left: auto;
		margin-right: auto;
	}

	/* Einheitliche BeTheme-Basis fuer alle normalen Inhaltsmodule.
	   Die Section laeuft voll, der eigentliche Inhalt bekommt den Gutter. */
	.hag-section .section_wrapper,
	.hag-section .mcb-wrap,
	.hag-section .mcb-wrap-inner,
	.hag-section .mcb-column,
	.hag-section .mcb-column-inner,
	.hag-section .column_attr,
	.hag-sina-intro .section_wrapper,
	.hag-sina-intro .mcb-wrap,
	.hag-sina-intro .mcb-wrap-inner,
	.hag-sina-intro .mcb-column,
	.hag-sina-intro .mcb-column-inner,
	.hag-sina-intro .column_attr,
	.hag-promises .section_wrapper,
	.hag-promises .mcb-wrap,
	.hag-promises .mcb-wrap-inner,
	.hag-promises .mcb-column,
	.hag-promises .mcb-column-inner,
	.hag-promises .column_attr {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	h1 {
		font-size: clamp(2.75rem, 12vw, 3.55rem);
		line-height: 0.99;
		margin-bottom: 22px;
	}

	h2 {
		font-size: clamp(2.25rem, 10vw, 3rem);
		line-height: 1.03;
		margin-bottom: 20px;
	}

	h3 {
		font-size: clamp(1.65rem, 7vw, 2rem);
	}

	.hag-lead,
	.hag-copy p,
	.hag-copy .hag-lead {
		font-size: var(--hag-body-size);
		line-height: var(--hag-body-line);
	}

	.hag-section-head {
		margin-bottom: 34px;
	}

	/* Header */
	#Header_wrapper,
	#Header,
	#Top_bar,
	#Top_bar:not(.is-sticky),
	#Top_bar .container,
	#Top_bar .column.one,
	#Top_bar .top_bar_left {
		height: 72px !important;
		min-height: 72px !important;
		max-height: 72px !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	#Header_wrapper,
	#Header {
		overflow: visible !important;
	}

	#Top_bar .container {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding-left: var(--hag-mobile-gutter) !important;
		padding-right: var(--hag-mobile-gutter) !important;
		box-sizing: border-box !important;
	}

	#Top_bar .column.one {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#Top_bar .top_bar_left {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#Top_bar .logo {
		position: absolute !important;
		left: 0 !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#Top_bar #logo {
		display: block !important;
		width: 158px !important;
		max-width: calc(100vw - 98px) !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#Top_bar #logo img.logo-main {
		display: block !important;
		width: 158px !important;
		max-width: 100% !important;
		max-height: 54px !important;
		margin: 0 !important;
		padding: 0 !important;
		object-fit: contain !important;
		object-position: left center !important;
	}

	#Top_bar #menu {
		display: none !important;
	}

	#Top_bar .menu_wrapper {
		position: absolute !important;
		right: 0 !important;
		left: auto !important;
		top: 0 !important;
		display: block !important;
		width: 44px !important;
		min-width: 44px !important;
		max-width: 44px !important;
		height: 72px !important;
		min-height: 72px !important;
		max-height: 72px !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	.responsive-menu-toggle {
		position: absolute !important;
		right: 0 !important;
		left: auto !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 42px !important;
		height: 42px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		color: var(--hag-olive-dark) !important;
		z-index: 9999 !important;
	}

	.responsive-menu-toggle i {
		display: none !important;
	}

	.responsive-menu-toggle::before {
		content: "" !important;
		display: block !important;
		width: 27px !important;
		height: 2px !important;
		border-radius: 2px !important;
		background: var(--hag-olive-dark) !important;
		box-shadow: 0 -8px 0 var(--hag-olive-dark), 0 8px 0 var(--hag-olive-dark) !important;
	}

	#Top_bar.is-sticky,
	#Top_bar.is-sticky .container,
	#Top_bar.is-sticky .column.one,
	#Top_bar.is-sticky .top_bar_left,
	#Top_bar.is-sticky .menu_wrapper {
		height: 68px !important;
		min-height: 68px !important;
		max-height: 68px !important;
	}

	#Top_bar.is-sticky #logo,
	#Top_bar.is-sticky #logo img.logo-main {
		width: 150px !important;
		max-width: 150px !important;
		max-height: 52px !important;
	}


	/* Split */
	.hag-split,
	.hag-location-layout,
	.hag-final-cta-inner,
	.hag-contact {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.hag-split-reverse .hag-split-media,
	.hag-split-reverse .hag-split-copy {
		order: initial;
	}

	.hag-philosophy .hag-lineart {
		display: none;
	}

	
	/* Grids */
	.hag-services-grid,
	.hag-weddings-grid,
	.hag-post-grid,
	.hag-faq-grid {
		grid-template-columns: 1fr;
	}

	.hag-service-card {
		min-height: 0;
		padding: 0;
	}

	.hag-service-content {
		padding: 24px 22px 23px;
	}

	.hag-wedding-card-media img {
		aspect-ratio: 4 / 3;
	}

	/* Process */
	.hag-process {
		grid-template-columns: 1fr;
	}

	.hag-process-step {
		padding: 24px 0;
		border-bottom: 1px solid var(--hag-border);
	}

	.hag-process-step:last-child {
		border-bottom: 0;
	}

	.hag-process-step::after {
		display: none !important;
	}

	/* Locations */
	.hag-location-gallery {
		padding-bottom: 0;
	}

	.hag-location-detail {
		position: relative;
		right: auto;
		bottom: auto;
		width: 58%;
		margin: -44px 0 0 auto;
		border-width: 6px;
	}

	/* Insider */
	.hag-insider-intro {
		max-width: none;
		margin-bottom: 34px;
	}

	/* FAQ */
	.hag-faq-grid {
		column-gap: 0;
	}

	.hag-faq-item summary {
		min-height: 0;
		padding: 19px 44px 19px 0;
		font-size: 1.25rem;
	}

	.hag-faq-answer {
		padding: 0 36px 20px 0;
	}

	/* Final CTA */
	.hag-final-cta-image {
		min-height: 320px;
	}

	.hag-final-cta-image img {
		border-radius: var(--hag-radius-lg);
	}

	/* Contact */
	.hag-contact-intro {
		padding-top: 0;
	}

	.hag-contact-form {
		padding: 28px 22px;
	}

	.hag-form-row-2 {
		grid-template-columns: 1fr;
	}

	.hag-form-submit input[type="submit"] {
		width: 100% !important;
	}

	/* Footer */
	#Footer .widgets_wrapper {
		padding: 44px 0 36px !important;
	}

	#Footer .widgets_wrapper .container,
	#Footer .footer_copy .container {
		width: calc(100% - (2 * var(--hag-mobile-gutter))) !important;
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	#Footer .widgets_wrapper .column {
		width: 100% !important;
		margin: 0 0 32px !important;
		padding: 0 !important;
	}

	#Footer .widgets_wrapper .column:last-child {
		margin-bottom: 0 !important;
	}

	#Footer .footer_copy .mcb-column-inner {
		min-height: 0;
		padding: 17px 0 !important;
	}

	#Footer .footer_copy .copyright {
		max-width: calc(100% - 50px);
		font-size: 0.7rem;
		line-height: 1.6;
	}

	/* Optional mobile CTA */
	.hag-mobile-cta {
		position: fixed;
		left: var(--hag-mobile-gutter);
		right: var(--hag-mobile-gutter);
		bottom: calc(var(--hag-mobile-gutter) + env(safe-area-inset-bottom));
		z-index: 9000;
		display: block;
		pointer-events: none;
	}

	.hag-mobile-cta .hag-btn {
		display: flex;
		width: 100%;
		box-shadow: 0 12px 34px rgba(79, 89, 63, 0.24);
		pointer-events: auto;
	}

	body.hag-contact-visible .hag-mobile-cta {
		opacity: 0;
		pointer-events: none;
	}

	.hag-hidden-mobile { display: none !important; }
	.hag-visible-mobile { display: block !important; }

	/* Legal */
	.hag-legal-card {
		padding: 27px 24px;
	}

}


/* ==========================================================
   32. VERY SMALL MOBILE
   ========================================================== */

@media only screen and (max-width: 380px) {

	#Top_bar #logo,
	#Top_bar #logo img.logo-main {
		width: 146px !important;
		max-width: 146px !important;
	}

	#Top_bar.is-sticky #logo,
	#Top_bar.is-sticky #logo img.logo-main {
		width: 140px !important;
		max-width: 140px !important;
	}


}


/* ==========================================================
   33. PRINT
   ========================================================== */

@media print {

	#Header,
	#Footer,
	.hag-mobile-cta,
	.hag-btn {
		display: none !important;
	}

	body {
		color: #000;
		background: #fff;
	}
}
/* ==========================================================
   DESKTOP SUBMENU – BREITE FINAL
   ========================================================== */

@media only screen and (min-width: 1241px) {

	#Top_bar .menu > li > ul.sub-menu {
		width: 285px !important;
		min-width: 285px !important;
	}

	#Top_bar .menu > li > ul.sub-menu > li {
		width: 100% !important;
	}

	#Top_bar .menu > li > ul.sub-menu > li > a {
		width: 100% !important;
		box-sizing: border-box !important;

		padding: 14px 20px !important;

		white-space: normal !important;
		line-height: 1.45 !important;
	}

}
/* ==========================================================
   MOBILE SUBMENU TOGGLE – FINAL POSITION
   ========================================================== */

@media only screen and (max-width: 1240px) {

	#Side_slide #menu > ul > li.submenu {
		position: relative !important;
	}

	#Side_slide #menu > ul > li.submenu > .menu-toggle {
		position: absolute !important;

		top: 25px !important;
		right: 10px !important;
		bottom: auto !important;

		width: 40px !important;
		height: 40px !important;

		margin: 0 !important;
		padding: 0 !important;

		transform: translateY(-50%) !important;

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		color: var(--hag-olive) !important;
		opacity: .72 !important;
	}

}

/* ==========================================================
   FOOTER – FINAL POLISH
   ========================================================== */


/* ----------------------------------------------------------
   KONTAKTSPALTE
   ---------------------------------------------------------- */

.hag-footer-contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}


.hag-footer-contact-lead {
	max-width: 330px;
	margin: 5px 0 16px !important;

	font-family: var(--hag-font-heading);
	font-size: 1.45rem;
	font-weight: 500;
	line-height: 1.25;

	color: var(--hag-olive-dark);
}


.hag-footer-mail {
	display: inline-block;

	margin-bottom: 20px;

	font-family: var(--hag-font-body);
	font-size: .92rem;
	font-weight: 500;

	color: var(--hag-olive-dark) !important;

	text-decoration: none !important;
}


.hag-footer-mail:hover {
	color: var(--hag-olive) !important;
}


/* CTA Tiffany statt Dunkelgrün */

.hag-footer-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 46px;

	padding: 0 24px;

	background: var(--hag-tiffany);

	border: 1px solid var(--hag-tiffany);
	border-radius: var(--hag-radius-xs);

	font-family: var(--hag-font-body);
	font-size: .76rem;
	font-weight: 700;
	line-height: 1;

	letter-spacing: .10em;
	text-transform: uppercase;

	color: #3F4835 !important;

	text-decoration: none !important;

	transition:
		background .25s ease,
		border-color .25s ease,
		transform .25s ease;
}


.hag-footer-cta:hover {
	background: transparent;
	border-color: var(--hag-tiffany);

	color: var(--hag-olive-dark) !important;

	transform: translateY(-1px);
}


/* ==========================================================
   COPYRIGHT – ZENTRIERT + ETWAS GRÖSSER
   ========================================================== */

#Footer .footer_copy .mcb-column-inner {
	position: relative !important;

	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	min-height: 72px !important;
}


#Footer .footer_copy .copyright {
	width: 100% !important;

	margin: 0 !important;

	text-align: center !important;

	font-size: .82rem !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;

	color: #3F4835 !important;
}


#Footer .footer_copy .copyright a {
	color: #3F4835 !important;
	text-decoration: none !important;
}


#Footer .footer_copy .copyright a:hover {
	text-decoration: underline !important;
}


/* Back-to-top bleibt rechts unabhängig vom zentrierten Text */

#Footer #back_to_top {
	position: absolute !important;

	right: 0 !important;
	top: 50% !important;

	transform: translateY(-50%) !important;
}

/* ==========================================================
   FOOTER CONTACT – FINAL
   ========================================================== */

.hag-footer-contact {
	max-width: 360px;
}


.hag-footer-contact-lead {
	margin: 4px 0 20px !important;

	font-family: var(--hag-font-heading);
	font-size: 1.35rem;
	font-weight: 500;
	line-height: 1.28;

	color: var(--hag-olive-dark);
}


.hag-footer-contact-links {
	border-top: 1px solid var(--hag-border);
}


.hag-footer-contact-links > a {
	display: flex;
	flex-direction: column;
	gap: 2px;

	padding: 11px 0;

	border-bottom: 1px solid var(--hag-border);

	color: var(--hag-olive-dark) !important;
	text-decoration: none !important;

	transition: color .2s ease;
}


.hag-footer-contact-links > a:hover {
	color: #00979F !important;
}


.hag-footer-contact-label {
	font-size: .66rem;
	font-weight: 700;
	line-height: 1.3;

	letter-spacing: .12em;
	text-transform: uppercase;

	color: var(--hag-olive);
}


.hag-footer-contact-links > a span:last-child {
	font-size: .88rem;
	font-weight: 500;
	line-height: 1.45;
}


/* Termin nicht mehr als großer Blockbutton */

.hag-footer-contact-cta {
	display: inline-block;

	margin-top: 18px;
	padding-bottom: 4px;

	border-bottom: 1px solid var(--hag-tiffany);

	font-size: .75rem;
	font-weight: 700;
	line-height: 1.3;

	letter-spacing: .11em;
	text-transform: uppercase;

	color: var(--hag-olive-dark) !important;
	text-decoration: none !important;
}


.hag-footer-contact-cta:hover {
	color: #00979F !important;
	border-bottom-color: #00979F;
}

.hag-footer-brand {
	max-width: 315px;
}

.hag-footer-brand-copy {
	max-width: 300px;
	margin: 22px 0 16px !important;

	font-size: .9rem;
	line-height: 1.65;

	color: var(--hag-text-muted);
}

.hag-footer-instagram {
	display: inline-block;

	padding-bottom: 3px;

	border-bottom: 1px solid var(--hag-tiffany);

	font-size: .72rem;
	font-weight: 600;
	line-height: 1.4;

	letter-spacing: .06em;

	color: var(--hag-olive-dark) !important;
	text-decoration: none !important;
}

.hag-footer-instagram:hover {
	color: #00979F !important;
	border-bottom-color: #00979F;
}

/* ==========================================================
   HAG HERO FULL
   Full-width emotional hero + soft image crossfade
   ========================================================== */


/* ==========================================================
   1. BETHEME SECTION RESET
   ========================================================== */

.hag-hero-full {
	position: relative;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	background: var(--hag-bg) !important;

	overflow: visible !important;
}


.hag-hero-full > .section_wrapper,
.hag-hero-full .section_wrapper,
.hag-hero-full .mcb-wrap,
.hag-hero-full .mcb-wrap-inner,
.hag-hero-full .mcb-column,
.hag-hero-full .mcb-column-inner,
.hag-hero-full .column_attr {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Verhindert moegliche BeTheme-Zwischenraeume unter dem Hero,
   ohne die Wrapper-Struktur selbst auf Flex umzustellen. */
.hag-hero-full .column_attr {
	display: flex !important;
	flex-direction: column;
}


/* ==========================================================
   2. FULL BLEED STAGE
   ========================================================== */

.hag-hero-full-stage {
	position: relative;
	flex: 0 0 auto;

	width: 100vw;

	height: calc(100svh - var(--hag-header-height));
	min-height: 650px;
	max-height: 820px;

	margin-left: calc(50% - 50vw);

	overflow: hidden;

	background: #4F593F;

	isolation: isolate;
}


/* ==========================================================
   3. IMAGE SLIDES
   ========================================================== */

.hag-hero-full-media {
	position: absolute;
	inset: 0;

	z-index: 0;

	overflow: hidden;
}


.hag-hero-full-image {
	position: absolute;
	inset: 0;

	display: block;

	width: 100% !important;
	height: 100% !important;
	max-width: none !important;

	object-fit: cover;

	will-change: opacity, transform;
}


/* ----------------------------------------------------------
   Bild 1 – Auszug
   ---------------------------------------------------------- */

.hag-hero-full-image-1 {
	z-index: 2;

	object-position: 46% 46%;

	animation:
		hagHeroImageOne 20s
		ease-in-out
		infinite;
}


/* ----------------------------------------------------------
   Bild 2 – Pinien / Gardasee
   ---------------------------------------------------------- */

.hag-hero-full-image-2 {
	z-index: 1;

	object-position: 50% 68%;

	animation:
		hagHeroImageTwo 20s
		ease-in-out
		infinite;
}


/* ==========================================================
   4. SOFT CROSSFADE
   ========================================================== */

@keyframes hagHeroImageOne {

	0%,
	43% {
		opacity: 1;
		transform: scale(1.015);
	}

	50%,
	93% {
		opacity: 0;
		transform: scale(1.045);
	}

	100% {
		opacity: 1;
		transform: scale(1.015);
	}

}


@keyframes hagHeroImageTwo {

	0%,
	43% {
		opacity: 0;
		transform: scale(1.045);
	}

	50%,
	93% {
		opacity: 1;
		transform: scale(1.015);
	}

	100% {
		opacity: 0;
		transform: scale(1.045);
	}

}


/* ==========================================================
   5. SEHR LEICHTES IMAGE OVERLAY
   ========================================================== */

.hag-hero-full-stage::after {
	content: "";

	position: absolute;
	inset: 0;

	z-index: 1;

	pointer-events: none;

	background:
		linear-gradient(
			270deg,
			rgba(28, 43, 48, .08) 0%,
			rgba(28, 43, 48, .02) 38%,
			rgba(28, 43, 48, 0) 68%
		);
}


/* ==========================================================
   6. CONTENT CARD – DESKTOP RECHTS
   ========================================================== */

.hag-hero-full-card {
	position: absolute;

	right:
		max(
			32px,
			calc((100vw - var(--hag-header-width)) / 2 - 10px)
		);

	left: auto;

	top: 53%;

	z-index: 5;

	width: min(535px, calc(100vw - 64px));

	padding:
		40px
		42px
		38px;

	transform: translateY(-50%);

	background:
		rgba(245, 241, 232, .90);

	border:
		1px solid
		rgba(255, 255, 255, .36);

	border-radius: 24px;

	box-shadow:
		0 20px 60px
		rgba(35, 54, 60, .10);

	-webkit-backdrop-filter: blur(9px);
	backdrop-filter: blur(9px);
}


/* ==========================================================
   7. EYEBROW
   ========================================================== */

.hag-hero-full-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--hag-eyebrow-line-gap);

	margin-bottom: 18px;

	font-family: var(--hag-font-body);

	font-size: .70rem;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: .18em;
	text-transform: uppercase;

	color: #6F7755;
}


/* ==========================================================
   8. HEADLINE
   ========================================================== */

.hag-hero-full h1 {
	margin:
		0
		0
		25px !important;

	font-family:
		var(--hag-font-heading) !important;

	font-size:
		clamp(3.75rem, 4.5vw, 5rem);

	font-weight: 500;

	line-height: .94;

	letter-spacing: -.038em;

	color: #4F593F !important;
}


/* Feste zwei Zeilen:
   Heiraten am
   Gardasee
*/

.hag-hero-full h1 span {
	display: block;
}


.hag-hero-full h1 span:first-child {
	white-space: nowrap;
}


/* ==========================================================
   9. STATEMENT
   ========================================================== */

.hag-hero-full-statement {
	display: grid;

	grid-template-columns:
		30px
		minmax(0, 1fr);

	align-items: start;

	gap: 13px;

	margin-bottom: 14px;
}


.hag-hero-full-line {
	display: block;

	width: 30px;
	height: 2px;

	margin-top: .78em;

	background: var(--hag-tiffany);
}


/* Statement + Fließtext exakt gleiche Schriftgröße */

.hag-hero-full-statement p,
.hag-hero-full-copy {
	font-family: var(--hag-font-body);

	font-size: var(--hag-body-size) !important;
	line-height: var(--hag-body-line) !important;

	color: #53594D;
}


.hag-hero-full-statement p {
	margin: 0 !important;

	font-weight: 600;
}


/* ==========================================================
   10. COPY
   ========================================================== */

.hag-hero-full-copy {
	margin:
		0
		0
		27px !important;

	font-weight: 400;
}


/* ==========================================================
   11. SOFTE CTAs
   ========================================================== */

.hag-hero-full-actions {
	display: flex;

	flex-direction: row;
	flex-wrap: wrap;

	align-items: center;

	gap: 12px;
}


/* ----------------------------------------------------------
   Primary CTA
   ---------------------------------------------------------- */

.hag-hero-full-primary {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	min-height: 48px;

	padding:
		12px
		21px;

	border:
		1px solid
		var(--hag-tiffany);

	border-radius: 999px;

	background:
		var(--hag-tiffany);

	font-family:
		var(--hag-font-body);

	font-size: .92rem;
	font-weight: 500;
	line-height: 1.2;

	letter-spacing: 0;
	text-transform: none;

	color: #3F4835 !important;

	text-decoration: none !important;

	transition:
		background .25s ease,
		border-color .25s ease,
		transform .25s ease;
}


.hag-hero-full-primary:hover {
	background: #A3D8D0;

	border-color: #A3D8D0;

	color: #3F4835 !important;

	transform: translateY(-1px);
}


/* ----------------------------------------------------------
   Secondary CTA
   ---------------------------------------------------------- */

.hag-hero-full-secondary {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	min-height: 48px;

	padding:
		12px
		19px;

	border:
		1px solid
		rgba(53, 75, 82, .17);

	border-radius: 999px;

	background:
		rgba(255, 253, 252, .46);

	font-family:
		var(--hag-font-body);

	font-size: .92rem;
	font-weight: 500;
	line-height: 1.2;

	letter-spacing: 0;
	text-transform: none;

	color: #4F593F !important;

	text-decoration: none !important;

	transition:
		background .25s ease,
		border-color .25s ease,
		transform .25s ease;
}


.hag-hero-full-secondary:hover {
	background:
		rgba(255, 253, 252, .78);

	border-color:
		rgba(53, 75, 82, .26);

	color: #4F593F !important;

	transform: translateY(-1px);
}


/* ==========================================================
   12. TABLET
   Box bleibt rechts
   ========================================================== */

@media only screen and (max-width: 1050px) {

	.hag-hero-full-stage {
		min-height: 650px;
	}


	.hag-hero-full-card {
		right: 28px;
		left: auto;

		width: min(500px, calc(100vw - 56px));

		padding:
			38px
			38px
			36px;
	}


	.hag-hero-full h1 {
		font-size:
			clamp(3.5rem, 6vw, 4.5rem);
	}

}


/* ==========================================================
   13. MOBILE
   Bild oben / Content fest darunter
   ========================================================== */

@media only screen and (max-width: 767px) {

	/* ------------------------------------------------------
	   Gesamter Hero untereinander
	   ------------------------------------------------------ */

	.hag-hero-full-stage {
		display: flex;
		flex-direction: column;

		width: 100vw;

		height: auto;
		min-height: 0;
		max-height: none;

		margin-left: calc(50% - 50vw);

		overflow: hidden;

		background: var(--hag-bg);
	}


	/* ------------------------------------------------------
	   Bildbereich
	   ------------------------------------------------------ */

	.hag-hero-full-media {
		position: relative;

		inset: auto;

		flex: 0 0 auto;

		width: 100%;

		height: clamp(310px, 82vw, 430px);

		overflow: hidden;

		background: #4F593F;
	}


	.hag-hero-full-image {
		position: absolute;

		inset: 0;

		width: 100% !important;
		height: 100% !important;

		object-fit: cover;
	}


	/* Bild 1 */

	.hag-hero-full-image-1 {
		object-position: 48% 45%;
	}


	/* Bild 2 */

	.hag-hero-full-image-2 {
		object-position: 50% 67%;
	}


	/* Desktop Overlay aus */

	.hag-hero-full-stage::after {
		display: none;
	}


	/* ------------------------------------------------------
	   Contentfläche
	   ------------------------------------------------------ */

	.hag-hero-full-card {
		position: relative;

		left: auto;
		right: auto;
		top: auto;
		bottom: auto;

		z-index: 5;

		flex: 0 0 auto;

		width: 100%;
		max-width: none;

		margin: 0;

		padding:
			34px
			var(--hag-mobile-gutter)
			38px;

		transform: none;

		background: var(--hag-bg);

		border: 0;

		border-radius: 0;

		box-shadow: none;

		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}


	/* ------------------------------------------------------
	   Eyebrow
	   ------------------------------------------------------ */

	.hag-hero-full-eyebrow {
		margin-bottom: 13px;

		font-size: .67rem;

		letter-spacing: .17em;
	}


	/* ------------------------------------------------------
	   Headline
	   ------------------------------------------------------ */

	.hag-hero-full h1 {
		margin:
			0
			0
			20px !important;

		font-size:
			clamp(3rem, 13vw, 3.9rem);

		line-height: .94;
	}


	.hag-hero-full h1 span {
		display: block;
	}


	.hag-hero-full h1 span:first-child {
		white-space: nowrap;
	}


	/* ------------------------------------------------------
	   Statement
	   ------------------------------------------------------ */

	.hag-hero-full-statement {
		grid-template-columns:
			26px
			minmax(0, 1fr);

		gap: 11px;

		margin-bottom: 13px;
	}


	.hag-hero-full-line {
		width: 26px;
	}


	/* ------------------------------------------------------
	   Einheitliche Fließtextgröße
	   ------------------------------------------------------ */

	.hag-hero-full-statement p,
	.hag-hero-full-copy {
		font-size: 1rem !important;
		line-height: 1.62 !important;
	}


	.hag-hero-full-copy {
		margin:
			0
			0
			25px !important;
	}


	/* ------------------------------------------------------
	   CTAs
	   ------------------------------------------------------ */

	.hag-hero-full-actions {
		display: flex;

		flex-direction: row;
		flex-wrap: wrap;

		align-items: center;

		gap: 9px;
	}


	.hag-hero-full-primary,
	.hag-hero-full-secondary {
		min-height: 45px;

		padding:
			10px
			16px;

		font-size: .86rem;
	}

}


/* ==========================================================
   14. VERY SMALL MOBILE
   ========================================================== */

@media only screen and (max-width: 390px) {

	.hag-hero-full-media {
		height: 310px;
	}


	.hag-hero-full-card {
		padding:
			30px
			var(--hag-mobile-gutter)
			34px;
	}


	.hag-hero-full h1 {
		font-size:
			clamp(2.8rem, 13vw, 3.4rem);
	}


	.hag-hero-full-statement p,
	.hag-hero-full-copy {
		font-size: 1rem !important;
	}


	.hag-hero-full-actions {
		flex-direction: column;

		align-items: stretch;
	}


	.hag-hero-full-primary,
	.hag-hero-full-secondary {
		width: 100%;
	}

}


/* ==========================================================
   15. REDUCED MOTION
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

	.hag-hero-full-image {
		animation: none !important;
		transform: none !important;
	}


	.hag-hero-full-image-1 {
		opacity: 1 !important;
	}


	.hag-hero-full-image-2 {
		display: none !important;
	}

}

/* ==========================================================
   HAG – SINA INTRO
   Modul 2 / persönliche Vorstellung
   ========================================================== */

.hag-sina-intro {
	position: relative;

	padding:
		110px
		0
		115px !important;

	background:
		#F7F3ED !important;

	overflow: hidden;
}


/* ==========================================================
   INNER
   ========================================================== */

.hag-sina-inner {
	position: relative;

	display: grid;

	grid-template-columns:
		minmax(0, .92fr)
		minmax(0, 1.08fr);

	align-items: center;

	gap:
		clamp(64px, 7vw, 105px);

	width:
		min(
			calc(100% - 48px),
			var(--hag-content-width)
		);

	margin:
		0
		auto;
}


/* ==========================================================
   VISUAL
   ========================================================== */

.hag-sina-visual {
	position: relative;

	max-width: 500px;
}


/* dezente Tiffany-Form hinter dem Bild */

.hag-sina-visual::before {
	content: "";

	position: absolute;

	width: 240px;
	height: 240px;

	right: -32px;
	bottom: -34px;

	border-radius: 50%;

	background:
		rgba(143, 207, 197, .18);

	z-index: 0;
}


.hag-sina-image {
	position: relative;

	z-index: 1;

	overflow: hidden;

	aspect-ratio: 4 / 5;

	border-radius:
		28px
		28px
		72px
		28px;

	background:
		var(--hag-bg);
}


.hag-sina-image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;

	transition:
		transform .5s ease;
}


/* nur sehr dezent */

.hag-sina-image:hover img {
	transform: scale(1.015);
}


/* ==========================================================
   BADGE
   ========================================================== */

.hag-sina-badge {
	position: absolute;

	right: -24px;
	bottom: 38px;

	z-index: 2;

	display: flex;
	flex-direction: column;

	min-width: 145px;

	padding:
		16px
		20px;

	border-radius:
		18px;

	background:
		var(--hag-bg);

	border:
		1px solid
		rgba(79, 89, 63, .09);
}


.hag-sina-badge span {
	margin-bottom: 2px;

	font-family:
		var(--hag-font-body);

	font-size: .72rem;

	font-weight: 500;

	letter-spacing: .10em;

	text-transform: uppercase;

	color:
		#6F7755;
}


.hag-sina-badge strong {
	font-family:
		var(--hag-font-body);

	font-size: .95rem;

	font-weight: 600;

	color:
		#4F593F;
}


/* ==========================================================
   CONTENT
   ========================================================== */

.hag-sina-content {
	max-width: 560px;
}


/* Eyebrow */

.hag-sina-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--hag-eyebrow-line-gap);

	margin-bottom: 18px;

	font-family:
		var(--hag-font-body);

	font-size: .70rem;

	font-weight: 600;

	line-height: 1.3;

	letter-spacing: .18em;

	text-transform: uppercase;

	color:
		#6F7755;
}


/* Headline */

.hag-sina-content h2 {
	margin:
		0
		0
		22px !important;

	font-family:
		var(--hag-font-heading) !important;

	font-size:
		clamp(3.3rem, 4.2vw, 4.6rem);

	font-weight: 500;

	line-height: .98;

	letter-spacing: -.035em;

	color:
		#4F593F !important;
}


/* ==========================================================
   LEAD + FLIESSTEXT
   WICHTIG: identische Schriftgröße
   ========================================================== */

.hag-sina-lead,
.hag-sina-text p {
	font-family:
		var(--hag-font-body);

	font-size:
		var(--hag-body-size) !important;

	line-height:
		var(--hag-body-line) !important;

	color:
		#53594D;
}


/* Unterschied nur durch Gewicht, NICHT Größe */

.hag-sina-lead {
	max-width: 510px;

	margin:
		0
		0
		22px !important;

	font-weight: 600;
}


.hag-sina-text {
	max-width: 550px;
}


.hag-sina-text p {
	margin:
		0
		0
		15px !important;

	font-weight: 400;
}


.hag-sina-text p:last-child {
	margin-bottom:
		0 !important;
}


/* ==========================================================
   FACTS
   ========================================================== */

.hag-sina-facts {
	display: grid;

	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	gap:
		22px;

	margin:
		33px
		0
		31px;

	padding:
		24px
		0;

	border-top:
		1px solid rgba(79, 89, 63, .13);

	border-bottom:
		1px solid rgba(79, 89, 63, .13);
}


.hag-sina-fact {
	min-width: 0;
}


.hag-sina-fact span {
	display: block;

	margin-bottom: 5px;

	font-family:
		var(--hag-font-body);

	font-size: .66rem;

	font-weight: 600;

	letter-spacing: .13em;

	color:
		var(--hag-tiffany);
}


.hag-sina-fact p {
	margin:
		0 !important;

	font-family:
		var(--hag-font-body);

	font-size: .88rem;

	font-weight: 500;

	line-height: 1.4;

	color:
		#4F593F;
}


/* ==========================================================
   TEXT LINK
   ========================================================== */

.hag-sina-link {
	display: inline-flex;

	align-items: center;

	gap: 10px;

	padding:
		4px
		0
		7px;

	border-bottom:
		1px solid
		var(--hag-tiffany);

	font-family:
		var(--hag-font-body);

	font-size: .95rem;

	font-weight: 500;

	line-height: 1.3;

	color:
		#4F593F !important;

	text-decoration:
		none !important;

	transition:
		color .25s ease,
		gap .25s ease;
}


.hag-sina-link:hover {
	gap: 15px;

	color:
		#00979F !important;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media only screen and (max-width: 1050px) {

	.hag-sina-intro {
		padding:
			90px
			0
			95px !important;
	}


	.hag-sina-inner {
		gap:
			55px;
	}


	.hag-sina-badge {
		right:
			-12px;
	}

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media only screen and (max-width: 767px) {

	.hag-sina-intro {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;

		padding:
			68px
			0
			72px !important;

		background: #F7F3ED !important;
	}


	.hag-sina-inner {
		display: flex;

		flex-direction: column;

		align-items: stretch;

		gap:
			50px;

		width:
			calc(100% - (2 * var(--hag-mobile-gutter)));

		margin-left: auto;
		margin-right: auto;
	}


	.hag-sina-visual {
		width: 100%;
		max-width: none;
	}


	.hag-sina-image {
		aspect-ratio:
			4 / 4.6;

		border-radius:
			22px
			22px
			52px
			22px;
	}


	.hag-sina-visual::before {
		width: 180px;
		height: 180px;

		right: -16px;
		bottom: -24px;
	}


	.hag-sina-badge {
		right: 14px;
		bottom: -20px;

		min-width: 135px;

		padding:
			13px
			17px;
	}


	.hag-sina-content {
		max-width: none;
	}


	.hag-sina-eyebrow {
		margin-bottom:
			13px;

		font-size:
			.67rem;
	}


	.hag-sina-content h2 {
		margin-bottom:
			19px !important;

		font-size:
			clamp(2.9rem, 12vw, 3.6rem);
	}


	/* auch hier wieder dieselbe Bodygröße */

	.hag-sina-lead,
	.hag-sina-text p {
		font-size:
			var(--hag-body-size) !important;

		line-height:
			var(--hag-body-line) !important;
	}


	.hag-sina-lead {
		margin-bottom:
			18px !important;
	}


	.hag-sina-facts {
		grid-template-columns:
			1fr;

		gap:
			14px;

		margin:
			28px
			0
			27px;

		padding:
			21px
			0;
	}


.hag-sina-fact {
	display: block;

	width: 100%;

	padding:
		4px
		0;
}


.hag-sina-fact p {
	width: 100%;

	margin: 0 !important;

	font-size: .95rem;

	line-height: 1.45;

	white-space: normal;
}


.hag-sina-fact-more {
	display: block;

	width: 100%;

	text-decoration: none !important;
}

}

.hag-hero-full .column,
.hag-hero-full .column_visual,
.hag-hero-full .mcb-column {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.hag-hero-full {
	margin-bottom: 0 !important;
}

.hag-hero-full-stage {
	margin-bottom: 0 !important;
}

.hag-sina-fact-more {
	text-decoration: none !important;
}

.hag-sina-fact-more p {
	color: #4F593F;
	transition: color .2s ease;
}

.hag-sina-fact-more strong {
	margin-left: 5px;
	font-weight: 500;
	color: var(--hag-tiffany);
}

.hag-sina-fact-more:hover p {
	color: #00979F;
}

/* ==========================================================
   HAG – KERNVERSPRECHEN
   Wiederverwendbare 3-Spalten-Struktur
   ========================================================== */

.hag-promises {
	padding: 105px 0 110px !important;
	background: var(--hag-bg) !important;
}


.hag-promises-inner {
	width: min(
		calc(100% - 48px),
		var(--hag-content-width)
	);

	margin: 0 auto;
}


/* ==========================================================
   HEAD
   ========================================================== */

.hag-promises-head {
	max-width: 720px;
	margin-bottom: 62px;
}


.hag-promises-head h2 {
	margin: 16px 0 22px !important;

	font-family:
		var(--hag-font-heading) !important;

	font-size: clamp(3.2rem, 4.3vw, 4.6rem);
	font-weight: 500;

	line-height: .98;
	letter-spacing: -.035em;

	color: #4F593F !important;
}


/* gleiche Fließtextgröße wie bisher */

.hag-promises-head > p,
.hag-promise > p {
	font-family: var(--hag-font-body);

	font-size: var(--hag-body-size) !important;
	line-height: var(--hag-body-line) !important;

	color: #53594D;
}


.hag-promises-head > p {
	max-width: 650px;
	margin: 0 !important;
}


/* ==========================================================
   GRID
   ========================================================== */

.hag-promises-grid {
	display: grid;

	grid-template-columns:
		repeat(3, minmax(0, 1fr));

	border-top:
		1px solid rgba(79, 89, 63, .14);

	border-bottom:
		1px solid rgba(79, 89, 63, .14);
}


.hag-promise {
	position: relative;

	padding:
		32px
		34px
		35px
		0;
}


.hag-promise + .hag-promise {
	padding-left: 34px;

	border-left:
		1px solid rgba(79, 89, 63, .14);
}


.hag-promise-number {
	display: block;

	margin-bottom: 22px;

	font-family: var(--hag-font-body);

	font-size: .68rem;
	font-weight: 600;

	letter-spacing: .14em;

	color: var(--hag-tiffany);
}


.hag-promise h3 {
	margin:
		0
		0
		18px !important;

	font-family:
		var(--hag-font-heading) !important;

	font-size: clamp(1.9rem, 2.2vw, 2.45rem);
	font-weight: 500;

	line-height: 1.08;

	color: #4F593F !important;
}


.hag-promise > p {
	margin: 0 !important;
}


/* ==========================================================
   ACTION
   ========================================================== */

.hag-promises-action {
	margin-top: 35px;
}


.hag-promises-action a {
	display: inline-flex;

	align-items: center;

	gap: 10px;

	padding-bottom: 7px;

	border-bottom:
		1px solid var(--hag-tiffany);

	font-family: var(--hag-font-body);

	font-size: .95rem;
	font-weight: 500;

	color: #4F593F !important;

	text-decoration: none !important;

	transition:
		color .2s ease,
		gap .2s ease;
}


.hag-promises-action a:hover {
	gap: 15px;

	color: #00979F !important;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media only screen and (max-width: 767px) {

	.hag-promises {
		padding:
			70px
			0
			74px !important;
	}


	.hag-promises-inner {
		width:
			calc(100% - (2 * var(--hag-mobile-gutter)));

		margin-left: auto;
		margin-right: auto;
	}


	.hag-promises-head {
		margin-bottom:
			42px;
	}


	.hag-promises-head h2 {
		font-size:
			clamp(2.9rem, 12vw, 3.6rem);
	}


	.hag-promises-head > p,
	.hag-promise > p {
		font-size: var(--hag-body-size) !important;
		line-height: var(--hag-body-line) !important;
	}


	.hag-promises-grid {
		grid-template-columns:
			1fr;
	}


	.hag-promise,
	.hag-promise + .hag-promise {
		padding:
			27px
			0
			29px;

		border-left: 0;
	}


	.hag-promise + .hag-promise {
		border-top:
			1px solid rgba(79, 89, 63, .14);
	}


	.hag-promise-number {
		margin-bottom:
			15px;
	}


	.hag-promise h3 {
		font-size:
			2rem;

		margin-bottom:
			14px !important;
	}


	.hag-promises-action {
		margin-top:
			28px;
	}

}

.hag-weddings-action {
	margin-top: 42px;
	text-align: center;
}

/* ==========================================================
   CONTENT BODY RHYTHM – EINHEITLICH
   Normale Fliesstexte gleich gross; Meta/Labels bleiben klein.
   ========================================================== */

.hag-service-content p,
.hag-wedding-card-meta,
.hag-process-step p,
.hag-post-card p,
.hag-faq-answer p,
.hag-promises-head > p,
.hag-promise > p,
.hag-sina-lead,
.hag-sina-text p,
.hag-hero-full-statement p,
.hag-hero-full-copy {
	font-size: var(--hag-body-size) !important;
	line-height: var(--hag-body-line) !important;
}

/* ==========================================================
   18. GOOGLE REVIEWS / TRUSTINDEX
   ========================================================== */

.hag-reviews {
	width: 100%;
	margin-top: 26px;
}

.hag-reviews .ti-widget,
.hag-reviews .ti-widget-container {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	visibility: visible !important;
}


/* Typografie ans Website-System angleichen */

.hag-reviews .ti-widget,
.hag-reviews .ti-widget * {
	font-family: var(--hag-font-body);
}


/* Karten etwas näher an unser Design bringen */

.hag-reviews .ti-widget .ti-inner {
	background: var(--hag-bg-soft) !important;

	border:
		1px solid
		var(--hag-border-soft) !important;

	border-radius:
		14px !important;

	box-shadow:
		none !important;
}


/* Namen */

.hag-reviews .ti-widget .ti-name {
	font-weight:
		600 !important;

	color:
		var(--hag-olive-dark) !important;
}


/* Datum */

.hag-reviews .ti-widget .ti-date {
	color:
		var(--hag-text-muted) !important;
}


/* Bewertungstext */

.hag-reviews .ti-widget .ti-review-content {
	color:
		var(--hag-text) !important;

	line-height:
		1.55 !important;
}


/* Weiterlesen */

.hag-reviews .ti-widget .ti-read-more,
.hag-reviews .ti-widget .ti-read-more-active {
	color:
		var(--hag-olive) !important;
}


.hag-reviews .ti-widget .ti-read-more:hover,
.hag-reviews .ti-widget .ti-read-more-active:hover {
	color:
		#00979F !important;
}

/* ==========================================================
   TRUSTINDEX – FINAL OVERRIDE
   ========================================================== */

.hag-reviews {
	width: 100%;
	margin-top: 26px;
}


/* Karten */

body .hag-reviews .ti-widget.ti-goog .ti-review-item .ti-inner {
	padding: 26px 24px !important;

	background: #FFFDFC !important;

	border: 1px solid rgba(79, 89, 63, .12) !important;
	border-radius: 18px !important;

	box-shadow: 0 10px 30px rgba(79, 89, 63, .045) !important;
}


/* Gesamte Typografie */

body .hag-reviews .ti-widget.ti-goog,
body .hag-reviews .ti-widget.ti-goog * {
	font-family: var(--hag-font-body) !important;
}


/* Name */

body .hag-reviews .ti-widget.ti-goog .ti-name {
	font-size: .95rem !important;
	font-weight: 600 !important;

	color: var(--hag-olive-dark) !important;
}


/* Datum */

body .hag-reviews .ti-widget.ti-goog .ti-date {
	font-size: .82rem !important;

	color: var(--hag-text-muted) !important;
}


/* Bewertungstext */

body .hag-reviews .ti-widget.ti-goog .ti-review-content {
	font-size: 1rem !important;
	line-height: 1.62 !important;

	color: var(--hag-text) !important;
}


/* Weiterlesen */

body .hag-reviews .ti-widget.ti-goog .ti-read-more,
body .hag-reviews .ti-widget.ti-goog .ti-read-more-active {
	font-size: .86rem !important;
	font-weight: 500 !important;

	color: var(--hag-olive) !important;
}


/* Pfeile etwas ruhiger */

body .hag-reviews .ti-widget.ti-goog .ti-controls .ti-next,
body .hag-reviews .ti-widget.ti-goog .ti-controls .ti-prev {
	background-color: var(--hag-olive-dark) !important;
}

/* ==========================================================
   HERO – DESKTOP RESTHÖHE / BEIGE LEISTE ENTFERNEN
   ========================================================== */

@media only screen and (min-width: 768px) {

	.hag-hero-full,
	.hag-hero-full > .section_wrapper,
	.hag-hero-full .section_wrapper,
	.hag-hero-full .mcb-wrap,
	.hag-hero-full .mcb-wrap-inner,
	.hag-hero-full .mcb-column,
	.hag-hero-full .mcb-column-inner,
	.hag-hero-full .column,
	.hag-hero-full .column_attr {
		height: auto !important;
		min-height: 0 !important;

		margin-top: 0 !important;
		margin-bottom: 0 !important;

		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.hag-hero-full-stage {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

}

.hag-sina-lineart {
	display: flex;
	width: 64px;
	margin-top: 22px;
	opacity: .58;
}

.hag-sina-lineart img {
	width: 64px;
	height: auto;
}

@media only screen and (max-width: 767px) {

	.hag-sina-lineart {
		width: 54px;
		margin-top: 18px;
	}

	.hag-sina-lineart img {
		width: 54px;
	}

}
/* ==========================================================
   FINAL TYPOGRAPHY CONSISTENCY
   ========================================================== */

.hag-process-step p,
.hag-post-card p,
.hag-faq-answer p,
.hag-wedding-card-meta {
	font-family: var(--hag-font-body);
	font-size: 1.04rem !important;
	line-height: 1.68 !important;
	color: var(--hag-text-muted);
}

@media only screen and (max-width: 767px) {

	.hag-process-step p,
	.hag-post-card p,
	.hag-faq-answer p,
	.hag-wedding-card-meta {
		font-size: 1rem !important;
		line-height: 1.65 !important;
	}

}

/* ==========================================================
   MASTER CSS v3.0 – DESIGN LAYER
   Kundinnenfeedback: feminin · romantisch · hochwertig · mediterran
   WICHTIG: Diese Ebene baut auf den bestehenden BeTheme-Fixes auf.
   ========================================================== */

:root {
    /* Erweiterte Markenfarben */
    --hag-sage-soft: #F0F2EB;
    --hag-sage-medium: #DDE4D5;
    --hag-tiffany-soft: #EDF8F6;
    --hag-tiffany-strong: #69BEB4;
    --hag-champagne-soft: #F7F3ED;
    --hag-champagne-medium: #EFE5D6;
    --hag-interaction: #00979F;

    /* Asset-URLs */
    --hag-art-heart: url("https://www.heiraten-am-gardasee.com/wp-content/uploads/2026/09/lineart-herz-gardasee.png");
    --hag-art-lake: url("https://www.heiraten-am-gardasee.com/wp-content/uploads/2026/09/lineart-gardasee-linie.png");
    --hag-art-olive: url("https://www.heiraten-am-gardasee.com/wp-content/uploads/2026/09/lineart-olivenzweig.png");
    --hag-art-sun: url("https://www.heiraten-am-gardasee.com/wp-content/uploads/2026/09/lineart-sonne.png");
    --hag-art-leaf: url("https://www.heiraten-am-gardasee.com/wp-content/uploads/2026/09/lineart-blatt-mediterran.png");
}

/* ----------------------------------------------------------
   TYPOGRAFIE V3
   Fonts werden lokal / via BeTheme geladen; keine Google-@import-URL.
   ---------------------------------------------------------- */

body,
#Wrapper,
#Content {
    font-family: var(--hag-font-body);
    color: var(--hag-text);
}

h1,
h2,
h3,
h4,
h5,
h6,
.big,
.title {
    font-family: var(--hag-font-heading);
    color: var(--hag-olive-dark);
    font-weight: 500;
    letter-spacing: -0.015em;
}

.hag-script {
    display: block;
    font-family: var(--hag-font-script) !important;
    font-size: clamp(1.75rem, 2.5vw, 2.55rem);
    font-weight: 400 !important;
    line-height: 1.05;
    letter-spacing: 0;
    text-transform: none;
    color: var(--hag-olive);
}

.hag-script-tiffany {
    color: var(--hag-tiffany-strong);
}

.hag-eyebrow,
.hag-sina-eyebrow,
.hag-hero-full-eyebrow {
    color: var(--hag-olive);
}

.hag-eyebrow::before,
.hag-sina-eyebrow::before,
.hag-hero-full-eyebrow::before {
    background: var(--hag-tiffany);
}

/* ----------------------------------------------------------
   PRIMAERE CTAs V3
   Tiffany als sichtbarer Markenanker.
   ---------------------------------------------------------- */

.hag-btn,
a.hag-btn,
button.hag-btn,
input.hag-btn,
.hag-form-submit input[type="submit"] {
    border-color: var(--hag-tiffany) !important;
    background: var(--hag-tiffany) !important;
    color: var(--hag-olive-dark) !important;
}

.hag-btn:hover,
a.hag-btn:hover,
button.hag-btn:hover,
input.hag-btn:hover,
.hag-form-submit input[type="submit"]:hover {
    border-color: var(--hag-olive-dark) !important;
    background: var(--hag-olive-dark) !important;
    color: #FFFFFF !important;
}

/* ----------------------------------------------------------
   ZUSAETZLICHE SECTION-FLAECHEN
   ---------------------------------------------------------- */

.hag-section-sage-v3 {
    background: var(--hag-sage-soft);
}

.hag-section-tiffany-v3 {
    background: var(--hag-tiffany-soft);
}

.hag-section-champagne-v3 {
    background: var(--hag-champagne-soft);
}

/* ==========================================================
   HERO V3 – 3 SLIDES / 5 SEKUNDEN / MANUELLE CONTROLS
   Erst aktiv, wenn die aeussere BeTheme-Section zusaetzlich
   die Klasse .hag-hero-v3 erhaelt. Bestehender Hero bleibt bis dahin stabil.
   ========================================================== */

.hag-hero-v3 .hag-hero-full-stage {
    background: var(--hag-olive-dark);
}

.hag-hero-v3 .hag-hero-full-image {
    opacity: 0;
    transform: scale(1.035);
    transition: opacity .8s ease, transform 5s ease;
}

.hag-hero-v3 .hag-hero-full-image-1 {
    z-index: 3;
    object-position: 46% 46%;
    animation: hagHeroV3One 15s ease-in-out infinite;
}

.hag-hero-v3 .hag-hero-full-image-2 {
    z-index: 2;
    object-position: 50% 48%;
    animation: hagHeroV3Two 15s ease-in-out infinite;
}

.hag-hero-v3 .hag-hero-full-image-3 {
    z-index: 1;
    object-position: 50% 68%;
    animation: hagHeroV3Three 15s ease-in-out infinite;
}

@keyframes hagHeroV3One {
    0%, 28% { opacity: 1; transform: scale(1.015); }
    34%, 94% { opacity: 0; transform: scale(1.045); }
    100% { opacity: 1; transform: scale(1.015); }
}

@keyframes hagHeroV3Two {
    0%, 28% { opacity: 0; transform: scale(1.045); }
    34%, 61% { opacity: 1; transform: scale(1.015); }
    67%, 100% { opacity: 0; transform: scale(1.045); }
}

@keyframes hagHeroV3Three {
    0%, 61% { opacity: 0; transform: scale(1.045); }
    67%, 94% { opacity: 1; transform: scale(1.015); }
    100% { opacity: 0; transform: scale(1.045); }
}

/* Wird spaeter vom kleinen Hero-JS gesetzt, sobald Pfeile/Dots benutzt werden. */
.hag-hero-v3.is-manual .hag-hero-full-image {
    animation: none !important;
    opacity: 0;
    transform: scale(1.035);
}

.hag-hero-v3.is-manual .hag-hero-full-image.is-active {
    opacity: 1;
    transform: scale(1.015);
    z-index: 4;
}

.hag-hero-v3 .hag-hero-full-card {
    background: rgba(247, 243, 237, .92);
    border-color: rgba(255, 255, 255, .48);
    border-radius: 22px;
    box-shadow: 0 22px 62px rgba(79, 89, 63, .12);
}

.hag-hero-v3 .hag-hero-full h1 {
    color: var(--hag-olive-dark) !important;
    letter-spacing: -.028em;
}

.hag-hero-v3 .hag-hero-full-script {
    margin: -4px 0 18px;
    font-family: var(--hag-font-script);
    font-size: clamp(2rem, 2.7vw, 2.75rem);
    line-height: 1;
    color: var(--hag-tiffany-strong);
}

.hag-hero-v3 .hag-hero-full-copy {
    color: var(--hag-text);
}

.hag-hero-v3 .hag-hero-full-primary {
    border-color: var(--hag-tiffany);
    background: var(--hag-tiffany);
    color: var(--hag-olive-dark) !important;
}

.hag-hero-v3 .hag-hero-full-primary:hover {
    border-color: var(--hag-olive-dark);
    background: var(--hag-olive-dark);
    color: #FFFFFF !important;
}

.hag-hero-v3 .hag-hero-full-secondary {
    border-color: rgba(79, 89, 63, .20);
    background: rgba(255, 253, 252, .56);
    color: var(--hag-olive-dark) !important;
}

/* Pfeile */
.hag-hero-controls {
    position: absolute;
    left: max(24px, calc((100vw - var(--hag-header-width)) / 2));
    right: max(24px, calc((100vw - var(--hag-header-width)) / 2));
    top: 50%;
    z-index: 7;
    display: flex;
    align-items: center;
    justify-content: space-between;
    pointer-events: none;
    transform: translateY(-50%);
}

.hag-hero-arrow {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid rgba(255,255,255,.54);
    border-radius: 50%;
    background: rgba(79,89,63,.24);
    color: #FFFFFF;
    font-family: var(--hag-font-body);
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    transition: background .2s ease, transform .2s ease, border-color .2s ease;
}

.hag-hero-arrow:hover {
    background: rgba(79,89,63,.58);
    border-color: rgba(255,255,255,.8);
    transform: scale(1.04);
}

/* Dots */
.hag-hero-dots {
    position: absolute;
    left: 50%;
    bottom: 22px;
    z-index: 7;
    display: flex;
    align-items: center;
    gap: 8px;
    transform: translateX(-50%);
}

.hag-hero-dot {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255,255,255,.52);
    cursor: pointer;
    transition: width .2s ease, border-radius .2s ease, background .2s ease;
}

.hag-hero-dot.is-active {
    width: 22px;
    border-radius: 999px;
    background: var(--hag-tiffany);
}

/* ==========================================================
   BENEFIT / ICON STRIP
   ========================================================== */

.hag-benefits {
    padding: 32px 0 34px;
    background: var(--hag-sage-soft);
    border-top: 1px solid rgba(79,89,63,.08);
    border-bottom: 1px solid rgba(79,89,63,.08);
}

.hag-benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
}

.hag-benefit {
    position: relative;
    min-width: 0;
    padding: 5px 28px;
    text-align: center;
}

.hag-benefit + .hag-benefit {
    border-left: 1px solid rgba(79,89,63,.13);
}

.hag-benefit-icon {
    display: block;
    width: 58px;
    height: 58px;
    margin: 0 auto 10px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.hag-benefit-icon--heart { background-image: var(--hag-art-heart); }
.hag-benefit-icon--lake { background-image: var(--hag-art-lake); }
.hag-benefit-icon--olive { background-image: var(--hag-art-olive); }
.hag-benefit-icon--sun { background-image: var(--hag-art-sun); }

.hag-benefit h3 {
    margin: 0 0 5px !important;
    font-family: var(--hag-font-heading);
    font-size: 1.35rem;
    line-height: 1.15;
    color: var(--hag-olive-dark) !important;
}

.hag-benefit p {
    margin: 0 !important;
    font-size: .79rem;
    line-height: 1.5;
    color: var(--hag-text-muted);
}

/* ==========================================================
   SINA / PHILOSOPHIE V3
   Outer BeTheme section: hag-sina-intro hag-sina-v3
   ========================================================== */

.hag-sina-v3 {
    background: var(--hag-white) !important;
}

.hag-sina-v3 .hag-sina-inner {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: clamp(64px, 7vw, 108px);
}

.hag-sina-v3 .hag-sina-image {
    border-radius: 22px 22px 72px 22px;
}

.hag-sina-v3 .hag-sina-visual::before {
    width: 250px;
    height: 250px;
    right: -30px;
    bottom: -38px;
    background: rgba(168,181,160,.28);
}

.hag-sina-v3 .hag-sina-content {
    position: relative;
    max-width: 590px;
}

.hag-sina-v3 .hag-sina-content::after {
    content: "";
    position: absolute;
    right: -34px;
    bottom: -12px;
    width: 92px;
    height: 150px;
    background-image: var(--hag-art-leaf);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .16;
    pointer-events: none;
}

.hag-sina-v3 .hag-sina-eyebrow {
    margin-bottom: 15px;
}

.hag-sina-v3 .hag-sina-content h2 {
    color: var(--hag-olive-dark) !important;
}

.hag-sina-v3 .hag-sina-script {
    margin: -2px 0 22px;
    font-family: var(--hag-font-script);
    font-size: clamp(1.9rem, 2.6vw, 2.55rem);
    line-height: 1.05;
    color: var(--hag-tiffany-strong);
}

.hag-sina-v3 .hag-sina-lead {
    font-weight: 400;
}

.hag-sina-signature {
    display: block;
    width: min(170px, 45%);
    height: auto;
    margin: 24px 0 18px;
}

.hag-sina-v3 .hag-sina-link {
    color: var(--hag-olive-dark) !important;
}

/* Alte Facts im V3-Modul bewusst nicht verwenden. Falls sie im HTML noch stehen,
   werden sie bis zum HTML-Umbau ausgeblendet. */
.hag-sina-v3 .hag-sina-facts {
    display: none !important;
}

/* ==========================================================
   SERVICES V3
   Bestehende .hag-service-card-Struktur bleibt zwingend erhalten.
   ========================================================== */

.hag-services-v3 .hag-service-card {
    border-radius: 14px;
    background: rgba(255,253,252,.78);
    border-color: rgba(79,89,63,.10);
}

.hag-services-v3 .hag-service-media {
    background: var(--hag-champagne-soft);
}

.hag-services-v3 .hag-service-content h3 {
    color: var(--hag-olive-dark) !important;
}

.hag-services-v3 .hag-service-link {
    color: var(--hag-olive-dark);
    border-bottom-color: var(--hag-tiffany);
}

/* ==========================================================
   ECHTE HOCHZEITEN V3 – 4 reale Cases / 2x2
   ========================================================== */

.hag-weddings-v3 .hag-weddings-grid,
.hag-weddings-grid.hag-weddings-grid-v3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 28px;
}

.hag-weddings-v3 .hag-wedding-card-media {
    border-radius: 16px;
}

.hag-weddings-v3 .hag-wedding-card-media img {
    aspect-ratio: 4 / 3;
}

.hag-weddings-v3 .hag-wedding-card-copy {
    padding: 19px 5px 0;
}

.hag-weddings-v3 .hag-wedding-card-kicker {
    margin-bottom: 5px;
    font-family: var(--hag-font-script);
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    color: var(--hag-tiffany-strong);
}

.hag-weddings-v3 .hag-wedding-card h3 {
    color: var(--hag-olive-dark) !important;
}

.hag-wedding-location {
    display: block;
    margin-bottom: 9px;
    font-family: var(--hag-font-body);
    font-size: .67rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--hag-olive);
}

/* ==========================================================
   MID CTA V3
   ========================================================== */

.hag-mid-cta {
    position: relative;
    overflow: hidden;
    padding: 74px 0 78px;
    background: var(--hag-tiffany);
    text-align: center;
}

.hag-mid-cta::before,
.hag-mid-cta::after {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    background-image: var(--hag-art-olive);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    opacity: .08;
    pointer-events: none;
}

.hag-mid-cta::before {
    left: -38px;
    bottom: -54px;
    transform: rotate(12deg);
}

.hag-mid-cta::after {
    right: -40px;
    top: -58px;
    transform: rotate(195deg);
}

.hag-mid-cta-inner {
    position: relative;
    z-index: 1;
    max-width: 820px;
    margin: 0 auto;
}

.hag-mid-cta .hag-script {
    margin-bottom: 10px;
    color: rgba(79,89,63,.80);
}

.hag-mid-cta h2 {
    margin-bottom: 26px !important;
    color: var(--hag-olive-dark) !important;
}

.hag-mid-cta .hag-btn {
    background: var(--hag-olive-dark) !important;
    border-color: var(--hag-olive-dark) !important;
    color: #FFFFFF !important;
}

.hag-mid-cta .hag-btn:hover {
    background: #FFFFFF !important;
    border-color: #FFFFFF !important;
    color: var(--hag-olive-dark) !important;
}

/* ==========================================================
   PROZESS V3 – Foto + vertikale Steps
   ========================================================== */

.hag-process-layout {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: clamp(54px, 7vw, 96px);
    align-items: start;
}

.hag-process-media {
    position: sticky;
    top: calc(var(--hag-header-height-sticky) + 30px);
    overflow: hidden;
    border-radius: 22px 22px 64px 22px;
    background: var(--hag-white);
}

.hag-process-media img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}

.hag-process-copy .hag-section-head {
    margin-bottom: 30px;
}

.hag-process-list {
    border-top: 1px solid var(--hag-border);
}

.hag-process-list .hag-process-step {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    column-gap: 18px;
    padding: 22px 0 23px;
    border-bottom: 1px solid var(--hag-border);
}

.hag-process-list .hag-process-step::after {
    display: none !important;
}

.hag-process-list .hag-process-number {
    width: 46px;
    height: 46px;
    margin: 1px 0 0;
    border-color: rgba(79,89,63,.35);
    font-family: var(--hag-font-heading);
    font-size: 1.12rem;
    color: var(--hag-olive-dark);
}

.hag-process-step-body h3 {
    margin: 0 0 6px !important;
    font-size: 1.38rem;
    color: var(--hag-olive-dark) !important;
}

.hag-process-step-body p {
    margin: 0 !important;
    font-size: var(--hag-body-size) !important;
    line-height: 1.62 !important;
    color: var(--hag-text-muted);
}

/* ==========================================================
   REVIEWS V3 – Bild + Trustindex
   Trustindex-interne Regeln bleiben unangetastet.
   ========================================================== */

.hag-reviews-layout {
    display: grid;
    grid-template-columns: minmax(0, .62fr) minmax(0, 1.38fr);
    gap: clamp(44px, 6vw, 82px);
    align-items: start;
}

.hag-reviews-media {
    overflow: hidden;
    border-radius: 22px 22px 58px 22px;
    background: var(--hag-champagne-soft);
}

.hag-reviews-media img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}

.hag-reviews-content .hag-section-head {
    margin-bottom: 24px;
}

.hag-reviews-content .hag-reviews {
    margin-top: 22px;
}

/* ==========================================================
   CONTACT V3
   ========================================================== */

.hag-contact-v3 .hag-contact-intro .hag-script {
    margin: -4px 0 20px;
    color: var(--hag-tiffany-strong);
}

.hag-contact-v3 .hag-contact-form {
    background: rgba(255,255,255,.64);
    border-color: rgba(79,89,63,.10);
}

/* ==========================================================
   RESPONSIVE V3
   ========================================================== */

@media only screen and (max-width: 1050px) {
    .hag-benefit {
        padding-left: 20px;
        padding-right: 20px;
    }

    .hag-process-layout,
    .hag-reviews-layout {
        gap: 42px;
    }
}

@media only screen and (max-width: 767px) {

    .hag-script {
        font-size: clamp(1.65rem, 8vw, 2.15rem);
    }

    /* Hero: bestehende BeTheme-Mobile-Logik bleibt Bild oben / Text unten. */
    .hag-hero-v3 .hag-hero-full-image-1 {
        object-position: 48% 45%;
    }

    .hag-hero-v3 .hag-hero-full-image-2 {
        object-position: 50% 47%;
    }

    .hag-hero-v3 .hag-hero-full-image-3 {
        object-position: 50% 66%;
    }

    .hag-hero-v3 .hag-hero-full-script {
        margin: -2px 0 16px;
        font-size: clamp(1.9rem, 9vw, 2.4rem);
    }

    .hag-hero-controls {
        left: 12px;
        right: 12px;
        top: 155px;
        transform: none;
    }

    .hag-hero-arrow {
        width: 40px;
        height: 40px;
        background: rgba(79,89,63,.28);
    }

    .hag-hero-dots {
        top: 280px;
        bottom: auto;
    }

    /* Benefits 2x2 */
    .hag-benefits {
        padding: 24px 0 26px;
    }

    .hag-benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hag-benefit {
        padding: 17px 10px 19px;
    }

    .hag-benefit + .hag-benefit {
        border-left: 0;
    }

    .hag-benefit:nth-child(even) {
        border-left: 1px solid rgba(79,89,63,.13);
    }

    .hag-benefit:nth-child(n+3) {
        border-top: 1px solid rgba(79,89,63,.13);
    }

    .hag-benefit-icon {
        width: 50px;
        height: 50px;
        margin-bottom: 8px;
    }

    .hag-benefit h3 {
        font-size: 1.22rem;
    }

    .hag-benefit p {
        font-size: .74rem;
    }

    /* Sina */
    .hag-sina-v3 .hag-sina-inner {
        gap: 46px;
    }

    .hag-sina-v3 .hag-sina-content::after {
        display: none;
    }

    .hag-sina-v3 .hag-sina-script {
        font-size: clamp(1.8rem, 8vw, 2.25rem);
    }

    .hag-sina-signature {
        width: 145px;
        margin-top: 20px;
    }

    /* Weddings */
    .hag-weddings-v3 .hag-weddings-grid,
    .hag-weddings-grid.hag-weddings-grid-v3 {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .hag-weddings-v3 .hag-wedding-card-media img {
        aspect-ratio: 4 / 3;
    }

    .hag-weddings-v3 .hag-wedding-card-kicker {
        font-size: 1.55rem;
    }

    /* CTA */
    .hag-mid-cta {
        padding: 58px 0 62px;
    }

    .hag-mid-cta::before,
    .hag-mid-cta::after {
        width: 120px;
        height: 120px;
        opacity: .06;
    }

    /* Prozess */
    .hag-process-layout,
    .hag-reviews-layout {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .hag-process-media {
        position: relative;
        top: auto;
        border-radius: 18px 18px 44px 18px;
    }

    .hag-process-media img {
        aspect-ratio: 4 / 3;
    }

    .hag-process-list .hag-process-step {
        grid-template-columns: 48px minmax(0, 1fr);
        column-gap: 14px;
        padding: 20px 0;
    }

    .hag-process-list .hag-process-number {
        width: 40px;
        height: 40px;
        font-size: 1rem;
    }

    .hag-process-step-body h3 {
        font-size: 1.3rem;
    }

    /* Reviews */
    .hag-reviews-media {
        border-radius: 18px 18px 44px 18px;
    }

    .hag-reviews-media img {
        aspect-ratio: 4 / 3;
        object-position: center 35%;
    }
}

@media only screen and (max-width: 390px) {
    .hag-hero-controls {
        top: 145px;
    }

    .hag-hero-dots {
        top: 270px;
    }

    .hag-benefit {
        padding-left: 7px;
        padding-right: 7px;
    }

    .hag-benefit p {
        font-size: .71rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hag-hero-v3 .hag-hero-full-image {
        animation: none !important;
        transform: none !important;
    }

    .hag-hero-v3 .hag-hero-full-image-1 {
        opacity: 1 !important;
    }

    .hag-hero-v3 .hag-hero-full-image-2,
    .hag-hero-v3 .hag-hero-full-image-3 {
        opacity: 0 !important;
    }
}

/* ==========================================================
   HAG HERO V3.1 – FINAL HERO TUNING
   ========================================================== */

:root {
	--hag-font-heading: "Playfair Display", Georgia, serif;
	--hag-font-body: "Montserrat", Arial, sans-serif;
	--hag-font-script: "Alex Brush", "Brush Script MT", cursive;
}


/* ----------------------------------------------------------
   Hero Slider
   - keine Pfeile
   - weicher Crossfade
   - JS steuert die Slides
   ---------------------------------------------------------- */

.hag-hero-v3 .hag-hero-full-image {
	animation: none !important;

	opacity: 0;
	transform: scale(1.025);

	transition:
		opacity 1.5s ease-in-out,
		transform 6s ease-out;
}

.hag-hero-v3 .hag-hero-full-image.is-active {
	opacity: 1;
	transform: scale(1.005);
	z-index: 4;
}


/* Alte Pfeile sicher ausblenden */
.hag-hero-controls,
.hag-hero-arrow {
	display: none !important;
}


/* ----------------------------------------------------------
   Content Card kompakter
   ---------------------------------------------------------- */

.hag-hero-v3 .hag-hero-full-card {
	width: min(510px, calc(100vw - 64px));

	padding:
		32px
		36px
		31px;

	border-radius: 22px;
}


/* Eyebrow etwas kompakter */

.hag-hero-v3 .hag-hero-full-eyebrow {
	margin-bottom: 14px;
}


/* Headline weniger Abstand nach unten */

.hag-hero-v3 .hag-hero-full h1 {
	margin-bottom: 17px !important;
}


/* ----------------------------------------------------------
   Alex Brush – fein und feminin
   ---------------------------------------------------------- */

.hag-script,
.hag-hero-full-script,
.hag-wedding-script,
.hag-contact-script,
.hag-cta-script {
	font-family: var(--hag-font-script) !important;
	font-weight: 400 !important;
	font-style: normal;
	letter-spacing: 0 !important;
	text-transform: none !important;
}


.hag-hero-v3 .hag-hero-full-script {
	display: block;

	margin: 0 0 12px;

	font-family: var(--hag-font-script) !important;

	font-size: clamp(2.15rem, 2.55vw, 2.7rem);
	font-weight: 400 !important;
	line-height: .95;

	color: var(--hag-tiffany-strong);
}


/* ----------------------------------------------------------
   Hero Copy
   ---------------------------------------------------------- */

.hag-hero-v3 .hag-hero-full-copy {
	margin: 0 0 21px !important;

	font-family: var(--hag-font-body) !important;
	font-size: 1rem !important;
	line-height: 1.65 !important;

	color: var(--hag-text);
}


/* Buttons definitiv Montserrat */

.hag-hero-v3 .hag-hero-full-primary,
.hag-hero-v3 .hag-hero-full-secondary {
	font-family: var(--hag-font-body) !important;
}


/* ----------------------------------------------------------
   Dots / Fortschrittsanzeige bleibt
   ---------------------------------------------------------- */

.hag-hero-v3 .hag-hero-dots {
	display: flex !important;
}

.hag-hero-v3 .hag-hero-dot {
	transition:
		width .35s ease,
		background .35s ease,
		opacity .35s ease;
}


/* ----------------------------------------------------------
   Mobile
   ---------------------------------------------------------- */

@media only screen and (max-width: 767px) {

	.hag-hero-v3 .hag-hero-full-card {
		width: 100%;
		padding:
			27px
			18px
			30px;
	}

	.hag-hero-v3 .hag-hero-full h1 {
		margin-bottom: 15px !important;
	}

	.hag-hero-v3 .hag-hero-full-script {
		margin-bottom: 11px;

		font-size: clamp(2rem, 10vw, 2.55rem);
		line-height: .98;
	}

	.hag-hero-v3 .hag-hero-full-copy {
		margin-bottom: 20px !important;

		font-size: 1rem !important;
		line-height: 1.6 !important;
	}

}
/* ==========================================================
   SCRIPT FONT FINAL
   ========================================================== */

.hag-script,
.hag-hero-full-script,
.hag-sina-script,
.hag-wedding-script,
.hag-contact-script,
.hag-cta-script {
	font-family: "WindSong", cursive !important;
	font-weight: 400 !important;
	font-style: normal !important;
}
.hag-hero-v3 .hag-hero-full-script {
	font-family: "WindSong", cursive !important;
	font-size: clamp(1.9rem, 2.15vw, 2.3rem);
	line-height: 1.08;
	font-weight: 400 !important;
	color: var(--hag-tiffany-strong);
	margin: 0 0 13px;
}
@media only screen and (max-width: 767px) {

	.hag-hero-v3 .hag-hero-full-script {
		font-size: 2rem;
		line-height: 1.08;
	}

}
/* ==========================================================
   HERO BUTTONS FINAL
   ========================================================== */

.hag-hero-v3 .hag-hero-full-primary {
	background: #8FCFC5 !important;
	border-color: #8FCFC5 !important;
	color: #4F593F !important;
	transition:
		background-color .25s ease,
		border-color .25s ease,
		color .25s ease,
		transform .25s ease;
}

.hag-hero-v3 .hag-hero-full-primary:hover,
.hag-hero-v3 .hag-hero-full-primary:focus-visible {
	background: #72BDB5 !important;
	border-color: #72BDB5 !important;
	color: #43503A !important;
	transform: translateY(-1px);
}


.hag-hero-v3 .hag-hero-full-secondary {
	background: rgba(255,255,255,.55) !important;
	border-color: rgba(79,89,63,.20) !important;
	color: #4F593F !important;
	transition:
		background-color .25s ease,
		border-color .25s ease,
		color .25s ease,
		transform .25s ease;
}

.hag-hero-v3 .hag-hero-full-secondary:hover,
.hag-hero-v3 .hag-hero-full-secondary:focus-visible {
	background: #6F7755 !important;
	border-color: #6F7755 !important;
	color: #fff !important;
	transform: translateY(-1px);
}
@media only screen and (max-width: 767px) {

	.hag-hero-v3 .hag-hero-full-card {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 27px 18px 30px !important;
		border-radius: 0 !important;
		box-sizing: border-box;
	}

}
/* ==========================================================
   BENEFIT STRIP
   ========================================================== */

.hag-benefit-strip {
	background: #F1F2EA;
	padding: 0 !important;
}

.hag-benefit-strip-inner {
	width: min(1200px, calc(100% - 36px));
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.hag-benefit-item {
	min-height: 142px;
	padding: 27px 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	border-right: 1px solid rgba(79, 89, 63, .13);
}

.hag-benefit-item:last-child {
	border-right: 0;
}

.hag-benefit-icon {
	width: 58px;
	height: 58px;
	flex: 0 0 58px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hag-benefit-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	opacity: .9;
}

.hag-benefit-content {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.hag-benefit-content strong {
	font-family: var(--hag-font-heading) !important;
	font-size: 1.27rem;
	line-height: 1.15;
	font-weight: 500;
	color: #4F593F;
}

.hag-benefit-content span {
	font-family: var(--hag-font-body) !important;
	font-size: .86rem;
	line-height: 1.45;
	color: rgba(79, 89, 63, .82);
}


/* MOBILE */

@media only screen and (max-width: 767px) {

	.hag-benefit-strip-inner {
		width: 100%;
		grid-template-columns: repeat(2, 1fr);
	}

	.hag-benefit-item {
		min-height: 138px;
		padding: 23px 15px;
		flex-direction: column;
		text-align: center;
		gap: 10px;
		border-right: 0;
	}

	.hag-benefit-item:nth-child(odd) {
		border-right: 1px solid rgba(79, 89, 63, .13);
	}

	.hag-benefit-item:nth-child(-n+2) {
		border-bottom: 1px solid rgba(79, 89, 63, .13);
	}

	.hag-benefit-icon {
		width: 48px;
		height: 48px;
		flex-basis: 48px;
	}

	.hag-benefit-content {
		gap: 3px;
	}

	.hag-benefit-content strong {
		font-size: 1.15rem;
	}

	.hag-benefit-content span {
		font-size: .78rem;
		line-height: 1.4;
	}

}
.hag-benefit-icon img {
	opacity: 1;
}

.hag-benefit-content span {
	font-size: .88rem;
	color: rgba(79, 89, 63, .9);
}
.hag-benefit-icon {
	width: 64px;
	height: 64px;
	flex: 0 0 64px;
}
/* ==========================================================
   SINA / PHILOSOPHIE – FINAL
   ========================================================== */

.hag-sina {
	background: #FCFAF6;
	padding: 78px 0 82px !important;
	overflow: hidden;
}

.hag-sina-inner {
	width: min(1120px, calc(100% - 36px));
	margin: 0 auto;

	display: grid;
	grid-template-columns: 46% 54%;
	gap: 58px;

	align-items: center;
}


/* ==========================================================
   IMAGE
   ========================================================== */

.hag-sina-image {
	position: relative;
	padding: 11px 0 0 11px;
}

.hag-sina-image-accent {
	position: absolute;
	inset: 0 11px 11px 0;

	background: #E8EEE7;
	border-radius: 68px 18px 68px 18px;
}

.hag-sina-photo {
	position: relative;
	z-index: 2;

	display: block;
	width: 100%;

	aspect-ratio: 4 / 4.8;
	object-fit: cover;

	border-radius: 68px 18px 68px 18px;
}


/* ==========================================================
   CONTENT
   ========================================================== */

.hag-sina-content {
	position: relative;
	padding: 0;
}


/* Keine Blätter / Sträucher */

.hag-sina-leaf,
.hag-sina-content > img:not(.hag-sina-signature) {
	display: none !important;
}


/* ==========================================================
   EYEBROW
   ========================================================== */

.hag-sina-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;

	width: max-content;
	white-space: nowrap !important;

	margin: 0 0 13px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	line-height: 1;

	letter-spacing: .18em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-sina-eyebrow::before {
	content: "";

	width: 28px;
	height: 1px;

	background: #8FCFC5;
}


/* ==========================================================
   HEADLINE
   ========================================================== */

.hag-sina-content h2 {
	margin: 0 0 11px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(2.7rem, 3.5vw, 3.6rem);
	line-height: 1.02;
	font-weight: 500;

	color: #4F593F;
}


/* ==========================================================
   SCRIPT – BEWUSST DEZENTER
   ========================================================== */

.hag-sina-script {
	display: block;

	max-width: 520px;
	margin: 0 0 22px;

	font-family: "WindSong", cursive !important;
	font-size: clamp(1.5rem, 1.7vw, 1.78rem) !important;
	line-height: 1.12;
	font-weight: 400 !important;

	color: #69BFB8;
}


/* ==========================================================
   TEXT
   ========================================================== */

.hag-sina-copy {
	max-width: 570px;
}

.hag-sina-copy p {
	margin: 0 0 14px;

	font-family: var(--hag-font-body) !important;
	font-size: .98rem;
	line-height: 1.68;

	color: #5E6258;
}

.hag-sina-copy p:last-child {
	margin-bottom: 0;
}


/* ==========================================================
   SIGNATUR + CTA
   ========================================================== */

.hag-sina-bottom {
	margin-top: 25px;

	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 42px;
}

.hag-sina-signature {
	display: block;

	width: 175px !important;
	max-width: 175px !important;
	height: auto;
}

.hag-sina-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;

	padding-bottom: 4px;
	border-bottom: 1px solid rgba(79, 89, 63, .28);

	font-family: var(--hag-font-body) !important;
	font-size: .9rem;
	font-weight: 500;

	color: #4F593F !important;
	text-decoration: none !important;

	transition:
		color .25s ease,
		border-color .25s ease;
}

.hag-sina-link:hover,
.hag-sina-link:focus-visible {
	color: #69BFB8 !important;
	border-color: #69BFB8;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media only screen and (max-width: 767px) {

	.hag-sina {
		padding: 55px 0 61px !important;
	}

	.hag-sina-inner {
	

		grid-template-columns: 1fr;
		gap: 37px;
	}

	.hag-sina-image {
		padding: 9px 0 0 9px;
	}

	.hag-sina-image-accent {
		inset: 0 9px 9px 0;
		border-radius: 50px 14px 50px 14px;
	}

	.hag-sina-photo {
		aspect-ratio: 4 / 4.5;
		border-radius: 50px 14px 50px 14px;
	}

	.hag-sina-eyebrow {
		font-size: .68rem;
	}

	.hag-sina-content h2 {
		font-size: 2.8rem;
	}

	.hag-sina-script {
		max-width: 100%;
		font-size: 1.55rem !important;
		line-height: 1.12;
		margin-bottom: 20px;
	}

	.hag-sina-copy p {
		font-size: .95rem;
		line-height: 1.65;
	}

	.hag-sina-bottom {
		margin-top: 23px;
		gap: 28px;
	}

	.hag-sina-signature {
		width: 145px !important;
		max-width: 145px !important;
	}

	.hag-sina-link {
		font-size: .86rem;
	}

}
/* ==========================================================
   SINA – FINAL TWEAKS
   ========================================================== */

/* Keine alten Sträucher im Content */
.hag-sina-leaf,
.hag-sina-content > img:not(.hag-sina-signature) {
	display: none !important;
}


/* Einziger Zweig direkt am Bild */

.hag-sina-image {
	position: relative;
}

.hag-sina-image-leaf {
	position: absolute;
	z-index: 3;

	right: -22px;
	bottom: -18px;

	width: 92px;
	height: auto;

	opacity: .24;
	pointer-events: none;
}


/* CTA rechts */

.hag-sina-bottom {
	width: 100%;
	max-width: 570px;

	display: flex;
	align-items: center;
}

.hag-sina-link {
	margin-left: auto;
}


/* Mobile */

@media only screen and (max-width: 767px) {

	.hag-sina-image-leaf {
		right: -7px;
		bottom: -10px;
		width: 68px;
		opacity: .20;
	}

	.hag-sina-bottom {
		width: 100%;
	}

}
.hag-sina-script {
	display: block;
	max-width: 520px;

	margin: 4px 0 18px;

font-family: "WindSong", cursive !important;
	font-size: clamp(1.5rem, 1.7vw, 1.78rem) !important;
	line-height: 1.12;
	font-weight: 400 !important;

	color: #69BFB8;
}
/* ==========================================================
   SINA – MOBILE STACK FIX
   ========================================================== */

@media only screen and (max-width: 767px) {

	.hag-sina .hag-sina-inner {
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: none !important;

		width: calc(100% - 36px) !important;
		margin: 0 auto !important;
		gap: 36px !important;
	}

	.hag-sina .hag-sina-image,
	.hag-sina .hag-sina-content {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		flex: 0 0 100% !important;
	}

	.hag-sina .hag-sina-content {
		padding: 0 !important;
	}

	.hag-sina .hag-sina-bottom {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;

		width: 100% !important;
		max-width: none !important;
	}

	.hag-sina .hag-sina-link {
		margin-left: auto !important;
	}
}
/* ==========================================================
   SPACING FINAL – SINA
   ========================================================== */

.hag-sina {
	padding-top: 105px !important;
	padding-bottom: 110px !important;
}

@media only screen and (max-width: 767px) {

	.hag-sina {
		padding-top: 72px !important;
		padding-bottom: 78px !important;
	}

}
/* ==========================================================
   HERO – MORE HEIGHT + CENTER CARD
   ========================================================== */

@media only screen and (min-width: 768px) {

	.hag-hero-v3 .hag-hero-full-stage {
		min-height: 760px !important;
	}

	.hag-hero-v3 .hag-hero-full-card {
		top: 50% !important;
		bottom: auto !important;
		transform: translateY(-50%) !important;
	}

}
@media only screen and (max-width: 767px) {

	.hag-hero-v3 .hag-hero-full-media {
		min-height: 420px !important;
	}

	.hag-hero-v3 .hag-hero-full-card {
		padding-left: 36px !important;
		padding-right: 36px !important;
	}

}
.hag-sina-content h2 {
	margin-bottom: 24px !important;
}

.hag-sina-copy p:first-child {
	margin-top: 0 !important;
}
@media only screen and (max-width: 767px) {

	.hag-sina-content h2 {
		margin-bottom: 20px !important;
	}

}
/* ==========================================================
   PLANUNG & SERVICE
   ========================================================== */

.hag-services {
	background: #F3E9DE !important;
	padding: 105px 0 110px !important;
}

.hag-services-inner {
	width: min(1200px, calc(100% - 36px));
	margin: 0 auto;
}


/* HEAD */

.hag-services-head {
	max-width: 760px;
	margin: 0 auto 54px;
	text-align: center;
}

.hag-services-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin-bottom: 16px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-services-eyebrow::before,
.hag-services-eyebrow::after {
	content: "";
	width: 25px;
	height: 1px;
	background: #8FCFC5;
}

.hag-services-head h2 {
	margin: 0 0 24px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(2.7rem, 3.7vw, 3.75rem);
	line-height: 1.04;
	font-weight: 500;

	color: #4F593F;
}

.hag-services-intro {
	max-width: 690px;
	margin: 0 auto;

	font-family: var(--hag-font-body) !important;
	font-size: 1rem;
	line-height: 1.7;

	color: #5E6258;
}


/* GRID */

.hag-services-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}


/* CARD */

.hag-service-card {
	display: flex !important;
	flex-direction: column;

	min-width: 0;

	background: #FCFAF6;

	border-radius: 20px;
	overflow: hidden;

	color: inherit !important;
	text-decoration: none !important;

	transition:
		transform .3s ease,
		box-shadow .3s ease;
}

.hag-service-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(79,89,63,.09);
}


/* IMAGE */

.hag-service-image {
	overflow: hidden;
	aspect-ratio: 4 / 2.7;
	background: #E8EEE7;
}

.hag-service-image img {
	display: block;
	width: 100%;
	height: 100%;

	object-fit: cover;

	transition: transform .5s ease;
}

.hag-service-card:hover .hag-service-image img {
	transform: scale(1.025);
}


/* CONTENT */

.hag-service-content {
	display: flex;
	flex-direction: column;
	flex: 1;

	padding: 27px 28px 29px;
}

.hag-service-number {
	margin-bottom: 11px;

	font-family: var(--hag-font-body) !important;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .16em;

	color: #69BFB8;
}

.hag-service-content h3 {
	margin: 0 0 16px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: 1.55rem;
	line-height: 1.15;
	font-weight: 500;

	color: #4F593F;
}

.hag-service-content p {
	margin: 0 0 24px;

	font-family: var(--hag-font-body) !important;
	font-size: .91rem;
	line-height: 1.65;

	color: #62665C;
}

.hag-service-more {
	margin-top: auto;

	font-family: var(--hag-font-body) !important;
	font-size: .84rem;
	font-weight: 500;

	color: #4F593F;

	transition: color .25s ease;
}

.hag-service-card:hover .hag-service-more {
	color: #69BFB8;
}


/* TABLET */

@media only screen and (max-width: 959px) {

	.hag-services-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}


/* MOBILE */

@media only screen and (max-width: 767px) {

	.hag-services {
		padding: 72px 0 78px !important;
	}

	.hag-services-head {
		margin-bottom: 38px;
		text-align: left;
	}

	.hag-services-eyebrow::after {
		display: none;
	}

	.hag-services-head h2 {
		font-size: 2.8rem;
		margin-bottom: 20px !important;
	}

	.hag-services-intro {
		font-size: .95rem;
		line-height: 1.65;
	}

	.hag-services-grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}

	.hag-service-content {
		padding: 24px 22px 26px;
	}

	.hag-service-content h3 {
		font-size: 1.48rem;
	}

}
/* ==========================================================
   MOBILE CONTENT WIDTH – FINAL
   nur EIN 18px-Gutter über BeTheme
   ========================================================== */

@media only screen and (max-width: 767px) {

	.hag-sina .hag-sina-inner,
	.hag-services .hag-services-inner {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

}

/* ==========================================================
   ECHTE HOCHZEITEN
   ========================================================== */

.hag-weddings {
	background: #F7F3ED;
	padding: 105px 0 110px !important;
}

.hag-weddings-inner {
	width: min(1200px, calc(100% - 36px));
	margin: 0 auto;
}


/* HEAD */

.hag-weddings-head {
	max-width: 760px;
	margin: 0 auto 56px;
	text-align: center;
}

.hag-weddings-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin-bottom: 16px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-weddings-eyebrow::before,
.hag-weddings-eyebrow::after {
	content: "";
	width: 25px;
	height: 1px;
	background: #8FCFC5;
}

.hag-weddings-head h2 {
	margin: 0 0 24px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(2.7rem, 3.7vw, 3.75rem);
	line-height: 1.04;
	font-weight: 500;

	color: #4F593F;
}

.hag-weddings-intro {
	max-width: 700px;
	margin: 0 auto;

	font-family: var(--hag-font-body) !important;
	font-size: 1rem;
	line-height: 1.7;

	color: #5E6258;
}


/* GRID */

.hag-weddings-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 42px 34px;
}


/* CARD */

.hag-wedding-card {
	display: block !important;

	color: inherit !important;
	text-decoration: none !important;
}

.hag-wedding-image {
	overflow: hidden;

	aspect-ratio: 16 / 10;

	border-radius: 22px;
	background: #E8EEE7;
}

.hag-wedding-image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transition: transform .65s ease;
}

.hag-wedding-card:hover .hag-wedding-image img {
	transform: scale(1.025);
}


/* TEXT */

.hag-wedding-content {
	padding: 24px 8px 0;
}

.hag-wedding-meta {
	display: block;

	margin-bottom: 9px;
	font-family: "WindSong", cursive !important;
	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-wedding-script {
	display: block;

	margin-bottom: 7px;

	font-family: "WindSong", cursive !important;
	font-size: 1.65rem;
	line-height: 1.05;

	color: #69BFB8;
}

.hag-wedding-content h3 {
	margin: 0 0 13px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(1.65rem, 2vw, 2rem);
	line-height: 1.15;
	font-weight: 500;

	color: #4F593F;
}

.hag-wedding-content p {
	margin: 0 0 18px;

	font-family: var(--hag-font-body) !important;
	font-size: .92rem;
	line-height: 1.65;

	color: #62665C;
}

.hag-wedding-more {
	display: inline-block;

	padding-bottom: 3px;
	border-bottom: 1px solid rgba(79,89,63,.25);

	font-family: var(--hag-font-body) !important;
	font-size: .84rem;
	font-weight: 500;

	color: #4F593F;

	transition:
		color .25s ease,
		border-color .25s ease;
}

.hag-wedding-card:hover .hag-wedding-more {
	color: #69BFB8;
	border-color: #69BFB8;
}


/* FOOTER CTA */

.hag-weddings-footer {
	margin-top: 52px;
	text-align: center;
}

.hag-weddings-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	padding-bottom: 4px;
	border-bottom: 1px solid rgba(79,89,63,.28);

	font-family: var(--hag-font-body) !important;
	font-size: .9rem;
	font-weight: 500;

	color: #4F593F !important;
	text-decoration: none !important;

	transition:
		color .25s ease,
		border-color .25s ease;
}

.hag-weddings-link:hover,
.hag-weddings-link:focus-visible {
	color: #69BFB8 !important;
	border-color: #69BFB8;
}


/* MOBILE */

@media only screen and (max-width: 767px) {

	.hag-weddings {
		padding: 72px 0 78px !important;
	}

	.hag-weddings-inner {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.hag-weddings-head {
		margin-bottom: 40px;
		text-align: left;
	}

	.hag-weddings-eyebrow::after {
		display: none;
	}

	.hag-weddings-head h2 {
		font-size: 2.8rem;
		margin-bottom: 20px !important;
	}

	.hag-weddings-intro {
		font-size: .95rem;
		line-height: 1.65;
	}

	.hag-weddings-grid {
		grid-template-columns: 1fr;
		gap: 38px;
	}

	.hag-wedding-image {
		border-radius: 18px;
		aspect-ratio: 4 / 3;
	}

	.hag-wedding-content {
		padding: 20px 4px 0;
	}

	.hag-wedding-script {
		font-size: 1.55rem;
	}

	.hag-weddings-footer {
		margin-top: 42px;
		text-align: left;
	}

}
/* ==========================================================
   ECHTE HOCHZEITEN – TYPO FINAL
   ========================================================== */

.hag-wedding-script {
	display: none !important;
}

.hag-wedding-meta {
	display: block;
	margin-bottom: 12px;

	font-family: "WindSong", cursive !important;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-wedding-content h3 {
	margin: 0 0 15px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(1.65rem, 2vw, 2rem);
	line-height: 1.15;
	font-weight: 500;

	color: #4F593F;
}

.hag-wedding-content p {
	margin: 0 0 20px;

	font-family: var(--hag-font-body) !important;
	font-size: .92rem;
	line-height: 1.65;

	color: #62665C;
}

@media only screen and (max-width: 767px) {

	.hag-wedding-meta {
		margin-bottom: 10px;
	}

	.hag-wedding-content h3 {
		font-size: 1.65rem;
		margin-bottom: 13px !important;
	}

}
/* ==========================================================
   MID CTA
   ========================================================== */

.hag-mid-cta {
	background: #8FCFC5;
	padding: 90px 0 94px !important;
}

.hag-mid-cta-inner {
	width: min(880px, calc(100% - 36px));
	margin: 0 auto;
	text-align: center;
}


/* EYEBROW */

.hag-mid-cta-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin: 0 0 17px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;

	color: #4F593F;
}

.hag-mid-cta-eyebrow::before,
.hag-mid-cta-eyebrow::after {
	content: "";
	width: 25px;
	height: 1px;
	background: rgba(79,89,63,.45);
}


/* HEADLINE */

.hag-mid-cta h2 {
	max-width: 820px;
	margin: 0 auto 24px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(2.7rem, 4vw, 4rem);
	line-height: 1.05;
	font-weight: 500;

	color: #4F593F;
}


/* COPY */

.hag-mid-cta p {
	max-width: 640px;
	margin: 0 auto 31px;

	font-family: var(--hag-font-body) !important;
	font-size: 1rem;
	line-height: 1.7;

	color: rgba(79,89,63,.9);
}


/* BUTTON */

.hag-mid-cta-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 15px 27px;
	border-radius: 999px;

	background: #4F593F;
	border: 1px solid #4F593F;

	font-family: var(--hag-font-body) !important;
	font-size: .92rem;
	font-weight: 500;

	color: #fff !important;
	text-decoration: none !important;

	transition:
		background-color .25s ease,
		border-color .25s ease,
		transform .25s ease;
}

.hag-mid-cta-button:hover,
.hag-mid-cta-button:focus-visible {
	background: #6F7755;
	border-color: #6F7755;
	color: #fff !important;
	transform: translateY(-1px);
}


/* MOBILE */

@media only screen and (max-width: 767px) {

	.hag-mid-cta {
		padding: 72px 0 78px !important;
	}

	.hag-mid-cta-inner {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;

		text-align: left;
	}

	.hag-mid-cta-eyebrow::after {
		display: none;
	}

	.hag-mid-cta h2 {
		margin-bottom: 20px !important;
		font-size: 2.8rem;
	}

	.hag-mid-cta p {
		margin: 0 0 28px;
		font-size: .95rem;
		line-height: 1.65;
	}

}
/* ==========================================================
   PLANUNGSABLAUF
   ========================================================== */

.hag-process {
	background: #EEF1E9;
	padding: 105px 0 110px !important;
}

.hag-process-inner {
	width: min(1200px, calc(100% - 36px));
	margin: 0 auto;

	display: grid;

	align-items: center;
}


/* IMAGE */

.hag-process-image {
	overflow: hidden;

	border-radius: 22px;
}

.hag-process-image img {
	display: block;

	width: 100%;
	height: 100%;

	aspect-ratio: 4 / 5.2;
	object-fit: cover;
}


/* CONTENT */

.hag-process-content {
	min-width: 0;
}

.hag-process-head {
	max-width: 650px;
	margin-bottom: 38px;
}

.hag-process-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin-bottom: 16px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-process-eyebrow::before {
	content: "";

	width: 28px;
	height: 1px;

	background: #8FCFC5;
}

.hag-process-head h2 {
	margin: 0 0 24px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(2.7rem, 3.7vw, 3.75rem);
	line-height: 1.04;
	font-weight: 500;

	color: #4F593F;
}

.hag-process-head > p {
	margin: 0;

	font-family: var(--hag-font-body) !important;
	font-size: 1rem;
	line-height: 1.7;

	color: #5E6258;
}


/* STEPS */

.hag-process-steps {
	position: relative;
}

.hag-process-step {
	display: grid;
	grid-template-columns: 46px 1fr;
	gap: 20px;

	position: relative;

	padding: 0 0 27px;
	margin-bottom: 27px;

	border-bottom: 1px solid rgba(79,89,63,.13);
}

.hag-process-step:last-child {
	padding-bottom: 0;
	margin-bottom: 0;

	border-bottom: 0;
}

.hag-process-number {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;

	padding-top: 3px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .12em;

	color: #69BFB8;
}

.hag-process-step-content h3 {
	margin: 0 0 8px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: 1.42rem;
	line-height: 1.18;
	font-weight: 500;

	color: #4F593F;
}

.hag-process-step-content p {
	margin: 0;

	font-family: var(--hag-font-body) !important;
	font-size: .92rem;
	line-height: 1.6;

	color: #62665C;
}


/* TABLET */

@media only screen and (max-width: 959px) {

	.hag-process-inner {
		grid-template-columns: 1fr;
		gap: 52px;
	}

	.hag-process-image {
		max-width: 620px;
	}

	.hag-process-image img {
		aspect-ratio: 16 / 10;
	}

}


/* MOBILE */

@media only screen and (max-width: 767px) {

	.hag-process {
		padding: 72px 0 78px !important;
	}

	.hag-process-inner {
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;

		display: flex !important;
		flex-direction: column !important;
		gap: 40px !important;
	}

	.hag-process-image {
		width: 100%;
		max-width: none;
		border-radius: 18px;
	}

	.hag-process-image img {
		aspect-ratio: 4 / 3;
	}

	.hag-process-head {
		margin-bottom: 32px;
	}

	.hag-process-head h2 {
		font-size: 2.8rem;
		margin-bottom: 20px !important;
	}

	.hag-process-head > p {
		font-size: .95rem;
		line-height: 1.65;
	}

	.hag-process-step {
		grid-template-columns: 38px 1fr;
		gap: 14px;

		padding-bottom: 22px;
		margin-bottom: 22px;
	}

	.hag-process-step-content h3 {
		font-size: 1.34rem;
	}

	.hag-process-step-content p {
		font-size: .9rem;
		line-height: 1.6;
	}

}
/* ==========================================================
   PROCESS V3 – DESKTOP FIX
   ========================================================== */

.hag-process-v3 .hag-process-inner {
	display: grid !important;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr) !important;
	gap: 72px !important;

	width: min(1200px, calc(100% - 36px)) !important;
	max-width: 1200px !important;
	margin: 0 auto !important;

	align-items: center !important;
	box-sizing: border-box !important;
}

.hag-process-v3 .hag-process-image,
.hag-process-v3 .hag-process-content {
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
}

.hag-process-v3 .hag-process-image img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 5.2;
	object-fit: cover;
}


/* TABLET */

@media only screen and (max-width: 959px) {

	.hag-process-v3 .hag-process-inner {
		display: flex !important;
		flex-direction: column !important;

		width: 100% !important;
		max-width: none !important;

		gap: 48px !important;
	}

	.hag-process-v3 .hag-process-image,
	.hag-process-v3 .hag-process-content {
		width: 100% !important;
	}

	.hag-process-v3 .hag-process-image img {
		aspect-ratio: 16 / 10;
	}

}
/* ==========================================================
   PLANUNGSABLAUF V4
   komplett neuer Namespace wegen alter CSS-Kollision
   ========================================================== */

.hag-planflow-v4 {
	background: #EEF1E9;
	padding: 105px 0 110px !important;
}

.hag-planflow-inner {
	width: min(1200px, 100%);
	margin: 0 auto;

	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
	gap: 72px;

	align-items: center;
}


/* IMAGE */

.hag-planflow-image {
	width: 100%;
	min-width: 0;
	overflow: hidden;
	border-radius: 22px;
}

.hag-planflow-image img {
	display: block;
	width: 100%;
	height: auto;

	aspect-ratio: 4 / 5.2;
	object-fit: cover;
}


/* CONTENT */

.hag-planflow-content {
	width: 100%;
	min-width: 0;
}

.hag-planflow-head {
	max-width: 650px;
	margin-bottom: 38px;
}

.hag-planflow-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin: 0 0 16px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-planflow-eyebrow::before {
	content: "";
	width: 28px;
	height: 1px;
	background: #8FCFC5;
}

.hag-planflow-head h2 {
	margin: 0 0 24px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(2.7rem, 3.7vw, 3.75rem);
	line-height: 1.04;
	font-weight: 500;

	color: #4F593F;
}

.hag-planflow-head > p {
	margin: 0;

	font-family: var(--hag-font-body) !important;
	font-size: 1rem;
	line-height: 1.7;

	color: #5E6258;
}


/* STEPS */

.hag-planflow-step {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 18px;

	padding: 0 0 24px;
	margin: 0 0 24px;

	border-bottom: 1px solid rgba(79,89,63,.13);
}

.hag-planflow-step:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

.hag-planflow-number {
	padding-top: 3px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .12em;

	color: #69BFB8;
}

.hag-planflow-step h3 {
	margin: 0 0 8px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: 1.42rem;
	line-height: 1.18;
	font-weight: 500;

	color: #4F593F;
}

.hag-planflow-step p {
	margin: 0;

	font-family: var(--hag-font-body) !important;
	font-size: .92rem;
	line-height: 1.6;

	color: #62665C;
}


/* TABLET + MOBILE */

@media only screen and (max-width: 959px) {

	.hag-planflow-v4 {
		padding: 72px 0 78px !important;
	}

	.hag-planflow-inner {
		display: flex;
		flex-direction: column;

		width: 100%;
		gap: 40px;
	}

	.hag-planflow-image,
	.hag-planflow-content {
		width: 100%;
	}

	.hag-planflow-image {
		border-radius: 18px;
	}

	.hag-planflow-image img {
		aspect-ratio: 4 / 3;
	}

	.hag-planflow-head {
		max-width: none;
		margin-bottom: 32px;
	}

	.hag-planflow-head h2 {
		font-size: 2.8rem;
		margin-bottom: 20px !important;
	}

	.hag-planflow-head > p {
		font-size: .95rem;
		line-height: 1.65;
	}

	.hag-planflow-step {
		grid-template-columns: 38px minmax(0, 1fr);
		gap: 14px;

		padding-bottom: 22px;
		margin-bottom: 22px;
	}

	.hag-planflow-step h3 {
		font-size: 1.34rem;
	}

	.hag-planflow-step p {
		font-size: .9rem;
	}

}
/* ==========================================================
   PLANFLOW – DESKTOP FEINSCHLIFF
   ========================================================== */

@media only screen and (min-width: 960px) {

	/* etwas mehr Raum für die rechte Seite */
	.hag-planflow-inner {
		grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr);
		gap: 64px;
	}

	.hag-planflow-head {
		max-width: none;
	}

	/* Einleitung bewusst einzeilig */
	.hag-planflow-head > p {
		white-space: nowrap;
		font-size: .98rem;
	}


	/* Schritte mit stärker abgesetzter Nummer */

	.hag-planflow-step {
		grid-template-columns: 52px minmax(0, 1fr);
		gap: 20px;
		align-items: start;
	}

	.hag-planflow-number {
		display: flex;
		align-items: center;
		justify-content: center;

		width: 40px;
		height: 40px;
		padding: 0;

		border-radius: 50%;
		background: rgba(143, 207, 197, .18);
		border: 1px solid rgba(105, 191, 184, .45);

		font-family: var(--hag-font-body) !important;
		font-size: .68rem;
		font-weight: 600;
		letter-spacing: .08em;

		color: #559F99;
	}

}
/* ==========================================================
   ERFAHRUNGEN / LIEBESBRIEFE
   ========================================================== */

.hag-loveletters-v4 {
	background: #F7F3ED;
	padding: 105px 0 110px !important;
}

.hag-loveletters-inner {
	width: min(1200px, 100%);
	margin: 0 auto;

	display: grid;
	grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
	gap: 72px;

	align-items: center;
}


/* IMAGE */

.hag-loveletters-image {
	width: 100%;
	overflow: hidden;

	border-radius: 22px;
}

.hag-loveletters-image img {
	display: block;

	width: 100%;
	height: auto;

	aspect-ratio: 4 / 5;
	object-fit: cover;
}


/* CONTENT */

.hag-loveletters-content {
	width: 100%;
	min-width: 0;
}

.hag-loveletters-head {
	max-width: 680px;
	margin: 0 0 38px;
}

.hag-loveletters-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin: 0 0 16px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-loveletters-eyebrow::before {
	content: "";

	width: 28px;
	height: 1px;

	background: #8FCFC5;
}

.hag-loveletters-head h2 {
	margin: 0 0 24px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(2.7rem, 3.7vw, 3.75rem);
	line-height: 1.04;
	font-weight: 500;

	color: #4F593F;
}

.hag-loveletters-head p {
	margin: 0;

	font-family: var(--hag-font-body) !important;
	font-size: 1rem;
	line-height: 1.7;

	color: #5E6258;
}


/* TRUSTINDEX */

.hag-loveletters-widget {
	width: 100%;
	min-width: 0;
}


/* TABLET / MOBILE */

@media only screen and (max-width: 959px) {

	.hag-loveletters-v4 {
		padding: 72px 0 78px !important;
	}

	.hag-loveletters-inner {
		display: flex;
		flex-direction: column;

		width: 100%;
		gap: 40px;
	}

	.hag-loveletters-image,
	.hag-loveletters-content {
		width: 100%;
	}

	.hag-loveletters-image {
		border-radius: 18px;
	}

	.hag-loveletters-image img {
		aspect-ratio: 4 / 3;
	}

	.hag-loveletters-head {
		max-width: none;
		margin-bottom: 32px;
	}

	.hag-loveletters-head h2 {
		font-size: 2.8rem;
		margin-bottom: 20px !important;
	}

	.hag-loveletters-head p {
		font-size: .95rem;
		line-height: 1.65;
	}

}
/* ==========================================================
   INSIDER-TIPPS
   ========================================================== */

.hag-insider-v4 {
	background: #F7F2E9;
	padding: 105px 0 110px !important;
}

.hag-insider-inner {
	width: min(1200px, 100%);
	margin: 0 auto;
}


/* HEAD */

.hag-insider-head {
	max-width: 780px;
	margin: 0 auto 54px;
	text-align: center;
}

.hag-insider-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin-bottom: 16px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-insider-eyebrow::before,
.hag-insider-eyebrow::after {
	content: "";
	width: 25px;
	height: 1px;
	background: #8FCFC5;
}

.hag-insider-head h2 {
	margin: 0 0 24px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(2.7rem, 3.7vw, 3.75rem);
	line-height: 1.04;
	font-weight: 500;

	color: #4F593F;
}

.hag-insider-head p {
	max-width: 700px;
	margin: 0 auto;

	font-family: var(--hag-font-body) !important;
	font-size: 1rem;
	line-height: 1.7;

	color: #5E6258;
}


/* GRID */

.hag-insider-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
}


/* CARD */

.hag-insider-card {
	display: flex !important;
	flex-direction: column;

	min-height: 320px;
	padding: 34px 32px 31px;

	background: #FCFAF6;
	border: 1px solid rgba(79,89,63,.08);
	border-radius: 20px;

	color: inherit !important;
	text-decoration: none !important;

	transition:
		transform .3s ease,
		box-shadow .3s ease,
		border-color .3s ease;
}

.hag-insider-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(79,89,63,.08);
	border-color: rgba(105,191,184,.25);
}

.hag-insider-meta {
	display: block;
	margin-bottom: 18px;

	font-family: var(--hag-font-body) !important;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;

	color: #69BFB8;
}

.hag-insider-card h3 {
	margin: 0 0 18px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: 1.65rem;
	line-height: 1.18;
	font-weight: 500;

	color: #4F593F;
}

.hag-insider-card p {
	margin: 0 0 26px;

	font-family: var(--hag-font-body) !important;
	font-size: .92rem;
	line-height: 1.65;

	color: #62665C;
}

.hag-insider-more {
	margin-top: auto;

	font-family: var(--hag-font-body) !important;
	font-size: .84rem;
	font-weight: 500;

	color: #4F593F;

	transition: color .25s ease;
}

.hag-insider-card:hover .hag-insider-more {
	color: #69BFB8;
}


/* FOOTER */

.hag-insider-footer {
	margin-top: 48px;
	text-align: center;
}

.hag-insider-all {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	padding-bottom: 4px;
	border-bottom: 1px solid rgba(79,89,63,.28);

	font-family: var(--hag-font-body) !important;
	font-size: .9rem;
	font-weight: 500;

	color: #4F593F !important;
	text-decoration: none !important;
}

.hag-insider-all:hover,
.hag-insider-all:focus-visible {
	color: #69BFB8 !important;
	border-color: #69BFB8;
}


/* MOBILE */

@media only screen and (max-width: 767px) {

	.hag-insider-v4 {
		padding: 72px 0 78px !important;
	}

	.hag-insider-inner {
		width: 100%;
	}

	.hag-insider-head {
		margin-bottom: 38px;
		text-align: left;
	}

	.hag-insider-eyebrow::after {
		display: none;
	}

	.hag-insider-head h2 {
		font-size: 2.8rem;
		margin-bottom: 20px !important;
	}

	.hag-insider-head p {
		font-size: .95rem;
		line-height: 1.65;
	}

	.hag-insider-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.hag-insider-card {
		min-height: 0;
		padding: 28px 24px 27px;
	}

	.hag-insider-card h3 {
		font-size: 1.5rem;
	}

	.hag-insider-footer {
		margin-top: 38px;
		text-align: left;
	}

}
/* ==========================================================
   KONTAKT / ANFRAGE
   ========================================================== */

.hag-contact-v4 {
	background: #DDEDEA;
	padding: 105px 0 110px !important;
}

.hag-contact-inner {
	width: min(1200px, 100%);
	margin: 0 auto;

	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
	gap: 80px;

	align-items: start;
}


/* INTRO */

.hag-contact-intro {
	padding-top: 18px;
}

.hag-contact-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin: 0 0 16px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-contact-eyebrow::before {
	content: "";
	width: 28px;
	height: 1px;
	background: #69BFB8;
}

.hag-contact-intro h2 {
	margin: 0 0 24px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(2.7rem, 3.7vw, 3.75rem);
	line-height: 1.04;
	font-weight: 500;

	color: #4F593F;
}

.hag-contact-copy {
	max-width: 500px;
	margin: 0;

	font-family: var(--hag-font-body) !important;
	font-size: 1rem;
	line-height: 1.7;

	color: #5E6258;
}


/* DIRECT CONTACT */

.hag-contact-direct {
	margin-top: 38px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.hag-contact-direct-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.hag-contact-direct-item > span {
	font-family: var(--hag-font-body) !important;
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-contact-direct-item a {
	width: fit-content;

	font-family: var(--hag-font-body) !important;
	font-size: .95rem;
	font-weight: 500;

	color: #4F593F !important;
	text-decoration: none !important;

	border-bottom: 1px solid rgba(79,89,63,.25);
}

.hag-contact-direct-item a:hover {
	color: #559F99 !important;
	border-color: #559F99;
}


/* FORM CARD */

.hag-contact-form {
	background: #FCFAF6;
	padding: 42px 42px 40px;

	border-radius: 22px;
}


/* FORM */

.hag-form {
	width: 100%;
}

.hag-form-row {
	display: grid;
	gap: 18px;
}

.hag-form-row-2 {
	grid-template-columns: repeat(2, minmax(0,1fr));
}

.hag-form-field {
	margin-bottom: 20px;
}

.hag-form-field label {
	display: block;
	margin-bottom: 8px;

	font-family: var(--hag-font-body) !important;
	font-size: .78rem;
	font-weight: 600;

	color: #4F593F;
}

.hag-form input[type="text"],
.hag-form input[type="email"],
.hag-form input[type="date"],
.hag-form input[type="number"],
.hag-form textarea {
	width: 100% !important;
	box-sizing: border-box;

	margin: 0 !important;
	padding: 13px 14px !important;

	background: #fff !important;
	border: 1px solid rgba(79,89,63,.16) !important;
	border-radius: 10px !important;

	font-family: var(--hag-font-body) !important;
	font-size: .92rem !important;

	color: #4F593F !important;

	box-shadow: none !important;
}

.hag-form textarea {
	min-height: 145px;
	resize: vertical;
}

.hag-form input:focus,
.hag-form textarea:focus {
	border-color: #69BFB8 !important;
	outline: none !important;
}


/* PRIVACY */

.hag-form-privacy {
	margin: 2px 0 25px;

	font-family: var(--hag-font-body) !important;
	font-size: .76rem;
	line-height: 1.5;

	color: #686C62;
}

.hag-form-privacy a {
	color: #4F593F !important;
	text-decoration: underline;
}


/* SUBMIT */

.hag-form-submit input[type="submit"] {
	display: inline-flex !important;

	padding: 15px 27px !important;
	margin: 0 !important;

	border: 1px solid #8FCFC5 !important;
	border-radius: 999px !important;

	background: #8FCFC5 !important;

	font-family: var(--hag-font-body) !important;
	font-size: .92rem !important;
	font-weight: 500 !important;

	color: #4F593F !important;

	transition:
		background-color .25s ease,
		border-color .25s ease,
		transform .25s ease;
}

.hag-form-submit input[type="submit"]:hover {
	background: #72BDB5 !important;
	border-color: #72BDB5 !important;
	transform: translateY(-1px);
}


/* MOBILE */

@media only screen and (max-width: 959px) {

	.hag-contact-v4 {
		padding: 72px 0 78px !important;
	}

	.hag-contact-inner {
		display: flex;
		flex-direction: column;

		width: 100%;
		gap: 42px;
	}

	.hag-contact-intro {
		padding-top: 0;
		width: 100%;
	}

	.hag-contact-intro h2 {
		font-size: 2.8rem;
		margin-bottom: 20px !important;
	}

	.hag-contact-copy {
		font-size: .95rem;
		line-height: 1.65;
	}

	.hag-contact-direct {
		margin-top: 30px;
	}

	.hag-contact-form {
		width: 100%;
		box-sizing: border-box;

		padding: 28px 24px 30px;

		border-radius: 18px;
	}

	.hag-form-row-2 {
		grid-template-columns: 1fr;
		gap: 0;
	}

}
/* ==========================================================
   FOOTER WIDGETS – FINAL
   ========================================================== */

#Footer {
	background: #FCFAF6 !important;
}

#Footer .widgets_wrapper {
	padding: 78px 0 68px !important;
}

#Footer .container {
	max-width: 1200px !important;
}


/* WIDGET RESET */

#Footer .widget {
	margin: 0 !important;
}

.hag-footer-widget {
	font-family: var(--hag-font-body) !important;
}


/* LOGO */

.hag-footer-logo {
	display: block;
	width: 190px;
	max-width: 100%;
	height: auto;
	margin-bottom: 22px;
}

.hag-footer-brand-copy {
	max-width: 350px;
	margin: 0 0 19px !important;

	font-family: var(--hag-font-body) !important;
	font-size: .92rem;
	line-height: 1.7;

	color: #62665C;
}

.hag-footer-instagram {
	display: inline-block;

	font-family: var(--hag-font-body) !important;
	font-size: .86rem;
	font-weight: 500;

	color: #4F593F !important;
	text-decoration: none !important;

	border-bottom: 1px solid rgba(79,89,63,.25);

	transition:
		color .25s ease,
		border-color .25s ease;
}

.hag-footer-instagram:hover {
	color: #69BFB8 !important;
	border-color: #69BFB8;
}


/* TITLES */

.hag-footer-title {
	display: block;
	margin-bottom: 20px;

	font-family: var(--hag-font-body) !important;
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;

	color: #6F7755;
}


/* NAV + CONTACT */

.hag-footer-nav,
.hag-footer-contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 11px;
}

.hag-footer-nav a,
.hag-footer-contact a {
	font-family: var(--hag-font-body) !important;
	font-size: .9rem;
	line-height: 1.5;

	color: #4F593F !important;
	text-decoration: none !important;

	transition: color .25s ease;
}

.hag-footer-nav a:hover,
.hag-footer-contact a:hover {
	color: #69BFB8 !important;
}


/* COPYRIGHT-BEREICH */

#Footer .footer_copy {
	background: #FCFAF6 !important;
	border-top: 1px solid rgba(79,89,63,.12);
}

#Footer .footer_copy .one {
	min-height: 0 !important;
	padding-top: 22px !important;
	padding-bottom: 25px !important;
}

#Footer .footer_copy,
#Footer .footer_copy a {
	font-family: var(--hag-font-body) !important;
	font-size: .76rem;

	color: #6B6E65 !important;
}


/* TIFFANY ABSCHLUSS */

#Footer {
	border-bottom: 5px solid #8FCFC5;
}


/* MOBILE */

@media only screen and (max-width: 767px) {

	#Footer .widgets_wrapper {
		padding: 62px 0 50px !important;
	}

	#Footer .widget {
		margin-bottom: 38px !important;
	}

	#Footer .column:last-child .widget {
		margin-bottom: 0 !important;
	}

	.hag-footer-logo {
		width: 170px;
	}

	.hag-footer-brand-copy {
		max-width: 100%;
	}

}
.hag-footer-contact-copy {
	max-width: 320px;
	margin: 0 0 18px !important;

	font-family: var(--hag-font-body) !important;
	font-size: .92rem;
	line-height: 1.7;

	color: #62665C;
}

.hag-footer-contact-note {
	margin: 16px 0 0 !important;

	font-family: var(--hag-font-body) !important;
	font-size: .8rem;
	line-height: 1.6;

	color: #8B8E84;
}
@media only screen and (max-width: 959px) {

	.hag-benefit-strip {
		display: none !important;
	}

}
/* ==========================================================
   PLANUNG & SERVICE – FINAL V2
   ========================================================== */

.hag-services {
	background: #F3E9DE !important;
	padding: 105px 0 110px !important;
}

.hag-services-inner {
	width: min(1200px, calc(100% - 36px));
	margin: 0 auto;
}


/* ==========================================================
   HEAD
   ========================================================== */

.hag-services-head {
	max-width: 760px;
	margin: 0 auto 54px;
	text-align: center;
}

.hag-services-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin: 0 0 16px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	line-height: 1;

	letter-spacing: .18em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-services-eyebrow::before,
.hag-services-eyebrow::after {
	content: "";

	width: 25px;
	height: 1px;

	background: #8FCFC5;
}

.hag-services-head h2 {
	margin: 0 0 24px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(2.7rem, 3.7vw, 3.75rem);
	line-height: 1.04;
	font-weight: 500;

	color: #4F593F;
}

.hag-services-intro {
	max-width: 720px;
	margin: 0 auto;

	font-family: var(--hag-font-body) !important;
	font-size: 1rem;
	line-height: 1.7;

	color: #5E6258;
}


/* ==========================================================
   GRID
   ========================================================== */

.hag-services-grid {
	display: grid !important;

	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

	gap: 28px !important;

	width: 100%;
	margin: 0;
	padding: 0;
}


/* ==========================================================
   CARD
   Wichtig: komplette Karte bleibt EIN Grid-Element
   ========================================================== */

.hag-service-card {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: hidden;

	background: #FCFAF6 !important;
	border-radius: 20px;

	color: inherit !important;
	text-decoration: none !important;

	box-sizing: border-box !important;

	transition:
		transform .3s ease,
		box-shadow .3s ease;
}

.hag-service-card:hover,
.hag-service-card:focus-visible {
	transform: translateY(-4px);

	box-shadow:
		0 14px 32px rgba(79,89,63,.09);
}


/* ==========================================================
   IMAGE
   ========================================================== */

.hag-service-image {
	position: relative;

	display: block !important;

	width: 100% !important;
	min-width: 0 !important;

	aspect-ratio: 4 / 2.7;

	overflow: hidden;

	background: #E8EEE7;
}

.hag-service-image img {
	display: block !important;

	width: 100% !important;
	height: 100% !important;

	max-width: none !important;

	object-fit: cover !important;
	object-position: center center;

	margin: 0 !important;
	padding: 0 !important;

	transition: transform .5s ease;
}

.hag-service-card:hover .hag-service-image img {
	transform: scale(1.025);
}


/* Standesamt: etwas mehr Bild sichtbar / Köpfe schützen */

.hag-service-card-standesamt .hag-service-image img {
	object-position: center 28% !important;
}


/* ==========================================================
   CONTENT
   ========================================================== */

.hag-service-content {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;

	width: 100%;
	min-width: 0;

	padding: 27px 28px 29px;

	box-sizing: border-box;
}

.hag-service-number {
	display: block;

	margin: 0 0 11px;

	font-family: var(--hag-font-body) !important;
	font-size: .7rem;
	font-weight: 600;
	line-height: 1;

	letter-spacing: .16em;

	color: #69BFB8;
}

.hag-service-content h3 {
	margin: 0 0 16px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: 1.55rem;
	line-height: 1.15;
	font-weight: 500;

	color: #4F593F;
}

.hag-service-content p {
	margin: 0 0 24px;

	font-family: var(--hag-font-body) !important;
	font-size: .91rem;
	line-height: 1.65;

	color: #62665C;
}

.hag-service-more {
	display: inline-block;

	width: fit-content;
	margin-top: auto;

	font-family: var(--hag-font-body) !important;
	font-size: .84rem;
	font-weight: 500;
	line-height: 1.4;

	color: #4F593F;

	transition: color .25s ease;
}

.hag-service-card:hover .hag-service-more {
	color: #69BFB8;
}


/* ==========================================================
   TABLET
   ========================================================== */

@media only screen and (max-width: 959px) {

	.hag-services-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media only screen and (max-width: 767px) {

	.hag-services {
		padding: 72px 0 78px !important;
	}

	/*
	 * BeTheme liefert bereits den äußeren Mobile-Gutter.
	 * Deshalb hier NICHT nochmal calc(100% - 36px).
	 */
	.hag-services-inner {
		width: 100% !important;
		max-width: none !important;

		margin: 0 !important;
	}

	.hag-services-head {
		max-width: none;

		margin: 0 0 38px;

		text-align: left;
	}

	.hag-services-eyebrow::after {
		display: none;
	}

	.hag-services-head h2 {
		margin-bottom: 20px !important;

		font-size: 2.8rem;
	}

	.hag-services-intro {
		max-width: none;

		font-size: .95rem;
		line-height: 1.65;
	}

	.hag-services-grid {
		grid-template-columns: 1fr !important;

		gap: 22px !important;
	}

	.hag-service-card {
		width: 100% !important;
	}

	.hag-service-image {
		aspect-ratio: 4 / 2.8;
	}

	.hag-service-content {
		padding: 24px 22px 26px;
	}

	.hag-service-content h3 {
		font-size: 1.48rem;
	}

}
/* ==========================================================
   MID CTA + MINI FORM – FINAL
   ========================================================== */

.hag-mid-cta {
	background: #8FCFC5;
	padding: 92px 0 96px !important;
}

.hag-mid-cta-inner {
	display: block !important;

	width: min(1200px, 100%) !important;
	max-width: 1200px !important;

	margin: 0 auto !important;

	text-align: left !important;
}


/* HEAD */

.hag-mid-cta-head {
	max-width: 900px;
	margin: 0 auto 42px;

	text-align: center;
}

.hag-mid-cta-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin: 0 0 17px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	line-height: 1;

	letter-spacing: .18em;
	text-transform: uppercase;

	color: #4F593F;
}

.hag-mid-cta-eyebrow::before,
.hag-mid-cta-eyebrow::after {
	content: "";

	width: 25px;
	height: 1px;

	background: rgba(79,89,63,.45);
}

.hag-mid-cta-head h2 {
	max-width: 900px;

	margin: 0 auto 24px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(2.7rem, 4vw, 4rem);
	line-height: 1.05;
	font-weight: 500;

	color: #4F593F;
}

.hag-mid-cta-head p {
	max-width: 680px;

	margin: 0 auto;

	font-family: var(--hag-font-body) !important;
	font-size: 1rem;
	line-height: 1.7;

	color: rgba(79,89,63,.9);
}


/* ==========================================================
   FORMULARFLÄCHE
   ========================================================== */

.hag-mid-cta-form {
	width: 100%;

	padding: 34px 38px 36px;

	background: #FCFAF6;
	border-radius: 22px;

	box-sizing: border-box;
}


/* CF7 DEFAULT-ABSTÄNDE NEUTRALISIEREN */

.hag-mid-cta-form p {
	margin: 0 !important;
}

.hag-mid-cta-form br {
	display: none !important;
}

.hag-mini-form {
	width: 100%;
}


/* NAME + EMAIL */

.hag-mini-form-row {
	display: grid;

	grid-template-columns: repeat(2, minmax(0,1fr));

	gap: 22px;
}


/* FIELD */

.hag-mini-form-field {
	display: flex;
	flex-direction: column;

	gap: 7px;

	margin: 0 0 20px !important;
}

.hag-mini-form-field label {
	display: block;

	margin: 0 !important;
	padding: 0 !important;

	font-family: var(--hag-font-body) !important;
	font-size: .78rem;
	font-weight: 600;
	line-height: 1.3;

	color: #4F593F;
}

.hag-mini-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;

	margin: 0 !important;
	padding: 0 !important;
}


/* INPUTS */

.hag-mini-form input[type="text"],
.hag-mini-form input[type="email"],
.hag-mini-form textarea {
	display: block;

	width: 100% !important;

	margin: 0 !important;
	padding: 13px 14px !important;

	box-sizing: border-box;

	background: #fff !important;

	border: 1px solid rgba(79,89,63,.17) !important;
	border-radius: 10px !important;

	box-shadow: none !important;

	font-family: var(--hag-font-body) !important;
	font-size: .92rem !important;
	line-height: 1.4;

	color: #4F593F !important;
}

.hag-mini-form input[type="text"],
.hag-mini-form input[type="email"] {
	height: 48px !important;
}

.hag-mini-form textarea {
	min-height: 135px !important;
	height: 135px;

	resize: vertical;
}

.hag-mini-form input:focus,
.hag-mini-form textarea:focus {
	border-color: #69BFB8 !important;
	outline: none !important;
}


/* BUTTON */

.hag-mini-form-bottom {
	display: flex;
	justify-content: flex-end;

	margin-top: 3px;
}

.hag-mini-form-submit {
	margin: 0 !important;
}

.hag-mini-form-submit input[type="submit"] {
	min-width: 180px;

	margin: 0 !important;
	padding: 14px 26px !important;

	background: #4F593F !important;

	border: 1px solid #4F593F !important;
	border-radius: 999px !important;

	font-family: var(--hag-font-body) !important;
	font-size: .92rem !important;
	font-weight: 500 !important;

	color: #fff !important;

	transition:
		background-color .25s ease,
		border-color .25s ease,
		transform .25s ease;
}

.hag-mini-form-submit input[type="submit"]:hover {
	background: #6F7755 !important;
	border-color: #6F7755 !important;

	transform: translateY(-1px);
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media only screen and (max-width: 767px) {

	.hag-mid-cta {
		padding: 72px 0 78px !important;
	}

	.hag-mid-cta-inner {
		width: 100% !important;
	}

	.hag-mid-cta-head {
		margin: 0 0 34px;

		text-align: left;
	}

	.hag-mid-cta-eyebrow::after {
		display: none;
	}

	.hag-mid-cta-head h2 {
		margin-bottom: 20px !important;

		font-size: 2.8rem;
	}

	.hag-mid-cta-head p {
		font-size: .95rem;
		line-height: 1.65;
	}

	.hag-mid-cta-form {
		padding: 26px 22px 28px;

		border-radius: 18px;
	}

	.hag-mini-form-row {
		grid-template-columns: 1fr;

		gap: 0;
	}

	.hag-mini-form-field {
		gap: 6px;

		margin-bottom: 17px !important;
	}

	.hag-mini-form textarea {
		min-height: 125px !important;
		height: 125px;
	}

	.hag-mini-form-bottom {
		justify-content: stretch;
	}

	.hag-mini-form-submit,
	.hag-mini-form-submit input[type="submit"] {
		width: 100% !important;
	}

}
.hag-mini-form-message,
.hag-mini-form-message .wpcf7-form-control-wrap,
.hag-mini-form-message textarea {
	width: 100% !important;
	max-width: none !important;
}

/* MINI FORM – TEXTAREA FULL WIDTH FIX */

.hag-mid-cta-form .hag-mini-form-message {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
}

.hag-mid-cta-form .hag-mini-form-message > p {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.hag-mid-cta-form .hag-mini-form-message .wpcf7-form-control-wrap {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
}

.hag-mid-cta-form .hag-mini-form-message textarea,
.hag-mid-cta-form .hag-mini-form-message .wpcf7-textarea {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
}

.hag-mini-form-privacy {
	margin: 4px 0 22px;

	font-family: var(--hag-font-body) !important;
	font-size: .76rem;
	line-height: 1.5;

	color: #686C62;
}

.hag-mini-form-privacy .wpcf7-list-item {
	margin: 0 !important;
}

.hag-mini-form-privacy label {
	display: flex;
	align-items: flex-start;
	gap: 9px;
}

.hag-mini-form-privacy input[type="checkbox"] {
	margin-top: 3px !important;
	flex: 0 0 auto;
}

.hag-mini-form-privacy a {
	color: #4F593F !important;
	text-decoration: underline !important;
}
.hag-mini-form-privacy,
.hag-mini-form-privacy label,
.hag-mini-form-privacy a {
	font-family: var(--hag-font-body) !important;
	font-size: .78rem !important;
	line-height: 1.4;
}

/* ==========================================================
   ECHTE HOCHZEITEN – FINAL V2
   ========================================================== */

.hag-weddings {
	background: #F7EEE4 !important;
	padding: 105px 0 110px !important;
}

.hag-weddings-inner {
	width: min(1200px, calc(100% - 36px));
	margin: 0 auto;
}


/* ==========================================================
   HEAD
   ========================================================== */

.hag-weddings-head {
	max-width: 760px;
	margin: 0 auto 56px;

	text-align: center;
}

.hag-weddings-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin: 0 0 16px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	line-height: 1;

	letter-spacing: .18em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-weddings-eyebrow::before,
.hag-weddings-eyebrow::after {
	content: "";

	width: 25px;
	height: 1px;

	background: #8FCFC5;
}

.hag-weddings-head h2 {
	margin: 0 0 24px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(2.7rem, 3.7vw, 3.75rem);
	line-height: 1.04;
	font-weight: 500;

	color: #4F593F;
}

.hag-weddings-intro {
	max-width: 700px;
	margin: 0 auto;

	font-family: var(--hag-font-body) !important;
	font-size: 1rem;
	line-height: 1.7;

	color: #5E6258;
}


/* ==========================================================
   GRID
   ========================================================== */

.hag-weddings-grid {
	display: grid !important;

	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

	gap: 46px 34px !important;

	width: 100%;
}


/* ==========================================================
   CARD
   ========================================================== */

.hag-wedding-card {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	color: inherit !important;
	text-decoration: none !important;
}


/* ==========================================================
   IMAGE
   ========================================================== */

.hag-wedding-image {
	display: block !important;

	width: 100% !important;
	min-width: 0 !important;

	aspect-ratio: 16 / 10;

	overflow: hidden;

	border-radius: 22px;

	background: #E8EEE7;
}

.hag-wedding-image img {
	display: block !important;

	width: 100% !important;
	height: 100% !important;

	margin: 0 !important;

	object-fit: cover !important;
	object-position: center center;

	transition: transform .65s ease;
}

.hag-wedding-card:hover .hag-wedding-image img {
	transform: scale(1.025);
}


/* ==========================================================
   CONTENT
   ========================================================== */

.hag-wedding-content {
	display: flex;
	flex-direction: column;

	flex: 1 1 auto;

	padding: 24px 8px 0;

	box-sizing: border-box;
}

.hag-wedding-meta {
	display: block;

	margin: 0 0 12px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: .12em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-wedding-content h3 {
	margin: 0 0 14px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(1.65rem, 2vw, 2rem);
	line-height: 1.15;
	font-weight: 500;

	color: #4F593F;
}


/* Kundinnenwunsch: Beschreibung in WindSong */

.hag-wedding-script-text {
	margin: 0 0 21px !important;

	font-family: var(--hag-font-body) !important;
	font-size: 1.55rem !important;
	line-height: 1.16 !important;
	font-weight: 400 !important;

	color: #69BFB8 !important;
}


/* ==========================================================
   CARD LINK
   ========================================================== */

.hag-wedding-more {
	display: inline-block;
	width: fit-content;

	margin-top: 0;
	padding-bottom: 3px;

	border-bottom: 1px solid rgba(79,89,63,.25);

	font-family: var(--hag-font-body) !important;
	font-size: .84rem;
	font-weight: 500;
	line-height: 1.4;

	color: #4F593F;

	transition:
		color .25s ease,
		border-color .25s ease;
}

.hag-wedding-card:hover .hag-wedding-more {
	color: #69BFB8;
	border-color: #69BFB8;
}


/* ==========================================================
   FOOTER LINK
   ========================================================== */

.hag-weddings-footer {
	margin-top: 54px;

	text-align: center;
}

.hag-weddings-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	padding-bottom: 4px;

	border-bottom: 1px solid rgba(79,89,63,.28);

	font-family: var(--hag-font-body) !important;
	font-size: .9rem;
	font-weight: 500;

	color: #4F593F !important;
	text-decoration: none !important;

	transition:
		color .25s ease,
		border-color .25s ease;
}

.hag-weddings-link:hover,
.hag-weddings-link:focus-visible {
	color: #69BFB8 !important;
	border-color: #69BFB8;
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media only screen and (max-width: 767px) {

	.hag-weddings {
		padding: 72px 0 78px !important;
	}

	.hag-weddings-inner {
		width: 100% !important;
		max-width: none !important;

		margin: 0 !important;
	}

	.hag-weddings-head {
		margin: 0 0 40px;

		text-align: left;
	}

	.hag-weddings-eyebrow::after {
		display: none;
	}

	.hag-weddings-head h2 {
		margin-bottom: 20px !important;

		font-size: 2.8rem;
	}

	.hag-weddings-intro {
		max-width: none;

		font-size: .95rem;
		line-height: 1.65;
	}

	.hag-weddings-grid {
		grid-template-columns: 1fr !important;

		gap: 40px !important;
	}

	.hag-wedding-image {
		aspect-ratio: 4 / 3;

		border-radius: 18px;
	}

	.hag-wedding-content {
		padding: 20px 4px 0;
	}

	.hag-wedding-meta {
		margin-bottom: 10px;
	}

	.hag-wedding-content h3 {
		margin-bottom: 12px !important;

		font-size: 1.65rem;
	}

	.hag-wedding-script-text {
		margin-bottom: 18px !important;

		font-size: 1.42rem !important;
		line-height: 1.15 !important;
	}

	.hag-weddings-footer {
		margin-top: 42px;

		text-align: left;
	}

}
@media only screen and (min-width: 960px) {

	.hag-loveletters-image img {
		aspect-ratio: 4 / 4.45 !important;
		object-position: center center !important;
	}

}
.hag-insider-v4 {
	background: #E8E7DC !important;
}

.hag-insider-card {
	background: #DCE5D7 !important;
	border-color: rgba(79,89,63,.10) !important;
}

.hag-insider-card:hover {
	background: #D3DFCD !important;
	border-color: rgba(79,89,63,.16) !important;
}
.hag-leaf-link {
	position: relative;
	display: inline-flex;
	align-items: center;

	padding-right: 38px;

	isolation: isolate;
}

.hag-leaf-link::after {
	content: "";

	position: absolute;
	right: -9px;
	top: 50%;

	width: 52px;
	height: 60px;

	transform: translateY(-50%) rotate(-8deg);

	background:
		url("https://www.heiraten-am-gardasee.com/wp-content/uploads/2026/09/lineart-olivenzweig.png")
		center / contain no-repeat;

	opacity: .34;
	pointer-events: none;

	transition:
		opacity .25s ease,
		transform .25s ease;
}

.hag-leaf-link:hover::after {
	opacity: .48;
	transform: translateY(-50%) rotate(-5deg);
}

@media only screen and (max-width: 767px) {

	.hag-leaf-link {
		padding-right: 34px;
	}

	.hag-leaf-link::after {
		right: -6px;
		width: 47px;
		height: 55px;
		opacity: .38;
	}

}
/* ==========================================================
   INSIDER-TIPPS – FINAL V2
   ========================================================== */

.hag-insider-v4 {
	background: #E8E7DC !important;
	padding: 105px 0 110px !important;
}

.hag-insider-inner {
	width: min(1200px, calc(100% - 36px));
	margin: 0 auto;
}


/* ==========================================================
   HEAD
   ========================================================== */

.hag-insider-head {
	max-width: 780px;
	margin: 0 auto 54px;

	text-align: center;
}

.hag-insider-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;

	margin: 0 0 16px;

	font-family: var(--hag-font-body) !important;
	font-size: .72rem;
	font-weight: 600;
	line-height: 1;

	letter-spacing: .18em;
	text-transform: uppercase;

	color: #6F7755;
}

.hag-insider-eyebrow::before,
.hag-insider-eyebrow::after {
	content: "";

	width: 25px;
	height: 1px;

	background: #8FCFC5;
}

.hag-insider-head h2 {
	margin: 0 0 24px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: clamp(2.7rem, 3.7vw, 3.75rem);
	line-height: 1.04;
	font-weight: 500;

	color: #4F593F;
}

.hag-insider-head p {
	max-width: 700px;
	margin: 0 auto;

	font-family: var(--hag-font-body) !important;
	font-size: 1rem;
	line-height: 1.7;

	color: #5E6258;
}


/* ==========================================================
   GRID
   ========================================================== */

.hag-insider-grid {
	display: grid !important;

	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

	gap: 26px !important;

	width: 100%;
}


/* ==========================================================
   CARD
   ========================================================== */

.hag-insider-card {
	display: flex !important;
	flex-direction: column !important;

	width: 100% !important;
	min-width: 0 !important;
	min-height: 320px;

	padding: 34px 32px 31px !important;

	box-sizing: border-box;

	background: #DCE5D7 !important;

	border: 1px solid rgba(79,89,63,.10);
	border-radius: 20px;

	color: inherit !important;
	text-decoration: none !important;

	transition:
		transform .3s ease,
		box-shadow .3s ease,
		background-color .3s ease,
		border-color .3s ease;
}

.hag-insider-card:hover,
.hag-insider-card:focus-visible {
	transform: translateY(-4px);

	background: #D3DFCD !important;

	border-color: rgba(79,89,63,.16);

	box-shadow:
		0 14px 32px rgba(79,89,63,.08);
}


/* META */

.hag-insider-meta {
	display: block;

	margin: 0 0 18px;

	font-family: var(--hag-font-body) !important;
	font-size: .7rem;
	font-weight: 600;
	line-height: 1.3;

	letter-spacing: .14em;
	text-transform: uppercase;

	color: #559F99;
}


/* HEADLINE */

.hag-insider-card h3 {
	margin: 0 0 18px !important;

	font-family: var(--hag-font-heading) !important;
	font-size: 1.65rem;
	line-height: 1.18;
	font-weight: 500;

	color: #4F593F;
}


/* TEXT */

.hag-insider-card p {
	margin: 0 0 26px;

	font-family: var(--hag-font-body) !important;
	font-size: .92rem;
	line-height: 1.65;

	color: #62665C;
}


/* CARD LINK */

.hag-insider-more {
	display: inline-block;

	width: fit-content;

	margin-top: auto;

	font-family: var(--hag-font-body) !important;
	font-size: .84rem;
	font-weight: 500;
	line-height: 1.4;

	color: #4F593F;

	transition: color .25s ease;
}

.hag-insider-card:hover .hag-insider-more {
	color: #559F99;
}


/* ==========================================================
   FOOTER CTA
   ========================================================== */

.hag-insider-footer {
	margin-top: 52px;

	text-align: center;
}

.hag-insider-all {
	position: relative;

	display: inline-flex;
	align-items: center;
	gap: 8px;

	padding: 0 40px 4px 0;

	border-bottom: 1px solid rgba(79,89,63,.28);

	font-family: var(--hag-font-body) !important;
	font-size: .9rem;
	font-weight: 500;
	line-height: 1.4;

	color: #4F593F !important;
	text-decoration: none !important;

	transition:
		color .25s ease,
		border-color .25s ease;
}

.hag-insider-all:hover,
.hag-insider-all:focus-visible {
	color: #559F99 !important;
	border-color: #559F99;
}


/* ==========================================================
   OLIVENZWEIG AM LINK
   ========================================================== */

.hag-insider-all.hag-leaf-link::after {
	content: "";

	position: absolute;

	right: -10px;
	top: 50%;

	width: 52px;
	height: 62px;

	transform: translateY(-50%) rotate(-8deg);

	background:
		url("https://www.heiraten-am-gardasee.com/wp-content/uploads/2026/09/lineart-olivenzweig.png")
		center / contain no-repeat;

	opacity: .38;

	pointer-events: none;

	transition:
		opacity .25s ease,
		transform .25s ease;
}

.hag-insider-all.hag-leaf-link:hover::after {
	opacity: .52;

	transform:
		translateY(-50%)
		rotate(-4deg);
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media only screen and (max-width: 767px) {

	.hag-insider-v4 {
		padding: 72px 0 78px !important;
	}

	/*
	 * BeTheme liefert bereits den äußeren Mobile-Gutter.
	 */
	.hag-insider-inner {
		width: 100% !important;
		max-width: none !important;

		margin: 0 !important;
	}

	.hag-insider-head {
		max-width: none;

		margin: 0 0 38px;

		text-align: left;
	}

	.hag-insider-eyebrow::after {
		display: none;
	}

	.hag-insider-head h2 {
		margin-bottom: 20px !important;

		font-size: 2.8rem;
	}

	.hag-insider-head p {
		max-width: none;

		font-size: .95rem;
		line-height: 1.65;
	}

	.hag-insider-grid {
		grid-template-columns: 1fr !important;

		gap: 20px !important;
	}

	.hag-insider-card {
		min-height: 0;

		padding: 28px 24px 27px !important;
	}

	.hag-insider-card h3 {
		font-size: 1.5rem;
	}

	.hag-insider-footer {
		margin-top: 40px;

		text-align: left;
	}

	.hag-insider-all {
		padding-right: 36px;
	}

	.hag-insider-all.hag-leaf-link::after {
		right: -7px;

		width: 48px;
		height: 56px;

		opacity: .42;
	}

}

.hag-contact-form .hag-form-row > p,
.hag-contact-form .hag-form-field > p {
	margin: 0 !important;
}

.hag-contact-form .hag-form-field br {
	display: none !important;
}
.hag-contact-direct-item {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.hag-contact-direct-label {
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #7d7a68;
	font-weight: 600;
}

.hag-link-olive {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	width: fit-content;
	padding-right: 28px;
	color: #5d6643;
	text-decoration: none;
	border-bottom: 1px solid rgba(93, 102, 67, 0.22);
	line-height: 1.4;
	transition: color 0.25s ease, border-color 0.25s ease;
}

.hag-link-olive::after {
	content: "";
	position: absolute;
	right: -4px;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	background: url("https://www.heiraten-am-gardasee.com/wp-content/uploads/2026/09/lineart-olivenzweig.png") no-repeat center center;
	background-size: contain;
	opacity: 0.24;
	pointer-events: none;
}

.hag-link-olive:hover {
	color: #7aaea6;
	border-color: rgba(122, 174, 166, 0.35);
}

.hag-link-olive:hover::after {
	opacity: 0.38;
}

@media (max-width: 767px) {
	.hag-link-olive {
		padding-right: 24px;
	}

	.hag-link-olive::after {
		width: 26px;
		height: 26px;
		right: -2px;
		opacity: 0.22;
	}
}
body .hag-loveletters-v4
.hag-loveletters-widget
.ti-widget.ti-goog
.ti-review-item > .ti-inner {
	background: #DCE5D7 !important;
	background-color: #DCE5D7 !important;
	border: 1px solid rgba(79,89,63,.10) !important;
	border-radius: 18px !important;
	box-shadow: none !important;
}
body .hag-loveletters-v4
.hag-loveletters-widget
.ti-widget.ti-goog
.ti-review-item:hover > .ti-inner {
	background: #D3DFCD !important;
}
.hag-wedding-meta {
	display: block;
	margin: 0 0 12px;

	font-family: "WindSong", cursive !important;
	font-size: 1.45rem !important;
	font-weight: 400 !important;
	line-height: 1.1 !important;

	letter-spacing: 0 !important;
	text-transform: none !important;

	color: #4F593F;
}
.hag-wedding-script-text {
	margin: 0 0 21px !important;

	font-family: var(--hag-font-body) !important;
	font-size: .95rem !important;
	line-height: 1.65 !important;
	font-weight: 400 !important;

	color: #5E6258 !important;
}
@media only screen and (max-width: 767px) {

	.hag-wedding-meta {
		font-size: 1.32rem !important;
	}

	.hag-wedding-script-text {
		font-size: .92rem !important;
		line-height: 1.6 !important;
	}

}
/* ==========================================================
   ECHTE HOCHZEITEN – TYPOGRAFIE FINAL
   Name + Ort = WindSong
   Beschreibung = Montserrat
   ========================================================== */

/* Name + Ort */

.hag-wedding-content .hag-wedding-meta {
	display: block;

	margin: 0 0 12px;

	font-family: "WindSong", cursive !important;
	font-size: 1.45rem !important;
	font-weight: 400 !important;
	line-height: 1.12 !important;

	letter-spacing: 0 !important;
	text-transform: none !important;

	color: #4F593F !important;
}


/* Beschreibung */

.hag-wedding-content .hag-wedding-script-text {
	margin: 0 0 21px !important;

	font-family: var(--hag-font-body) !important;
	font-size: .95rem !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;

	letter-spacing: 0 !important;

	color: #5E6258 !important;
}


/* Mobile */

@media only screen and (max-width: 767px) {

	.hag-wedding-content .hag-wedding-meta {
		font-size: 1.32rem !important;
	}

	.hag-wedding-content .hag-wedding-script-text {
		font-size: .92rem !important;
		line-height: 1.6 !important;
	}

}

@media only screen and (max-width: 767px) {

	.hag-planflow-v4 {
		display: none !important;
	}

}
/* Hochzeitsplanung am Gardasee – additive Unterseitenmodule */

.hag-subhero-v1,
.hag-planning-intro-v1,
.hag-subplan-v1,
.hag-local-v1 {
  margin: 0 !important;
}

.hag-subhero-v1 > .section_wrapper,
.hag-subhero-v1 > .section_wrapper > .wrap,
.hag-subhero-v1 > .section_wrapper > .wrap > .mcb-wrap-inner,
.hag-subhero-v1 .column,
.hag-subhero-v1 .mcb-column-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.hag-subhero-stage {
  position: relative;
  min-height: 460px;
  height: clamp(460px, 58vh, 620px);
  overflow: hidden;
  background: #4f593f;
}

.hag-subhero-media,
.hag-subhero-shade,
.hag-subhero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hag-subhero-image {
  object-fit: cover;
  object-position: center 42%;
  opacity: 0;
  transform: scale(1.025);
  transition: opacity 1.1s ease, transform 6s ease;
}

.hag-subhero-image.is-active {
  opacity: 1;
  transform: scale(1);
}

.hag-subhero-shade {
  z-index: 2;
  background: linear-gradient(180deg, rgba(24, 32, 25, .04) 30%, rgba(24, 32, 25, .64) 100%);
}

.hag-subhero-content {
  position: absolute;
  z-index: 3;
  left: max(24px, calc((100vw - 1200px) / 2));
  right: 24px;
  bottom: clamp(44px, 7vw, 76px);
  max-width: 930px;
}

.hag-subhero-content h1 {
  margin: 0;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(3rem, 6.2vw, 5.5rem);
  line-height: .98;
  font-weight: 500;
  letter-spacing: -.035em;
  text-shadow: 0 3px 28px rgba(0, 0, 0, .24);
}

.hag-planning-intro-v1,
.hag-subplan-v1,
.hag-local-v1 {
  padding: 108px 0 !important;
}

.hag-planning-intro-v1 { background: #fcfaf6; }
.hag-subplan-v1 { background: #f0f2eb; }
.hag-local-v1 { background: #fcfaf6; }

.hag-planning-intro-v1 > .section_wrapper,
.hag-subplan-v1 > .section_wrapper,
.hag-local-v1 > .section_wrapper {
  width: min(1200px, calc(100% - 48px)) !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.hag-planning-intro-v1 > .section_wrapper > .wrap,
.hag-subplan-v1 > .section_wrapper > .wrap,
.hag-local-v1 > .section_wrapper > .wrap,
.hag-planning-intro-v1 .mcb-wrap-inner,
.hag-subplan-v1 .mcb-wrap-inner,
.hag-local-v1 .mcb-wrap-inner,
.hag-planning-intro-v1 .column,
.hag-subplan-v1 .column,
.hag-local-v1 .column,
.hag-planning-intro-v1 .mcb-column-inner,
.hag-subplan-v1 .mcb-column-inner,
.hag-local-v1 .mcb-column-inner {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.hag-page-eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 22px;
  color: #6f7755;
  font: 600 .76rem/1.3 "Montserrat", Arial, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.hag-page-eyebrow::before {
  content: "";
  width: 42px;
  height: 1px;
  background: #8fcfc5;
}

.hag-planning-intro-inner {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(56px, 8vw, 108px);
  align-items: center;
}

.hag-planning-intro-copy h2,
.hag-subplan-content h2,
.hag-local-copy h2 {
  margin: 0 0 28px;
  color: #4f593f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.55rem, 4.2vw, 3.75rem);
  line-height: 1.08;
  font-weight: 500;
  letter-spacing: -.025em;
}

.hag-planning-intro-copy p,
.hag-subplan-content p,
.hag-local-copy p {
  color: #5d645a;
  font: 400 1rem/1.85 "Montserrat", Arial, sans-serif;
}

.hag-planning-lead,
.hag-subplan-lead,
.hag-local-lead {
  color: #53594d !important;
  font-size: 1.08rem !important;
}

.hag-planning-intro-copy .hag-leaf-link,
.hag-local-copy .hag-leaf-link {
  margin-top: 22px;
}

.hag-planning-roles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.hag-planning-role-card {
  position: relative;
  min-height: 100%;
  padding: 38px 30px 34px;
  border: 1px solid rgba(111, 119, 85, .16);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(72, 82, 64, .08);
}

.hag-planning-role-card-accent { background: #edf8f6; }

.hag-planning-role-number {
  display: block;
  margin-bottom: 28px;
  color: #8fcfc5;
  font: 600 .78rem/1 "Montserrat", Arial, sans-serif;
  letter-spacing: .14em;
}

.hag-planning-role-card h3 {
  margin: 0 0 20px;
  color: #4f593f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.8rem;
  line-height: 1.15;
  font-weight: 500;
}

.hag-planning-role-card ul {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hag-planning-role-card li {
  position: relative;
  margin: 0;
  padding-left: 22px;
  color: #62695f;
  font: 400 .92rem/1.6 "Montserrat", Arial, sans-serif;
}

.hag-planning-role-card li::before {
  content: "";
  position: absolute;
  top: .7em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8fcfc5;
}

.hag-subplan-inner {
  display: grid;
  grid-template-columns: .84fr 1.16fr;
  gap: clamp(56px, 8vw, 104px);
  align-items: center;
}

.hag-subplan-visual { position: relative; min-height: 680px; }

.hag-subplan-visual img {
  width: 100%;
  height: 680px;
  object-fit: cover;
  border-radius: 180px 180px 28px 28px;
  box-shadow: 0 22px 58px rgba(72, 82, 64, .14);
}

.hag-subplan-quote {
  position: absolute;
  right: -36px;
  bottom: 52px;
  width: min(300px, 80%);
  padding: 25px 27px;
  border-radius: 18px 18px 4px 18px;
  background: #8fcfc5;
  color: #34433d;
  font: 500 1.08rem/1.55 "Playfair Display", Georgia, serif;
  box-shadow: 0 14px 36px rgba(72, 82, 64, .15);
}

.hag-subplan-steps {
  display: grid;
  gap: 0;
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
}

.hag-subplan-steps li {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 20px;
  margin: 0;
  padding: 0 0 25px;
}

.hag-subplan-steps li + li { padding-top: 5px; }

.hag-subplan-steps li > span {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(111, 119, 85, .25);
  border-radius: 50%;
  color: #6f7755;
  background: #fcfaf6;
  font: 600 .73rem/1 "Montserrat", Arial, sans-serif;
  letter-spacing: .08em;
}

.hag-subplan-steps h3 {
  margin: 2px 0 6px;
  color: #4f593f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.38rem;
  line-height: 1.2;
  font-weight: 500;
}

.hag-subplan-steps p { margin: 0; font-size: .92rem; line-height: 1.68; }

.hag-subplan-content > .hag-leaf-link { margin-top: 12px; }

.hag-local-inner {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: clamp(58px, 8vw, 110px);
  align-items: center;
}

.hag-local-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 36px 0 4px;
}

.hag-local-facts article {
  padding: 24px 23px;
  border-left: 3px solid #8fcfc5;
  border-radius: 0 16px 16px 0;
  background: #f7f3ed;
}

.hag-local-facts h3 {
  margin: 0 0 8px;
  color: #4f593f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.3rem;
  line-height: 1.2;
  font-weight: 500;
}

.hag-local-facts p { margin: 0; font-size: .88rem; line-height: 1.62; }

.hag-local-image { position: relative; padding: 24px 0 72px 24px; }

.hag-local-image-accent {
  position: absolute;
  inset: 0 38px 44px 0;
  border-radius: 180px 180px 28px 28px;
  background: #edf8f6;
}

.hag-local-image img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 610px;
  object-fit: cover;
  border-radius: 180px 180px 28px 28px;
  box-shadow: 0 22px 58px rgba(72, 82, 64, .13);
}

.hag-local-script {
  position: absolute;
  z-index: 2;
  right: -18px;
  bottom: 18px;
  max-width: 330px;
  color: #6f7755;
  font: 400 2rem/1.12 "WindSong", cursive;
  text-align: right;
  transform: rotate(-2deg);
}

@media (max-width: 980px) {
  .hag-planning-intro-v1,
  .hag-subplan-v1,
  .hag-local-v1 { padding: 84px 0 !important; }
  .hag-planning-intro-inner,
  .hag-subplan-inner,
  .hag-local-inner { grid-template-columns: 1fr; gap: 58px; }
  .hag-planning-intro-copy { max-width: 760px; }
  .hag-subplan-visual { min-height: 540px; order: 2; }
  .hag-subplan-visual img { height: 540px; }
  .hag-subplan-content { order: 1; }
  .hag-local-image { max-width: 650px; margin: 0 auto; }
}

@media (max-width: 767px) {
  .hag-subhero-stage { min-height: 400px; height: 48vh; max-height: 500px; }
  .hag-subhero-content { left: 22px; right: 22px; bottom: 32px; }
  .hag-subhero-content h1 { font-size: clamp(2.55rem, 12vw, 3.55rem); line-height: 1.02; }
  .hag-planning-intro-v1,
  .hag-subplan-v1,
  .hag-local-v1 { padding: 68px 0 !important; }
  .hag-planning-intro-v1 > .section_wrapper,
  .hag-subplan-v1 > .section_wrapper,
  .hag-local-v1 > .section_wrapper {
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }
  .hag-planning-intro-inner,
  .hag-subplan-inner,
  .hag-local-inner { gap: 42px; }
  .hag-planning-roles,
  .hag-local-facts { grid-template-columns: 1fr; }
  .hag-planning-role-card { padding: 30px 24px; }
  .hag-subplan-visual { min-height: 430px; }
  .hag-subplan-visual img { height: 430px; border-radius: 110px 110px 22px 22px; }
  .hag-subplan-quote { right: 12px; bottom: -12px; width: calc(100% - 36px); }
  .hag-local-image { padding: 18px 0 66px 14px; }
  .hag-local-image img { height: 480px; border-radius: 110px 110px 22px 22px; }
  .hag-local-image-accent { right: 24px; }
  .hag-local-script { right: 4px; max-width: 290px; font-size: 1.72rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hag-subhero-image { transition: none; transform: none; }
}

/* Hochzeitsplanung am Gardasee – additive Unterseitenmodule */

.hag-subhero-v1,
.hag-planning-intro-v1,
.hag-subplan-v1,
.hag-local-v1 {
  margin: 0 !important;
}

.hag-subhero-v1 > .section_wrapper,
.hag-subhero-v1 > .section_wrapper > .wrap,
.hag-subhero-v1 > .section_wrapper > .wrap > .mcb-wrap-inner,
.hag-subhero-v1 .column,
.hag-subhero-v1 .mcb-column-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.hag-subhero-stage {
  position: relative;
  min-height: 460px;
  height: clamp(460px, 58vh, 620px);
  overflow: hidden;
  background: #4f593f;
}

.hag-subhero-media,
.hag-subhero-shade,
.hag-subhero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hag-subhero-image {
  object-fit: cover;
  object-position: center center;
  opacity: 0;
  transform: scale(1.025);
  transition: opacity 1.1s ease, transform 6s ease;
}

.hag-subhero-image.is-active {
  opacity: 1;
  transform: scale(1);
}

.hag-subhero-shade {
  z-index: 2;
  background: linear-gradient(180deg, rgba(24, 32, 25, .04) 30%, rgba(24, 32, 25, .64) 100%);
}

.hag-subhero-content {
  position: absolute;
  z-index: 3;
  left: max(24px, calc((100vw - 1200px) / 2));
  right: 24px;
  bottom: clamp(44px, 7vw, 76px);
  max-width: 930px;
}

.hag-subhero-content h1 {
  margin: 0;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(3rem, 6.2vw, 5.5rem);
  line-height: .98;
  font-weight: 500;
  letter-spacing: -.035em;
  text-shadow: 0 3px 28px rgba(0, 0, 0, .24);
}

.hag-planning-intro-v1,
.hag-subplan-v1,
.hag-local-v1 {
  padding: 108px 0 !important;
}

.hag-planning-intro-v1 { background: #fcfaf6; }
.hag-subplan-v1 { background: #f0f2eb; }
.hag-local-v1 { background: #fcfaf6; }

.hag-planning-intro-v1 > .section_wrapper,
.hag-subplan-v1 > .section_wrapper,
.hag-local-v1 > .section_wrapper {
  width: min(1200px, calc(100% - 48px)) !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.hag-planning-intro-v1 > .section_wrapper > .wrap,
.hag-subplan-v1 > .section_wrapper > .wrap,
.hag-local-v1 > .section_wrapper > .wrap,
.hag-planning-intro-v1 .mcb-wrap-inner,
.hag-subplan-v1 .mcb-wrap-inner,
.hag-local-v1 .mcb-wrap-inner,
.hag-planning-intro-v1 .column,
.hag-subplan-v1 .column,
.hag-local-v1 .column,
.hag-planning-intro-v1 .mcb-column-inner,
.hag-subplan-v1 .mcb-column-inner,
.hag-local-v1 .mcb-column-inner {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.hag-page-eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 22px;
  color: #6f7755;
  font: 600 .76rem/1.3 "Montserrat", Arial, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.hag-page-eyebrow::before {
  content: "";
  width: 42px;
  height: 1px;
  background: #8fcfc5;
}

.hag-planning-intro-inner {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  grid-template-areas:
    "copy roles"
    "cta roles";
  gap: clamp(56px, 8vw, 108px);
  align-items: center;
}

.hag-planning-intro-copy { grid-area: copy; }
.hag-planning-roles { grid-area: roles; }
.hag-planning-intro-cta {
  grid-area: cta;
  align-self: start;
  justify-self: start;
  margin-top: -34px;
}

.hag-planning-intro-copy h2,
.hag-subplan-content h2,
.hag-local-copy h2 {
  margin: 0 0 28px;
  color: #4f593f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.55rem, 4.2vw, 3.75rem);
  line-height: 1.08;
  font-weight: 500;
  letter-spacing: -.025em;
}

.hag-planning-intro-copy p,
.hag-subplan-content p,
.hag-local-copy p {
  color: #5d645a;
  font: 400 1rem/1.85 "Montserrat", Arial, sans-serif;
}

.hag-planning-lead,
.hag-subplan-lead,
.hag-local-lead {
  color: #53594d !important;
  font-size: 1.08rem !important;
}

.hag-local-copy .hag-leaf-link {
  margin-top: 22px;
}

.hag-planning-roles {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

.hag-planning-role-card {
  position: relative;
  min-height: 100%;
  padding: 38px 30px 34px;
  border: 1px solid rgba(111, 119, 85, .16);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(72, 82, 64, .08);
}

.hag-planning-role-card-accent { background: #edf8f6; }

.hag-planning-role-number {
  display: block;
  margin-bottom: 28px;
  color: #8fcfc5;
  font: 600 .78rem/1 "Montserrat", Arial, sans-serif;
  letter-spacing: .14em;
}

.hag-planning-role-card h3 {
  margin: 0 0 20px;
  color: #4f593f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.8rem;
  line-height: 1.15;
  font-weight: 500;
}

.hag-planning-role-card ul {
  display: grid;
  gap: 13px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hag-planning-role-card li {
  position: relative;
  margin: 0;
  padding-left: 22px;
  color: #62695f;
  font: 400 .92rem/1.6 "Montserrat", Arial, sans-serif;
}

.hag-planning-role-card li::before {
  content: "";
  position: absolute;
  top: .7em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8fcfc5;
}

.hag-subplan-inner {
  display: grid;
  grid-template-columns: .84fr 1.16fr;
  gap: clamp(56px, 8vw, 104px);
  align-items: center;
}

.hag-subplan-visual { position: relative; min-height: 680px; }

.hag-subplan-visual img {
  width: 100%;
  height: 680px;
  object-fit: cover;
  border-radius: 180px 180px 28px 28px;
  box-shadow: 0 22px 58px rgba(72, 82, 64, .14);
}

.hag-subplan-steps {
  display: grid;
  gap: 0;
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
}

.hag-subplan-steps li {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 20px;
  margin: 0;
  padding: 0 0 25px;
}

.hag-subplan-steps li + li { padding-top: 5px; }

.hag-subplan-steps li > span {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(111, 119, 85, .25);
  border-radius: 50%;
  color: #6f7755;
  background: #fcfaf6;
  font: 600 .73rem/1 "Montserrat", Arial, sans-serif;
  letter-spacing: .08em;
}

.hag-subplan-steps h3 {
  margin: 2px 0 6px;
  color: #4f593f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.38rem;
  line-height: 1.2;
  font-weight: 500;
}

.hag-subplan-steps p { margin: 0; font-size: .92rem; line-height: 1.68; }

.hag-subplan-content > .hag-leaf-link { margin-top: 12px; }

.hag-local-inner {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: clamp(58px, 8vw, 110px);
  align-items: center;
}

.hag-local-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 36px 0 4px;
}

.hag-local-facts article {
  padding: 24px 23px;
  border-left: 3px solid #8fcfc5;
  border-radius: 0 16px 16px 0;
  background: #f7f3ed;
}

.hag-local-facts h3 {
  margin: 0 0 8px;
  color: #4f593f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.3rem;
  line-height: 1.2;
  font-weight: 500;
}

.hag-local-facts p { margin: 0; font-size: .88rem; line-height: 1.62; }

.hag-local-image { position: relative; }

.hag-local-image img {
  position: relative;
  width: 100%;
  height: 560px;
  object-fit: cover;
  object-position: center center;
  border-radius: 30px;
  box-shadow: 0 22px 58px rgba(72, 82, 64, .13);
}

@media (max-width: 980px) {
  .hag-planning-intro-v1,
  .hag-subplan-v1,
  .hag-local-v1 { padding: 84px 0 !important; }
  .hag-planning-intro-inner,
  .hag-subplan-inner,
  .hag-local-inner { grid-template-columns: 1fr; gap: 58px; }
  .hag-planning-intro-inner {
    grid-template-areas:
      "copy"
      "roles"
      "cta";
  }
  .hag-planning-intro-cta { margin-top: -28px; }
  .hag-planning-intro-copy { max-width: 760px; }
  .hag-subplan-visual { min-height: 540px; order: 1; }
  .hag-subplan-visual img { height: 540px; }
  .hag-subplan-content { order: 2; }
  .hag-local-image { order: 1; max-width: 650px; margin: 0 auto; }
  .hag-local-copy { order: 2; }
}

@media (max-width: 767px) {
  .hag-subhero-v1 .hag-subhero-stage {
    position: relative !important;
    min-height: 390px !important;
    height: 48vh !important;
    max-height: 470px !important;
    background: #4f593f !important;
  }
  .hag-subhero-v1 .hag-subhero-media,
  .hag-subhero-v1 .hag-subhero-shade {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  .hag-subhero-v1 .hag-subhero-image {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
  .hag-subhero-v1 .hag-subhero-content {
    position: absolute !important;
    left: 20px !important;
    right: 20px !important;
    bottom: 26px !important;
    max-width: calc(100% - 40px) !important;
    background: transparent !important;
  }
  .hag-subhero-v1 .hag-subhero-content h1 {
    margin: 0 !important;
    max-width: 100% !important;
    color: #fff !important;
    font-size: clamp(2.05rem, 9.2vw, 2.75rem) !important;
    line-height: 1.01 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
  .hag-planning-intro-v1,
  .hag-subplan-v1,
  .hag-local-v1 { padding: 68px 0 !important; }
  .hag-planning-intro-v1 > .section_wrapper,
  .hag-subplan-v1 > .section_wrapper,
  .hag-local-v1 > .section_wrapper {
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }
  .hag-planning-intro-inner,
  .hag-subplan-inner,
  .hag-local-inner { gap: 42px; }
  .hag-planning-intro-cta { margin-top: -18px; }
  .hag-local-facts { grid-template-columns: 1fr; }
  .hag-planning-role-card { padding: 30px 24px; }
  .hag-subplan-visual { min-height: 430px; }
  .hag-subplan-visual img { height: 430px; border-radius: 110px 110px 22px 22px; }
  .hag-local-image { width: 100%; }
  .hag-local-image img { height: 420px; border-radius: 24px; }
  .hag-services .hag-services-eyebrow { line-height: 1.45 !important; }
  .hag-services .hag-services-head h2 { line-height: 1.08 !important; }
  .hag-services .hag-services-intro { line-height: 1.75 !important; }
}

@media (prefers-reduced-motion: reduce) {
  .hag-subhero-image { transition: none; transform: none; }
}
/* Hochzeitslocations am Gardasee – additive Seitenmodule */

.hag-location-intro-v1,
.hag-location-types-v1 {
  margin: 0 !important;
  padding: 108px 0 !important;
}

.hag-location-intro-v1 { background: #fcfaf6; }
.hag-location-types-v1 { background: #f3e9de; }

.hag-location-types-inner {
  display: block;
  width: 100%;
}

.hag-location-intro-v1 > .section_wrapper,
.hag-location-types-v1 > .section_wrapper {
  width: min(1200px, calc(100% - 48px)) !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.hag-location-intro-v1 > .section_wrapper > .wrap,
.hag-location-types-v1 > .section_wrapper > .wrap,
.hag-location-intro-v1 .mcb-wrap-inner,
.hag-location-types-v1 .mcb-wrap-inner,
.hag-location-intro-v1 .column,
.hag-location-types-v1 .column,
.hag-location-intro-v1 .mcb-column-inner,
.hag-location-types-v1 .mcb-column-inner {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.hag-location-intro-inner {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  grid-template-areas:
    "copy fit"
    "cta fit";
  column-gap: clamp(58px, 8vw, 108px);
  row-gap: 52px;
  align-items: center;
}

.hag-location-intro-copy { grid-area: copy; }
.hag-location-fit { grid-area: fit; }
.hag-location-intro-cta {
  grid-area: cta;
  align-self: start;
  justify-self: start;
  margin-top: -28px;
}

.hag-location-intro-copy h2,
.hag-location-types-head h2 {
  margin: 0 0 28px;
  color: #4f593f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.55rem, 4.2vw, 3.75rem);
  line-height: 1.08;
  font-weight: 500;
  letter-spacing: -.025em;
}

.hag-location-intro-copy p,
.hag-location-types-head p {
  color: #5d645a;
  font: 400 1rem/1.85 "Montserrat", Arial, sans-serif;
}

.hag-location-intro-lead {
  color: #53594d !important;
  font-size: 1.08rem !important;
}

.hag-location-fit {
  overflow: hidden;
  border: 1px solid rgba(111, 119, 85, .14);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 20px 52px rgba(72, 82, 64, .09);
}

.hag-location-fit-head {
  padding: 34px 34px 28px;
  background: #edf8f6;
}

.hag-location-fit-head > span {
  display: block;
  margin-bottom: 12px;
  color: #6f7755;
  font: 600 .7rem/1.3 "Montserrat", Arial, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.hag-location-fit-head h3 {
  margin: 0;
  color: #4f593f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 2rem;
  line-height: 1.15;
  font-weight: 500;
}

.hag-location-fit ol { margin: 0; padding: 0 34px; list-style: none; }

.hag-location-fit li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 18px;
  align-items: center;
  margin: 0;
  padding: 18px 0;
  border-bottom: 1px solid rgba(111, 119, 85, .12);
}

.hag-location-fit li:last-child { border-bottom: 0; }

.hag-location-fit li > span {
  color: #8fcfc5;
  font: 600 .74rem/1 "Montserrat", Arial, sans-serif;
  letter-spacing: .09em;
}

.hag-location-fit strong {
  display: block;
  margin-bottom: 4px;
  color: #4f593f;
  font: 500 1.03rem/1.35 "Montserrat", Arial, sans-serif;
}

.hag-location-fit small {
  display: block;
  color: #6f756b;
  font: 400 .86rem/1.55 "Montserrat", Arial, sans-serif;
}

.hag-location-types-head {
  max-width: 830px;
  margin: 0 auto 54px;
  text-align: center;
}

.hag-location-types-head .hag-page-eyebrow { justify-content: center; }

.hag-location-types-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 22px;
}

.hag-location-type-card {
  position: relative;
  grid-column: span 2;
  min-height: 370px;
  overflow: hidden;
  border-radius: 24px;
  background: #4f593f;
  box-shadow: 0 18px 44px rgba(72, 82, 64, .12);
}

.hag-location-type-card-wide {
  grid-column: span 3;
  min-height: 440px;
}

.hag-location-type-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20, 28, 22, .02) 30%, rgba(20, 28, 22, .82) 100%);
}

.hag-location-type-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center center;
  transition: transform .7s ease;
}

.hag-location-type-card:hover img { transform: scale(1.025); }

.hag-location-type-card > div {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 30px 30px 28px;
}

.hag-location-type-card span {
  display: block;
  margin-bottom: 9px;
  color: #aee0d9;
  font: 600 .7rem/1.3 "Montserrat", Arial, sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.hag-location-type-card h3 {
  margin: 0 0 10px;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.65rem, 2.3vw, 2.25rem);
  line-height: 1.08;
  font-weight: 500;
}

.hag-location-type-card p {
  margin: 0;
  color: rgba(255, 255, 255, .88);
  font: 400 .88rem/1.62 "Montserrat", Arial, sans-serif;
}

.hag-location-types-links {
  max-width: 860px;
  margin: 42px auto 0;
  text-align: center;
}

.hag-location-types-links p {
  margin: 0;
  color: #5d645a;
  font: 400 .96rem/1.75 "Montserrat", Arial, sans-serif;
}

.hag-location-types-links a {
  color: #4f593f;
  font-weight: 600;
  text-decoration-color: #8fcfc5;
  text-underline-offset: 4px;
}

@media (max-width: 980px) {
  .hag-location-intro-v1,
  .hag-location-types-v1 { padding: 84px 0 !important; }
  .hag-location-intro-inner {
    grid-template-columns: 1fr;
    grid-template-areas: "copy" "fit" "cta";
    gap: 44px;
  }
  .hag-location-intro-cta { margin-top: -18px; }
  .hag-location-type-card,
  .hag-location-type-card-wide { grid-column: span 3; min-height: 390px; }
  .hag-location-type-card:last-child { grid-column: 2 / span 4; }
}

@media (max-width: 767px) {
  .hag-location-hero-v1 .hag-subhero-content h1 {
    font-size: clamp(1.92rem, 8.6vw, 2.45rem) !important;
    line-height: 1.02 !important;
  }
  .hag-location-intro-v1,
  .hag-location-types-v1 { padding: 68px 0 !important; }
  .hag-location-intro-v1 > .section_wrapper,
  .hag-location-types-v1 > .section_wrapper {
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }
  .hag-location-intro-copy h2,
  .hag-location-types-head h2 { line-height: 1.08; }
  .hag-location-fit-head { padding: 28px 24px 23px; }
  .hag-location-fit-head h3 { font-size: 1.7rem; }
  .hag-location-fit ol { padding: 0 24px; }
  .hag-location-fit li { grid-template-columns: 34px 1fr; gap: 12px; }
  .hag-location-types-head { margin-bottom: 38px; text-align: left; }
  .hag-location-types-head .hag-page-eyebrow { justify-content: flex-start; }
  .hag-location-types-grid { grid-template-columns: 1fr; gap: 18px; }
  .hag-location-type-card,
  .hag-location-type-card-wide,
  .hag-location-type-card:last-child {
    grid-column: 1;
    min-height: 390px;
  }
  .hag-location-type-card > div { padding: 26px 24px 24px; }
  .hag-location-type-card h3 { font-size: 1.72rem; }
  .hag-location-types-links { margin-top: 34px; text-align: left; }
  .hag-mid-cta-v3 .hag-mid-cta-head h2 {
    font-size: clamp(2.1rem, 9vw, 2.7rem) !important;
    line-height: 1.08 !important;
  }
}

/* Standesamtlich heiraten am Gardasee – additive Seitenmodule */

.hag-civil-note {
  margin-top: 22px !important;
  padding: 16px 18px;
  border-left: 3px solid #8fcfc5;
  border-radius: 0 12px 12px 0;
  background: #f0f2eb;
  font-size: .88rem !important;
  line-height: 1.6 !important;
}

.hag-civil-choices-v1,
.hag-civil-gallery-v1 {
  margin: 0 !important;
  padding: 108px 0 !important;
}

.hag-civil-choices-v1 { background: #f0f2eb; }
.hag-civil-gallery-v1 { background: #f3e9de; }

.hag-civil-choices-v1 > .section_wrapper,
.hag-civil-gallery-v1 > .section_wrapper {
  width: min(1200px, calc(100% - 48px)) !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.hag-civil-choices-v1 > .section_wrapper > .wrap,
.hag-civil-gallery-v1 > .section_wrapper > .wrap,
.hag-civil-choices-v1 .mcb-wrap-inner,
.hag-civil-gallery-v1 .mcb-wrap-inner,
.hag-civil-choices-v1 .column,
.hag-civil-gallery-v1 .column,
.hag-civil-choices-v1 .mcb-column-inner,
.hag-civil-gallery-v1 .mcb-column-inner {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.hag-civil-choices-inner,
.hag-civil-gallery-inner {
  display: block;
  width: 100%;
}

.hag-civil-choices-head,
.hag-civil-gallery-head {
  max-width: 850px;
  margin: 0 auto 52px;
  text-align: center;
}

.hag-civil-choices-head .hag-page-eyebrow,
.hag-civil-gallery-head .hag-page-eyebrow { justify-content: center; }

.hag-civil-choices-head h2,
.hag-civil-gallery-head h2 {
  margin: 0 0 25px;
  color: #4f593f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.55rem, 4.2vw, 3.75rem);
  line-height: 1.08;
  font-weight: 500;
  letter-spacing: -.025em;
}

.hag-civil-choices-head p,
.hag-civil-gallery-head p {
  margin: 0;
  color: #5d645a;
  font: 400 1rem/1.82 "Montserrat", Arial, sans-serif;
}

.hag-civil-choices-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.hag-civil-choice-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 42px 40px 38px;
  border: 1px solid rgba(111, 119, 85, .14);
  border-radius: 26px;
  background: #fcfaf6;
  box-shadow: 0 18px 46px rgba(72, 82, 64, .08);
}

.hag-civil-choice-card-primary { background: #edf8f6; }

.hag-civil-choice-label {
  display: block;
  margin-bottom: 18px;
  color: #6f7755;
  font: 600 .71rem/1.3 "Montserrat", Arial, sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.hag-civil-choice-card h3 {
  margin: 0 0 20px;
  color: #4f593f;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2rem, 3vw, 2.65rem);
  line-height: 1.08;
  font-weight: 500;
}

.hag-civil-choice-card p,
.hag-civil-choice-card li {
  color: #5d645a;
  font: 400 .94rem/1.72 "Montserrat", Arial, sans-serif;
}

.hag-civil-choice-card ul {
  display: grid;
  gap: 10px;
  margin: 22px 0 28px;
  padding: 0;
  list-style: none;
}

.hag-civil-choice-card li {
  position: relative;
  margin: 0;
  padding-left: 22px;
}

.hag-civil-choice-card li::before {
  content: "";
  position: absolute;
  top: .72em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8fcfc5;
}

.hag-civil-choice-card .hag-leaf-link {
  align-self: flex-start;
  margin-top: auto;
}

.hag-civil-choices-foot {
  max-width: 820px;
  margin: 36px auto 0;
  color: #5d645a;
  font: 400 .96rem/1.75 "Montserrat", Arial, sans-serif;
  text-align: center;
}

.hag-civil-gallery-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  grid-template-rows: repeat(2, 285px);
  gap: 20px;
}

.hag-civil-gallery-card {
  position: relative;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
  background: #4f593f;
}

.hag-civil-gallery-card-large { grid-row: 1 / span 2; }

.hag-civil-gallery-card::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(180deg, transparent, rgba(20, 28, 22, .72));
}

.hag-civil-gallery-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.hag-civil-gallery-card figcaption {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 22px 24px;
  color: #fff;
  font: 500 1.05rem/1.45 "Montserrat", Arial, sans-serif;
}

.hag-civil-gallery-footer {
  margin-top: 38px;
  text-align: center;
}

@media (max-width: 980px) {
  .hag-civil-choices-v1,
  .hag-civil-gallery-v1 { padding: 84px 0 !important; }
  .hag-civil-gallery-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 460px 300px;
  }
  .hag-civil-gallery-card-large { grid-column: 1 / -1; grid-row: 1; }
}

@media (max-width: 767px) {
  .hag-civil-hero-v1 .hag-subhero-content h1 {
    font-size: clamp(1.9rem, 8.4vw, 2.4rem) !important;
    line-height: 1.02 !important;
  }
  .hag-civil-choices-v1,
  .hag-civil-gallery-v1 { padding: 68px 0 !important; }
  .hag-civil-choices-v1 > .section_wrapper,
  .hag-civil-gallery-v1 > .section_wrapper {
    width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }
  .hag-civil-choices-head,
  .hag-civil-gallery-head { margin-bottom: 38px; text-align: left; }
  .hag-civil-choices-head .hag-page-eyebrow,
  .hag-civil-gallery-head .hag-page-eyebrow { justify-content: flex-start; }
  .hag-civil-choices-head h2,
  .hag-civil-gallery-head h2 { line-height: 1.08; }
  .hag-civil-choices-grid { grid-template-columns: 1fr; gap: 18px; }
  .hag-civil-choice-card { padding: 32px 24px 30px; }
  .hag-civil-choices-foot { text-align: left; }
  .hag-civil-gallery-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }
  .hag-civil-gallery-card,
  .hag-civil-gallery-card-large {
    grid-column: 1;
    grid-row: auto;
    height: 390px;
  }
  .hag-civil-gallery-footer { text-align: left; }
  .hag-mid-cta-v3 .hag-mid-cta-head h2 {
    font-size: clamp(2.1rem, 9vw, 2.7rem) !important;
    line-height: 1.08 !important;
  }
}

/* ==========================================================
   STANDESAMTLICH HEIRATEN – KORREKTUREN
   ========================================================== */

/* Hero: Personen im ersten Bild weiter oben zeigen */
.hag-civil-hero-v1 .hag-subhero-image:first-child {
  object-position: center 30%;
}

/* Großzügigere Zeilenhöhe für Eyebrows und Überschriften */
.hag-civil-intro-v1 .hag-page-eyebrow,
.hag-civil-choices-v1 .hag-page-eyebrow,
.hag-subplan-v1 .hag-page-eyebrow,
.hag-mid-cta-v3 .hag-mid-cta-eyebrow,
.hag-local-v1 .hag-page-eyebrow,
.hag-civil-gallery-v1 .hag-page-eyebrow {
  line-height: 1.45 !important;
}

.hag-civil-intro-v1 h2,
.hag-civil-choices-v1 h2,
.hag-subplan-v1 h2,
.hag-mid-cta-v3 h2,
.hag-local-v1 h2,
.hag-civil-gallery-v1 h2 {
  line-height: 1.1 !important;
}

/* Behördenhinweis zwischen den beiden Absätzen */
.hag-civil-note {
  margin: 22px 0 !important;
}

/* Desktop: Text links, Bild rechts */
.hag-civil-local-inner {
  grid-template-areas:
    "intro image"
    "details image";
  column-gap: clamp(58px, 8vw, 110px);
  row-gap: 0;
  align-items: start;
}

.hag-civil-local-intro {
  grid-area: intro;
}

.hag-civil-local-inner .hag-local-image {
  grid-area: image;
  align-self: center;
}

.hag-civil-local-details {
  grid-area: details;
}

.hag-civil-local-details .hag-local-facts {
  margin-top: 12px;
}

.hag-civil-local-details > .hag-leaf-link {
  margin-top: 26px;
}

/* Tablet und Mobil:
   Einleitung → Bild → Fakten */
@media (max-width: 980px) {
  .hag-civil-local-inner {
    grid-template-areas:
      "intro"
      "image"
      "details";
    gap: 42px;
  }

  .hag-civil-local-inner .hag-civil-local-intro {
    order: 1 !important;
  }

  .hag-civil-local-inner .hag-local-image {
    order: 2 !important;
  }

  .hag-civil-local-inner .hag-civil-local-details {
    order: 3 !important;
  }
}

@media (max-width: 767px) {
  .hag-civil-hero-v1 .hag-subhero-image:first-child {
    object-position: center 35% !important;
  }
}
/* Unterseiten-Hero: zuverlässige Desktop-Bildausrichtung */
@media (min-width: 768px) {

  /* Gilt übergreifend für alle Unterseiten */
  .hag-subhero-v1 .hag-subhero-media {
    overflow: hidden !important;
  }

  .hag-subhero-v1 .hag-subhero-image {
    top: 0 !important;
    bottom: auto !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Standesamtlich heiraten: individuelle Korrektur der drei Slides */
  .hag-civil-hero-v1 .hag-subhero-image:nth-child(1) {
    top: -14% !important;
    height: 128% !important;
  }

  .hag-civil-hero-v1 .hag-subhero-image:nth-child(2) {
    top: -18% !important;
    height: 136% !important;
  }

  .hag-civil-hero-v1 .hag-subhero-image:nth-child(3) {
    top: -12% !important;
    height: 124% !important;
  }
}
/* Individuelle Desktop-Korrektur der zwei Ausnahmen */
@media (min-width: 768px) {

  /* Hochzeitsplanung:
     Bild nach unten – mehr Luft über den Köpfen */
  .hag-subhero-image[src*="hochzeitsgesellschaft-gardasee-brautpaar-gaeste.webp"] {
    top: 0 !important;
    height: 124% !important;
  }

  /* Hochzeitslocations:
     Bild nach oben – weniger Himmel, Brautpaar besser sichtbar */
  .hag-subhero-image[src*="hochzeitslocation-gardasee-burg-brautpaar-panorama.webp"] {
    top: -24% !important;
    height: 124% !important;
  }
}
/* Freie Trauung am Gardasee – punktuelle Ergänzungen */

.hag-free-intro-v1 .hag-location-intro-copy > p {
  font-size: clamp(1.05rem, 1.2vw, 1.16rem);
  line-height: 1.85;
}

.hag-free-intro-v1 .hag-free-note {
  margin: 28px 0 !important;
  padding: 20px 22px;
  border: 1px solid rgba(125, 198, 191, 0.42);
  border-radius: 18px;
  background: #eaf5f2;
  color: #4f593f;
  font-size: clamp(1.05rem, 1.2vw, 1.16rem);
  font-weight: 600;
  line-height: 1.75;
}

.hag-free-elements-v1 .hag-service-content p,
.hag-free-process-v1 .hag-subplan-content p,
.hag-free-logistics-v1 .hag-local-copy p,
.hag-free-legal-v1 .hag-civil-choice-card p,
.hag-free-legal-v1 .hag-civil-choices-foot {
  line-height: 1.75;
}

.hag-free-process-v1 .hag-subplan-content h2,
.hag-free-logistics-v1 .hag-local-copy h2,
.hag-free-legal-v1 .hag-civil-choices-head h2 {
  line-height: 1.08;
}

.hag-free-process-v1 .hag-subplan-visual img {
  object-position: center center;
}

.hag-free-logistics-v1 .hag-local-image img {
  border-radius: 30px;
  object-position: center center;
}

@media (max-width: 767px) {
  .hag-free-intro-v1 .hag-location-intro-copy > p,
  .hag-free-intro-v1 .hag-free-note,
  .hag-free-elements-v1 .hag-service-content p,
  .hag-free-process-v1 .hag-subplan-content p,
  .hag-free-logistics-v1 .hag-local-copy p,
  .hag-free-legal-v1 .hag-civil-choice-card p,
  .hag-free-legal-v1 .hag-civil-choices-foot {
    line-height: 1.75 !important;
  }

  .hag-free-process-v1 .hag-subplan-visual,
  .hag-free-logistics-v1 .hag-local-image {
    order: 1;
  }

  .hag-free-process-v1 .hag-subplan-content,
  .hag-free-logistics-v1 .hag-local-copy {
    order: 2;
  }

  .hag-free-intro-v1 .hag-free-note {
    margin: 22px 0 !important;
    padding: 18px;
    border-radius: 16px;
  }
}
/* Einheitliche Fließtexte – Freie Trauung */

.hag-free-intro-v1 .hag-location-intro-copy > p {
  color: #5d645a;
  font: 400 1rem/1.85 "Montserrat", Arial, sans-serif !important;
}

.hag-free-elements-v1 .hag-service-content p,
.hag-free-process-v1 .hag-subplan-content p,
.hag-free-logistics-v1 .hag-local-copy p,
.hag-free-legal-v1 .hag-civil-choice-card p,
.hag-free-legal-v1 .hag-civil-choices-foot {
  font-size: 1rem !important;
  line-height: 1.75 !important;
}

/* Hinweisbox exakt wie auf der Standesamt-Seite */

.hag-free-intro-v1 .hag-free-note {
  margin: 22px 0 !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-left: 3px solid #8fcfc5 !important;
  border-radius: 0 12px 12px 0 !important;
  background: #f0f2eb !important;
  color: #5d645a !important;
  font: 400 .88rem/1.6 "Montserrat", Arial, sans-serif !important;
}

@media (max-width: 767px) {
  .hag-free-intro-v1 .hag-free-note {
    margin: 22px 0 !important;
    padding: 16px 18px !important;
    font-size: .88rem !important;
    line-height: 1.6 !important;
  }
}
/* Hochzeitsdienstleister am Gardasee – punktuelle Ergänzungen */

/* Verbindliche Fließtextgröße für die gesamte Unterseite */
.hag-vendors-intro-v1 .hag-location-intro-copy > p,
.hag-vendors-categories-v1 .hag-services-intro,
.hag-vendors-categories-v1 .hag-service-content p,
.hag-vendors-process-v1 .hag-subplan-content p,
.hag-vendors-mid-cta-v1 .hag-mid-cta-head p,
.hag-vendors-team-v1 .hag-local-copy p,
.hag-vendors-choice-v1 .hag-civil-choice-card p,
.hag-vendors-choice-v1 .hag-civil-choices-foot,
.hag-vendors-faq-v1 .hag-faq-head p,
.hag-vendors-faq-v1 .hag-faq-answer p,
.hag-vendors-contact-v1 .hag-contact-copy {
  font-size: 1rem !important;
  line-height: 1.75 !important;
}

.hag-vendors-intro-v1 .hag-location-intro-copy > p {
  color: #5d645a;
  line-height: 1.85 !important;
}

/* Hinweisbox im freigegebenen Standesamt-Design */
.hag-vendors-intro-v1 .hag-vendors-note {
  margin: 22px 0 !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-left: 3px solid #8fcfc5 !important;
  border-radius: 0 12px 12px 0 !important;
  background: #f0f2eb !important;
  color: #5d645a !important;
  font: 400 .88rem/1.6 "Montserrat", Arial, sans-serif !important;
}

.hag-vendors-categories-v1 .hag-service-card {
  cursor: default;
}

.hag-vendors-categories-v1 .hag-service-card:hover {
  transform: none;
}

.hag-vendors-categories-v1 .hag-service-more {
  line-height: 1.5;
}

.hag-vendors-categories-footer {
  margin-top: 44px;
  text-align: center;
}

.hag-vendors-process-v1 .hag-subplan-content h2,
.hag-vendors-team-v1 .hag-local-copy h2,
.hag-vendors-choice-v1 .hag-civil-choices-head h2 {
  line-height: 1.08 !important;
}

.hag-vendors-process-v1 .hag-subplan-visual img {
  object-position: center center;
}

.hag-vendors-team-v1 .hag-local-image img {
  border-radius: 30px;
  object-position: center center;
}

@media (max-width: 767px) {
  .hag-vendors-hero-v1 .hag-subhero-content h1 {
    font-size: clamp(1.72rem, 7.6vw, 2.25rem) !important;
    line-height: 1.02 !important;
  }

  .hag-vendors-intro-v1 .hag-vendors-note {
    margin: 22px 0 !important;
    padding: 16px 18px !important;
    font-size: .88rem !important;
    line-height: 1.6 !important;
  }

  .hag-vendors-process-v1 .hag-subplan-visual,
  .hag-vendors-team-v1 .hag-local-image {
    order: 1;
  }

  .hag-vendors-process-v1 .hag-subplan-content,
  .hag-vendors-team-v1 .hag-local-copy {
    order: 2;
  }

  .hag-vendors-categories-footer {
    margin-top: 34px;
    text-align: left;
  }
}
/* Kleine Untersätze ausblenden */
.hag-vendors-categories-v1 .hag-service-more {
  display: none !important;
}

/* Abschlusslink nur am Desktop weiter abrücken */
.hag-vendors-categories-footer {
  margin-top: 0 !important;
  text-align: center;
}

@media (min-width: 768px) {
  .hag-vendors-categories-footer {
    padding-top: 72px !important;
  }
}

@media (max-width: 767px) {
  .hag-vendors-categories-footer {
    margin-top: 34px !important;
    padding-top: 0 !important;
    text-align: left;
  }
}
/* ==========================================================
   Hochzeit zu zweit am Gardasee – Seitenergänzung
   Voraussetzung: globale Unterseiten-Styles sind bereits aktiv.
   ========================================================== */

/* Einheitliche Fließtexte auf der gesamten Unterseite */
.hag-elopement-intro-v1 .hag-location-intro-copy > p,
.hag-elopement-choices-v1 .hag-civil-choice-card p,
.hag-elopement-choices-v1 .hag-civil-choices-foot,
.hag-elopement-day-v1 .hag-subplan-content p,
.hag-elopement-mid-cta-v1 .hag-mid-cta-head p,
.hag-elopement-places-v1 .hag-services-intro,
.hag-elopement-places-v1 .hag-service-content p,
.hag-elopement-practical-v1 .hag-local-copy p,
.hag-elopement-faq-v1 .hag-faq-head p,
.hag-elopement-faq-v1 .hag-faq-answer p,
.hag-elopement-contact-v1 .hag-contact-copy {
  font-size: 1rem !important;
  line-height: 1.75 !important;
}

.hag-elopement-intro-v1 .hag-location-intro-copy > p {
  line-height: 1.85 !important;
}

/* Einheitliche Überschriften-Zeilenhöhe */
.hag-elopement-choices-v1 .hag-civil-choices-head h2,
.hag-elopement-day-v1 .hag-subplan-content h2,
.hag-elopement-places-v1 .hag-services-head h2,
.hag-elopement-practical-v1 .hag-local-copy h2 {
  line-height: 1.08 !important;
}

/* Hinweisbox im festgelegten Design der Standesamt-Seite */
.hag-elopement-note {
  margin: 22px 0 !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-left: 3px solid #8fcfc5 !important;
  border-radius: 0 12px 12px 0 !important;
  background: #f0f2eb !important;
  color: #5d645a !important;
  font: 400 .88rem/1.6 "Montserrat", Arial, sans-serif !important;
}

/* Die drei Ideen-Karten sind Inhalte, keine klickbaren Teaser */
.hag-elopement-places-v1 .hag-service-card {
  cursor: default !important;
}

.hag-elopement-places-v1 .hag-service-card:hover {
  transform: none !important;
}

/* Ruhiger Abstand zwischen Karten und weiterführendem Link */
.hag-elopement-places-footer {
  margin-top: 0 !important;
  padding-top: 72px !important;
  text-align: center !important;
}

/* Bildsprache */
.hag-elopement-day-v1 .hag-subplan-visual img,
.hag-elopement-practical-v1 .hag-local-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.hag-elopement-practical-v1 .hag-local-image,
.hag-elopement-practical-v1 .hag-local-image img {
  border-radius: 30px !important;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .hag-elopement-hero-v1 .hag-subhero-content h1 {
    font-size: clamp(1.9rem, 8.2vw, 2.45rem) !important;
    line-height: 1.02 !important;
  }

  /* Auf Mobilgeräten beginnt jedes Bild-Text-Modul mit dem Bild */
  .hag-elopement-day-v1 .hag-subplan-visual,
  .hag-elopement-practical-v1 .hag-local-image {
    order: 1 !important;
  }

  .hag-elopement-day-v1 .hag-subplan-content,
  .hag-elopement-practical-v1 .hag-local-copy {
    order: 2 !important;
  }

  .hag-elopement-places-footer {
    margin-top: 34px !important;
    padding-top: 0 !important;
    text-align: left !important;
  }
}

/* ==========================================================
   Insider-Tipps – Seitenergänzung
   Voraussetzung: globale Unterseiten-Styles sind bereits aktiv.
   ========================================================== */

/* Einheitliche Fließtexte */
.hag-insider-hub-intro-v1 .hag-location-intro-copy > p,
.hag-insider-topics-v1 .hag-civil-choices-head p,
.hag-insider-topics-v1 .hag-civil-choice-card p,
.hag-insider-featured-v1 .hag-services-intro,
.hag-insider-featured-v1 .hag-service-content p,
.hag-insider-mid-cta-v1 .hag-mid-cta-head p,
.hag-insider-guide-v1 .hag-subplan-content p,
.hag-insider-perspective-v1 .hag-local-copy p,
.hag-insider-faq-v1 .hag-faq-head p,
.hag-insider-faq-v1 .hag-faq-answer p,
.hag-insider-contact-v1 .hag-contact-copy {
  font-size: 1rem !important;
  line-height: 1.75 !important;
}

.hag-insider-hub-intro-v1 .hag-location-intro-copy > p {
  line-height: 1.85 !important;
}

/* Überschriften */
.hag-insider-topics-v1 .hag-civil-choices-head h2,
.hag-insider-featured-v1 .hag-services-head h2,
.hag-insider-guide-v1 .hag-subplan-content h2,
.hag-insider-perspective-v1 .hag-local-copy h2 {
  line-height: 1.08 !important;
}

/* Vier Themenfelder als ruhiges 2x2-Raster */
.hag-insider-topics-v1 .hag-insider-topics-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.hag-insider-topics-v1 .hag-civil-choice-card {
  min-height: 100%;
}

/* Die Ratgeberkarten sind vollständig klickbar */
.hag-insider-featured-v1 .hag-service-card {
  cursor: pointer;
  text-decoration: none !important;
}

.hag-insider-featured-v1 .hag-service-content h3 {
  line-height: 1.18 !important;
}

/* Bildsprache */
.hag-insider-guide-v1 .hag-subplan-visual img,
.hag-insider-perspective-v1 .hag-local-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.hag-insider-perspective-v1 .hag-local-image,
.hag-insider-perspective-v1 .hag-local-image img {
  border-radius: 30px !important;
  overflow: hidden;
}

@media only screen and (max-width: 767px) {
  .hag-insider-hub-hero-v1 .hag-subhero-content h1 {
    font-size: clamp(1.72rem, 7.8vw, 2.3rem) !important;
    line-height: 1.03 !important;
  }

  .hag-insider-topics-v1 .hag-insider-topics-grid {
    grid-template-columns: 1fr !important;
  }

  /* Bild in beiden Bild-Text-Modulen mobil zuerst */
  .hag-insider-guide-v1 .hag-subplan-visual,
  .hag-insider-perspective-v1 .hag-local-image {
    order: 1 !important;
  }

  .hag-insider-guide-v1 .hag-subplan-content,
  .hag-insider-perspective-v1 .hag-local-copy {
    order: 2 !important;
  }
}

/* ==========================================================
   Insider-Tipps – vier verlinkte Themenbereiche
   Ersetzt die vorherige Insider-Tipps-CSS-Ergänzung vollständig.
   ========================================================== */

.hag-insider-intro-v2,
.hag-insider-area-v2 {
  scroll-margin-top: 120px;
}

/* Intro und Sprungnavigation */
.hag-insider-intro-v2 {
  padding: clamp(72px, 8vw, 128px) 24px !important;
  background: #fbfaf6;
}

.hag-insider-intro-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: clamp(48px, 7vw, 96px);
  align-items: center;
}

.hag-insider-intro-copy h2 {
  margin: 18px 0 24px !important;
  color: #536044;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.75rem, 4.8vw, 4.7rem) !important;
  font-weight: 500;
  line-height: 1.04 !important;
}

.hag-insider-intro-copy p,
.hag-insider-area-head p,
.hag-insider-feature-copy p,
.hag-insider-topic-card p,
.hag-insider-place-grid p,
.hag-insider-image-card p,
.hag-insider-weekend p,
.hag-insider-area-faq .hag-faq-answer p,
.hag-insider-contact-v2 .hag-contact-copy {
  font-size: 1rem !important;
  line-height: 1.75 !important;
}

.hag-insider-intro-copy p {
  line-height: 1.85 !important;
}

.hag-insider-jumpnav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.hag-insider-jumpnav a {
  min-height: 150px;
  padding: 25px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #536044 !important;
  background: #fff;
  border: 1px solid rgba(83, 96, 68, .14);
  border-radius: 24px;
  box-shadow: 0 16px 45px rgba(63, 69, 54, .07);
  text-decoration: none !important;
  transition: transform .25s ease, border-color .25s ease;
}

.hag-insider-jumpnav a:hover,
.hag-insider-jumpnav a:focus-visible {
  transform: translateY(-4px);
  border-color: #8fcfc5;
}

.hag-insider-jumpnav span,
.hag-insider-area-number {
  color: #7cc8bd;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .12em;
}

.hag-insider-jumpnav strong {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.12;
}

/* Gemeinsame Struktur der vier Themenbereiche */
.hag-insider-area-v2 {
  padding: clamp(82px, 9vw, 145px) 24px !important;
}

.hag-insider-area-inner {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.hag-insider-area-head {
  max-width: 960px;
  margin: 0 auto clamp(50px, 6vw, 82px);
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.hag-insider-area-number {
  padding-top: 14px;
  font-size: 1rem;
}

.hag-insider-area-head h2 {
  margin: 17px 0 23px !important;
  color: #536044;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.75rem, 5vw, 4.8rem) !important;
  font-weight: 500;
  line-height: 1.04 !important;
}

.hag-insider-area-head p {
  max-width: 780px;
  margin: 0 !important;
}

.hag-insider-budget-v2,
.hag-insider-ceremony-v2 {
  background: #fbfaf6;
}

.hag-insider-locations-v2 {
  background: #f4e8dc;
}

.hag-insider-guests-v2 {
  background: #e5f1ef;
}

/* Große Bild-/Text-Aufmacher */
.hag-insider-feature-layout,
.hag-insider-guests-layout {
  margin-bottom: 32px;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  background: #fff;
  border-radius: 30px;
  overflow: hidden;
  box-shadow: 0 20px 55px rgba(63, 69, 54, .08);
}

.hag-insider-feature-image,
.hag-insider-guests-image {
  min-height: 520px;
}

.hag-insider-feature-image img,
.hag-insider-guests-image img,
.hag-insider-location-gallery img,
.hag-insider-image-card > div img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hag-insider-feature-copy,
.hag-insider-weekend {
  padding: clamp(38px, 5vw, 70px);
  align-self: center;
}

.hag-insider-card-label,
.hag-insider-topic-card > span,
.hag-insider-place-grid article > span,
.hag-insider-image-card > span {
  color: #667253;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .13em;
  line-height: 1.45;
  text-transform: uppercase;
}

.hag-insider-feature-copy h3,
.hag-insider-weekend h3 {
  margin: 16px 0 20px !important;
  color: #536044;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2rem, 3.2vw, 3.3rem) !important;
  font-weight: 500;
  line-height: 1.08 !important;
}

/* Einheitliche Hinweisbox */
.hag-insider-note {
  margin: 22px 0 0 !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-left: 3px solid #8fcfc5 !important;
  border-radius: 0 12px 12px 0 !important;
  background: #f0f2eb !important;
  color: #5d645a !important;
  font: 400 .88rem/1.6 "Montserrat", Arial, sans-serif !important;
}

/* Inhaltskarten */
.hag-insider-topic-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.hag-insider-topic-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hag-insider-topic-card,
.hag-insider-place-grid article {
  padding: clamp(30px, 3.8vw, 48px);
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(83, 96, 68, .12);
  border-radius: 24px;
}

.hag-insider-topic-card h3,
.hag-insider-place-grid h3,
.hag-insider-image-card h3 {
  margin: 14px 0 16px !important;
  color: #536044;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.65rem, 2.4vw, 2.25rem) !important;
  font-weight: 500;
  line-height: 1.12 !important;
}

/* Orte und Locations */
.hag-insider-location-gallery {
  height: 610px;
  margin-bottom: 30px;
  display: grid;
  grid-template-columns: 1.55fr .85fr;
  gap: 18px;
}

.hag-insider-location-main,
.hag-insider-location-side > div,
.hag-insider-location-gallery img {
  border-radius: 28px;
}

.hag-insider-location-main {
  overflow: hidden;
}

.hag-insider-location-side {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 18px;
}

.hag-insider-location-side img {
  min-height: 0;
  overflow: hidden;
}

.hag-insider-place-grid {
  margin-bottom: 24px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

/* Trauung und Bürokratie */
.hag-insider-ceremony-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.hag-insider-image-card {
  padding: 0 30px 34px;
  background: #fff;
  border: 1px solid rgba(83, 96, 68, .12);
  border-radius: 25px;
  overflow: hidden;
}

.hag-insider-image-card > div {
  height: 280px;
  margin: 0 -30px 30px;
}

.hag-insider-image-card .hag-leaf-link {
  margin-top: 22px;
}

.hag-insider-ceremony-note {
  max-width: 850px;
  margin: 32px auto 0 !important;
}

/* Gäste und Hochzeitstag */
.hag-insider-weekend ol {
  margin: 25px 0 0;
  padding: 0;
  list-style: none;
}

.hag-insider-weekend li {
  padding: 18px 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  border-top: 1px solid rgba(83, 96, 68, .13);
}

.hag-insider-weekend li > span {
  color: #7cc8bd;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: .75rem;
  font-weight: 600;
}

.hag-insider-weekend strong {
  color: #536044;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: .95rem;
}

.hag-insider-weekend p {
  margin: 7px 0 0 !important;
}

/* Je Bereich genau eine FAQ */
.hag-insider-area-faq {
  max-width: 940px;
  margin: 42px auto 0 !important;
  background: rgba(255, 255, 255, .82);
}

@media only screen and (max-width: 960px) {
  .hag-insider-intro-inner,
  .hag-insider-feature-layout,
  .hag-insider-guests-layout {
    grid-template-columns: 1fr;
  }

  .hag-insider-topic-grid-three,
  .hag-insider-place-grid,
  .hag-insider-ceremony-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hag-insider-feature-image,
  .hag-insider-guests-image {
    min-height: 430px;
  }
}

@media only screen and (max-width: 767px) {
  .hag-insider-hub-hero-v2 .hag-subhero-content h1 {
    font-size: clamp(1.72rem, 7.8vw, 2.3rem) !important;
    line-height: 1.03 !important;
  }

  .hag-insider-intro-v2,
  .hag-insider-area-v2 {
    padding: 66px 20px !important;
    scroll-margin-top: 88px;
  }

  .hag-insider-intro-inner {
    gap: 38px;
  }

  .hag-insider-jumpnav,
  .hag-insider-topic-grid,
  .hag-insider-topic-grid-three,
  .hag-insider-place-grid,
  .hag-insider-ceremony-grid {
    grid-template-columns: 1fr !important;
  }

  .hag-insider-jumpnav a {
    min-height: 112px;
  }

  .hag-insider-area-head {
    margin-bottom: 42px;
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .hag-insider-area-number {
    padding-top: 0;
  }

  .hag-insider-feature-image,
  .hag-insider-guests-image {
    min-height: 330px;
    order: 1;
  }

  .hag-insider-feature-copy,
  .hag-insider-weekend {
    padding: 32px 25px;
    order: 2;
  }

  .hag-insider-location-gallery {
    height: auto;
    grid-template-columns: 1fr;
  }

  .hag-insider-location-main {
    height: 350px;
  }

  .hag-insider-location-side {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 230px;
  }

  .hag-insider-topic-card,
  .hag-insider-place-grid article {
    padding: 28px 24px;
  }

  .hag-insider-image-card > div {
    height: 240px;
  }
}

@media only screen and (max-width: 480px) {
  .hag-insider-location-side {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, 220px);
  }
}
/* ==========================================================
   INSIDER-TIPPS V3
   Diese Datei ersetzt alle vorherigen Insider-Tipps-Ergänzungen.
   ========================================================== */

/* ----------------------------------------------------------
   Gemeinsame Typografie
   ---------------------------------------------------------- */
.hag-insider-intro-v3,
.hag-insider-section-v3 {
  scroll-margin-top: 110px;
}

.hag-insider-intro-v3 h2,
.hag-insider-section-v3 h2,
.hag-insider-section-v3 h3,
.hag-insider-nav-v3 strong {
  font-family: var(--hag-font-heading) !important;
  font-weight: 500 !important;
  color: var(--hag-olive-dark) !important;
  letter-spacing: -0.018em !important;
}

.hag-insider-intro-v3 p,
.hag-insider-section-v3 p,
.hag-insider-faq-v3 .hag-faq-head p,
.hag-insider-faq-v3 .hag-faq-answer p,
.hag-insider-contact-v3 .hag-contact-copy {
  font-family: var(--hag-font-body) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

/* ----------------------------------------------------------
   Modul 2: Einführung und vier Sprungboxen
   ---------------------------------------------------------- */
.hag-insider-intro-v3 {
  padding: 105px 0 112px !important;
  background: #fcfaf6 !important;
}

.hag-insider-intro-v3-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: clamp(55px, 7vw, 100px);
  align-items: center;
}

.hag-insider-intro-v3-copy h2 {
  margin: 18px 0 26px !important;
  font-size: clamp(2.75rem, 4.35vw, 3.75rem) !important;
  line-height: 1.02 !important;
}

.hag-insider-intro-v3-copy p {
  max-width: 690px;
}

.hag-insider-nav-v3 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.hag-insider-nav-v3 a {
  position: relative;
  min-height: 168px;
  padding: 25px 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  isolation: isolate;
  color: var(--hag-olive-dark) !important;
  background: #fff;
  border: 1px solid var(--hag-border);
  border-radius: 24px;
  box-shadow: var(--hag-shadow-sm);
  text-decoration: none !important;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.hag-insider-nav-v3 a::after {
  content: "";
  position: absolute;
  right: -9px;
  bottom: -17px;
  z-index: -1;
  width: 82px;
  height: 96px;
  background: url("https://www.heiraten-am-gardasee.com/wp-content/uploads/2026/09/lineart-olivenzweig.png") center / contain no-repeat;
  opacity: .21;
  transform: rotate(-12deg);
  pointer-events: none;
}

.hag-insider-nav-v3 a:hover,
.hag-insider-nav-v3 a:focus-visible {
  transform: translateY(-4px);
  border-color: var(--hag-tiffany);
  box-shadow: var(--hag-shadow);
}

.hag-insider-nav-v3 a:hover::after {
  opacity: .34;
}

.hag-insider-nav-v3 span,
.hag-insider-index-v3 {
  color: var(--hag-tiffany);
  font-family: var(--hag-font-body) !important;
  font-size: .76rem;
  font-weight: 600 !important;
  line-height: 1;
  letter-spacing: .14em;
}

.hag-insider-nav-v3 strong {
  position: relative;
  z-index: 1;
  max-width: 155px;
  font-size: 1.42rem !important;
  line-height: 1.18 !important;
}

/* ----------------------------------------------------------
   Einheitliches Grundraster aller vier Bereiche
   ---------------------------------------------------------- */
.hag-insider-section-v3 {
  padding: 112px 0 120px !important;
}

.hag-insider-section-v3-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
}

.hag-insider-budget-v3 {
  background: var(--hag-bg-sage) !important;
}

.hag-insider-locations-v3 {
  background: #f3e6d9 !important;
}

.hag-insider-ceremony-v3 {
  background: #fcfaf6 !important;
}

.hag-insider-guests-v3 {
  background: #e2f0ed !important;
}

.hag-insider-head-v3 {
  margin: 0 0 62px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: clamp(45px, 7vw, 105px);
  align-items: end;
}

.hag-insider-head-v3 > div {
  min-width: 0;
}

.hag-insider-index-v3 {
  display: block;
  margin-bottom: 17px;
}

.hag-insider-head-v3 h2 {
  max-width: 780px;
  margin: 17px 0 0 !important;
  font-size: clamp(2.75rem, 4.35vw, 3.75rem) !important;
  line-height: 1.02 !important;
}

.hag-insider-head-v3 > p {
  margin: 0 0 5px !important;
  color: var(--hag-text-muted);
}

/* ----------------------------------------------------------
   Einheitliches großes Bild-/Textmodul
   ---------------------------------------------------------- */
.hag-insider-feature-v3 {
  margin-bottom: 28px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  background: #fff;
  border: 1px solid var(--hag-border-soft);
  border-radius: var(--hag-radius-lg);
  box-shadow: var(--hag-shadow-sm);
  overflow: hidden;
}

.hag-insider-feature-v3-image {
  min-height: 500px;
}

.hag-insider-feature-v3-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.hag-insider-feature-v3-copy {
  padding: clamp(42px, 5.5vw, 72px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hag-insider-feature-v3-reverse .hag-insider-feature-v3-image {
  order: 2;
}

.hag-insider-feature-v3-reverse .hag-insider-feature-v3-copy {
  order: 1;
}

.hag-insider-label-v3 {
  display: block;
  margin-bottom: 13px;
  color: var(--hag-olive);
  font-family: var(--hag-font-body) !important;
  font-size: .70rem;
  font-weight: 600 !important;
  line-height: 1.45;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.hag-insider-feature-v3-copy h3 {
  margin: 0 0 20px !important;
  font-size: clamp(2rem, 3.2vw, 2.85rem) !important;
  line-height: 1.08 !important;
}

.hag-insider-feature-v3-copy > .hag-leaf-link {
  align-self: flex-start;
  margin-top: 22px;
}

.hag-insider-note-v3,
.hag-insider-legal-v3 {
  margin: 21px 0 0 !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-left: 3px solid var(--hag-tiffany) !important;
  border-radius: 0 12px 12px 0 !important;
  background: var(--hag-bg-sage) !important;
  color: #5d645a !important;
  font: 400 .88rem/1.6 var(--hag-font-body) !important;
}

.hag-insider-legal-v3 {
  max-width: 850px;
  margin: 30px auto 0 !important;
}

/* ----------------------------------------------------------
   Einheitliches Kartenraster
   ---------------------------------------------------------- */
.hag-insider-cards-v3 {
  display: grid;
  gap: 24px;
}

.hag-insider-cards-v3-four {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hag-insider-cards-v3-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hag-insider-cards-v3-two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hag-insider-cards-v3 > article {
  min-width: 0;
  padding: clamp(30px, 3.6vw, 46px);
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, .94);
  border: 1px solid var(--hag-border-soft);
  border-radius: 24px;
  box-shadow: 0 12px 35px rgba(79, 89, 63, .045);
}

.hag-insider-cards-v3 h3 {
  margin: 0 0 15px !important;
  font-size: clamp(1.55rem, 2.15vw, 2rem) !important;
  line-height: 1.12 !important;
}

.hag-insider-cards-v3 p {
  margin-bottom: 0 !important;
}

.hag-insider-media-card-v3 {
  padding-top: 0 !important;
  overflow: hidden;
}

.hag-insider-media-card-v3 > div {
  height: 310px;
  margin: 0 clamp(-46px, -3.6vw, -30px) 31px;
}

.hag-insider-media-card-v3 > div img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hag-insider-media-card-v3 .hag-leaf-link {
  align-self: flex-start;
  margin-top: auto;
  padding-top: 23px;
}

/* ----------------------------------------------------------
   Listen im großen Modul
   ---------------------------------------------------------- */
.hag-insider-list-v3,
.hag-insider-steps-v3 {
  margin: 5px 0 0;
  padding: 0;
  list-style: none;
}

.hag-insider-list-v3 li {
  padding: 17px 0;
  display: grid;
  gap: 6px;
  border-top: 1px solid var(--hag-border);
}

.hag-insider-list-v3 strong,
.hag-insider-steps-v3 strong {
  color: var(--hag-olive-dark);
  font-family: var(--hag-font-body) !important;
  font-size: .96rem;
  font-weight: 600 !important;
}

.hag-insider-list-v3 span {
  font-size: .94rem;
  line-height: 1.65;
}

.hag-insider-steps-v3 li {
  padding: 17px 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  border-top: 1px solid var(--hag-border);
}

.hag-insider-steps-v3 li > span {
  padding-top: 4px;
  color: var(--hag-tiffany);
  font-family: var(--hag-font-body) !important;
  font-size: .74rem;
  font-weight: 600 !important;
}

.hag-insider-steps-v3 p {
  margin: 6px 0 0 !important;
  font-size: .94rem !important;
  line-height: 1.65 !important;
}

/* ----------------------------------------------------------
   Gemeinsames FAQ-Modul
   ---------------------------------------------------------- */
.hag-insider-faq-v3 {
  background: #fcfaf6 !important;
}

.hag-insider-faq-v3 .hag-faq-head h2 {
  font-family: var(--hag-font-heading) !important;
  font-weight: 500 !important;
}

/* ----------------------------------------------------------
   Tablet
   ---------------------------------------------------------- */
@media only screen and (max-width: 960px) {
  .hag-insider-intro-v3-inner,
  .hag-insider-head-v3,
  .hag-insider-feature-v3 {
    grid-template-columns: 1fr;
  }

  .hag-insider-head-v3 {
    gap: 25px;
  }

  .hag-insider-head-v3 > p {
    max-width: 760px;
  }

  .hag-insider-feature-v3-reverse .hag-insider-feature-v3-image {
    order: 1;
  }

  .hag-insider-feature-v3-reverse .hag-insider-feature-v3-copy {
    order: 2;
  }

  .hag-insider-feature-v3-image {
    min-height: 430px;
  }

  .hag-insider-cards-v3-three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ----------------------------------------------------------
   Mobile – volle verfügbare BeTheme-Breite
   ---------------------------------------------------------- */
@media only screen and (max-width: 767px) {
  .hag-insider-hub-hero-v3 .hag-subhero-content h1 {
    font-size: clamp(1.72rem, 7.8vw, 2.3rem) !important;
    line-height: 1.03 !important;
  }

  .hag-insider-intro-v3,
  .hag-insider-section-v3 {
    padding: 68px 0 74px !important;
    scroll-margin-top: 86px;
  }

  .hag-insider-intro-v3-inner,
  .hag-insider-section-v3-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .hag-insider-intro-v3-inner {
    gap: 38px;
  }

  .hag-insider-intro-v3-copy h2,
  .hag-insider-head-v3 h2 {
    font-size: clamp(2.35rem, 11vw, 3.05rem) !important;
    line-height: 1.04 !important;
  }

  .hag-insider-nav-v3,
  .hag-insider-cards-v3-four,
  .hag-insider-cards-v3-three,
  .hag-insider-cards-v3-two {
    grid-template-columns: 1fr !important;
  }

  .hag-insider-nav-v3 a {
    min-height: 116px;
    padding: 21px 22px;
  }

  .hag-insider-nav-v3 a::after {
    width: 72px;
    height: 84px;
  }

  .hag-insider-head-v3 {
    margin-bottom: 38px;
  }

  .hag-insider-feature-v3 {
    margin-bottom: 20px;
    border-radius: 22px;
  }

  .hag-insider-feature-v3-image {
    min-height: 275px;
    order: 1 !important;
  }

  .hag-insider-feature-v3-copy {
    padding: 31px 24px 34px;
    order: 2 !important;
  }

  .hag-insider-cards-v3 {
    gap: 18px;
  }

  .hag-insider-cards-v3 > article {
    padding: 28px 24px;
    border-radius: 20px;
  }

  .hag-insider-media-card-v3 {
    padding-top: 0 !important;
  }

  .hag-insider-media-card-v3 > div {
    height: 250px;
    margin: 0 -24px 27px;
  }

  .hag-insider-legal-v3 {
    max-width: none;
  }
}
/* ==========================================================
   ECHTE HOCHZEITEN – SEITENERGÄNZUNG
   ========================================================== */

/* Einheitliche Typografie */
.hag-real-intro-v2 h2,
.hag-real-intro-v2 h3,
.hag-real-story-v2 h2,
.hag-real-story-v2 h3,
.hag-real-gallery-v2 h2,
.hag-real-trust-v2 h2,
.hag-real-faq-v2 h2 {
  font-family: var(--hag-font-heading) !important;
  font-weight: 500 !important;
  color: var(--hag-olive-dark) !important;
  letter-spacing: -0.018em !important;
}

.hag-real-intro-v2 p,
.hag-real-story-v2 p,
.hag-real-gallery-v2 p,
.hag-real-trust-v2 p,
.hag-real-faq-v2 .hag-faq-head p,
.hag-real-faq-v2 .hag-faq-answer p,
.hag-real-contact-v2 .hag-contact-copy {
  font-family: var(--hag-font-body) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

/* Intro mit Sprungnavigation zu allen vier Geschichten */
.hag-real-intro-v2 {
  padding: 105px 0 112px !important;
  background: #fcfaf6 !important;
}

.hag-real-intro-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: clamp(55px, 7vw, 100px);
  align-items: center;
}

.hag-real-intro-copy h2 {
  margin: 18px 0 25px !important;
  font-size: clamp(2.75rem, 4.35vw, 3.75rem) !important;
  line-height: 1.02 !important;
}

.hag-real-intro-copy p {
  max-width: 700px;
}

.hag-real-intro-copy .hag-leaf-link {
  margin-top: 12px;
}

.hag-real-story-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.hag-real-story-nav a {
  min-height: 175px;
  padding: 26px 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  color: var(--hag-olive-dark) !important;
  text-decoration: none !important;
  background: #fff;
  border: 1px solid var(--hag-border);
  border-radius: 22px;
  box-shadow: var(--hag-shadow-sm);
  transition: transform .25s ease, border-color .25s ease;
}

.hag-real-story-nav a:hover {
  transform: translateY(-3px);
  border-color: var(--hag-tiffany);
}

.hag-real-story-nav span {
  margin-bottom: auto;
  color: var(--hag-tiffany);
  font-family: var(--hag-font-body) !important;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
}

.hag-real-story-nav strong {
  font-family: var(--hag-font-heading) !important;
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1.15;
}

.hag-real-story-nav small {
  margin-top: 7px;
  color: var(--hag-text);
  font-family: var(--hag-font-body) !important;
  font-size: .78rem;
  line-height: 1.5;
}

/* Vier Geschichten – bewusst derselbe ruhige Aufbau */
.hag-real-story-v2 {
  padding: 112px 0 120px !important;
  scroll-margin-top: 110px;
}

.hag-real-story-sage-v2 {
  background: var(--hag-bg-sage) !important;
}

.hag-real-story-cream-v2 {
  background: #f3e6d9 !important;
}

.hag-real-story-white-v2 {
  background: #fcfaf6 !important;
}

.hag-real-story-tiffany-v2 {
  background: #e2f0ed !important;
}

.hag-real-story-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
}

.hag-real-story-head {
  max-width: 1000px;
  margin: 0 0 58px;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 26px;
  align-items: start;
}

.hag-real-story-number {
  padding-top: 6px;
  color: var(--hag-tiffany);
  font-family: var(--hag-font-body) !important;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .14em;
}

.hag-real-story-head h2 {
  max-width: 900px;
  margin: 17px 0 20px !important;
  font-size: clamp(2.75rem, 4.35vw, 3.75rem) !important;
  line-height: 1.02 !important;
}

.hag-real-story-head p {
  max-width: 760px;
  margin: 0 !important;
}

.hag-real-story-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: 26px;
  align-items: stretch;
}

.hag-real-story-reverse-v2 .hag-real-story-image {
  order: 2;
}

.hag-real-story-reverse-v2 .hag-real-story-copy {
  order: 1;
}

.hag-real-story-image {
  min-height: 560px;
  margin: 0;
  overflow: hidden;
  border-radius: 26px;
  box-shadow: var(--hag-shadow-sm);
}

.hag-real-story-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.hag-real-story-copy {
  padding: clamp(36px, 4.5vw, 58px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgba(255, 255, 255, .95);
  border: 1px solid var(--hag-border-soft);
  border-radius: 26px;
  box-shadow: var(--hag-shadow-sm);
}

.hag-real-story-label {
  display: block;
  margin-bottom: 15px;
  color: var(--hag-olive);
  font-family: var(--hag-font-body) !important;
  font-size: .70rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.hag-real-story-copy h3 {
  margin: 0 0 22px !important;
  font-size: clamp(1.9rem, 2.8vw, 2.55rem) !important;
  line-height: 1.09 !important;
}

.hag-real-story-copy p {
  margin-bottom: 14px !important;
}

.hag-real-story-copy dl {
  margin: 13px 0 25px;
}

.hag-real-story-copy dl > div {
  padding: 12px 0;
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 16px;
  border-top: 1px solid var(--hag-border);
}

.hag-real-story-copy dt {
  color: var(--hag-olive);
  font-family: var(--hag-font-body) !important;
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.hag-real-story-copy dd {
  margin: 0;
  color: var(--hag-text);
  font-family: var(--hag-font-body) !important;
  font-size: .9rem;
  line-height: 1.55;
}

.hag-real-story-copy .hag-leaf-link {
  align-self: flex-start;
  margin-top: 4px;
}

/* Weitere echte Momente */
.hag-real-gallery-v2 {
  padding: 112px 0 120px !important;
  background: #fcfaf6 !important;
}

.hag-real-gallery-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
}

.hag-real-gallery-head {
  max-width: 840px;
  margin: 0 auto 58px;
  text-align: center;
}

.hag-real-gallery-head h2 {
  margin: 17px 0 22px !important;
  font-size: clamp(2.75rem, 4.35vw, 3.75rem) !important;
  line-height: 1.02 !important;
}

.hag-real-mosaic {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 310px;
  gap: 18px;
}

.hag-real-mosaic figure {
  margin: 0;
  overflow: hidden;
  border-radius: 24px;
}

.hag-real-mosaic-wide {
  grid-column: span 2;
}

.hag-real-mosaic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: transform .45s ease;
}

.hag-real-mosaic figure:hover img {
  transform: scale(1.025);
}

.hag-real-gallery-links {
  margin-top: 50px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 26px 55px;
}

/* Bewertungs- und FAQ-Module an die Seite anbinden */
.hag-real-trust-v2 .hag-loveletters-head h2,
.hag-real-faq-v2 .hag-faq-head h2 {
  font-family: var(--hag-font-heading) !important;
  font-weight: 500 !important;
}

.hag-real-trust-v2 .hag-loveletters-image img {
  object-position: center center;
}

.hag-real-faq-v2 {
  background: #fcfaf6 !important;
}

@media only screen and (max-width: 960px) {
  .hag-real-intro-inner,
  .hag-real-story-layout {
    grid-template-columns: 1fr;
  }

  .hag-real-story-reverse-v2 .hag-real-story-image {
    order: 1;
  }

  .hag-real-story-reverse-v2 .hag-real-story-copy {
    order: 2;
  }

  .hag-real-story-image {
    min-height: 500px;
  }
}

@media only screen and (max-width: 767px) {
  .hag-real-hero-v2 .hag-subhero-content h1 {
    font-size: clamp(1.9rem, 8.2vw, 2.45rem) !important;
    line-height: 1.02 !important;
  }

  .hag-real-intro-v2,
  .hag-real-story-v2,
  .hag-real-gallery-v2 {
    padding: 68px 0 76px !important;
  }

  .hag-real-intro-inner,
  .hag-real-story-inner,
  .hag-real-gallery-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .hag-real-intro-inner {
    gap: 38px;
  }

  .hag-real-intro-copy h2,
  .hag-real-story-head h2,
  .hag-real-gallery-head h2 {
    font-size: clamp(2.35rem, 11vw, 3.05rem) !important;
    line-height: 1.04 !important;
  }

  .hag-real-story-nav {
    gap: 14px;
  }

  .hag-real-story-nav a {
    min-height: 150px;
    padding: 22px 20px;
    border-radius: 20px;
  }

  .hag-real-story-nav strong {
    font-size: 1.25rem;
  }

  .hag-real-story-head {
    margin-bottom: 38px;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
  }

  .hag-real-story-image {
    min-height: 0;
    height: 390px;
    border-radius: 20px;
  }

  .hag-real-story-copy {
    padding: 30px 24px;
    border-radius: 20px;
  }

  .hag-real-story-copy dl > div {
    grid-template-columns: 78px minmax(0, 1fr);
  }

  .hag-real-gallery-head {
    margin-bottom: 38px;
    text-align: left;
  }

  .hag-real-mosaic {
    grid-template-columns: 1fr;
    grid-auto-rows: 300px;
    gap: 15px;
  }

  .hag-real-mosaic-wide {
    grid-column: auto;
  }

  .hag-real-mosaic figure {
    border-radius: 20px;
  }

  .hag-real-gallery-links {
    margin-top: 38px;
    justify-content: flex-start;
  }
}

@media only screen and (max-width: 480px) {
  .hag-real-story-nav {
    grid-template-columns: 1fr;
  }

  .hag-real-story-nav a {
    min-height: 132px;
  }

  .hag-real-story-image {
    height: 330px;
  }
}
/* Echte Hochzeiten – Überschriften final */

.hag-real-story-number {
  display: none !important;
}

.hag-real-story-head {
  width: 100%;
  max-width: none;
  display: block;
}



.hag-real-story-head h2 {
  width: 100%;
  max-width: none;
  margin: 20px 0 !important;
}

@media only screen and (max-width: 767px) {
  .hag-real-story-head .hag-page-eyebrow {
    font-size: 1.32rem !important;
  }
}
.hag-real-story-nav a {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.hag-real-story-nav a::after {
  content: "";
  position: absolute;
  right: -9px;
  bottom: -17px;
  z-index: -1;
  width: 82px;
  height: 96px;
  background: url("https://www.heiraten-am-gardasee.com/wp-content/uploads/2026/09/lineart-olivenzweig.png") center / contain no-repeat;
  opacity: .21;
  transform: rotate(-12deg);
  pointer-events: none;
}

.hag-real-story-nav a:hover::after,
.hag-real-story-nav a:focus-visible::after {
  opacity: .34;
}

@media only screen and (max-width: 767px) {
  .hag-real-story-nav a::after {
    width: 72px;
    height: 84px;
  }
}
/* ==========================================================
   GALERIE – GRUNDGERÜST FÜR SCHRITT 1
   Das eigentliche BeTheme-Galeriemodul folgt in Schritt 2.
   ========================================================== */

.hag-gallery-intro-v1 h2,
.hag-gallery-stage-v1 h2 {
  font-family: var(--hag-font-heading) !important;
  font-weight: 500 !important;
  color: var(--hag-olive-dark) !important;
  letter-spacing: -0.018em !important;
}

.hag-gallery-intro-v1 p,
.hag-gallery-stage-v1 p,
.hag-gallery-contact-v1 .hag-contact-copy {
  font-family: var(--hag-font-body) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

/* Modul 2 */
.hag-gallery-intro-v1 {
  padding: 105px 0 112px !important;
  background: #fcfaf6 !important;
}

.hag-gallery-intro-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: clamp(55px, 7vw, 100px);
  align-items: center;
}

.hag-gallery-intro-copy h2 {
  margin: 18px 0 25px !important;
  font-size: clamp(2.75rem, 4.35vw, 3.75rem) !important;
  line-height: 1.02 !important;
}

.hag-gallery-intro-copy p {
  max-width: 680px;
}

.hag-gallery-intro-copy .hag-leaf-link {
  margin-top: 13px;
}

.hag-gallery-intro-image {
  min-height: 585px;
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: var(--hag-shadow-sm);
}

.hag-gallery-intro-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* Modul 3: vorbereitet für das pflegbare BeTheme-Galerieelement */
.hag-gallery-stage-v1 {
  padding: 105px 0 120px !important;
  background: #f3e6d9 !important;
  scroll-margin-top: 110px;
}

.hag-gallery-stage-inner {
  width: min(1280px, calc(100% - 48px));
  margin: 0 auto;
}

.hag-gallery-stage-head {
  margin-bottom: 44px;
  padding-bottom: 27px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 35px;
  border-bottom: 1px solid rgba(79, 89, 63, .16);
}

.hag-gallery-stage-head h2 {
  margin: 13px 0 0 !important;
  font-family: "WindSong", cursive !important;
  font-size: clamp(3rem, 5.2vw, 4.7rem) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.hag-gallery-stage-cta {
  min-height: 52px;
  padding: 0 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  flex: 0 0 auto;
  color: var(--hag-olive-dark) !important;
  font-family: var(--hag-font-body) !important;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-decoration: none !important;
  background: transparent;
  border: 1px solid var(--hag-tiffany);
  border-radius: 14px;
  transition: color .25s ease, background .25s ease, transform .25s ease;
}

.hag-gallery-stage-cta:hover,
.hag-gallery-stage-cta:focus-visible {
  color: #fff !important;
  background: var(--hag-tiffany);
  transform: translateY(-2px);
}

.hag-gallery-slot-v1 {
  min-height: 620px;
  padding: 45px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: rgba(255, 255, 255, .52);
  border: 1px dashed rgba(79, 89, 63, .32);
  border-radius: 26px;
}

.hag-gallery-slot-v1 span {
  margin-bottom: 15px;
  color: var(--hag-tiffany);
  font-family: var(--hag-font-body) !important;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.hag-gallery-slot-v1 strong {
  max-width: 620px;
  color: var(--hag-olive-dark);
  font-family: var(--hag-font-heading) !important;
  font-size: clamp(1.85rem, 3vw, 2.7rem);
  font-weight: 500;
  line-height: 1.12;
}

.hag-gallery-slot-v1 p {
  max-width: 620px;
  margin: 17px 0 0 !important;
}

@media only screen and (max-width: 960px) {
  .hag-gallery-intro-inner {
    grid-template-columns: 1fr;
  }

  .hag-gallery-intro-image {
    min-height: 500px;
  }
}

@media only screen and (max-width: 767px) {
  .hag-gallery-hero-v1 .hag-subhero-content h1 {
    font-size: clamp(1.85rem, 8vw, 2.4rem) !important;
    line-height: 1.03 !important;
  }

  .hag-gallery-intro-v1,
  .hag-gallery-stage-v1 {
    padding: 68px 0 76px !important;
  }

  .hag-gallery-intro-inner,
  .hag-gallery-stage-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .hag-gallery-intro-inner {
    gap: 38px;
  }

  .hag-gallery-intro-copy h2 {
    font-size: clamp(2.35rem, 11vw, 3.05rem) !important;
    line-height: 1.04 !important;
  }

  .hag-gallery-intro-image {
    min-height: 0;
    height: 390px;
    border-radius: 20px;
  }

  .hag-gallery-stage-head {
    margin-bottom: 30px;
    align-items: flex-start;
    flex-direction: column;
  }

  .hag-gallery-stage-head h2 {
    font-size: clamp(2.7rem, 14vw, 3.8rem) !important;
  }

  .hag-gallery-stage-cta {
    width: 100%;
  }

  .hag-gallery-slot-v1 {
    min-height: 460px;
    padding: 35px 23px;
    border-radius: 20px;
  }
}

@media only screen and (max-width: 480px) {
  .hag-gallery-intro-image {
    height: 330px;
  }
}
.hag-gallery-intro-image {
  height: 585px;
  min-height: 0;
}

@media only screen and (max-width: 960px) {
  .hag-gallery-intro-image {
    height: 500px;
    min-height: 0;
  }
}

@media only screen and (max-width: 767px) {
  .hag-gallery-intro-image {
    height: 390px;
  }
}

@media only screen and (max-width: 480px) {
  .hag-gallery-intro-image {
    height: 330px;
  }
}
/* ==========================================================
   GALERIE – GRUNDGERÜST FÜR SCHRITT 1
   Das eigentliche BeTheme-Galeriemodul folgt in Schritt 2.
   ========================================================== */

.hag-gallery-intro-v1 h2,
.hag-gallery-stage-v1 h2 {
  font-family: var(--hag-font-heading) !important;
  font-weight: 500 !important;
  color: var(--hag-olive-dark) !important;
  letter-spacing: -0.018em !important;
}

.hag-gallery-intro-v1 p,
.hag-gallery-stage-v1 p,
.hag-gallery-contact-v1 .hag-contact-copy {
  font-family: var(--hag-font-body) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

/* Modul 2 */
.hag-gallery-intro-v1 {
  padding: 105px 0 112px !important;
  background: #fcfaf6 !important;
}

.hag-gallery-intro-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: clamp(55px, 7vw, 100px);
  align-items: center;
}

.hag-gallery-intro-copy h2 {
  margin: 18px 0 25px !important;
  font-size: clamp(2.75rem, 4.35vw, 3.75rem) !important;
  line-height: 1.02 !important;
}

.hag-gallery-intro-copy p {
  max-width: 680px;
}

.hag-gallery-intro-copy .hag-leaf-link {
  margin-top: 13px;
}

.hag-gallery-intro-image {
  min-height: 585px;
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: var(--hag-shadow-sm);
}

.hag-gallery-intro-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* Modul 3: vorbereitet für das pflegbare BeTheme-Galerieelement */
.hag-gallery-stage-v1 {
  padding: 105px 0 120px !important;
  background: #f3e6d9 !important;
  scroll-margin-top: 110px;
}

.hag-gallery-stage-inner {
  width: min(1280px, calc(100% - 48px));
  margin: 0 auto;
}

.hag-gallery-stage-head {
  margin-bottom: 44px;
  padding-bottom: 27px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 35px;
  border-bottom: 1px solid rgba(79, 89, 63, .16);
}

.hag-gallery-stage-head h2 {
  margin: 13px 0 0 !important;
  font-family: "WindSong", cursive !important;
  font-size: clamp(3rem, 5.2vw, 4.7rem) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

.hag-gallery-stage-cta {
  min-height: 52px;
  padding: 0 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  flex: 0 0 auto;
  color: var(--hag-olive-dark) !important;
  font-family: var(--hag-font-body) !important;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-decoration: none !important;
  background: transparent;
  border: 1px solid var(--hag-tiffany);
  border-radius: 14px;
  transition: color .25s ease, background .25s ease, transform .25s ease;
}

.hag-gallery-stage-cta:hover,
.hag-gallery-stage-cta:focus-visible {
  color: #fff !important;
  background: var(--hag-tiffany);
  transform: translateY(-2px);
}

.hag-gallery-slot-v1 {
  min-height: 620px;
  padding: 45px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: rgba(255, 255, 255, .52);
  border: 1px dashed rgba(79, 89, 63, .32);
  border-radius: 26px;
}

.hag-gallery-slot-v1 span {
  margin-bottom: 15px;
  color: var(--hag-tiffany);
  font-family: var(--hag-font-body) !important;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.hag-gallery-slot-v1 strong {
  max-width: 620px;
  color: var(--hag-olive-dark);
  font-family: var(--hag-font-heading) !important;
  font-size: clamp(1.85rem, 3vw, 2.7rem);
  font-weight: 500;
  line-height: 1.12;
}

.hag-gallery-slot-v1 p {
  max-width: 620px;
  margin: 17px 0 0 !important;
}

@media only screen and (max-width: 960px) {
  .hag-gallery-intro-inner {
    grid-template-columns: 1fr;
  }

  .hag-gallery-intro-image {
    min-height: 500px;
  }
}

@media only screen and (max-width: 767px) {
  .hag-gallery-hero-v1 .hag-subhero-content h1 {
    font-size: clamp(1.85rem, 8vw, 2.4rem) !important;
    line-height: 1.03 !important;
  }

  .hag-gallery-intro-v1,
  .hag-gallery-stage-v1 {
    padding: 68px 0 76px !important;
  }

  .hag-gallery-intro-inner,
  .hag-gallery-stage-inner {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .hag-gallery-intro-inner {
    gap: 38px;
  }

  .hag-gallery-intro-copy h2 {
    font-size: clamp(2.35rem, 11vw, 3.05rem) !important;
    line-height: 1.04 !important;
  }

  .hag-gallery-intro-image {
    min-height: 0;
    height: 390px;
    border-radius: 20px;
  }

  .hag-gallery-stage-head {
    margin-bottom: 30px;
    align-items: flex-start;
    flex-direction: column;
  }

  .hag-gallery-stage-head h2 {
    font-size: clamp(2.7rem, 14vw, 3.8rem) !important;
  }

  .hag-gallery-stage-cta {
    width: 100%;
  }

  .hag-gallery-slot-v1 {
    min-height: 460px;
    padding: 35px 23px;
    border-radius: 20px;
  }
}

@media only screen and (max-width: 480px) {
  .hag-gallery-intro-image {
    height: 330px;
  }
}

/* ==========================================================
   GALERIE – BETheme Image Gallery / finales Mosaic-Raster
   ========================================================== */

/* Der Platzhalter aus Schritt 1 wird durch das echte Modul ersetzt. */
.hag-gallery-stage-v1 .hag-gallery-slot-v1 {
  display: none !important;
}

.hag-gallery-stage-v1 .column_image_gallery {
  width: min(1280px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
  float: none !important;
}

.hag-gallery-stage-v1 .column_image_gallery .mcb-column-inner {
  margin: 0 !important;
}

.hag-gallery-stage-v1 .column_image_gallery .gallery {
  width: 100% !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: dense;
  grid-auto-rows: 255px;
  gap: 16px;
}

.hag-gallery-stage-v1 .column_image_gallery .gallery::before,
.hag-gallery-stage-v1 .column_image_gallery .gallery::after {
  display: none !important;
  content: none !important;
}

.hag-gallery-stage-v1 .column_image_gallery .gallery-item {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: block !important;
  overflow: hidden;
  border-radius: 20px;
  background: #ebe7df;
  box-shadow: 0 8px 25px rgba(55, 58, 45, .08);
}

/* Zwei große Bilder pro 14er-Gruppe wie in der bisherigen Galerie. */
.hag-gallery-stage-v1 .column_image_gallery .gallery-item:nth-child(14n + 1),
.hag-gallery-stage-v1 .column_image_gallery .gallery-item:nth-child(14n + 8) {
  grid-column: span 2;
  grid-row: span 2;
}

.hag-gallery-stage-v1 .gallery-item-wrapper,
.hag-gallery-stage-v1 .gallery-icon,
.hag-gallery-stage-v1 .image_frame,
.hag-gallery-stage-v1 .image_wrapper,
.hag-gallery-stage-v1 .image_wrapper > a {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

.hag-gallery-stage-v1 .gallery-icon,
.hag-gallery-stage-v1 .image_frame {
  border: 0 !important;
}

.hag-gallery-stage-v1 .image_frame {
  overflow: hidden !important;
  border-radius: inherit !important;
}

.hag-gallery-stage-v1 .image_wrapper {
  position: relative;
}

.hag-gallery-stage-v1 .image_wrapper > a {
  position: relative;
  overflow: hidden;
}

.hag-gallery-stage-v1 .column_image_gallery .gallery img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  object-fit: cover;
  object-position: center center;
  border: 0 !important;
  transform: scale(1.001);
  transition: transform .65s ease;
}

.hag-gallery-stage-v1 .image_wrapper .mask {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block !important;
  background: rgba(33, 39, 29, .20) !important;
  opacity: 0 !important;
  transition: opacity .3s ease;
  pointer-events: none;
}

.hag-gallery-stage-v1 .image_wrapper > a::after {
  content: "+";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--hag-olive-dark);
  font-family: var(--hag-font-body) !important;
  font-size: 1.55rem;
  font-weight: 300;
  line-height: 1;
  background: rgba(255, 255, 255, .90);
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(.82);
  transition: opacity .3s ease, transform .3s ease;
  pointer-events: none;
}

.hag-gallery-stage-v1 .gallery-item:hover img {
  transform: scale(1.045);
}

.hag-gallery-stage-v1 .gallery-item:hover .mask,
.hag-gallery-stage-v1 .image_wrapper > a:focus-visible .mask,
.hag-gallery-stage-v1 .gallery-item:hover .image_wrapper > a::after,
.hag-gallery-stage-v1 .image_wrapper > a:focus-visible::after {
  opacity: 1 !important;
}

.hag-gallery-stage-v1 .gallery-item:hover .image_wrapper > a::after,
.hag-gallery-stage-v1 .image_wrapper > a:focus-visible::after {
  transform: translate(-50%, -50%) scale(1);
}

/* Vom Nachlade-Script noch nicht freigegebene Bilder. */
.hag-gallery-stage-v1 .gallery-item.hag-gallery-hidden {
  display: none !important;
}

.hag-gallery-loadmore {
  margin-top: 42px;
  display: flex;
  justify-content: center;
}

.hag-gallery-loadmore-button {
  min-height: 52px;
  padding: 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--hag-olive-dark);
  font-family: var(--hag-font-body) !important;
  font-size: .82rem;
  font-weight: 600;
  line-height: 1.3;
  background: #fff;
  border: 1px solid rgba(79, 89, 63, .22);
  border-radius: 999px;
  box-shadow: var(--hag-shadow-sm);
  cursor: pointer;
  transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease;
}

.hag-gallery-loadmore-button::before {
  content: "+";
  color: var(--hag-tiffany);
  font-size: 1.15rem;
  font-weight: 400;
}

.hag-gallery-loadmore-button small {
  font-size: .75rem;
  font-weight: 400;
  opacity: .7;
}

.hag-gallery-loadmore-button:hover,
.hag-gallery-loadmore-button:focus-visible {
  color: #fff;
  background: var(--hag-olive-dark);
  border-color: var(--hag-olive-dark);
  transform: translateY(-2px);
}

.hag-gallery-loadmore-button:hover::before,
.hag-gallery-loadmore-button:focus-visible::before {
  color: var(--hag-tiffany-light, #a9dcd3);
}

@media only screen and (max-width: 960px) {
  .hag-gallery-stage-v1 .column_image_gallery .gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 230px;
    gap: 14px;
  }
}

@media only screen and (max-width: 767px) {
  .hag-gallery-stage-v1 .column_image_gallery {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  .hag-gallery-stage-v1 .column_image_gallery .gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 205px;
    gap: 10px;
  }

  .hag-gallery-stage-v1 .column_image_gallery .gallery-item {
    border-radius: 15px;
  }

  .hag-gallery-stage-v1 .image_wrapper > a::after {
    width: 40px;
    height: 40px;
    font-size: 1.35rem;
  }

  .hag-gallery-loadmore {
    margin-top: 30px;
  }

  .hag-gallery-loadmore-button {
    width: 100%;
    padding: 0 20px;
  }
}

@media only screen and (max-width: 480px) {
  .hag-gallery-stage-v1 .column_image_gallery .gallery {
    grid-auto-rows: 175px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hag-gallery-stage-v1 .column_image_gallery .gallery img,
  .hag-gallery-stage-v1 .image_wrapper .mask,
  .hag-gallery-stage-v1 .image_wrapper > a::after,
  .hag-gallery-loadmore-button {
    transition: none !important;
  }
}
body.hag-gallery-lightbox-open {
  overflow: hidden !important;
}

.hag-gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  padding: 30px clamp(65px, 7vw, 115px);
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(25, 29, 23, .94);
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
}

.hag-gallery-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}

.hag-gallery-lightbox-figure {
  max-width: 100%;
  max-height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.hag-gallery-lightbox-image {
  max-width: 100%;
  max-height: calc(100vh - 105px);
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 25px 70px rgba(0, 0, 0, .38);
  opacity: 1;
  transition: opacity .2s ease;
}

.hag-gallery-lightbox-image.is-loading {
  opacity: .35;
}

.hag-gallery-lightbox-caption {
  max-width: 760px;
  margin-top: 13px;
  color: rgba(255, 255, 255, .82);
  font-family: var(--hag-font-body) !important;
  font-size: .82rem;
  line-height: 1.5;
  text-align: center;
}

.hag-gallery-lightbox-close,
.hag-gallery-lightbox-nav {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(255, 255, 255, .10);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 50%;
  cursor: pointer;
  transition: background .2s ease;
}

.hag-gallery-lightbox-close:hover,
.hag-gallery-lightbox-close:focus-visible,
.hag-gallery-lightbox-nav:hover,
.hag-gallery-lightbox-nav:focus-visible {
  color: var(--hag-olive-dark);
  background: #fff;
  outline: none;
}

.hag-gallery-lightbox-close {
  top: 22px;
  right: 24px;
  width: 46px;
  height: 46px;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1;
}

.hag-gallery-lightbox-nav {
  top: 50%;
  width: 50px;
  height: 50px;
  font-size: 2.2rem;
  font-weight: 300;
  line-height: 1;
  transform: translateY(-50%);
}

.hag-gallery-lightbox-prev {
  left: 22px;
}

.hag-gallery-lightbox-next {
  right: 22px;
}

.hag-gallery-lightbox-count {
  position: absolute;
  right: 25px;
  bottom: 22px;
  color: rgba(255, 255, 255, .78);
  font-family: var(--hag-font-body) !important;
  font-size: .76rem;
  font-weight: 500;
  letter-spacing: .08em;
}

@media only screen and (max-width: 767px) {
  .hag-gallery-lightbox {
    padding: 68px 12px 58px;
  }

  .hag-gallery-lightbox-image {
    max-height: calc(100vh - 135px);
    border-radius: 7px;
  }

  .hag-gallery-lightbox-close {
    top: 13px;
    right: 13px;
    width: 42px;
    height: 42px;
  }

  .hag-gallery-lightbox-nav {
    top: auto;
    bottom: 10px;
    width: 42px;
    height: 42px;
    font-size: 1.9rem;
    transform: none;
  }

  .hag-gallery-lightbox-prev {
    left: 12px;
  }

  .hag-gallery-lightbox-next {
    right: 12px;
  }

  .hag-gallery-lightbox-count {
    right: 50%;
    bottom: 23px;
    transform: translateX(50%);
  }

  .hag-gallery-lightbox-caption {
    margin-top: 9px;
    font-size: .75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hag-gallery-lightbox,
  .hag-gallery-lightbox-image,
  .hag-gallery-lightbox-close,
  .hag-gallery-lightbox-nav {
    transition: none !important;
  }
}
/* ==========================================================
   ÜBER SINA – SEITENERGÄNZUNG
   ========================================================== */

/* Einheitliche Typografie */
.hag-about-intro-v1 h2,
.hag-about-intro-v1 h3,
.hag-about-story-v1 h2,
.hag-about-story-v1 h3,
.hag-about-philosophy-v1 h2,
.hag-about-philosophy-v1 h3,
.hag-about-work-v1 h2,
.hag-about-work-v1 h3,
.hag-about-personal-v1 h2,
.hag-about-faq-v1 h2 {
  font-family: var(--hag-font-heading) !important;
  font-weight: 500 !important;
  color: var(--hag-olive-dark) !important;
  letter-spacing: -0.018em !important;
}

.hag-about-intro-v1 p,
.hag-about-story-v1 p,
.hag-about-philosophy-v1 p,
.hag-about-work-v1 p,
.hag-about-personal-v1 p,
.hag-about-trust-v1 p,
.hag-about-faq-v1 .hag-faq-head p,
.hag-about-faq-v1 .hag-faq-answer p,
.hag-about-contact-v1 .hag-contact-copy {
  font-family: var(--hag-font-body) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

/* Hero-Crops nur für diese drei Sina-Motive */
@media only screen and (min-width: 768px) {
  .hag-about-hero-v1 .hag-about-hero-couple {
    object-position: center 48% !important;
  }

  .hag-about-hero-v1 .hag-about-hero-consulting {
    object-position: center 46% !important;
  }

  .hag-about-hero-v1 .hag-about-hero-celebration {
    object-position: center 42% !important;
  }
}

/* Modul 2 – persönliche Einleitung */
.hag-about-intro-v1 {
  padding: 108px 0 116px !important;
  background: #fcfaf6 !important;
}

.hag-about-intro-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: clamp(55px, 7vw, 100px);
  align-items: center;
}

.hag-about-intro-copy h2 {
  max-width: 720px;
  margin: 18px 0 28px !important;
  font-size: clamp(2.85rem, 4.4vw, 4.1rem) !important;
  line-height: 1.02 !important;
}

.hag-about-intro-copy p {
  max-width: 720px;
  margin-bottom: 20px !important;
}

.hag-about-intro-copy .hag-about-lead {
  color: var(--hag-olive-dark) !important;
  font-size: 1.08rem !important;
}

.hag-about-intro-copy .hag-leaf-link {
  margin-top: 10px;
}

.hag-about-intro-visual {
  min-width: 0;
}

.hag-about-intro-visual figure {
  height: 650px;
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: var(--hag-shadow);
}

.hag-about-intro-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 52%;
}

.hag-about-facts {
  width: calc(100% - 38px);
  margin: -62px auto 0;
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: rgba(255, 255, 255, .96);
  border: 1px solid var(--hag-border-soft);
  border-radius: 20px;
  box-shadow: var(--hag-shadow);
}

.hag-about-facts div {
  min-width: 0;
  padding: 23px 15px 21px;
  text-align: center;
}

.hag-about-facts div + div {
  border-left: 1px solid var(--hag-border-soft);
}

.hag-about-facts strong,
.hag-about-facts span {
  display: block;
}

.hag-about-facts strong {
  margin-bottom: 5px;
  color: var(--hag-olive-dark);
  font-family: var(--hag-font-heading) !important;
  font-size: 1.42rem;
  font-weight: 500;
  line-height: 1;
}

.hag-about-facts span {
  color: var(--hag-text);
  font-family: var(--hag-font-body) !important;
  font-size: .67rem;
  font-weight: 500;
  line-height: 1.4;
}

/* Geschichte */
.hag-about-story-v1 {
  padding: 112px 0 120px !important;
  background: #f3e6d9 !important;
}

.hag-about-story-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
}

.hag-about-story-head {
  max-width: 930px;
  margin: 0 0 60px;
}

.hag-about-story-head h2 {
  margin: 18px 0 24px !important;
  font-size: clamp(2.75rem, 4.35vw, 3.9rem) !important;
  line-height: 1.03 !important;
}

.hag-about-story-head p {
  max-width: 760px;
  margin: 0 !important;
}

.hag-about-story-layout {
  display: grid;
  grid-template-columns: minmax(380px, .92fr) minmax(0, 1.08fr);
  gap: clamp(38px, 6vw, 78px);
  align-items: stretch;
}

.hag-about-story-image {
  min-height: 600px;
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: var(--hag-shadow-sm);
}

.hag-about-story-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 57% center;
}

.hag-about-story-steps {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hag-about-story-steps article {
  padding: 31px 0;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 22px;
}

.hag-about-story-steps article + article {
  border-top: 1px solid rgba(79, 89, 63, .18);
}

.hag-about-story-steps article > span {
  color: #67bdb0;
  font-family: var(--hag-font-body) !important;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
}

.hag-about-story-steps h3 {
  margin: -4px 0 10px !important;
  font-size: 1.72rem !important;
  line-height: 1.16 !important;
}

.hag-about-story-steps p {
  margin: 0 !important;
}

/* Philosophie */
.hag-about-philosophy-v1 {
  padding: 112px 0 120px !important;
  background: #fcfaf6 !important;
}

.hag-about-philosophy-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
}

.hag-about-philosophy-head {
  max-width: 880px;
  margin: 0 auto 62px;
  text-align: center;
}

.hag-about-philosophy-head h2 {
  margin: 18px 0 25px !important;
  font-size: clamp(2.9rem, 4.6vw, 4.2rem) !important;
  line-height: 1.01 !important;
}

.hag-about-philosophy-head p {
  max-width: 760px;
  margin: 0 auto !important;
}

.hag-about-philosophy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.hag-about-philosophy-grid article {
  min-height: 330px;
  padding: 36px 34px;
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--hag-border-soft);
  border-radius: 24px;
  box-shadow: var(--hag-shadow-sm);
}

.hag-about-philosophy-grid article::after {
  content: "";
  position: absolute;
  right: -18px;
  bottom: -26px;
  width: 120px;
  height: 145px;
  background: url("https://www.heiraten-am-gardasee.com/wp-content/uploads/2026/09/lineart-olivenzweig.png") center / contain no-repeat;
  opacity: .12;
  transform: rotate(-12deg);
  pointer-events: none;
}

.hag-about-philosophy-grid article > span {
  display: block;
  margin-bottom: 46px;
  color: #67bdb0;
  font-family: var(--hag-font-body) !important;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
}

.hag-about-philosophy-grid h3 {
  margin: 0 0 16px !important;
  font-size: 1.65rem !important;
  line-height: 1.15 !important;
}

.hag-about-philosophy-grid p {
  margin: 0 !important;
  position: relative;
  z-index: 1;
}

.hag-about-philosophy-inner blockquote {
  max-width: 900px;
  margin: 68px auto 0 !important;
  padding: 0 !important;
  color: var(--hag-olive-dark) !important;
  font-family: var(--hag-font-heading) !important;
  font-size: clamp(2.15rem, 3.65vw, 3.25rem) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  text-align: center;
  background: transparent !important;
  border: 0 !important;
}

/* Arbeitsweise */
.hag-about-work-v1 {
  padding: 112px 0 120px !important;
  background: var(--hag-bg-sage) !important;
}

.hag-about-work-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(390px, .9fr) minmax(0, 1.1fr);
  gap: clamp(55px, 7vw, 96px);
  align-items: center;
}

.hag-about-work-visual {
  height: 720px;
  overflow: hidden;
  border-radius: 240px 240px 28px 28px;
  box-shadow: var(--hag-shadow);
}

.hag-about-work-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.hag-about-work-copy h2 {
  margin: 18px 0 25px !important;
  font-size: clamp(2.75rem, 4.2vw, 3.85rem) !important;
  line-height: 1.03 !important;
}

.hag-about-work-copy > .hag-about-lead {
  margin-bottom: 34px !important;
  color: var(--hag-olive-dark) !important;
  font-size: 1.06rem !important;
}

.hag-about-work-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.hag-about-work-points article {
  padding: 25px 24px 23px;
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(79, 89, 63, .12);
  border-radius: 18px;
}

.hag-about-work-points h3 {
  margin: 0 0 8px !important;
  font-size: 1.28rem !important;
  line-height: 1.2 !important;
}

.hag-about-work-points p {
  margin: 0 !important;
  font-size: .9rem !important;
  line-height: 1.65 !important;
}

.hag-about-work-links {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 30px;
}

/* Weicher CTA */
.hag-about-soft-cta-v1 .hag-mid-cta-inner {
  max-width: 920px;
}

/* Persönliche Seite */
.hag-about-personal-v1 {
  padding: 112px 0 120px !important;
  background: #f7f3ed !important;
}

.hag-about-personal-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(390px, .94fr);
  gap: clamp(55px, 7vw, 96px);
  align-items: center;
}

.hag-about-personal-copy h2 {
  margin: 18px 0 26px !important;
  font-size: clamp(2.75rem, 4.35vw, 3.9rem) !important;
  line-height: 1.03 !important;
}

.hag-about-personal-copy p {
  max-width: 700px;
  margin-bottom: 20px !important;
}

.hag-about-signature {
  display: block;
  margin-top: 27px;
  color: var(--hag-olive-dark);
  font-family: "WindSong", cursive !important;
  font-size: 2.1rem;
  font-weight: 400;
  line-height: 1.1;
}

.hag-about-personal-image {
  height: 660px;
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: var(--hag-shadow);
}

.hag-about-personal-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* Trust und FAQ */
.hag-about-trust-v1 .hag-loveletters-image img {
  object-position: center 42%;
}

.hag-about-faq-v1 {
  padding-top: 108px !important;
  padding-bottom: 116px !important;
}

/* Tablet */
@media only screen and (max-width: 1024px) {
  .hag-about-intro-inner,
  .hag-about-personal-inner {
    grid-template-columns: minmax(0, 1fr) minmax(330px, .82fr);
    gap: 42px;
  }

  .hag-about-intro-visual figure {
    height: 590px;
  }

  .hag-about-facts {
    width: calc(100% - 22px);
  }

  .hag-about-facts div {
    padding-right: 8px;
    padding-left: 8px;
  }

  .hag-about-story-layout,
  .hag-about-work-inner {
    grid-template-columns: minmax(330px, .86fr) minmax(0, 1.14fr);
    gap: 44px;
  }

  .hag-about-work-visual {
    height: 650px;
  }

  .hag-about-philosophy-grid article {
    padding: 31px 27px;
  }
}

/* Mobile */
@media only screen and (max-width: 767px) {
  .hag-about-intro-v1,
  .hag-about-story-v1,
  .hag-about-philosophy-v1,
  .hag-about-work-v1,
  .hag-about-personal-v1,
  .hag-about-faq-v1 {
    padding: 74px 0 80px !important;
  }

  .hag-about-intro-inner,
  .hag-about-story-inner,
  .hag-about-philosophy-inner,
  .hag-about-work-inner,
  .hag-about-personal-inner {
    width: calc(100% - 30px) !important;
    max-width: none !important;
  }

  .hag-about-intro-inner,
  .hag-about-work-inner,
  .hag-about-personal-inner {
    display: flex;
    flex-direction: column;
    gap: 42px;
    align-items: stretch;
  }

  .hag-about-intro-copy h2,
  .hag-about-story-head h2,
  .hag-about-philosophy-head h2,
  .hag-about-work-copy h2,
  .hag-about-personal-copy h2 {
    font-size: clamp(2.45rem, 12vw, 3.15rem) !important;
    line-height: 1.04 !important;
  }

  .hag-about-intro-copy .hag-about-lead,
  .hag-about-work-copy > .hag-about-lead {
    font-size: 1rem !important;
  }

  .hag-about-intro-visual figure {
    height: 540px;
    border-radius: 22px;
  }

  .hag-about-facts {
    width: calc(100% - 20px);
    margin-top: -38px;
  }

  .hag-about-facts div {
    padding: 19px 6px 17px;
  }

  .hag-about-facts strong {
    font-size: 1.15rem;
  }

  .hag-about-facts span {
    font-size: .58rem;
  }

  .hag-about-story-head,
  .hag-about-philosophy-head {
    margin-bottom: 42px;
    text-align: left;
  }

  .hag-about-story-layout {
    display: flex;
    flex-direction: column;
    gap: 28px;
  }

  .hag-about-story-image {
    min-height: 0;
    height: 450px;
    border-radius: 22px;
  }

  .hag-about-story-steps article {
    padding: 25px 0;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 13px;
  }

  .hag-about-story-steps h3 {
    font-size: 1.5rem !important;
  }

  .hag-about-philosophy-head p {
    margin-left: 0 !important;
  }

  .hag-about-philosophy-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .hag-about-philosophy-grid article {
    min-height: 0;
    padding: 29px 26px 31px;
  }

  .hag-about-philosophy-grid article > span {
    margin-bottom: 28px;
  }

  .hag-about-philosophy-inner blockquote {
    margin-top: 48px !important;
    font-size: 2rem !important;
    line-height: 1.15 !important;
    text-align: left;
  }

  .hag-about-work-visual {
    width: 100%;
    height: 500px;
    border-radius: 170px 170px 22px 22px;
  }

  .hag-about-work-points {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .hag-about-work-points article {
    padding: 23px 22px;
  }

  .hag-about-work-links {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .hag-about-personal-image {
    order: -1;
    height: 520px;
    border-radius: 22px;
  }

  .hag-about-signature {
    font-size: 1.9rem;
  }
}

@media only screen and (max-width: 420px) {
  .hag-about-intro-inner,
  .hag-about-story-inner,
  .hag-about-philosophy-inner,
  .hag-about-work-inner,
  .hag-about-personal-inner {
    width: calc(100% - 24px) !important;
  }

  .hag-about-intro-visual figure,
  .hag-about-personal-image {
    height: 480px;
  }

  .hag-about-story-image {
    height: 390px;
  }

  .hag-about-work-visual {
    height: 455px;
  }
}

/* ==========================================================
   ÜBER SINA – KORREKTUREN
   ========================================================== */

/* Hero-Bilder oben ausrichten */
.hag-about-hero-v1 .hag-subhero-image {
  object-position: center top !important;
}

/* Modul 2: Link auf Desktop beim Text, mobil unter dem Bild */
.hag-about-intro-inner {
  grid-template-areas:
    "copy visual"
    "link visual";
  grid-template-rows: auto auto;
  column-gap: clamp(55px, 7vw, 100px);
  row-gap: 18px;
  align-items: end;
}

.hag-about-intro-copy {
  grid-area: copy;
  align-self: end;
}

.hag-about-intro-visual {
  grid-area: visual;
}

.hag-about-intro-link {
  grid-area: link;
  justify-self: start;
  align-self: start;
  margin-top: 0;
}

/* Modul 4: Philosophie vollständig zentrieren */
.hag-about-philosophy-head {
  text-align: center !important;
}

.hag-about-philosophy-head .hag-page-eyebrow {
  width: auto !important;
  justify-content: center;
  text-align: center !important;
}

.hag-about-philosophy-head p {
  margin-right: auto !important;
  margin-left: auto !important;
}

/* Modul 6: Soft-CTA vollständig mittig */
.hag-about-soft-cta-v1 .hag-mid-cta-inner {
  max-width: 920px;
  display: block !important;
  text-align: center !important;
}

.hag-about-soft-cta-v1 .hag-mid-cta-eyebrow {
  justify-content: center;
}

.hag-about-soft-cta-v1 .hag-mid-cta-inner h2,
.hag-about-soft-cta-v1 .hag-mid-cta-inner p {
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: center !important;
}

/* Signaturgrafik */
.hag-about-signature {
  display: block;
  width: 175px;
  max-width: 48%;
  height: auto;
  margin-top: 27px;
}

/* Modul 8 bekommt einen eigenen Hintergrund */
.hag-about-trust-v1 {
  background: var(--hag-bg-tiffany) !important;
}

/* Mobile Korrekturen */
@media only screen and (max-width: 767px) {
  .hag-about-intro-copy {
    order: 1;
  }

  .hag-about-intro-visual {
    order: 2;
  }

  .hag-about-intro-link {
    order: 3;
    align-self: flex-start;
    margin-top: -20px;
  }

  .hag-about-philosophy-head {
    text-align: center !important;
  }

  .hag-about-philosophy-head p {
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .hag-about-work-copy h2 {
    font-size: clamp(2.2rem, 10.5vw, 2.75rem) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .hag-about-work-points h3 {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .hag-about-signature {
    width: 150px;
    max-width: 52%;
  }

  .hag-about-soft-cta-v1 .hag-mid-cta-inner {
    width: calc(100% - 30px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }

  .hag-about-soft-cta-v1 .hag-mid-cta-eyebrow::after {
    display: block !important;
  }

  .hag-about-soft-cta-v1 .hag-mid-cta-inner h2,
  .hag-about-soft-cta-v1 .hag-mid-cta-inner p {
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center !important;
  }
}
/* ==========================================================
   KONTAKT – SEITENERGÄNZUNG
   ========================================================== */

.hag-contact-intro-v1 h2,
.hag-contact-intro-v1 h3,
.hag-contact-next-v1 h2,
.hag-contact-next-v1 h3,
.hag-contact-faq-v1 h2 {
  font-family: var(--hag-font-heading) !important;
  font-weight: 500 !important;
  color: var(--hag-olive-dark) !important;
  letter-spacing: -0.018em !important;
}

.hag-contact-intro-v1 p,
.hag-contact-next-v1 p,
.hag-contact-faq-v1 .hag-faq-head p,
.hag-contact-faq-v1 .hag-faq-answer p,
.hag-contact-page-form-v1 .hag-contact-copy {
  font-family: var(--hag-font-body) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

/* Hero: Menschen bleiben vollständig im oberen Bildbereich sichtbar. */
.hag-contact-hero-v1 .hag-subhero-image {
  object-position: center top !important;
}

/* Persönliche Einladung */
.hag-contact-intro-v1 {
  padding: 108px 0 116px !important;
  background: #fcfaf6 !important;
}

.hag-contact-intro-page-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
  gap: clamp(58px, 7vw, 100px);
  align-items: center;
}

.hag-contact-intro-page-copy h2 {
  max-width: 720px;
  margin: 18px 0 27px !important;
  font-size: clamp(2.85rem, 4.45vw, 4.1rem) !important;
  line-height: 1.02 !important;
}

.hag-contact-intro-page-copy p {
  max-width: 720px;
  margin-bottom: 20px !important;
}

.hag-contact-intro-page-copy .hag-contact-intro-page-lead {
  color: var(--hag-olive-dark) !important;
  font-size: 1.07rem !important;
}

.hag-contact-intro-page-copy .hag-leaf-link {
  margin-top: 11px;
}

.hag-contact-intro-page-side {
  min-width: 0;
}

.hag-contact-intro-page-side figure {
  height: 575px;
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: var(--hag-shadow);
}

.hag-contact-intro-page-side figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 50%;
}

.hag-contact-channels {
  width: calc(100% - 38px);
  margin: -54px auto 0;
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  background: rgba(255, 255, 255, .97);
  border: 1px solid var(--hag-border-soft);
  border-radius: 20px;
  box-shadow: var(--hag-shadow);
}

.hag-contact-channels a {
  min-width: 0;
  padding: 23px 22px;
  color: var(--hag-olive-dark) !important;
  text-decoration: none !important;
}

.hag-contact-channels a + a {
  border-left: 1px solid var(--hag-border-soft);
}

.hag-contact-channels span,
.hag-contact-channels strong {
  display: block;
  font-family: var(--hag-font-body) !important;
}

.hag-contact-channels span {
  margin-bottom: 7px;
  color: #67bdb0;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.hag-contact-channels strong {
  overflow-wrap: anywhere;
  font-size: .82rem;
  font-weight: 500;
  line-height: 1.5;
}

/* Was nach der Anfrage passiert */
.hag-contact-next-v1 {
  padding: 110px 0 118px !important;
  background: #f3e6d9 !important;
}

.hag-contact-next-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
}

.hag-contact-next-head {
  max-width: 860px;
  margin: 0 auto 58px;
  text-align: center;
}

.hag-contact-next-head .hag-page-eyebrow {
  width: auto !important;
  justify-content: center;
  text-align: center !important;
}

.hag-contact-next-head h2 {
  margin: 18px 0 24px !important;
  font-size: clamp(2.8rem, 4.45vw, 4rem) !important;
  line-height: 1.02 !important;
}

.hag-contact-next-head p {
  max-width: 720px;
  margin: 0 auto !important;
}

.hag-contact-next-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.hag-contact-next-grid article {
  min-height: 310px;
  padding: 35px 33px;
  position: relative;
  overflow: hidden;
  background: rgba(255, 255, 255, .94);
  border: 1px solid var(--hag-border-soft);
  border-radius: 24px;
  box-shadow: var(--hag-shadow-sm);
}

.hag-contact-next-grid article::after {
  content: "";
  position: absolute;
  right: -18px;
  bottom: -25px;
  width: 115px;
  height: 140px;
  background: url("https://www.heiraten-am-gardasee.com/wp-content/uploads/2026/09/lineart-olivenzweig.png") center / contain no-repeat;
  opacity: .12;
  transform: rotate(-12deg);
  pointer-events: none;
}

.hag-contact-next-grid article > span {
  display: block;
  margin-bottom: 50px;
  color: #67bdb0;
  font-family: var(--hag-font-body) !important;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
}

.hag-contact-next-grid h3 {
  margin: 0 0 14px !important;
  position: relative;
  z-index: 1;
  font-size: 1.6rem !important;
  line-height: 1.16 !important;
}

.hag-contact-next-grid p {
  margin: 0 !important;
  position: relative;
  z-index: 1;
}

/* FAQ bewusst zwischen Prozess und Formular absetzen */
.hag-contact-faq-v1 {
  padding-top: 108px !important;
  padding-bottom: 116px !important;
  background: var(--hag-bg-sage) !important;
}

/* Zusatzinformation im finalen Kontaktmodul */
.hag-contact-help {
  max-width: 560px;
  margin: 27px 0 30px;
  padding: 23px 25px;
  background: rgba(255, 255, 255, .62);
  border-left: 3px solid var(--hag-tiffany);
  border-radius: 0 14px 14px 0;
}

.hag-contact-help > span {
  display: block;
  margin-bottom: 11px;
  color: var(--hag-olive-dark);
  font-family: var(--hag-font-body) !important;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.hag-contact-help ul {
  margin: 0 !important;
  padding: 0 !important;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 22px;
  list-style: none;
}

.hag-contact-help li {
  position: relative;
  padding-left: 16px;
  color: var(--hag-text);
  font-family: var(--hag-font-body) !important;
  font-size: .82rem;
  line-height: 1.55;
}

.hag-contact-help li::before {
  content: "";
  position: absolute;
  top: .68em;
  left: 0;
  width: 6px;
  height: 6px;
  background: var(--hag-tiffany);
  border-radius: 50%;
}

@media only screen and (max-width: 1024px) {
  .hag-contact-intro-page-inner {
    grid-template-columns: minmax(0, 1fr) minmax(340px, .86fr);
    gap: 45px;
  }

  .hag-contact-intro-page-side figure {
    height: 540px;
  }

  .hag-contact-channels {
    width: calc(100% - 22px);
  }

  .hag-contact-channels a {
    padding-right: 15px;
    padding-left: 15px;
  }
}

@media only screen and (max-width: 767px) {
  .hag-contact-hero-v1 .hag-subhero-content h1 {
    max-width: 92% !important;
    font-size: clamp(2.05rem, 10.5vw, 2.75rem) !important;
    line-height: 1.04 !important;
  }

  .hag-contact-intro-v1,
  .hag-contact-next-v1,
  .hag-contact-faq-v1 {
    padding: 74px 0 80px !important;
  }

  .hag-contact-intro-page-inner,
  .hag-contact-next-inner {
    width: calc(100% - 30px) !important;
    max-width: none !important;
  }

  .hag-contact-intro-page-inner {
    display: flex;
    flex-direction: column;
    gap: 42px;
    align-items: stretch;
  }

  .hag-contact-intro-page-copy h2,
  .hag-contact-next-head h2 {
    font-size: clamp(2.45rem, 12vw, 3.1rem) !important;
    line-height: 1.04 !important;
  }

  .hag-contact-intro-page-copy .hag-contact-intro-page-lead {
    font-size: 1rem !important;
  }

  .hag-contact-intro-page-side figure {
    height: 520px;
    border-radius: 22px;
  }

  .hag-contact-channels {
    width: calc(100% - 20px);
    margin-top: -38px;
    grid-template-columns: 1fr;
  }

  .hag-contact-channels a {
    padding: 20px 19px;
  }

  .hag-contact-channels a + a {
    border-top: 1px solid var(--hag-border-soft);
    border-left: 0;
  }

  .hag-contact-next-head {
    margin-bottom: 42px;
    text-align: center;
  }

  .hag-contact-next-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .hag-contact-next-grid article {
    min-height: 0;
    padding: 29px 26px 31px;
  }

  .hag-contact-next-grid article > span {
    margin-bottom: 27px;
  }

  .hag-contact-help {
    padding: 22px 20px;
  }

  .hag-contact-help ul {
    grid-template-columns: 1fr;
  }
}

@media only screen and (max-width: 420px) {
  .hag-contact-intro-page-inner,
  .hag-contact-next-inner {
    width: calc(100% - 24px) !important;
  }

  .hag-contact-intro-page-side figure {
    height: 460px;
  }
}
/* =========================================================
   IMPRESSUM & DATENSCHUTZ – gemeinsame Ergänzung
   ========================================================= */

.hag-legal-hero-v1 {
  background: #edf6f3;
  padding: clamp(78px, 8vw, 132px) 0 clamp(62px, 6vw, 96px);
}

.hag-legal-hero-inner,
.hag-legal-shell {
  width: min(1040px, calc(100% - 64px));
  margin: 0 auto;
}

.hag-legal-hero-inner .hag-page-eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
  color: #566143;
  font-family: "Montserrat", sans-serif;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .2em;
  line-height: 1.5;
  text-transform: uppercase;
}

.hag-legal-hero-inner .hag-page-eyebrow::before {
  content: "";
  width: 42px;
  height: 1px;
  flex: 0 0 42px;
  background: #84cfc6;
}

.hag-legal-hero-inner h1 {
  max-width: 820px;
  margin: 0;
  color: #566143;
  font-family: "Playfair Display", serif;
  font-size: clamp(3.5rem, 6.6vw, 6.4rem);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: .98;
}

.hag-legal-hero-inner > p {
  max-width: 720px;
  margin: 28px 0 0;
  color: #5e6257;
  font-family: "Montserrat", sans-serif;
  font-size: 1.05rem;
  line-height: 1.8;
}

.hag-legal-content-v1 {
  background: #fbf9f5;
  padding: clamp(70px, 7vw, 112px) 0 clamp(84px, 9vw, 140px);
}

.hag-legal-shell {
  color: #4f5549;
  font-family: "Montserrat", sans-serif;
}

.hag-legal-shell a {
  color: #566143;
  text-decoration: underline;
  text-decoration-color: #84cfc6;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.hag-legal-shell a:hover,
.hag-legal-shell a:focus-visible {
  color: #168f90;
}

.hag-legal-block {
  padding: 0 0 42px;
  margin: 0 0 42px;
  border-bottom: 1px solid rgba(86, 97, 67, .16);
  scroll-margin-top: 130px;
}

.hag-legal-block:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}

.hag-legal-block h2 {
  max-width: 900px;
  margin: 0 0 24px;
  color: #566143;
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem, 3.4vw, 3.1rem);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.12;
}

.hag-legal-block h3 {
  margin: 28px 0 12px;
  color: #566143;
  font-family: "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.6;
}

.hag-legal-block p,
.hag-legal-block li,
.hag-legal-block address {
  font-size: 1rem;
  line-height: 1.8;
}

.hag-legal-block p,
.hag-legal-block ul {
  margin: 0 0 18px;
}

.hag-legal-block p:last-child,
.hag-legal-block ul:last-child {
  margin-bottom: 0;
}

.hag-legal-block ul {
  padding-left: 1.3em;
}

.hag-legal-block li + li {
  margin-top: 7px;
}

.hag-legal-block address {
  margin: 0;
  font-style: normal;
}

.hag-legal-updated {
  margin: 0 0 34px;
  color: #777b70;
  font-size: .88rem;
  letter-spacing: .04em;
  line-height: 1.7;
}

.hag-legal-toc {
  margin: 0 0 64px;
  padding: 28px 30px;
  border-left: 3px solid #84cfc6;
  border-radius: 0 18px 18px 0;
  background: #f1eee6;
}

.hag-legal-toc > strong {
  display: block;
  margin-bottom: 14px;
  color: #566143;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .18em;
  line-height: 1.5;
  text-transform: uppercase;
}

.hag-legal-toc ol {
  columns: 2;
  column-gap: 44px;
  margin: 0;
  padding-left: 1.3em;
}

.hag-legal-toc li {
  break-inside: avoid;
  margin: 0 0 7px;
  font-size: .94rem;
  line-height: 1.65;
}

@media (max-width: 767px) {
  .hag-legal-hero-v1 {
    padding: 60px 0 52px;
  }

  .hag-legal-hero-inner,
  .hag-legal-shell {
    width: min(100% - 36px, 1040px);
  }

  .hag-legal-hero-inner .hag-page-eyebrow {
    gap: 10px;
    margin-bottom: 18px;
    font-size: .7rem;
    letter-spacing: .16em;
  }

  .hag-legal-hero-inner .hag-page-eyebrow::before {
    width: 28px;
    flex-basis: 28px;
  }

  .hag-legal-hero-inner h1 {
    font-size: clamp(2.8rem, 14vw, 4.2rem);
    line-height: 1.02;
  }

  .hag-legal-hero-inner > p {
    margin-top: 22px;
    font-size: 1rem;
  }

  .hag-legal-content-v1 {
    padding: 58px 0 80px;
  }

  .hag-legal-block {
    padding-bottom: 32px;
    margin-bottom: 32px;
    scroll-margin-top: 96px;
  }

  .hag-legal-block h2 {
    margin-bottom: 18px;
    font-size: clamp(1.8rem, 9vw, 2.5rem);
    overflow-wrap: anywhere;
  }

  .hag-legal-block p,
  .hag-legal-block li,
  .hag-legal-block address {
    font-size: 1rem;
    line-height: 1.75;
  }

  .hag-legal-toc {
    margin-bottom: 48px;
    padding: 24px 22px;
  }

  .hag-legal-toc ol {
    columns: 1;
  }
}

.hag-gallery-intro-inner {
  width: min(1200px, calc(100% - 48px));
  margin: 0 auto;
  display: block;
}

.hag-gallery-intro-copy {
  width: 100%;
}

.hag-gallery-intro-copy p {
  max-width: 1080px;
}
/* =========================================
   INDIVIDUELLE HERO-BILDPOSITIONEN
   ========================================= */

/* Echte Hochzeiten – Köpfe vollständig zeigen */
.hag-subhero-v1 .hag-subhero-image[src*="echte-hochzeiten-gardasee-brautpaar-schleier"] {
  object-position: center top !important;
}

/* Hochzeit zu zweit – Bild etwas weiter oben beginnen lassen */
.hag-subhero-v1 .hag-subhero-image[src*="hochzeit-zu-zweit-gardasee-brautpaar-see-panorama"] {
  object-position: center 35% !important;
}

/* Hochzeitslocations – Brautpaar am See: am oberen Bildrand beginnen */
.hag-subhero-v1 .hag-subhero-image[src*="hochzeitslocations-gardasee-brautpaar-see"] {
  object-position: center top !important;
}

/* Hochzeitslocations – Paar und Boote am unteren Bildrand zeigen */
.hag-subhero-v1 .hag-subhero-image[src*="gardasee-hochzeitslocation-hafen-bergpanorama"] {
  object-position: center bottom !important;
}

/* Kontakt – Dekoration und Korken: unteren Bildbereich zeigen */
.hag-subhero-v1 .hag-subhero-image[src*="kontakt-hochzeitsplanung-gardasee-dekoration-korken"] {
  object-position: center bottom !important;
}

/* Über Sina – Braut im See: unteren Bildbereich zeigen */
.hag-subhero-v1 .hag-subhero-image[src*="ueber-sina-hochzeit-gardasee-braut-im-see"] {
  object-position: center bottom !important;
}

/* Über Sina – Sina mit Brautpaar: oberen Bildbereich zeigen */
.hag-subhero-v1 .hag-subhero-image[src*="sina-mit-brautpaar-auf-hochzeitsfeier-gardasee"] {
  object-position: center top !important;
}
/* ==========================================================
   UNTERSEITEN-HEROS – FINALER DESKTOP-RESET
   überschreibt alte individuelle Zoom- und Höhenregeln
   ========================================================== */

@media only screen and (min-width: 960px) {

  /* Höherer Bildausschnitt: dadurch wird mehr vom Foto sichtbar */
  html body .hag-subhero-v1 .hag-subhero-stage {
    min-height: 560px !important;
    height: clamp(560px, 64vh, 700px) !important;
  }

  /* Sämtliche alten 124–136-%-Vergrößerungen neutralisieren */
  html body .hag-subhero-v1
  .hag-subhero-stage
  .hag-subhero-media
  .hag-subhero-image {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;

    transform: none !important;
    transition: opacity 1.1s ease !important;
  }

  html body .hag-subhero-v1
  .hag-subhero-image.is-active {
    transform: none !important;
  }

}
/* =========================================================
   FINALER HERO-FEINSCHLIFF – NUR DESKTOP
   Kleinere Prozentzahl = Motiv weiter nach unten
   Größere Prozentzahl = Motiv weiter nach oben
   ========================================================= */

@media (min-width: 960px) {

  /* Hochzeitsplanung – Bild 2 weiter nach unten */
  html body .hag-subhero-v1 .hag-subhero-image[src*="hochzeitsgesellschaft-gardasee-brautpaar-gaeste.webp"] {
    object-position: center 30% !important;
  }

  /* Hochzeitsplanung – Bild 3 weiter nach unten */
  html body .hag-subhero-v1 .hag-subhero-image[src*="hochzeitsplanung-gardasee-brautpaar-altstadt.webp"] {
    object-position: center 32% !important;
  }

  /* Standesamtliche Trauung – Bild 1 weiter nach oben */
  html body .hag-subhero-v1 .hag-subhero-image[src*="standesamtliche-trauung-gardasee-historischer-saal.webp"] {
    object-position: center 62% !important;
  }

  /* Freie Trauung – Bild 3 weiter nach unten */
  html body .hag-subhero-v1 .hag-subhero-image[src*="freie-trauung-gardasee-brautpaar-kuss.webp"] {
    object-position: center 32% !important;
  }

  /* Hochzeit zu zweit – Bild 1 weiter nach oben */
  html body .hag-subhero-v1 .hag-subhero-image[src*="hochzeit-zu-zweit-gardasee-brautpaar-see-panorama.webp"] {
    object-position: center 62% !important;
  }

  /* Über Sina – Bild 1 weiter nach oben */
  html body .hag-about-hero-v1 .hag-subhero-image[src*="sina-mit-brautpaar-auf-hochzeitsfeier-gardasee.webp"] {
    object-position: center 62% !important;
  }
}
@media (min-width: 960px) {
  html body .hag-about-hero-v1 .hag-subhero-image[src*="sina-mit-brautpaar-auf-hochzeitsfeier-gardasee.webp"] {
    object-position: center 12% !important;
  }
}