/* ==========================================================
   Naturheilpraxis Veronika Gärtner – ergänzende Styles
   Farben: Nachtblau #203664 · Gold #AF9151 · Blaugrün #BCD5D1 · Rosé #F4D2D4
   ========================================================== */

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Sprungmarken nicht unter dem festen Kopfbereich verstecken */
[id] { scroll-margin-top: 110px; }

/* ---------- Kopfbereich ---------- */
/* sticky am äußeren <header> des Template-Parts, sonst scrollt der Header mit */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
body.admin-bar header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) {
	/* Admin-Leiste scrollt auf schmalen Bildschirmen mit weg */
	body.admin-bar header.wp-block-template-part { top: 0; }
}
.vg-header { box-shadow: 0 1px 0 rgba(32, 54, 100, .08); }
.vg-brand__name a { color: inherit; text-decoration: none; }
.vg-brand .wp-block-site-logo img { border-radius: 50%; }
.vg-nav a { text-decoration: none; }
.vg-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--custom-gold); }
.vg-nav .wp-block-navigation__submenu-container {
	border: 0 !important;
	box-shadow: 0 10px 30px rgba(32, 54, 100, .12);
	padding: 8px 0;
	min-width: 220px !important;
}
.vg-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 18px; }
@media (max-width: 599px) {
	.vg-brand .wp-block-site-logo img { width: 48px !important; }
	.vg-brand__name { font-size: .95rem !important; }
	.vg-header-cta .wp-block-button__link { padding: .55rem 1rem; }
}

.vg-header-cta .wp-block-button__link { white-space: nowrap; }
.vg-header-cta { flex-shrink: 0; }
.vg-brand { flex-shrink: 0; }

/* Menü schon unter 1100px als Ausklappmenü zeigen */
@media (max-width: 1099px) {
	.vg-nav .wp-block-navigation__responsive-container-open { display: flex !important; }
	.vg-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.vg-nav .wp-block-navigation__responsive-container.is-menu-open { display: flex !important; }
}
.vg-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; }

/* ---------- Abschnitte allgemein ---------- */
.vg-section { padding-top: clamp(56px, 8vw, 110px); padding-bottom: clamp(56px, 8vw, 110px); }
.vg-kicker {
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: .8rem !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--custom-gold);
	margin-bottom: .4rem !important;
}
.vg-lead { font-size: 1.25rem; line-height: 1.6; }
.wp-block-heading { text-wrap: balance; }
.vg-section h2.wp-block-heading { font-size: clamp(1.9rem, 3.2vw, 2.6rem); }

/* Text-Link mit Pfeil */
.vg-more a {
	font-family: var(--wp--preset--font-family--work-sans);
	color: var(--wp--preset--color--custom-nachtblau);
	text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--custom-gold);
	padding-bottom: 2px;
}
.vg-more a::after { content: " →"; }
.vg-more a:hover { color: var(--wp--preset--color--custom-gold); }

/* ---------- Einstieg (Hero) ---------- */
.vg-hero.wp-block-cover { min-height: min(88vh, 760px) !important; }
.vg-hero .wp-block-cover__inner-container {
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin-inline: auto !important;
}
.vg-hero__box { max-width: 620px; margin-left: 0 !important; }
.vg-hero h1.wp-block-heading { font-size: clamp(2.4rem, 5.2vw, 4rem); line-height: 1.05; color: #fff; }
.vg-hero .vg-kicker { color: var(--wp--preset--color--custom-rose); }
.vg-hero__quote {
	font-style: italic;
	font-size: 1.3rem !important;
	border-left: 2px solid var(--wp--preset--color--custom-gold);
	padding-left: 1rem;
}
.vg-hero .is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.7); }
.vg-hero .is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.12); }

/* ---------- Schritte (Ablauf) ---------- */
.vg-steps { counter-reset: vgstep; }
.vg-step {
	background: #fff;
	border-radius: 14px;
	padding: 28px 26px !important;
	box-shadow: 0 6px 24px rgba(32, 54, 100, .07);
	height: 100%;
}
.vg-step__num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 50%;
	background: var(--wp--preset--color--custom-nachtblau);
	color: #fff !important;
	font-family: var(--wp--preset--font-family--work-sans);
	font-weight: 700;
	margin-bottom: .6rem !important;
}
.vg-step h3, .vg-step h4 { margin-top: 0; font-size: 1.2rem; }

/* ---------- Infokarten ---------- */
.vg-card {
	background: #fff;
	border-radius: 14px;
	padding: 28px 28px !important;
	height: 100%;
	box-shadow: 0 6px 24px rgba(32, 54, 100, .06);
}
.vg-card h3 { margin-top: 0; }
.vg-price {
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: 2.2rem !important;
	color: var(--wp--preset--color--custom-nachtblau);
	line-height: 1.1;
	margin: .2rem 0 !important;
}

/* ---------- Hinweis-Kasten ---------- */
.vg-note {
	border-left: 3px solid var(--wp--preset--color--custom-gold);
	background: var(--wp--preset--color--accent-5);
	padding: 18px 22px !important;
	border-radius: 0 10px 10px 0;
	font-size: 1rem;
}
.vg-note h3, .vg-note h4, .vg-note p:first-child { margin-top: 0; }

/* ---------- Symbole ---------- */
[class*="vg-icon-"]::before {
	content: "";
	display: block;
	width: 40px; height: 40px;
	margin-bottom: 14px;
	background-color: var(--wp--preset--color--custom-gold);
	-webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
	-webkit-mask-size: contain; mask-size: contain;
}
.vg-list-icons [class*="vg-icon-"] { display: flex; gap: 14px; align-items: flex-start; }
.vg-list-icons [class*="vg-icon-"]::before { width: 26px; height: 26px; flex: 0 0 26px; margin: 2px 0 0; }

/* ---------- Zeitleiste ---------- */
.vg-timeline {
	position: relative;
	padding-left: 34px !important;
	gap: 0 !important;
}
.vg-timeline::before {
	content: ""; position: absolute; left: 8px; top: 8px; bottom: 8px;
	width: 2px; background: var(--wp--preset--color--custom-gold); opacity: .6;
}
.vg-timeline__item { position: relative; padding: 0 0 22px !important; margin: 0 !important; }
.vg-timeline__item::before {
	content: ""; position: absolute; left: -32px; top: 6px;
	width: 14px; height: 14px; border-radius: 50%;
	background: #fff; border: 2px solid var(--wp--preset--color--custom-gold);
}
.vg-timeline__year {
	font-family: var(--wp--preset--font-family--work-sans);
	font-weight: 700;
	color: var(--wp--preset--color--custom-nachtblau);
	margin: 0 0 2px !important;
	font-size: 1rem;
}
.vg-timeline__text { margin: 0 !important; font-size: 1rem; }
@media (min-width: 782px) {
	.vg-timeline__item { display: grid; grid-template-columns: 130px 1fr; gap: 18px; }
}

/* ---------- Porträt ---------- */
.vg-portrait img { border-radius: 18px; box-shadow: 0 18px 40px rgba(32,54,100,.15); }
.vg-round img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }
.vg-quote {
	font-style: italic;
	font-size: 1.3rem !important;
	color: var(--wp--preset--color--custom-gold);
	line-height: 1.45;
}

/* ---------- Bilder ---------- */
.vg-rounded img { border-radius: 14px; }

/* ---------- Karte (Klick-Lösung) ---------- */
.vg-map {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 14px;
	overflow: hidden;
	background: var(--wp--preset--color--accent-1);
}
.vg-map__preview { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Karte bleibt sichtbar, Button und Hinweis in einem Balken unten */
.vg-map__overlay {
	position: absolute; left: 0; right: 0; bottom: 0;
	display: flex; flex-direction: row; align-items: center; gap: 16px;
	text-align: left; padding: 12px 16px;
	background: rgba(32, 54, 100, .88);
	color: #fff;
}
.vg-map__button { flex-shrink: 0; }
.vg-map__hint { margin: 0; font-size: .78rem; line-height: 1.35; }
@media (max-width: 599px) {
	/* schmale Bildschirme: Balken unter die Karte statt darüber */
	.vg-map:not(.is-loaded) { aspect-ratio: auto; }
	.vg-map:not(.is-loaded) .vg-map__preview { height: auto; aspect-ratio: 16 / 9; }
	.vg-map__overlay { position: static; padding: 10px 12px; gap: 12px; }
	.vg-map__button { padding: .5rem .9rem !important; font-size: .85rem !important; }
	.vg-map__hint { font-size: .72rem; }
}
.vg-map__hint a { color: #fff; }
.vg-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.vg-map__route { margin-top: 10px; font-family: var(--wp--preset--font-family--work-sans); font-size: .95rem; }
.vg-map__route a::after { content: " ↗"; }

/* ---------- Kontaktkacheln ---------- */
.vg-tile {
	background: #fff;
	border-radius: 14px;
	padding: 28px !important;
	height: 100%;
	text-align: left;
	box-shadow: 0 6px 24px rgba(32, 54, 100, .07);
	transition: transform .15s ease, box-shadow .15s ease;
}
.vg-tile:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(32, 54, 100, .12); }
.vg-tile h3 { margin: 0 0 4px; font-size: 1.15rem; }
.vg-tile p { margin: 0; }
.vg-tile a { color: var(--wp--preset--color--custom-nachtblau); font-family: var(--wp--preset--font-family--work-sans); font-size: 1.1rem; text-decoration: none; }
.vg-tile a:hover { color: var(--wp--preset--color--custom-gold); }

/* ---------- Unterseiten ---------- */
.vg-page-head .wp-block-post-title { font-size: clamp(2.2rem, 4vw, 3.2rem); margin: 0; }
.vg-toc { font-family: var(--wp--preset--font-family--work-sans); font-size: .95rem; }
.vg-toc a { text-decoration: none; color: var(--wp--preset--color--custom-nachtblau); }
.vg-toc a:hover { color: var(--wp--preset--color--custom-gold); }
.vg-legal h2 { font-size: 1.35rem; margin-top: 2.2rem; }
.vg-legal h3 { font-size: 1.1rem; margin-top: 1.6rem; }
.vg-legal p, .vg-legal li { font-size: 1rem; }

/* ---------- Fußbereich ---------- */
.vg-footer a { color: var(--wp--preset--color--custom-nachtblau); text-decoration: none; }
.vg-footer a:hover { color: var(--wp--preset--color--custom-gold); text-decoration: underline; }
.vg-footer__links p { margin: 0; }

/* ---------- Symbole (Masken) ---------- */
:root{
  --vg-i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h3l2 5-2.5 1.5a11 11 0 0 0 6 6L15 14l5 2v3a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
  --vg-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");
  --vg-i-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  --vg-i-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");
  --vg-i-hand: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 13V5.5a1.5 1.5 0 0 1 3 0V11m0-6.5a1.5 1.5 0 0 1 3 0V11m0-5a1.5 1.5 0 0 1 3 0V14a7 7 0 0 1-7 7h-.5a6 6 0 0 1-4.5-2l-3-3.5a1.6 1.6 0 0 1 2.3-2.2L8 15'/%3E%3C/svg%3E");
  --vg-i-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12c2.5-4 5-4 7.5 0s5 4 7.5 0 3.5-3 5-2'/%3E%3Cpath d='M2 17c2.5-3 5-3 7.5 0s5 3 7.5 0'/%3E%3C/svg%3E");
  --vg-i-circle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3C/svg%3E");
  --vg-i-leaf: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19C5 10 10 5 19 5c0 9-5 14-14 14z'/%3E%3Cpath d='M5 19l9-9'/%3E%3C/svg%3E");
  --vg-i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
  --vg-i-car: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 16V11l2-5h10l2 5v5'/%3E%3Cpath d='M3 16h18v3H3z'/%3E%3Ccircle cx='7.5' cy='13' r='1'/%3E%3Ccircle cx='16.5' cy='13' r='1'/%3E%3C/svg%3E");
  --vg-i-train: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='6' y='3' width='12' height='14' rx='3'/%3E%3Cpath d='M6 11h12M9 21l1.5-4M15 21l-1.5-4'/%3E%3Ccircle cx='9' cy='14' r='.8'/%3E%3Ccircle cx='15' cy='14' r='.8'/%3E%3C/svg%3E");
  --vg-i-bike: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='16' r='3.5'/%3E%3Ccircle cx='18' cy='16' r='3.5'/%3E%3Cpath d='M6 16l4-7h5l3 7M10 9l3 7M14 6h2'/%3E%3C/svg%3E");
  --vg-i-access: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='4.5' r='1.5'/%3E%3Cpath d='M7 8h10M12 8v6M12 14l-3 6M12 14l3 6'/%3E%3C/svg%3E");
  --vg-i-sofa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 11V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v3'/%3E%3Cpath d='M3 11h18v6H3zM5 17v2M19 17v2'/%3E%3C/svg%3E");
}
.vg-icon-phone::before{-webkit-mask-image:var(--vg-i-phone);mask-image:var(--vg-i-phone);}
.vg-icon-mail::before{-webkit-mask-image:var(--vg-i-mail);mask-image:var(--vg-i-mail);}
.vg-icon-clock::before{-webkit-mask-image:var(--vg-i-clock);mask-image:var(--vg-i-clock);}
.vg-icon-calendar::before{-webkit-mask-image:var(--vg-i-calendar);mask-image:var(--vg-i-calendar);}
.vg-icon-hand::before{-webkit-mask-image:var(--vg-i-hand);mask-image:var(--vg-i-hand);}
.vg-icon-wave::before{-webkit-mask-image:var(--vg-i-wave);mask-image:var(--vg-i-wave);}
.vg-icon-circle::before{-webkit-mask-image:var(--vg-i-circle);mask-image:var(--vg-i-circle);}
.vg-icon-leaf::before{-webkit-mask-image:var(--vg-i-leaf);mask-image:var(--vg-i-leaf);}
.vg-icon-pin::before{-webkit-mask-image:var(--vg-i-pin);mask-image:var(--vg-i-pin);}
.vg-icon-car::before{-webkit-mask-image:var(--vg-i-car);mask-image:var(--vg-i-car);}
.vg-icon-train::before{-webkit-mask-image:var(--vg-i-train);mask-image:var(--vg-i-train);}
.vg-icon-bike::before{-webkit-mask-image:var(--vg-i-bike);mask-image:var(--vg-i-bike);}
.vg-icon-access::before{-webkit-mask-image:var(--vg-i-access);mask-image:var(--vg-i-access);}
.vg-icon-sofa::before{-webkit-mask-image:var(--vg-i-sofa);mask-image:var(--vg-i-sofa);}

/* ---------- Feinschliff ---------- */
.wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.vg-section p, .vg-section li { text-wrap: wrap; }
.vg-ueber-bottom { margin-top: clamp(32px, 5vw, 64px) !important; }
.vg-section .wp-block-columns + .wp-block-columns { margin-top: 28px; }
.vg-section .vg-note { margin-top: 28px; }
.vg-list-leaf { list-style: none; padding-left: 0; }
.vg-list-leaf li { position: relative; padding-left: 30px; margin-bottom: .45rem; }
.vg-list-leaf li::before {
	content: ""; position: absolute; left: 0; top: .3em;
	width: 18px; height: 18px;
	background-color: var(--wp--preset--color--custom-gold);
	-webkit-mask: var(--vg-i-leaf) no-repeat center / contain;
	mask: var(--vg-i-leaf) no-repeat center / contain;
}
.vg-tiles-row .wp-block-column { display: flex; }
.vg-banner img { width: 100%; max-height: 420px; object-fit: cover; }
.vg-hero .wp-block-cover__inner-container > .vg-hero__box { margin-left: 0 !important; margin-right: auto !important; }
.wp-site-blocks > footer, .wp-site-blocks > main + footer { margin-block-start: 0 !important; }
.wp-site-blocks > main { margin-block-start: 0 !important; }
.vg-nav .is-menu-open .wp-block-navigation__submenu-container { box-shadow: none !important; padding: 0 !important; }
.vg-page-content .vg-section { padding-top: clamp(40px, 5vw, 72px); padding-bottom: clamp(40px, 5vw, 72px); }
.vg-page-content h2.wp-block-heading { font-size: clamp(1.7rem, 2.6vw, 2.2rem); }
.vg-page-head .wp-block-post-title { max-width: var(--wp--style--global--wide-size, 1200px); margin-inline: auto !important; }
.vg-page-content .vg-legal h2.wp-block-heading { font-size: 1.35rem; margin-top: 2.2rem; }
.vg-hero.wp-block-cover.has-custom-content-position .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: var(--wp--style--global--wide-size, 1200px) !important;
	margin-inline: auto !important;
}

/* ---------- Praxis: Bilderreihe (Gebäude, Loisach, Wartebereich) ---------- */
.vg-praxis-bilder { margin-top: 28px !important; gap: clamp(8px, 1.5vw, 20px) !important; }
.vg-praxis-bilder.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
	/* immer drei nebeneinander, auch auf dem Handy */
	width: calc((100% - 2 * clamp(8px, 1.5vw, 20px)) / 3) !important;
	flex-grow: 0;
}
.vg-praxis-bilder figure.wp-block-image img {
	aspect-ratio: 4 / 3; width: 100%; height: auto; object-fit: cover;
	border-radius: 14px;
	transition: transform .25s ease, box-shadow .25s ease;
}
.vg-praxis-bilder figure.wp-block-image:hover img { transform: scale(1.02); box-shadow: 0 6px 18px rgba(0,0,0,.12); }
@media (max-width: 599px) { .vg-praxis-bilder figure.wp-block-image img { border-radius: 8px; } }
@media (prefers-reduced-motion: reduce) { .vg-praxis-bilder figure.wp-block-image img { transition: none; } }
/* vergrößerte Ansicht (Lightbox): Bild vollständig zeigen */
.wp-lightbox-overlay img { object-fit: contain !important; }

/* ---------- Einstieg: H1 und Leitspruch (25.10.2026) ----------
   H1 = Berufsbezeichnung (sieht aus wie die kleine Zeile darüber),
   Leitspruch „Zeit und Raum für Dich“ = Absatz mit der Optik der großen Überschrift. */
.vg-hero h1.vg-kicker {
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: .8rem !important;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-wrap: pretty;
	color: var(--wp--preset--color--custom-rose);
	margin-top: 0;
}
/* Box darf breiter werden, damit der Leitspruch nur bei Platzmangel umbricht;
   alle anderen Elemente bleiben bei 620 px. */
.vg-hero .wp-block-cover__inner-container > .vg-hero__box { max-width: none; }
.vg-hero__box > :not(.vg-hero__title) { max-width: 620px; box-sizing: border-box; }
.vg-hero .vg-hero__title {
	font-family: var(--wp--preset--font-family--work-sans);
	font-size: clamp(2.4rem, 5.2vw, 4rem);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -0.1px;
	color: #fff;
	margin-bottom: 0;
	width: max-content;
	max-width: 100%;
	text-wrap: balance;
}

/* ---------- Kopfbereich auf schmalen Handys (25.10.2026) ----------
   Logo, Name, Menü und „Termin“ passen sonst erst ab ca. 400 px nebeneinander. */
@media (max-width: 480px) {
	.vg-header { padding-left: 16px !important; padding-right: 16px !important; }
	.vg-header .alignwide { gap: 12px !important; }
	.vg-header .alignwide > .wp-block-group:last-child { gap: 12px !important; }
	.vg-brand { gap: 10px !important; }
	.vg-brand .wp-block-site-logo img { width: 40px !important; }
}
@media (max-width: 359px) {
	.vg-header { padding-left: 12px !important; padding-right: 12px !important; }
	.vg-header .alignwide, .vg-header .alignwide > .wp-block-group:last-child { gap: 10px !important; }
	.vg-brand { gap: 8px !important; }
	.vg-brand .wp-block-site-logo img { width: 36px !important; }
	.vg-brand__name { font-size: .85rem !important; }
	.vg-header-cta .wp-block-button__link { padding: .5rem .75rem; }
}

/* ---------- Hinweisband für aktuelle Termine (26.10.2026) ---------- */
.vg-band {
	background: var(--wp--preset--color--custom-rose, #F4D2D4);
	color: var(--wp--preset--color--custom-nachtblau, #203664);
	font-family: var(--wp--preset--font-family--work-sans), sans-serif;
	font-size: .9rem;
	line-height: 1.4;
}
.vg-band__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 9px 24px;
	text-align: center;
}
.vg-band__inner > * + *::before { content: "·"; margin: 0 .5em; font-weight: 400; color: var(--wp--preset--color--custom-gold, #AF9151); }
.vg-band__title { font-weight: 700; }
.vg-band__link { color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.vg-band__link:hover, .vg-band__link:focus-visible { color: var(--wp--preset--color--custom-gold, #AF9151); }
.vg-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 1199px) {
	.vg-band__detail { display: none; }
}
@media (max-width: 600px) {
	.vg-band { font-size: .82rem; }
	.vg-band__inner { padding: 8px 16px; }
	.vg-band__when { display: block; }
	.vg-band__inner > .vg-band__when::before { content: none; }
}
