/*
Theme Name: VANtastic Spots
Description: Komplettes Child Theme für VANtastic Spots. Basis: Twenty Twenty-Five.
Author: VANtastic Spots
Template: twentytwentyfive
Version: 4.2.0
Text Domain: vantastic-spots
*/
:root{
 --vs-green:#294f3d;--vs-dark:#19372b;--vs-sage:#71806d;--vs-sand:#f1eadc;
 --vs-cream:#fbf8f1;--vs-ink:#202722;--vs-muted:#687169;--vs-white:#fff;
 --vs-radius:22px;--vs-shadow:0 16px 45px rgba(24,50,38,.12)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--vs-cream);color:var(--vs-ink)}
a{text-underline-offset:.18em}.wp-site-blocks{padding:0!important}
.vs-shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.vs-header{background:rgba(255,255,255,.96);border-bottom:1px solid rgba(41,79,61,.12);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}
.vs-header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.vs-brand img{width:78px;height:78px;object-fit:cover;border-radius:50%;display:block}
.vs-header .wp-block-navigation{font-weight:650;font-size:16px}
.vs-header .wp-block-navigation__container{gap:8px!important}
.vs-header .wp-block-navigation-item__content{padding:10px 11px!important;border-radius:999px;text-decoration:none}
.vs-header .wp-block-navigation-item__content:hover{background:var(--vs-sand);color:var(--vs-dark)}
.vs-hero{min-height:680px;display:flex;align-items:center;background-position:center;background-size:cover;position:relative}
.vs-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,32,24,.78) 0%,rgba(14,32,24,.46) 43%,rgba(14,32,24,.08) 75%)}
.vs-hero-content{position:relative;z-index:2;color:white;padding-block:90px;max-width:720px}
.vs-eyebrow{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px}
.vs-hero h1{font-size:clamp(48px,7vw,86px);line-height:.95;letter-spacing:-.045em;margin:0 0 24px;color:white}
.vs-hero p{font-size:clamp(18px,2vw,23px);line-height:1.55;margin:0 0 32px;color:#fff}
.vs-actions{display:flex;flex-wrap:wrap;gap:12px}
.vs-btn{display:inline-block;border-radius:999px;padding:14px 22px;font-weight:750;text-decoration:none!important}
.vs-btn-primary{background:white;color:var(--vs-dark)}.vs-btn-secondary{border:1px solid rgba(255,255,255,.75);color:white}
.vs-section{padding:86px 0}.vs-section-sand{background:var(--vs-sand)}
.vs-section h2{font-size:clamp(34px,4vw,52px);line-height:1.05;letter-spacing:-.03em;margin:0 0 16px}
.vs-lead{font-size:19px;color:var(--vs-muted);max-width:760px;line-height:1.7;margin-bottom:38px}
.vs-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vs-card{background:white;border:1px solid rgba(41,79,61,.1);border-radius:var(--vs-radius);padding:28px;box-shadow:var(--vs-shadow)}
.vs-card h3{font-size:24px;margin:10px 0}.vs-card p{color:var(--vs-muted);line-height:1.65;margin-bottom:0}
.vs-icon{font-size:30px}.vs-about{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.vs-about-media img{width:100%;border-radius:var(--vs-radius);box-shadow:var(--vs-shadow)}
.vs-stat-row{display:flex;gap:30px;flex-wrap:wrap;margin-top:28px}.vs-stat strong{display:block;font-size:28px;color:var(--vs-green)}
.vs-cta{background:var(--vs-green);color:white;border-radius:28px;padding:50px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.vs-cta h2{color:white;margin:0 0 10px}.vs-cta p{margin:0;color:rgba(255,255,255,.82)}
.vs-footer{background:var(--vs-dark);color:white;padding:58px 0 28px}.vs-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}
.vs-footer-logo{width:92px;height:92px;border-radius:50%;object-fit:cover}.vs-footer a{color:white}.vs-footer h3{color:white}
.vs-footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:38px;padding-top:22px;color:rgba(255,255,255,.68);font-size:14px}
.vs-page{padding:70px 0 90px}.vs-page h1{font-size:clamp(42px,6vw,68px);letter-spacing:-.04em}.vs-placeholder{background:white;border:1px dashed rgba(41,79,61,.35);border-radius:18px;padding:30px;color:var(--vs-muted)}
@media(max-width:900px){.vs-header-inner{min-height:80px}.vs-brand img{width:64px;height:64px}.vs-hero{min-height:600px}.vs-grid-3{grid-template-columns:1fr}.vs-about{grid-template-columns:1fr}.vs-footer-grid{grid-template-columns:1fr 1fr}.vs-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.vs-shell{width:min(100% - 28px,1180px)}.vs-header-inner{min-height:72px}.vs-brand img{width:56px;height:56px}.vs-hero{min-height:570px;background-position:58% center}.vs-hero:before{background:linear-gradient(90deg,rgba(14,32,24,.82),rgba(14,32,24,.35))}.vs-hero-content{padding-block:70px}.vs-section{padding:62px 0}.vs-footer-grid{grid-template-columns:1fr}.vs-cta{padding:32px}}


/* === VANtastic Spots 2.1: robust header/navigation === */
.vs-header {
  margin: 0 !important;
  padding: 0 !important;
}
.vs-header-inner {
  min-height: 92px;
  padding: 7px 0;
}
.vs-brand {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  line-height: 0;
}
.vs-brand img {
  width: 78px !important;
  height: 78px !important;
}
.vs-nav {
  margin-left: auto;
}
.vs-nav-list {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.vs-nav-list li {
  display: block !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.vs-nav-list li::marker { content: ""; }
.vs-nav-list a {
  display: block;
  color: var(--vs-ink);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.2;
  text-decoration: none !important;
  white-space: nowrap;
  padding: 10px 11px;
  border-radius: 999px;
  transition: background-color .2s ease, color .2s ease;
}
.vs-nav-list a:hover {
  background: var(--vs-sand);
  color: var(--vs-dark);
}
.vs-hero {
  margin-top: 0 !important;
}
.vs-menu-toggle {
  display: none;
}
@media (max-width: 900px) {
  .vs-header-inner {
    min-height: 76px;
    padding: 6px 0;
  }
  .vs-brand img {
    width: 62px !important;
    height: 62px !important;
  }
  .vs-nav-list {
    gap: 1px !important;
  }
  .vs-nav-list a {
    font-size: 14px;
    padding: 8px 7px;
  }
}
@media (max-width: 720px) {
  .vs-header-inner {
    flex-wrap: wrap;
    align-items: center;
  }
  .vs-nav {
    width: 100%;
    margin-left: 0;
  }
  .vs-nav-list {
    justify-content: flex-start !important;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 7px !important;
  }
  .vs-nav-list::-webkit-scrollbar { display: none; }
  .vs-nav-list a {
    font-size: 13px;
    padding: 7px 8px;
  }
}


/* === VANtastic Spots 3.0 === */
body { margin: 0 !important; }
.vs-header { border-bottom: 0 !important; }
.vs-header-inner { min-height: 98px; padding: 6px 0; }
.vs-brand img { width: 86px !important; height: 86px !important; }
.vs-hero { margin: 0 !important; min-height: 690px; }
.vs-hero h1 { font-size: clamp(48px, 5.4vw, 78px); max-width: 760px; }

.vs-section-head {
  display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:34px;
}
.vs-section-head .vs-lead { margin-bottom:0; }
.vs-text-link { color:var(--vs-green); font-weight:750; text-decoration:none; white-space:nowrap; }
.vs-text-link:hover { text-decoration:underline; }

.vs-feature-card {
  min-height: 310px; position:relative; display:flex; align-items:flex-end;
  border-radius:var(--vs-radius); overflow:hidden; background-size:cover; background-position:center;
  box-shadow:var(--vs-shadow);
}
.vs-feature-card:before {
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg,rgba(13,31,23,.86),rgba(13,31,23,.05) 72%);
}
.vs-feature-content { position:relative; z-index:2; padding:26px; color:#fff; }
.vs-feature-content h3 { color:#fff; margin:5px 0 8px; font-size:26px; }
.vs-feature-content p { color:rgba(255,255,255,.84); margin:0; line-height:1.55; }
.vs-feature-tag {
  display:inline-block; font-size:12px; text-transform:uppercase; letter-spacing:.11em;
  font-weight:800; color:#fff;
}

.vs-story-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:22px; }
.vs-story-main { min-height:460px; }
.vs-story-side { display:grid; gap:22px; }
.vs-story-side .vs-feature-card { min-height:219px; }

.vs-luna {
  display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; align-items:center;
}
.vs-luna-photo {
  min-height:480px; border-radius:var(--vs-radius); background-size:cover;
  background-position:55% center; box-shadow:var(--vs-shadow);
}
.vs-checks { display:grid; gap:12px; margin:28px 0 0; }
.vs-check { display:flex; gap:12px; align-items:flex-start; }
.vs-check b {
  width:28px; height:28px; flex:0 0 28px; border-radius:50%; background:var(--vs-sand);
  color:var(--vs-green); display:grid; place-items:center;
}
.vs-check span { color:var(--vs-muted); line-height:1.55; }

.vs-about-band { background:var(--vs-dark); color:white; }
.vs-about-band h2 { color:white; }
.vs-about-band .vs-lead { color:rgba(255,255,255,.74); }
.vs-about-band .vs-eyebrow { color:#d7cdb9 !important; }

.vs-footer p { color:rgba(255,255,255,.72); line-height:1.6; }
.vs-footer h3 { margin-bottom:14px; }
.vs-footer a { text-decoration:none; }
.vs-footer a:hover { text-decoration:underline; }

@media(max-width:900px){
 .vs-brand img{width:68px!important;height:68px!important}
 .vs-story-grid,.vs-luna{grid-template-columns:1fr}
 .vs-story-side{grid-template-columns:1fr 1fr}
 .vs-luna-photo{min-height:400px}
}
@media(max-width:600px){
 .vs-section-head{display:block}
 .vs-section-head .vs-text-link{display:inline-block;margin-top:18px}
 .vs-story-side{grid-template-columns:1fr}
 .vs-story-main{min-height:380px}
 .vs-story-side .vs-feature-card{min-height:300px}
 .vs-luna-photo{min-height:330px}
}


/* === VANtastic Spots 4.0: dynamic content + final refinements === */
.vs-header + main, .vs-header + .wp-site-blocks, main { margin-top:0 !important; }
.vs-header { margin-bottom:0 !important; }
.vs-hero { border-top:0; }

.vs-grid-3 .vs-card { padding:26px 28px; min-height:220px; }
.vs-grid-3 .vs-icon {
  width:42px; height:42px; border-radius:12px; display:grid; place-items:center;
  background:var(--vs-sand); font-size:0; position:relative;
}
.vs-grid-3 .vs-card:nth-child(1) .vs-icon:after { content:"⌖"; font-size:26px; color:var(--vs-green); }
.vs-grid-3 .vs-card:nth-child(2) .vs-icon:after { content:"↗"; font-size:25px; color:var(--vs-green); }
.vs-grid-3 .vs-card:nth-child(3) .vs-icon:after { content:"●"; font-size:20px; color:var(--vs-green); box-shadow:8px 8px 0 -5px var(--vs-green); border-radius:50%; }

.vs-dynamic-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:34px;
}
.vs-dynamic-card {
  min-height:330px; position:relative; display:flex; align-items:flex-end; overflow:hidden;
  border-radius:var(--vs-radius); background-size:cover; background-position:center;
  box-shadow:var(--vs-shadow); text-decoration:none !important; isolation:isolate;
}
.vs-dynamic-card:before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(0deg,rgba(9,29,20,.92) 0%,rgba(9,29,20,.48) 45%,rgba(9,29,20,.08) 78%);
}
.vs-dynamic-card-content { padding:25px; color:white; }
.vs-dynamic-card h3 { color:white; margin:5px 0 8px; font-size:25px; }
.vs-dynamic-card p { color:rgba(255,255,255,.84); margin:0; line-height:1.5; }
.vs-home-dynamic:empty { display:none; }
.vs-home-dynamic:not(:empty) + .vs-placeholder-stories { margin-top:30px; opacity:.42; }
.vs-auto-list { margin-top:55px; }
.vs-single-shell { max-width:980px; }
.vs-single .wp-block-post-featured-image img { border-radius:var(--vs-radius); box-shadow:var(--vs-shadow); }
.vs-single .wp-block-post-content { font-size:18px; line-height:1.75; }

.vs-stat-row .vs-stat { position:relative; padding-right:26px; }
.vs-stat-row .vs-stat:not(:last-child):after {
  content:""; position:absolute; right:8px; top:4px; bottom:4px; width:1px; background:#d8d3c7;
}
.vs-check b { font-size:0; }
.vs-check b:after { content:"✓"; font-size:16px; font-weight:900; }

@media(max-width:900px){
  .vs-dynamic-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .vs-dynamic-grid{grid-template-columns:1fr}
  .vs-dynamic-card{min-height:300px}
  .vs-stat-row .vs-stat:not(:last-child):after{display:none}
}


/* === 4.1 Spot details === */
.vs-spot-facts { margin:34px 0 42px; padding:30px; background:#f3ede0; border-radius:22px; }
.vs-spot-facts h2 { margin-top:0; }
.vs-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.vs-detail { background:#fff; border-radius:14px; padding:15px 17px; display:flex; flex-direction:column; gap:4px; }
.vs-detail span { font-size:13px; color:#6f746f; text-transform:uppercase; letter-spacing:.05em; }
.vs-detail strong { font-size:17px; color:#173f31; }
.vs-map-link { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin:22px 0 0; }
.vs-map-link span { color:#6f746f; }
.vs-single-kicker { color:#1f5a43; text-transform:uppercase; font-weight:800; letter-spacing:.14em; font-size:13px; margin-bottom:10px; }
.vs-single .wp-block-gallery { margin-top:34px; }
.vs-single .wp-block-gallery img { border-radius:14px; }
@media(max-width:760px){ .vs-detail-grid{grid-template-columns:1fr 1fr} }
@media(max-width:480px){ .vs-detail-grid{grid-template-columns:1fr} }


/* === VANtastic Spots 4.2 === */
.vs-spot-facts{padding:34px}
.vs-facts-kicker{display:block;color:#1f5a43;text-transform:uppercase;font-weight:800;letter-spacing:.13em;font-size:12px;margin-bottom:4px}
.vs-facts-head h2{margin:0 0 24px}
.vs-detail{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;min-height:72px}
.vs-detail-icon{width:34px;height:34px;border-radius:10px;background:#f3ede0;color:#1f5a43;display:grid;place-items:center;font-weight:900;font-size:18px}
.vs-detail-label{display:block;font-size:11px!important;margin-bottom:3px}
.vs-state-yes .vs-detail-icon{background:#e8f1eb}
.vs-state-no .vs-detail-icon{background:#f2e8e4;color:#7a3b2e}
.vs-state-unknown .vs-detail-icon{background:#eee;color:#777}
.vs-stars{display:inline-flex;gap:2px;font-size:22px;line-height:1}
.vs-stars span{color:#c9c4b8}
.vs-stars .is-on{color:#1f5a43}
.vs-map-link{padding-top:22px;border-top:1px solid rgba(31,90,67,.13);margin-top:24px}
.vs-map-link .vs-button{display:inline-flex}
