/*
Theme Name: Vespisti Isarwinkel Komfort
Description: Komfortables Onepage-Theme für Vespisti Isarwinkel mit Ausfahrten, Lieblingszielen, Galerie, SEO und Customizer.
Version: 2.4.4-rc1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: vespisti
*/
:root {
	--g:#172b20;
	--o:#5e653d;
	--c:#f4e4bf;
	--p:#fbf2dc;
	--r:#a5432d;
	--b:#4b2918;
	--max:1180px
}

* {
	box-sizing:border-box
}

html {
	scroll-behavior:smooth
}

body {
	margin:0;
	background:var(--p);
	color:#29271f;
	font:17px/1.65 Georgia,serif
}

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

.wrap {
	width:min(var(--max),calc(100% - 36px));
	margin:auto
}

a {
	color:inherit
}

.header {
	position:sticky;
	top:0;
	z-index:30;
	background:rgba(251,242,220,.96);
	border-top:5px solid var(--g);
	box-shadow:0 2px 12px #0001
}

.nav {
	height:78px;
	display:flex;
	align-items:center;
	gap:24px
}

.brand {
	display:flex;
	align-items:center;
	text-decoration:none;
	margin-right:auto;
	font:bold 18px Arial
}

.brand img {
	width:66px;
	height:66px;
	object-fit:contain;
	margin-right:10px
}

.links {
	display:flex;
	gap:22px
}

.links a {
	text-decoration:none;
	text-transform:uppercase;
	font:bold 13px Arial
}

.hamb {
	display:none;
	background:none;
	border:0;
	font-size:25px
}

.hero {
	position:relative;
	overflow:hidden;
	background:linear-gradient(115deg,#172b20 10%,#314831 70%,#74764b);
	color:var(--c)
}

.hero:after {
	content:"";
	position:absolute;
	inset:0;
	opacity:.1;
	background:repeating-linear-gradient(0deg,transparent 0 4px,#fff 5px)
}

.hero-in {
	min-height:690px;
	display:grid;
	grid-template-columns:420px 1fr;
	gap:65px;
	align-items:center;
	position:relative;
	z-index:2
}

.logo {
	filter:drop-shadow(0 18px 18px #0006)
}

.ey {
	font:bold 13px Arial;
	text-transform:uppercase;
	letter-spacing:3px;
	color:#d7c783
}

.hero h1 {
	font-size:clamp(3.4rem,7vw,6.7rem);
	line-height:.9;
	margin:.15em 0;
	color:#fff0c7
}

.script {
	font-style:italic;
	font-size:1.8rem;
	color:#d7c783
}

.hero p {
	max-width:650px;
	font-size:1.2rem
}

.btn {
	display:inline-block;
	padding:14px 23px;
	margin-top:12px;
	background:var(--r);
	color:white;
	border:2px solid #e1b58d;
	box-shadow:4px 4px 0 #552415;
	text-decoration:none;
	text-transform:uppercase;
	font:bold 14px Arial;
	border-radius:4px
}

.section {
	padding:82px 0
}

.alt {
	background:#ead8b3
}

.dark {
	background:var(--g);
	color:var(--c)
}

.kicker {
	font:bold 13px Arial;
	text-transform:uppercase;
	letter-spacing:2px;
	color:var(--r)
}

h2 {
	font-size:clamp(2.4rem,5vw,4.1rem);
	line-height:1.05;
	margin:.15em 0 .45em;
	color:var(--g)
}

.dark h2 {
	color:var(--c)
}

.lead {
	font-size:1.22rem;
	max-width:850px
}

.two {
	display:grid;
	grid-template-columns:1.3fr .7fr;
	gap:55px
}

.note {
	background:#fff0cb;
	padding:28px;
	box-shadow:0 9px 22px #0002;
	transform:rotate(1deg)
}

.note h3,.card h3,.event h3 {
	font-family:Arial;
	text-transform:uppercase;
	color:var(--g)
}

.next {
	background:#fff0cb;
	border-left:8px solid var(--r);
	padding:28px;
	margin:30px 0;
	display:flex;
	gap:28px;
	justify-content:space-between;
	align-items:center
}

.next-date {
	font:bold 13px Arial;
	text-transform:uppercase;
	color:var(--r)
}

.grid3 {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:23px
}

.event,.card {
	background:#fff4da;
	padding:25px;
	border:1px solid #d9c59c
}

.event img,.card img {
	aspect-ratio:16/9;
	object-fit:cover;
	width:100%;
	margin-bottom:12px
}

.meta {
	font:bold 12px Arial;
	text-transform:uppercase;
	color:var(--r)
}

.chips {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:25px
}

.chips span {
	border:1px solid #cbbd8e;
	padding:8px 13px;
	border-radius:999px
}

.grid4 {
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px
}

.gallery {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:12px
}

.gallery img {
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover
}

.empty {
	padding:35px;
	background:#ffffff55;
	border:1px dashed #9d8c67
}

.cta {
	text-align:center;
	background:var(--o);
	color:white;
	padding:85px 20px
}

.cta h2 {
	color:white
}

.footer {
	background:#102219;
	color:#e9d9b8;
	padding:40px 0
}

.foot {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:25px
}

.foot img {
	width:105px
}

.legal {
	font-size:14px
}

.content {
	padding:75px 0;
	min-height:60vh
}

.content h1 {
	font-size:3rem;
	color:var(--g)
}

@media(max-width:900px) {
	.hero-in,.two {
		grid-template-columns:1fr
	}

	.hero-in {
		text-align:center;
		padding:45px 0
	}

	.logo {
		max-width:330px;
		margin:auto
	}

	.grid3,.grid4 {
		grid-template-columns:1fr 1fr
	}

	.links {
		display:none;
		position:absolute;
		top:78px;
		left:0;
		right:0;
		background:var(--p);
		padding:20px;
		flex-direction:column
	}

	.links.open {
		display:flex
	}

	.hamb {
		display:block
	}

	.next {
		display:block
	}

	.gallery {
		grid-template-columns:1fr 1fr
	}
}

@media(max-width:580px) {
	.grid3,.grid4,.gallery {
		grid-template-columns:1fr
	}

	.brand span {
		display:none
	}

	.hero h1 {
		font-size:3.2rem
	}

	.section {
		padding:58px 0
	}

	.foot {
		display:block;
		text-align:center
	}
}



/* V2.1.4 – Typografie für normale Inhaltsseiten wie Impressum und Datenschutz */
body.page:not(.home) .content-wrap,
body.page:not(.home) .page-content,
body.page:not(.home) main article,
body.page:not(.home) main > .wrap {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

body.page:not(.home) main h1,
body.page:not(.home) article h1 {
    font-size: clamp(2rem, 4vw, 2.5rem);
    line-height: 1.15;
    margin-bottom: 1.25rem;
}

body.page:not(.home) main h2,
body.page:not(.home) article h2 {
    font-size: clamp(1.45rem, 2.6vw, 1.7rem);
    line-height: 1.25;
    margin-top: 2.2rem;
    margin-bottom: 0.8rem;
}

body.page:not(.home) main h3,
body.page:not(.home) article h3 {
    font-size: clamp(1.2rem, 2vw, 1.4rem);
    line-height: 1.3;
    margin-top: 1.8rem;
    margin-bottom: 0.65rem;
}

body.page:not(.home) main p,
body.page:not(.home) main li,
body.page:not(.home) article p,
body.page:not(.home) article li {
    font-size: 1.0625rem;
    line-height: 1.7;
}

@media (max-width: 600px) {
    body.page:not(.home) main h1,
    body.page:not(.home) article h1 { font-size: 2rem; }

    body.page:not(.home) main h2,
    body.page:not(.home) article h2 { font-size: 1.45rem; }

    body.page:not(.home) main h3,
    body.page:not(.home) article h3 { font-size: 1.2rem; }

    body.page:not(.home) main p,
    body.page:not(.home) main li,
    body.page:not(.home) article p,
    body.page:not(.home) article li { font-size: 1rem; }
}

/* V2.1.6 Lieblingsziel */
.vi-favorite-single{max-width:980px;margin:auto;padding:56px 24px 80px}.vi-favorite-single h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.08}.vi-favorite-teaser{font-size:1.25rem;line-height:1.6;margin:18px 0 30px}.vi-favorite-hero img{width:100%;height:auto;border-radius:18px}.vi-favorite-content{max-width:800px;font-size:1.075rem;line-height:1.75}.vi-favorite-content img{max-width:100%;height:auto;border-radius:14px}

/* V2.1.8 – Untertitel für Lieblingsziel-Detailseiten */
.vi-favorite-subtitle{
  font-size:clamp(1.15rem,2.2vw,1.4rem);
  line-height:1.45;
  font-weight:500;
  margin:.55rem 0 1.8rem;
  opacity:.86;
}
@media(max-width:600px){
  .vi-favorite-subtitle{font-size:1.1rem;margin-bottom:1.35rem}
}

/* V2.1.9 – Sprungmarken */
#lieblingsziele{scroll-margin-top:100px}.vi-section-anchor{height:0;scroll-margin-top:100px}

/* V2.1.11 – externer Link am Ende eines Lieblingsziels */
.vi-favorite-more{max-width:800px;margin:2.2rem 0 0}
.vi-favorite-more__link{
 display:inline-flex;align-items:center;gap:.45em;
 padding:.8rem 1.15rem;border-radius:999px;
 text-decoration:none;font-weight:700;
 transition:transform .15s ease,opacity .15s ease;
}
.vi-favorite-more__link:hover{transform:translateY(-1px);opacity:.9}

/* V2.1.12 – Abschlussnavigation Lieblingsziel */
.vi-favorite-actions{
 max-width:800px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:1.25rem;
 margin-top:2.5rem;
 padding-top:1.5rem;
 border-top:1px solid rgba(0,0,0,.12);
}
.vi-favorite-actions .vi-favorite-more{margin:0}
.vi-favorite-back-bottom{
 margin-left:auto;
 text-decoration:none;
 font-weight:600;
 white-space:nowrap;
}
@media(max-width:600px){
 .vi-favorite-actions{flex-direction:column;align-items:stretch}
 .vi-favorite-back-bottom{margin-left:0;text-align:right;white-space:normal}
}

/* V2.1.13 – Termine */
.vi-events-home{padding:70px 24px}
.vi-events-home__inner,.vi-events-archive,.vi-event-single{max-width:1100px;margin:0 auto}
.vi-event-card{display:grid;grid-template-columns:minmax(110px,150px) 1fr;gap:24px;padding:26px;border-radius:18px;margin-top:24px}
.vi-event-datebox{text-align:center}
.vi-event-datebox strong{display:block;font-size:2rem;line-height:1}
.vi-event-datebox span{display:block;margin-top:.35rem}
.vi-event-meta{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;margin:.7rem 0 1rem}
.vi-event-link{font-weight:700;text-decoration:none}
.vi-events-archive{padding:56px 24px 80px}
.vi-events-list{display:grid;gap:18px;margin:24px 0 48px}
.vi-event-single{padding:56px 24px 80px}
.vi-event-single__hero img{width:100%;height:auto;border-radius:18px}
.vi-event-single__content{max-width:800px;font-size:1.075rem;line-height:1.75}
.vi-event-single__meta{max-width:800px;padding:18px 0;margin:10px 0 28px;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)}
.vi-event-actions{max-width:800px;display:flex;justify-content:space-between;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.12)}
@media(max-width:650px){.vi-event-card{grid-template-columns:1fr}.vi-event-datebox{text-align:left}.vi-event-actions{flex-direction:column}.vi-events-home{padding:50px 18px}}

/* V2.1.14 – Veranstalter bei Terminen */
.vi-event-organizer{font-weight:600}
.vi-event-external-note{max-width:800px;margin:1.5rem 0;padding:1rem 1.15rem;border-radius:12px;background:rgba(0,0,0,.045);line-height:1.6}

/* V2.1.15 – Feinschliff Terminbereich */
.vi-events-home{
 padding-top:42px;
}
.vi-event-card{
 border:1px solid rgba(80,24,92,.22);
 box-shadow:none;
}
.vi-event-datebox{
 display:flex;
 flex-direction:column;
 justify-content:center;
 align-self:stretch;
 min-height:100%;
}
.vi-events-home__inner > .vi-event-link,
.vi-events-home__inner > p:last-child{
 margin-top:1.25rem;
}
@media(max-width:650px){
 .vi-events-home{padding-top:34px}
 .vi-event-datebox{
  align-self:auto;
  min-height:0;
  justify-content:flex-start;
 }
}

/* V2.1.16 – Terminbereich auf gemeinsame Inhaltsflucht */
.vi-events-home{
 padding-left:0;
 padding-right:0;
}
.vi-events-home__inner{
 width:100%;
 max-width:none;
 margin-left:0;
 margin-right:0;
 padding-left:0;
 padding-right:0;
}

/* V2.1.17 – Adresse & Navigation bei Lieblingszielen */
.vi-favorite-address{margin:.2rem 0 1.6rem;font-size:1rem;line-height:1.5}
.vi-favorite-address a{text-decoration:none;font-weight:600}
.vi-favorite-address a:hover{text-decoration:underline}

/* V2.1.21 – Ausfahrten / Tourenmodul */
.vi-tour-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:1.2rem 0 1.4rem}
.vi-tour-fact{padding:14px 16px;border:1px solid rgba(0,0,0,.12);border-radius:12px}
.vi-tour-fact strong,.vi-tour-route strong{display:block;margin-bottom:.25rem}
.vi-tour-route{margin:0 0 1.7rem;padding:14px 16px;border-left:3px solid currentColor}
.vi-tour-map{margin:1.5rem 0 2rem}.vi-tour-map img{display:block;width:100%;height:auto;border-radius:16px}
.vi-tour-map-note{font-size:.9rem;opacity:.72;margin-top:.45rem}
@media(max-width:700px){.vi-tour-facts{grid-template-columns:1fr}}

/* V2.1.22 – optionale Tour-Verknüpfung bei Terminen */
.vi-event-tour{max-width:800px;margin:1.5rem 0;padding:18px;border:1px solid rgba(80,24,92,.22);border-radius:14px}
.vi-event-tour h3{margin:.15rem 0 .5rem}
.vi-event-tour__facts{margin:.35rem 0 .8rem;opacity:.82}

/* V2.1.23 – Tourendetails Backend/Teaserkachel */
.vi-tour-card-image img{width:100%;height:auto;display:block}

/* V2.1.26 – mehrere kommende Termine auf Startseite */
.vi-events-home .vi-events-list{display:grid;gap:18px;margin-top:24px}
.vi-events-home .vi-event-card{margin-top:0}

/* V2.1.27 – Rückweg Tour <-> Termin */
.vi-tour-backnav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.12)}
.vi-tour-backnav a{text-decoration:none;font-weight:600}
@media(max-width:650px){.vi-tour-backnav{flex-direction:column;align-items:flex-start}}

/* V2.1.28 – zusätzliche Terminübersicht in der Rücknavigation */
.vi-tour-backnav{flex-wrap:wrap}
.vi-tour-backnav__overview{margin-left:auto}
@media(max-width:650px){.vi-tour-backnav__overview{margin-left:0}}

/* V2.1.29 – klickbare Termintitel */
.vi-event-card h3 a{color:inherit;text-decoration:none}
.vi-event-card h3 a:hover,.vi-event-card h3 a:focus{text-decoration:underline}

.vi-favorite-card-subtitle{font-weight:600;margin:.2rem 0 .45rem}

/* V2.1.35 – „Mehr erfahren“ als sichtbarer Button auf Lieblingsziel-Detailseiten */
.vi-favorite-more{
 display:inline-flex;
 align-items:center;
 gap:.4rem;
 margin:1.5rem 0 .75rem;
 padding:.72rem 1.15rem;
 border:1px solid currentColor;
 border-radius:999px;
 text-decoration:none;
 font-weight:700;
 line-height:1.2;
 transition:transform .15s ease,opacity .15s ease;
}
.vi-favorite-more:hover,.vi-favorite-more:focus{
 transform:translateY(-1px);
 text-decoration:none;
 opacity:.82;
}

/* V2.1.39 – alle „Zurück zu …“-Links als einheitliche Buttons */
.vi-back-button,
.vi-tour-backnav a,
.vi-event-actions a{
 display:inline-flex;
 align-items:center;
 gap:.4rem;
 padding:.68rem 1.05rem;
 border:1px solid currentColor;
 border-radius:999px;
 text-decoration:none;
 font-weight:700;
 line-height:1.2;
 transition:transform .15s ease,opacity .15s ease;
}
.vi-back-button:hover,.vi-back-button:focus,
.vi-tour-backnav a:hover,.vi-tour-backnav a:focus,
.vi-event-actions a:hover,.vi-event-actions a:focus{
 transform:translateY(-1px);
 text-decoration:none;
 opacity:.82;
}

/* V2.1.40 – „Tour & Route ansehen“ im einheitlichen Button-Stil */
.vi-tour-route-button{
 display:inline-flex;
 align-items:center;
 gap:.4rem;
 padding:.68rem 1.05rem;
 border:1px solid currentColor;
 border-radius:999px;
 text-decoration:none;
 font-weight:700;
 line-height:1.2;
 transition:transform .15s ease,opacity .15s ease;
}
.vi-tour-route-button:hover,.vi-tour-route-button:focus{
 transform:translateY(-1px);
 text-decoration:none;
 opacity:.82;
}

.vi-action-button,.vi-event-link{display:inline-flex;align-items:center;gap:.4rem;padding:.68rem 1.05rem;border:1px solid currentColor;border-radius:999px;text-decoration:none;font-weight:700;line-height:1.2;transition:transform .15s ease,opacity .15s ease}
.vi-action-button:hover,.vi-action-button:focus,.vi-event-link:hover,.vi-event-link:focus{transform:translateY(-1px);text-decoration:none;opacity:.82}

/* Sprint: eindeutige Linktexte fuer Suchmaschinen/KI/Screenreader.
   Ergaenzt Kacheln mit gleichlautendem Button-Text (z.B. "Ziel ansehen")
   unsichtbar um den jeweiligen Titel, ohne das sichtbare Design zu aendern. */
.vi-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.links .menu{display:contents;list-style:none;margin:0;padding:0}.links .menu li{margin:0;padding:0}

.vi-related-destinations,.vi-related-tours{margin-top:2.5rem}.vi-tour-destination-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 18px;margin-top:10px}.vi-tour-destination-checks label{display:flex;gap:8px;align-items:flex-start}

/* V2.1.47 – „Zurück zu den Lieblingszielen“ sicher als Button */
.vi-favorite-back-bottom{
 display:inline-flex;
 align-items:center;
 gap:.4rem;
 padding:.68rem 1.05rem;
 border:1px solid currentColor;
 border-radius:999px;
 text-decoration:none;
 font-weight:700;
 line-height:1.2;
 transition:transform .15s ease,opacity .15s ease;
}
.vi-favorite-back-bottom:hover,.vi-favorite-back-bottom:focus{
 transform:translateY(-1px);
 text-decoration:none;
 opacity:.82;
}

/* V2.2.0 – konsolidierte Komponentenregeln */
.vi-back-button,
.vi-tour-backnav a,
.vi-event-actions a,
.vi-action-button,
.vi-event-link,
.vi-favorite-back-bottom,
.vi-tour-route-button,
.vi-favorite-more__link{
 display:inline-flex;
 align-items:center;
 gap:.4rem;
 padding:.68rem 1.05rem;
 border:1px solid currentColor;
 border-radius:999px;
 text-decoration:none;
 font-weight:700;
 line-height:1.2;
 transition:transform .15s ease,opacity .15s ease;
}
.vi-back-button:hover,.vi-back-button:focus,
.vi-tour-backnav a:hover,.vi-tour-backnav a:focus,
.vi-event-actions a:hover,.vi-event-actions a:focus,
.vi-action-button:hover,.vi-action-button:focus,
.vi-event-link:hover,.vi-event-link:focus,
.vi-favorite-back-bottom:hover,.vi-favorite-back-bottom:focus,
.vi-tour-route-button:hover,.vi-tour-route-button:focus,
.vi-favorite-more__link:hover,.vi-favorite-more__link:focus{
 transform:translateY(-1px);
 text-decoration:none;
 opacity:.82;
}

/* V2.2.1 – Korrektur: „Mehr erfahren“ nur mit einer Button-Kontur */
.vi-favorite-more{
 border:0 !important;
 outline:0 !important;
 box-shadow:none !important;
 background:transparent !important;
 padding:0 !important;
 border-radius:0 !important;
}
.vi-favorite-more__link{
 box-shadow:none !important;
 outline:none;
}


/* V2.2.2 – B196 Themenseite */
body.page-b196 .content{padding-top:0}
.vi-b196-hero{background:var(--g);color:var(--c);padding:70px 0 62px;border-bottom:6px solid var(--r)}
.vi-b196-hero .wrap{max-width:900px}.vi-b196-kicker{font:bold 13px Arial;text-transform:uppercase;letter-spacing:2px;color:#d7c783}
.vi-b196-hero h1{color:#fff0c7;font-size:clamp(2.5rem,6vw,4.8rem);line-height:1.02;margin:.18em 0 .3em}
.vi-b196-hero p{font-size:1.25rem;max-width:760px;margin:0}.vi-b196-article{max-width:820px;margin:auto;padding:55px 0 80px}
.vi-b196-article h2{font-size:clamp(1.65rem,3vw,2.25rem);margin-top:2.4rem}.vi-b196-article p,.vi-b196-article li{font-size:1.075rem;line-height:1.78}
.vi-b196-callout{margin:2.5rem 0;padding:28px 30px;background:#ead8b3;border-left:7px solid var(--r);box-shadow:0 8px 22px #0001}
.vi-b196-callout h2{margin-top:0}.vi-b196-appeal{margin-top:3.2rem;padding:34px;background:#fff0cb;border:1px solid #d9c59c}
.vi-b196-appeal h2{margin-top:0}.vi-b196-sources{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.15);font-size:.92rem}
.vi-b196-sources p{margin:0;font-size:inherit}
@media(max-width:600px){.vi-b196-hero{padding:48px 0 42px}.vi-b196-article{padding:38px 0 60px}.vi-b196-callout,.vi-b196-appeal{padding:22px}}

/* B196 feature image – v2.2.4 */
.vi-b196-feature-image,.page-featured-image,body.page:not(.home) .content figure.wp-block-image{width:100%;max-width:100%;margin:0 0 2.5rem;overflow:hidden;border-radius:18px;box-shadow:0 14px 34px rgba(0,0,0,.14);background:#fff}
body.page:not(.home) .content .wp-block-image.aligncenter,body.page:not(.home) .content .wp-block-image.alignwide,body.page:not(.home) .content .wp-block-image.alignfull{margin-left:auto;margin-right:auto}
.vi-b196-feature-image img,.page-featured-image img,body.page:not(.home) .content figure.wp-block-image img{display:block;width:100%;height:auto}
body.page:not(.home) .content img[class*="wp-image-"]{display:block;width:100%;height:auto}
body.page:not(.home) .content p > img[class*="wp-image-"]:only-child{margin:0 0 2.5rem;border-radius:18px;box-shadow:0 14px 34px rgba(0,0,0,.14);background:#fff}
.vi-b196-feature-image figcaption,.page-featured-image figcaption,body.page:not(.home) .content .wp-block-image figcaption{padding:.7rem 1rem;font-size:.88rem;line-height:1.45;opacity:.72}
@media (max-width:700px){.vi-b196-feature-image,.page-featured-image,body.page:not(.home) .content figure.wp-block-image{margin-bottom:1.7rem;border-radius:12px}body.page:not(.home) .content p > img[class*="wp-image-"]:only-child{margin-bottom:1.7rem;border-radius:12px}.vi-b196-feature-image figcaption,.page-featured-image figcaption,body.page:not(.home) .content .wp-block-image figcaption{font-size:.8rem}}

/* Sprint 2.4.3e – lange Seitentitel nur bei echtem Platzmangel umbrechen */
body.page:not(.home) main h1,
.vi-b196-hero h1,
.vi-gruss-hero h1{
 overflow-wrap:break-word;
 hyphens:auto;
}

/* Sprint 2.4.2a/b – ruhigeres Kartenbild in den Inhaltsarchiven */
body.post-type-archive-ausfahrt .grid4 > .card,body.post-type-archive-lieblingsziel .grid4 > .card{padding-bottom:32px}
body.post-type-archive-ausfahrt .vi-tour-card-image,body.post-type-archive-lieblingsziel .vi-tour-card-image{display:block;overflow:hidden;margin-bottom:20px}
body.post-type-archive-ausfahrt .vi-tour-card-image img,body.post-type-archive-lieblingsziel .vi-tour-card-image img{display:block;margin-bottom:0;transition:transform .4s ease}
body.post-type-archive-ausfahrt .grid4 > .card > h2,body.post-type-archive-lieblingsziel .grid4 > .card > h2{margin:0 0 .75rem;font-size:1.55rem;font-weight:600;line-height:1.3}
body.post-type-archive-ausfahrt .grid4 > .card > h2 + p,body.post-type-archive-lieblingsziel .grid4 > .card > h2 + p,body.post-type-archive-lieblingsziel .grid4 > .card > .vi-favorite-card-subtitle + p{margin:0 0 1.1rem}
body.post-type-archive-ausfahrt .grid4 > .card > p:last-child,body.post-type-archive-lieblingsziel .grid4 > .card > p:last-child{margin:.25rem 0 0}
body.post-type-archive-lieblingsziel .vi-favorite-card-subtitle{margin:0 0 .8rem}
@media (hover:hover) and (pointer:fine){body.post-type-archive-ausfahrt .vi-tour-card-image:hover img,body.post-type-archive-ausfahrt .vi-tour-card-image:focus img,body.post-type-archive-lieblingsziel .vi-tour-card-image:hover img,body.post-type-archive-lieblingsziel .vi-tour-card-image:focus img{transform:scale(1.04)}}
@media (max-width:580px){body.post-type-archive-ausfahrt .grid4 > .card,body.post-type-archive-lieblingsziel .grid4 > .card{padding-bottom:28px}body.post-type-archive-ausfahrt .vi-tour-card-image,body.post-type-archive-lieblingsziel .vi-tour-card-image{margin-bottom:16px}body.post-type-archive-ausfahrt .grid4 > .card > h2,body.post-type-archive-lieblingsziel .grid4 > .card > h2{font-size:1.3rem}}

/* V2.2.5 – Vespa-Wetter auf der Startseite */
.vi-vespa-weather{padding:0 0 34px;background:var(--paper,#f6f0e3)}
.vi-weather-card{position:relative;overflow:hidden;display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:center;padding:30px 34px;border:1px solid rgba(74,55,38,.16);border-radius:26px;background:rgba(255,255,255,.58);box-shadow:0 12px 34px rgba(58,43,30,.08)}
.vi-weather-card:after{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(74,55,38,.10);border-radius:50%;right:-85px;top:-105px}
.vi-weather-kicker{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;opacity:.7;margin-bottom:8px}
.vi-weather-title{margin:0 0 10px;font-size:clamp(1.7rem,3vw,2.55rem)}
.vi-weather-summary{font-size:1.08rem;margin:0 0 10px}
.vi-weather-verdict{font-family:Georgia,serif;font-style:italic;font-size:1.25rem;margin:0}
.vi-weather-data{display:flex;justify-content:flex-end;align-items:center;gap:18px}
.vi-weather-icon{font-size:3.2rem;line-height:1}
.vi-weather-temp{font-size:3rem;font-weight:800;line-height:1}
.vi-weather-meta{font-size:.86rem;opacity:.68;margin-top:8px}
.vi-weather-fallback{font-size:.95rem;opacity:.72}
@media(max-width:760px){.vi-weather-card{grid-template-columns:1fr;padding:24px}.vi-weather-data{justify-content:flex-start}.vi-vespa-weather{padding-bottom:24px}}

/* V2.2.6 – gleichmäßiger Abstand ober- und unterhalb der Wetterkachel */
.vi-vespa-weather{
 padding-top:34px;
 padding-bottom:34px;
}
@media(max-width:760px){
 .vi-vespa-weather{
  padding-top:24px;
  padding-bottom:24px;
 }
}

/* V2.2.14 – Vespagruß-Seite; Navigation basiert unverändert auf V2.2.10 */
.vi-editorial-hero{margin:24px 0 32px}
.vi-editorial-hero img{display:block;width:100%;height:auto;border-radius:24px;box-shadow:0 12px 34px rgba(58,43,30,.10)}
.vi-editorial-content{max-width:850px}
.vi-editorial-content h2{margin-top:2.2rem}
.vi-editorial-content h3{margin-top:1.8rem}
.vi-editorial-content .vi-lead{font-size:1.12rem}

/* V2.2.15 – Navigation ausfallsicher sichtbar */
@media (min-width:901px){
 .header .links{display:flex!important;position:static!important;visibility:visible!important;opacity:1!important}
 .header .links .menu{display:flex!important;align-items:center;gap:22px;list-style:none;margin:0;padding:0}
 .header .hamb{display:none!important}
}

/* V2.2.16 – bereinigte, eindeutige Navigation */
.header .nav > .links{margin-left:auto}
.header .nav > .links > .menu{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}
.header .nav > .links > .menu > li{margin:0;padding:0}
.header .nav > .links > .menu a{display:block}
@media(min-width:901px){
 .header .nav > .links{display:block!important;position:static!important;visibility:visible!important;opacity:1!important}
 .header .nav > .hamb{display:none!important}
}
@media(max-width:900px){
 .header .nav > .links{display:none}
 .header .nav > .links.open{display:block}
 .header .nav > .links > .menu{flex-direction:column;align-items:stretch}
}

/* V2.2.21 – Navigation in normaler Schreibweise */
.header .nav > .links a,
.header .links a,
.header .menu a{
 text-transform:none!important;
}

/* V2.2.22 – Vespagruß im redaktionellen Layout der B196-Seite */
.vi-gruss-hero{background:var(--g);color:var(--c);padding:70px 0 62px;border-bottom:6px solid var(--r)}
.vi-gruss-hero .wrap{max-width:900px}
.vi-gruss-kicker{font:bold 13px Arial;text-transform:uppercase;letter-spacing:2px;color:#d7c783}
.vi-gruss-hero h1{color:#fff0c7;font-size:clamp(2.5rem,6vw,4.8rem);line-height:1.02;margin:.18em 0 .3em}
.vi-gruss-hero p{font-size:1.25rem;max-width:760px;margin:0}
.vi-gruss-article{max-width:820px;margin:auto;padding:55px 0 80px}
.vi-gruss-article h2{font-size:clamp(1.65rem,3vw,2.25rem);margin-top:2.4rem}
.vi-gruss-article h3{font-size:clamp(1.3rem,2.4vw,1.7rem);margin-top:2rem}
.vi-gruss-article p,.vi-gruss-article li{font-size:1.075rem;line-height:1.78}
.vi-gruss-feature-image{margin:0 0 2.5rem;overflow:hidden;border-radius:18px;box-shadow:0 14px 34px rgba(0,0,0,.14);background:#fff}
.vi-gruss-feature-image img{display:block;width:100%;height:auto}
.vi-gruss-feature-image figcaption{padding:.7rem 1rem;font-size:.88rem;line-height:1.45;opacity:.72}
.vi-gruss-callout{margin:2.5rem 0;padding:28px 30px;background:#ead8b3;border-left:7px solid var(--r);box-shadow:0 8px 22px #0001}
.vi-gruss-callout p{margin:.35rem 0}
.vi-gruss-finale{margin-top:3.2rem;padding:34px;background:#fff0cb;border:1px solid #d9c59c}
.vi-gruss-finale p:first-child{margin-top:0}
.vi-gruss-finale p:last-child{margin-bottom:0}
.vi-gruss-sign{margin:0}
@media(max-width:700px){
 .vi-gruss-hero{padding:48px 0 42px}
 .vi-gruss-article{padding:38px 0 60px}
 .vi-gruss-callout,.vi-gruss-finale{padding:22px}
 .vi-gruss-feature-image{margin-bottom:1.7rem;border-radius:12px}
 .vi-gruss-feature-image figcaption{font-size:.8rem}
}
