/*
Theme Name: Vespisti Isarwinkel Komfort
Description: Komfortables Onepage-Theme für Vespisti Isarwinkel mit Ausfahrten, Lieblingszielen, Galerie, SEO und Customizer.
Version: 2.2.4
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}

.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}
@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{margin:0 0 2.5rem;overflow:hidden;border-radius:18px;box-shadow:0 14px 34px rgba(0,0,0,.14);background:#fff}
.vi-b196-feature-image img{display:block;width:100%;height:auto}
.vi-b196-feature-image figcaption{padding:.7rem 1rem;font-size:.88rem;line-height:1.45;opacity:.72}
@media (max-width:700px){.vi-b196-feature-image{margin-bottom:1.7rem;border-radius:12px}.vi-b196-feature-image figcaption{font-size:.8rem}}
