:root{--kv-white:#fff;--kv-yellow:#f5c62f;--kv-green:#16733d;--kv-red:#c62626;--kv-ink:#26332b}
*{box-sizing:border-box}
body.kv-site{margin:0;background:#fff;color:var(--kv-ink);font-family:Arial,Helvetica,sans-serif}
.kv-header{background:#fff;border-bottom:6px solid var(--kv-green);box-shadow:0 3px 14px rgba(0,0,0,.12)}
.kv-header-inner{max-width:1500px;margin:auto;padding:8px 18px;display:flex;align-items:center;gap:26px}
.kv-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--kv-green);font-weight:800}
.kv-logo{width:220px;max-height:72px;object-fit:contain}
.kv-brand span{max-width:250px}
.kv-menu{margin-left:auto}
.kv-menu ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.kv-menu a{display:block;padding:10px 13px;border-radius:11px;text-decoration:none;color:#161616;font-weight:800}
.kv-menu a:hover,.kv-menu .active>a{background:var(--kv-yellow)}

.kv-map-section{max-width:1536px;margin:auto;padding:12px}
.kv-map{position:relative;overflow:hidden;border:4px solid var(--kv-green);border-radius:18px;box-shadow:0 8px 26px rgba(0,0,0,.18);line-height:0}
.kv-map-img{display:block;width:100%;height:auto}

/* Echte HTML-Links über dem Bild */
.kv-hotspot{position:absolute;z-index:8;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;border-radius:15px;border:3px solid rgba(255,255,255,.96);box-shadow:0 5px 12px rgba(0,0,0,.28);font-weight:900;line-height:1.1;color:#fff;padding:6px;transition:.18s}
.kv-hotspot span{background:rgba(25,25,25,.72);padding:5px 8px;border-radius:9px}
.kv-hotspot:hover,.kv-hotspot:focus{transform:scale(1.05);outline:4px solid var(--kv-yellow);filter:brightness(1.08)}
.kv-hotspot-icon{width:30px;height:30px;object-fit:contain;margin-right:5px}

/* Positionen passend zur sauberen Weltkarte */
.kv-home{left:8%;top:34%;width:25%;height:34%;background:rgba(198,38,38,.10)}
.kv-forest{left:36%;top:8%;width:18%;height:33%;background:rgba(22,115,61,.10)}
.kv-cinema{left:60%;top:12%;width:18%;height:34%;background:rgba(22,115,61,.10)}
.kv-creative{left:78%;top:22%;width:19%;height:43%;background:rgba(245,198,47,.10)}
.kv-cave{left:13%;top:61%;width:23%;height:34%;background:rgba(22,115,61,.10)}
.kv-festival{left:43%;top:60%;width:19%;height:35%;background:rgba(198,38,38,.10)}
.kv-booking{left:69%;top:61%;width:21%;height:34%;background:rgba(245,198,47,.10)}
.kv-news{left:1%;top:2%;width:14%;height:19%;background:rgba(255,255,255,.10);color:var(--kv-green)}

.kv-main{max-width:1500px;margin:auto;padding:0 12px 24px}
.kv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kv-box,.kv-component{margin:12px 0;padding:18px;border:2px solid #e4ddbe;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(0,0,0,.09)}
.kv-footer{padding:28px 18px;border-top:8px solid var(--kv-yellow);background:var(--kv-green);color:#fff;text-align:center;font-weight:700}

@media(max-width:900px){
 .kv-header-inner{flex-wrap:wrap}.kv-menu{width:100%;overflow:auto}.kv-menu ul{width:max-content}
 .kv-grid{grid-template-columns:1fr}
 .kv-hotspot{font-size:.72rem}
}
@media(max-width:620px){
 .kv-logo{width:170px}.kv-brand span{display:none}.kv-map-section{padding:5px}
 .kv-hotspot{font-size:.58rem;padding:2px;border-width:2px}.kv-hotspot span{padding:3px 4px}
 .kv-hotspot-icon{display:none}
}

/* =========================================================
   KreativeValley Beitragslayout 3.3
   Für normale Joomla Beiträge + Custom Fields
   ========================================================= */
.kv-component:has(.kv-article){padding:0;border:0;background:transparent;box-shadow:none}
.kv-article{--g:var(--kv-green);--y:var(--kv-yellow);--r:var(--kv-red);--paper:#fffdf6;--ink:var(--kv-ink);max-width:1200px;margin:12px auto 28px;color:var(--ink)}
.kv-article-edit{display:flex;justify-content:flex-end;margin-bottom:8px}
.kv-article-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:2rem;align-items:center;padding:clamp(1.4rem,4vw,3rem);border:3px solid var(--g);border-radius:26px;background:linear-gradient(135deg,#fff,#f1faf4);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.kv-article-eyebrow{display:inline-block;padding:.42rem .8rem;border-radius:999px;background:var(--y);color:#222;font-weight:900}
.kv-article h1{margin:.65rem 0 .45rem;color:var(--r);font-size:clamp(2rem,5vw,4rem);line-height:1.03}
.kv-article-subtitle{font-size:1.2rem;line-height:1.55}
.kv-article blockquote{margin:1rem 0 0;padding:.85rem 1rem;border-left:5px solid var(--y);border-radius:10px;background:#fff;font-size:1.08rem;font-style:italic}
.kv-article-hero-facts{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.1rem}
.kv-article-hero-facts span{padding:.55rem .75rem;border:1px solid #e3dcbf;border-radius:12px;background:#fff;font-weight:800}
.kv-article-mainimage img{display:block;width:100%;max-height:520px;object-fit:contain;border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,.14)}
.kv-article-card{margin-top:1.3rem;padding:clamp(1.2rem,3vw,2rem);border:2px solid #e5ddbf;border-radius:20px;background:var(--paper);box-shadow:0 5px 16px rgba(0,0,0,.06)}
.kv-article-card h2{margin-top:0;color:var(--g)}
.kv-article-body{font-size:1.06rem;line-height:1.72}
.kv-article-body img{max-width:100%;height:auto;border-radius:14px}
.kv-article-factgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}
.kv-article-fact{padding:1rem;border-radius:16px;background:#fff;border-left:6px solid var(--y)}
.kv-article-fact strong,.kv-article-fact span{display:block}
.kv-article-fact span{margin-top:.3rem}
.kv-article-player{position:relative;width:100%;padding-top:56.25%;overflow:hidden;border-radius:18px;background:#000}
.kv-article-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.kv-article-audio{width:100%}
.kv-article-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:1.5rem;padding:2rem;border-radius:24px;background:linear-gradient(135deg,var(--g),#0d512a);color:#fff}
.kv-article-cta h2{margin:.55rem 0 0;color:#fff}
.kv-article-button{display:inline-block;padding:.8rem 1.15rem;border-radius:999px;background:var(--y);color:#222!important;text-decoration:none!important;font-weight:900}

/* leichte Typ-Unterscheidung, aber gleiche KreativeValley-Farbwelt */
.kv-article-type-film .kv-article-hero,
.kv-article-type-hoerspiel .kv-article-hero{background:linear-gradient(135deg,#fff,#fff9df)}
.kv-article-type-theater .kv-article-hero{background:linear-gradient(135deg,#fff,#fff1f1)}
.kv-article-type-darsteller .kv-article-hero{background:linear-gradient(135deg,#fff,#f2f7ff)}

@media(max-width:850px){
  .kv-article-hero{grid-template-columns:1fr}
  .kv-article-cta{flex-direction:column;align-items:flex-start}
}


/* KreativeValley Content System 3.4 */
.kv-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}
.kv-related-card{overflow:hidden;border:1px solid #e5ddbf;border-radius:18px;background:#fff;box-shadow:0 5px 14px rgba(0,0,0,.08)}
.kv-related-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.kv-related-copy{padding:1rem}
.kv-related-copy h3{margin:.25rem 0 .45rem}
.kv-related-copy h3 a{color:var(--kv-red)!important;text-decoration:none}
.kv-related-copy p{margin:0}


/* KreativeValley 3.7 – Kategorie-Karten */
.kv-category{
  width:min(1180px,calc(100% - 32px));
  margin:0 auto;
  padding:1.5rem 0 3rem;
}
.kv-category-header{
  text-align:center;
  max-width:820px;
  margin:0 auto 2rem;
  padding:1.5rem 1rem;
}
.kv-category-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  margin-bottom:.55rem;
  padding:.4rem .8rem;
  border-radius:999px;
  background:rgba(245,198,47,.2);
  color:var(--kv-green);
  font-weight:800;
  font-size:.92rem;
}
.kv-category-header h1{
  margin:.15rem 0 .7rem;
  color:var(--kv-red);
  font-size:clamp(2rem,4vw,3.2rem);
  line-height:1.05;
}
.kv-category-intro{
  color:var(--kv-ink);
  font-size:1.06rem;
}
.kv-category-intro p{margin:.4rem 0}
.kv-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.35rem;
  align-items:stretch;
}
.kv-category-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(22,115,61,.16);
  border-radius:22px;
  background:#fff;
  box-shadow:0 8px 24px rgba(38,51,43,.09);
  transition:transform .2s ease,box-shadow .2s ease;
}
.kv-category-card:hover{
  transform:translateY(-4px);
  box-shadow:0 14px 32px rgba(38,51,43,.14);
}
.kv-card-imagewrap{
  position:relative;
  display:block;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#f4f1e6;
}
.kv-card-imagewrap img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .25s ease;
}
.kv-category-card:hover .kv-card-imagewrap img{transform:scale(1.025)}
.kv-card-image-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#fff5bf,#e9f4e8);
  font-size:4rem;
}
.kv-card-type{
  position:absolute;
  left:.8rem;
  top:.8rem;
  display:grid;
  place-items:center;
  width:2.35rem;
  height:2.35rem;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  box-shadow:0 3px 12px rgba(0,0,0,.12);
  font-size:1.15rem;
}
.kv-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:1.15rem 1.15rem 1.2rem;
}
.kv-card-body h2{
  margin:0 0 .5rem;
  font-size:1.32rem;
  line-height:1.18;
}
.kv-card-body h2 a{
  color:var(--kv-red)!important;
  text-decoration:none;
}
.kv-card-subtitle{
  margin:0 0 .65rem;
  font-weight:700;
  color:var(--kv-green);
}
.kv-card-facts{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin:.15rem 0 .75rem;
}
.kv-card-facts span{
  padding:.28rem .55rem;
  border-radius:999px;
  background:#f6f2df;
  color:var(--kv-ink);
  font-size:.84rem;
  font-weight:700;
}
.kv-card-text{
  margin:.1rem 0 1rem;
  color:#4a554e;
  line-height:1.55;
}
.kv-card-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:auto;
  padding:.7rem .95rem;
  border-radius:12px;
  background:var(--kv-green);
  color:#fff!important;
  font-weight:800;
  text-decoration:none!important;
}
.kv-card-button:hover{
  filter:brightness(.95);
}
.kv-category-empty{
  text-align:center;
  padding:2rem;
  border-radius:18px;
  background:#fff;
}
.kv-category-pagination{
  display:flex;
  justify-content:center;
  margin-top:2rem;
}
@media (max-width:900px){
  .kv-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){
  .kv-category{width:min(100% - 20px,1180px)}
  .kv-card-grid{grid-template-columns:1fr}
  .kv-category-header{padding:1rem .4rem}
}


/* KreativeValley 3.7.1 – zentrierte Karten + einheitliche Postergrößen */
.kv-category{
  width:min(1220px,calc(100% - 40px));
  margin-inline:auto;
}
.kv-category-header{
  max-width:920px;
  margin:0 auto 2.25rem;
  text-align:center;
}
.kv-card-grid{
  grid-template-columns:repeat(3,minmax(280px,360px));
  justify-content:center;
  align-items:stretch;
  gap:1.6rem;
}
.kv-category-card{
  width:100%;
  max-width:360px;
  margin-inline:auto;
  text-align:center;
}
.kv-card-imagewrap{
  aspect-ratio:4/5;
  background:#f7f3e8;
}
.kv-card-imagewrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.kv-category-theater .kv-card-imagewrap{
  aspect-ratio:4/5;
}
.kv-category-figur .kv-card-imagewrap,
.kv-category-darsteller .kv-card-imagewrap{
  aspect-ratio:1/1;
}
.kv-category-film .kv-card-imagewrap,
.kv-category-hoerspiel .kv-card-imagewrap{
  aspect-ratio:16/10;
}
.kv-card-body{
  align-items:center;
  text-align:center;
}
.kv-card-body h2{
  width:100%;
  text-align:center;
}
.kv-card-subtitle,
.kv-card-text{
  width:100%;
  text-align:center;
}
.kv-card-facts{
  justify-content:center;
}
.kv-card-button{
  min-width:190px;
  align-self:center;
}
.kv-category-count{
  width:max-content;
  max-width:100%;
  margin:2rem auto 0;
  padding:.55rem .9rem;
  border-radius:999px;
  background:rgba(245,198,47,.16);
  color:var(--kv-green);
  font-weight:800;
  text-align:center;
}
@media (max-width:980px){
  .kv-card-grid{
    grid-template-columns:repeat(2,minmax(280px,360px));
  }
}
@media (max-width:680px){
  .kv-category{
    width:min(100% - 22px,1220px);
  }
  .kv-card-grid{
    grid-template-columns:minmax(0,360px);
  }
}


/* KreativeValley 3.7.2 – Joomla Kategorie-Liste ebenfalls als Karten */
.kv-category + table.category,
.kv-category table.category,
.kv-category .category-list,
.kv-category .com-content-category__table,
body .com-content-category__table:has(.kv-category){
  display:none!important;
}
.kv-category-theater .kv-card-grid,
.kv-category-figur .kv-card-grid,
.kv-category-film .kv-card-grid,
.kv-category-hoerspiel .kv-card-grid,
.kv-category-darsteller .kv-card-grid{
  width:100%;
  margin-inline:auto;
}
.kv-category-theater .kv-category-card{
  max-width:360px;
}


/* KreativeValley 3.8 – Kontakt & Buchung */
.kv-contact-page{
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
  padding:1.5rem 0 3.5rem;
}
.kv-contact-hero{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.1rem;
  max-width:900px;
  margin:0 auto 2rem;
  padding:1.35rem 1.5rem;
  text-align:left;
  border-radius:26px;
  background:linear-gradient(135deg,#fff9df,#eef8eb);
  border:1px solid rgba(22,115,61,.14);
}
.kv-contact-hero__icon{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  border-radius:22px;
  background:#fff;
  box-shadow:0 8px 20px rgba(38,51,43,.08);
  font-size:2.35rem;
}
.kv-contact-eyebrow,
.kv-contact-label{
  display:inline-block;
  margin-bottom:.35rem;
  color:var(--kv-green);
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.kv-contact-hero h1{
  margin:.1rem 0 .35rem;
  color:var(--kv-red);
  font-size:clamp(2rem,4vw,3.25rem);
  line-height:1.05;
}
.kv-contact-hero p{
  margin:0;
  color:#46534b;
  line-height:1.6;
}
.kv-contact-grid{
  display:grid;
  grid-template-columns:minmax(280px,360px) minmax(0,1fr);
  gap:1.6rem;
  align-items:start;
  justify-content:center;
}
.kv-contact-card{
  border:1px solid rgba(22,115,61,.14);
  border-radius:24px;
  background:#fff;
  box-shadow:0 10px 30px rgba(38,51,43,.09);
}
.kv-contact-card--info{
  overflow:hidden;
}
.kv-contact-photo{
  aspect-ratio:4/3;
  overflow:hidden;
  background:#f4f0df;
}
.kv-contact-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.kv-contact-photo--placeholder{
  display:grid;
  place-items:center;
  font-size:4rem;
  background:linear-gradient(135deg,#fff4b4,#eaf6e5);
}
.kv-contact-person{
  padding:1.25rem 1.3rem .75rem;
  text-align:center;
}
.kv-contact-person h2{
  margin:.1rem 0 .4rem;
  color:var(--kv-red);
  font-size:1.6rem;
}
.kv-contact-person p{
  margin:0;
  color:#566159;
  line-height:1.5;
}
.kv-contact-details{
  padding:.4rem 1.3rem .6rem;
}
.kv-contact-detail{
  display:flex;
  gap:.8rem;
  align-items:flex-start;
  padding:.8rem 0;
  border-top:1px solid #edf0eb;
}
.kv-contact-detail>span{
  font-size:1.35rem;
  line-height:1.2;
}
.kv-contact-detail strong{
  display:block;
  color:var(--kv-green);
  margin-bottom:.12rem;
}
.kv-contact-detail p{
  margin:0;
  color:#49534d;
  line-height:1.45;
}
.kv-contact-detail a{
  color:var(--kv-green);
  font-weight:800;
}
.kv-contact-note{
  margin:1rem 1.3rem 1.3rem;
  padding:1rem;
  border-radius:16px;
  background:#fff7cf;
  color:#4b4b38;
}
.kv-contact-note p{
  margin:.35rem 0 0;
  line-height:1.45;
}
.kv-contact-card--form{
  padding:1.4rem 1.5rem 1.55rem;
}
.kv-contact-formhead{
  text-align:center;
  margin-bottom:1.2rem;
}
.kv-contact-formhead h2{
  margin:.1rem 0 .35rem;
  color:var(--kv-red);
  font-size:1.9rem;
}
.kv-contact-formhead p{
  margin:0;
  color:#5b655e;
}
.kv-contact-form fieldset{
  border:0;
  padding:0;
}
.kv-field{
  margin-bottom:1rem;
}
.kv-field .control-label label{
  display:block;
  margin-bottom:.35rem;
  color:#2e4435;
  font-weight:800;
}
.kv-contact-form input[type="text"],
.kv-contact-form input[type="email"],
.kv-contact-form input[type="url"],
.kv-contact-form input[type="tel"],
.kv-contact-form input[type="number"],
.kv-contact-form textarea,
.kv-contact-form select{
  width:100%;
  min-height:46px;
  box-sizing:border-box;
  padding:.72rem .85rem;
  border:1px solid #cdd8ce;
  border-radius:12px;
  background:#fbfdfb;
  color:#26342b;
  font:inherit;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.kv-contact-form textarea{
  min-height:170px;
  resize:vertical;
}
.kv-contact-form input:focus,
.kv-contact-form textarea:focus,
.kv-contact-form select:focus{
  outline:none;
  border-color:var(--kv-green);
  box-shadow:0 0 0 4px rgba(22,115,61,.10);
  background:#fff;
}
.kv-contact-form .form-check,
.kv-contact-form .checkbox{
  display:flex;
  gap:.55rem;
  align-items:flex-start;
}
.kv-contact-form input[type="checkbox"]{
  margin-top:.25rem;
  transform:scale(1.08);
}
.kv-contact-extra{
  margin-top:.2rem;
}
.kv-contact-actions{
  display:flex;
  justify-content:center;
  margin-top:1.35rem;
}
.kv-send-button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-width:210px;
  padding:.78rem 1.25rem!important;
  border:0!important;
  border-radius:13px!important;
  background:var(--kv-green)!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:0 6px 16px rgba(22,115,61,.2);
}
.kv-send-button:hover{
  filter:brightness(.95);
}
@media(max-width:820px){
  .kv-contact-grid{
    grid-template-columns:minmax(0,680px);
  }
  .kv-contact-card--info{
    display:grid;
    grid-template-columns:220px 1fr;
  }
  .kv-contact-photo{
    height:100%;
    aspect-ratio:auto;
  }
  .kv-contact-details,
  .kv-contact-note{
    grid-column:1/-1;
  }
}
@media(max-width:620px){
  .kv-contact-page{
    width:min(100% - 20px,1180px);
  }
  .kv-contact-hero{
    flex-direction:column;
    text-align:center;
    padding:1.15rem;
  }
  .kv-contact-card--info{
    display:block;
  }
  .kv-contact-card--form{
    padding:1.15rem 1rem 1.3rem;
  }
}


/* =========================================================
   KreativeValley 4.0 – Erlebnis-Startseite + Footer
   ========================================================= */
.kv-is-home .kv-main{max-width:1280px;padding-bottom:3rem}
.kv-map-section--home{padding-top:18px}
.kv-map-title{max-width:880px;margin:0 auto 12px;text-align:center;line-height:1.45}
.kv-map-title span{display:inline-block;color:var(--kv-green);font-size:1.35rem;font-weight:900}
.kv-map-title p{margin:.25rem 0 .7rem;color:#5a675f}
.kv-home-welcome{margin:1.25rem auto 1.6rem;padding:clamp(1.6rem,4vw,3.2rem);max-width:1100px;text-align:center;border-radius:30px;background:linear-gradient(135deg,#fff9dd 0%,#fff 48%,#ecf8ee 100%);border:2px solid rgba(22,115,61,.15);box-shadow:0 12px 32px rgba(38,51,43,.08)}
.kv-home-kicker{display:inline-flex;padding:.42rem .85rem;border-radius:999px;background:var(--kv-yellow);color:#26332b;font-weight:900}
.kv-home-welcome h1{margin:.55rem 0 .65rem;color:var(--kv-red);font-size:clamp(2.25rem,5vw,4.2rem);line-height:1.02}
.kv-home-welcome>p{max-width:780px;margin:0 auto;font-size:1.15rem;line-height:1.65;color:#425149}
.kv-home-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:1.35rem}
.kv-home-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.78rem 1.05rem;border:2px solid var(--kv-green);border-radius:999px;color:var(--kv-green)!important;background:#fff;text-decoration:none!important;font-weight:900;transition:.18s}
.kv-home-btn:hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(0,0,0,.1)}
.kv-home-btn--primary{background:var(--kv-green);color:#fff!important}
.kv-home-btn--yellow{border-color:var(--kv-yellow);background:var(--kv-yellow);color:#26332b!important}
.kv-home-section{margin:1.35rem 0;padding:clamp(1.2rem,3vw,2rem);border-radius:25px;background:#fff;border:1px solid #e8e2ca;box-shadow:0 7px 22px rgba(38,51,43,.07)}
.kv-home-sectionhead{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}
.kv-home-sectionhead>div>span{color:var(--kv-green);font-weight:900}
.kv-home-sectionhead h2{margin:.15rem 0 0;color:var(--kv-red);font-size:clamp(1.7rem,3.5vw,2.55rem)}
.kv-home-sectionhead p{margin:.4rem 0 0;color:#566259}
.kv-home-sectionhead>a,.kv-home-textlink{color:var(--kv-green)!important;text-decoration:none!important;font-weight:900}
.kv-home-sectionhead--center{justify-content:center;text-align:center}
.kv-home-newsgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.kv-home-news-card{overflow:hidden;border:1px solid #e6e0ca;border-radius:19px;background:#fffdf7;box-shadow:0 4px 13px rgba(0,0,0,.05)}
.kv-home-news-card>div:last-child{padding:1rem 1.05rem 1.15rem}
.kv-home-news-img{display:block;aspect-ratio:16/9;overflow:hidden;background:#f0ecdb}
.kv-home-news-img img{width:100%;height:100%;object-fit:cover;display:block;transition:.25s}
.kv-home-news-card:hover .kv-home-news-img img{transform:scale(1.035)}
.kv-home-news-card h3{margin:.35rem 0 .45rem;font-size:1.22rem;line-height:1.25}
.kv-home-news-card h3 a{color:var(--kv-red)!important;text-decoration:none}
.kv-home-news-card p{margin:.2rem 0 .7rem;line-height:1.55;color:#536057}
.kv-home-date{font-size:.82rem;color:var(--kv-green);font-weight:900}
.kv-home-news-card--fallback{padding-top:1.15rem;text-align:center}
.kv-home-fallback-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto;border-radius:18px;background:#fff5bb;font-size:2.1rem}
.kv-home-adventures{background:linear-gradient(135deg,#fff,#f5fbf6)}
.kv-home-adventuregrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.kv-home-adventure{display:flex;min-height:240px;flex-direction:column;align-items:center;justify-content:center;padding:1.3rem;text-align:center;border-radius:22px;text-decoration:none!important;color:#26332b!important;border:2px solid transparent;transition:.2s}
.kv-home-adventure:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.1)}
.kv-home-adventure b{font-size:3rem}.kv-home-adventure strong{margin:.55rem 0 .35rem;font-size:1.35rem}.kv-home-adventure span{line-height:1.5}.kv-home-adventure em{margin-top:.8rem;font-style:normal;font-weight:900}
.kv-home-adventure--theater{background:#fff0ef;border-color:#f3cfca}.kv-home-adventure--video{background:#edf7ff;border-color:#cfe2f3}.kv-home-adventure--audio{background:#fff7d9;border-color:#efe0a1}
.kv-home-two{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:1.35rem;align-items:stretch}
.kv-home-two>.kv-home-section{margin:0}
.kv-home-eventfallback{display:flex;align-items:center;gap:1.2rem;padding:1rem;border-radius:18px;background:#f7fbf7}.kv-home-eventicon{font-size:3.2rem}.kv-home-eventfallback h3{margin:0 0 .35rem;color:var(--kv-green)}.kv-home-eventfallback p{margin:0 0 .9rem;line-height:1.55}
.kv-home-bookbox{text-align:center;background:linear-gradient(150deg,var(--kv-green),#0d512a);color:#fff;border:0}.kv-home-bookbox .kv-home-kicker{background:rgba(255,255,255,.16);color:#fff}.kv-home-bookbox h2{margin:.55rem 0;color:#fff;font-size:2rem}.kv-home-bookbox p{line-height:1.6}.kv-home-bookicon{font-size:3rem}
.kv-home-terminemodule .kv-box{box-shadow:none;margin:0;border:0;padding:0}
.kv-home-figuregrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.kv-home-figure{display:grid;grid-template-columns:105px 1fr;align-items:center;gap:1rem;overflow:hidden;min-height:105px;border-radius:18px;border:1px solid #e4dfca;background:#fffdf7;text-decoration:none!important;color:#26332b!important;transition:.18s}
.kv-home-figure:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(0,0,0,.08)}
.kv-home-figure img,.kv-home-figure-placeholder{width:105px;height:105px;object-fit:cover}.kv-home-figure-placeholder{display:grid;place-items:center;background:#fff2a8;font-size:2.5rem}.kv-home-figure strong{display:block;color:var(--kv-red);font-size:1.1rem}.kv-home-figure span{display:block;margin-top:.25rem;color:#566159;font-size:.93rem}
.kv-home-figure-empty{display:flex;align-items:center;justify-content:center;gap:1.2rem;padding:1.2rem;text-align:left;background:#f7fbf7;border-radius:18px}.kv-home-figure-empty>span{font-size:3rem}.kv-home-figure-empty h3{margin:0 0 .25rem;color:var(--kv-green)}.kv-home-figure-empty p{margin:.2rem 0 .55rem}
.kv-footer--v4{padding:0;text-align:left;font-weight:400}.kv-footer-inner{max-width:1240px;margin:auto;padding:2.2rem 1.2rem;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem}.kv-footer-brand img{width:210px;max-width:100%;filter:drop-shadow(0 2px 2px rgba(0,0,0,.1))}.kv-footer-brand p{max-width:340px;line-height:1.55}.kv-footer-links{display:flex;flex-direction:column;gap:.48rem}.kv-footer-links strong{color:var(--kv-yellow);font-size:1.08rem;margin-bottom:.2rem}.kv-footer-links a{color:#fff!important;text-decoration:none!important}.kv-footer-links a:hover{text-decoration:underline!important}.kv-footer-copy{border-top:1px solid rgba(255,255,255,.22);padding:1rem;text-align:center;font-weight:700}
@media(max-width:900px){.kv-home-newsgrid,.kv-home-adventuregrid,.kv-home-figuregrid{grid-template-columns:repeat(2,minmax(0,1fr))}.kv-home-two{grid-template-columns:1fr}.kv-footer-inner{grid-template-columns:1fr 1fr}.kv-footer-brand{grid-column:1/-1}}
@media(max-width:650px){.kv-home-sectionhead{align-items:flex-start;flex-direction:column}.kv-home-sectionhead--center{align-items:center}.kv-home-newsgrid,.kv-home-adventuregrid,.kv-home-figuregrid{grid-template-columns:1fr}.kv-home-adventure{min-height:200px}.kv-home-eventfallback{align-items:flex-start}.kv-home-figure{grid-template-columns:88px 1fr}.kv-home-figure img,.kv-home-figure-placeholder{width:88px;height:88px}.kv-footer-inner{grid-template-columns:1fr}.kv-footer-brand{grid-column:auto}.kv-map-title{padding:0 .75rem}}


/* KreativeValley 4.1 – interaktive Weltkarte */
.kv-map{overflow:visible}
.kv-hotspot-wrap{position:absolute;z-index:8}
.kv-hotspot-wrap.kv-home{left:8%;top:32%}
.kv-hotspot-wrap.kv-forest{left:36%;top:31%}
.kv-hotspot-wrap.kv-cinema{left:67%;top:34%}
.kv-hotspot-wrap.kv-creative{left:83%;top:49%}
.kv-hotspot-wrap.kv-cave{left:15%;top:73%}
.kv-hotspot-wrap.kv-festival{left:44%;top:68%}
.kv-hotspot-wrap.kv-booking{left:73%;top:72%}
.kv-hotspot-wrap.kv-news{left:5%;top:9%}
.kv-hotspot-wrap .kv-hotspot{
  position:relative!important;inset:auto!important;
  display:grid!important;place-items:center;
  width:74px!important;height:74px!important;
  min-width:74px;border:2px solid rgba(255,255,255,.92)!important;
  border-radius:50%!important;padding:0!important;
  background:rgba(255,201,32,.88)!important;
  box-shadow:0 7px 18px rgba(0,0,0,.23)!important;
  cursor:pointer;transition:transform .18s ease,filter .18s ease;
}
.kv-hotspot-wrap .kv-hotspot:hover,.kv-hotspot-wrap .kv-hotspot:focus-visible{
  transform:scale(1.1);filter:brightness(1.05);outline:3px solid rgba(255,255,255,.7)
}
.kv-hotspot-wrap.kv-forest .kv-hotspot{background:rgba(43,181,76,.88)!important}
.kv-hotspot-wrap.kv-cinema .kv-hotspot{background:rgba(39,142,219,.88)!important}
.kv-hotspot-wrap.kv-creative .kv-hotspot{background:rgba(170,57,210,.88)!important}
.kv-hotspot-wrap.kv-cave .kv-hotspot{background:rgba(0,180,190,.88)!important}
.kv-hotspot-wrap.kv-festival .kv-hotspot{background:rgba(220,65,55,.88)!important}
.kv-hotspot-wrap.kv-booking .kv-hotspot{background:rgba(238,151,23,.9)!important}
.kv-hotspot-wrap.kv-news .kv-hotspot{background:rgba(255,202,25,.9)!important}
.kv-hotspot-hand{font-size:2rem;color:#fff;text-shadow:0 2px 3px rgba(0,0,0,.25)}
.kv-hotspot-label{
  position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);
  width:max-content;max-width:190px;padding:.38rem .62rem;border-radius:9px;
  background:rgba(23,30,26,.83);color:#fff;font-size:.83rem;font-weight:800;
  line-height:1.15;text-align:center;pointer-events:none
}
.kv-hotspot-popover{
  position:absolute;left:50%;bottom:calc(100% + 14px);transform:translateX(-50%);
  width:260px;padding:1rem 1.05rem;border-radius:18px;background:#fff;color:#26342b;
  box-shadow:0 15px 40px rgba(0,0,0,.25);border:2px solid rgba(23,126,63,.18);
  text-align:left;z-index:30
}
.kv-hotspot-popover[hidden]{display:none!important}
.kv-hotspot-popover strong{display:block;padding-right:1.3rem;color:var(--kv-green);font-size:1.08rem}
.kv-hotspot-popover p{margin:.4rem 0 .75rem;font-size:.9rem;line-height:1.45}
.kv-hotspot-popover a{display:inline-block;padding:.52rem .75rem;border-radius:10px;background:#f7c52d;color:#17261d!important;font-weight:900;text-decoration:none}
.kv-hotspot-close{position:absolute;right:.55rem;top:.42rem;border:0;background:transparent;font-size:1.35rem;cursor:pointer;color:#58645c}
@media(max-width:760px){
 .kv-hotspot-wrap .kv-hotspot{width:50px!important;height:50px!important;min-width:50px}
 .kv-hotspot-hand{font-size:1.35rem}
 .kv-hotspot-label{display:none}
 .kv-hotspot-popover{width:min(240px,70vw)}
}


/* ============================================================
   KreativeValley 4.1.1
   User world-map artwork + invisible click zones + one dialog
   ============================================================ */

.kv-map--411{
  position:relative;
  width:min(100%,1648px);
  margin:0 auto;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 34px rgba(35,56,42,.13);
}

.kv-map--411 .kv-map-img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1648/928;
  object-fit:contain;
}

/* Hide all legacy 4.1 hotspot UI if cached markup ever appears. */
.kv-map--411 .kv-hotspot-wrap,
.kv-map--411 .kv-hotspot,
.kv-map--411 .kv-hotspot-label,
.kv-map--411 .kv-hotspot-popover{
  display:none!important;
}

/* Invisible clickable zones over the circles baked into the user's image. */
.kv-map-clickzone{
  position:absolute;
  z-index:12;
  width:8.2%;
  aspect-ratio:1/1;
  transform:translate(-50%,-50%);
  border:0;
  border-radius:50%;
  padding:0;
  margin:0;
  background:transparent;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}

/* Subtle feedback only on hover/focus. No permanent extra circle. */
.kv-map-clickzone:hover::after,
.kv-map-clickzone:focus-visible::after{
  content:"";
  position:absolute;
  inset:10%;
  border-radius:50%;
  border:3px solid rgba(255,255,255,.92);
  box-shadow:0 0 0 5px rgba(20,116,58,.22),0 5px 18px rgba(0,0,0,.25);
  pointer-events:none;
}
.kv-map-clickzone:focus-visible{outline:none}

/* Coordinates for the exact uploaded map (1648 × 928). */
.kv-zone-home{left:19.1%;top:39.3%}
.kv-zone-forest{left:36.6%;top:42.1%}
.kv-zone-cinema{left:68.2%;top:42.4%}
.kv-zone-creative{left:81.7%;top:58.5%}
.kv-zone-cave{left:17.0%;top:79.2%}
.kv-zone-festival{left:45.3%;top:76.0%}
.kv-zone-booking{left:73.2%;top:78.6%}

/* Small unobtrusive instruction below the visual map area. */
.kv-map-help{
  position:absolute;
  left:50%;
  bottom:1.4%;
  z-index:10;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:.45rem;
  max-width:74%;
  padding:.48rem .78rem;
  border-radius:999px;
  background:rgba(255,255,255,.90);
  color:#24462f;
  box-shadow:0 4px 14px rgba(0,0,0,.13);
  font-size:clamp(.72rem,1.05vw,.92rem);
  font-weight:800;
  line-height:1.2;
  pointer-events:none;
}

/* Single central info card. */
.kv-map-dialog{
  position:absolute;
  inset:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
  background:rgba(17,34,24,.20);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,visibility .18s ease;
}

.kv-map-dialog.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.kv-map-dialog__panel{
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1rem;
  width:min(470px,88%);
  padding:1.25rem 1.3rem;
  border:2px solid rgba(20,116,58,.16);
  border-radius:22px;
  background:rgba(255,255,255,.98);
  box-shadow:0 20px 55px rgba(0,0,0,.30);
  transform:translateY(10px) scale(.98);
  transition:transform .18s ease;
}

.kv-map-dialog.is-open .kv-map-dialog__panel{
  transform:translateY(0) scale(1);
}

.kv-map-dialog__badge{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:17px;
  background:#fff3bb;
  font-size:1.7rem;
}

.kv-map-dialog__content{min-width:0}

.kv-map-dialog__eyebrow{
  display:block;
  margin:0 2rem .15rem 0;
  color:var(--kv-green,#17743a);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.kv-map-dialog h2{
  margin:.05rem 2rem .45rem 0;
  color:var(--kv-red,#c62828);
  font-size:clamp(1.35rem,2.4vw,1.85rem);
  line-height:1.1;
}

.kv-map-dialog p{
  margin:0 0 .9rem;
  color:#3f4e45;
  line-height:1.5;
}

.kv-map-dialog__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:150px;
  padding:.65rem .95rem;
  border-radius:11px;
  background:#f5c62e;
  color:#17261d!important;
  font-weight:900;
  text-decoration:none!important;
  box-shadow:0 5px 13px rgba(0,0,0,.12);
}

.kv-map-dialog__close{
  position:absolute;
  right:.65rem;
  top:.55rem;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:#f2f4f1;
  color:#314238;
  font-size:1.45rem;
  line-height:1;
  cursor:pointer;
}

.kv-map-dialog__close:hover{background:#e6ebe7}

@media(max-width:760px){
  .kv-map--411{border-radius:12px}
  .kv-map-clickzone{width:11%}
  .kv-map-help{
    bottom:.8%;
    max-width:88%;
    padding:.35rem .55rem;
  }
  .kv-map-dialog{align-items:center;padding:.65rem}
  .kv-map-dialog__panel{
    grid-template-columns:1fr;
    width:min(390px,94%);
    gap:.6rem;
    padding:1rem;
  }
  .kv-map-dialog__badge{
    width:46px;
    height:46px;
    border-radius:13px;
    font-size:1.35rem;
  }
  .kv-map-dialog p{font-size:.92rem}
}

@media(max-width:520px){
  .kv-map-help span:last-child{display:none}
  .kv-map-help{padding:.35rem;width:34px;height:34px;justify-content:center}
}


/* ============================================================
   KreativeValley 4.1.3
   Weltkarte ohne eingebrannte obere Navigation
   ============================================================ */

.kv-map--411 .kv-map-img{
  aspect-ratio:2048/1022!important;
}

/* Korrigierte Positionen nach Entfernen der oberen 130 Pixel */
.kv-zone-home{left:19.1%!important;top:31.6%!important}
.kv-zone-forest{left:36.6%!important;top:34.7%!important}
.kv-zone-cinema{left:68.2%!important;top:35.1%!important}
.kv-zone-creative{left:81.7%!important;top:53.2%!important}
.kv-zone-cave{left:17.0%!important;top:76.6%!important}
.kv-zone-festival{left:45.3%!important;top:72.9%!important}
.kv-zone-booking{left:73.2%!important;top:75.9%!important}

/* Das Joomla-Hauptmenü bleibt kompakt, auch nach dynamischem Umbau. */
.kv-menu .kv-menu-413-added > a{
  white-space:nowrap;
}
@media(max-width:1180px){
  .kv-menu ul{
    gap:.55rem!important;
  }
  .kv-menu a{
    font-size:.92rem!important;
    padding:.55rem .58rem!important;
  }
}


/* KreativeValley 4.1.4 – größeres Logo im Seitenkopf */
.kv-logo{
  width:300px!important;
  max-width:28vw;
  max-height:96px!important;
  height:auto;
  object-fit:contain;
}
@media(max-width:1180px){
  .kv-logo{width:245px!important;max-width:25vw;max-height:84px!important}
}
@media(max-width:760px){
  .kv-logo{width:190px!important;max-width:55vw;max-height:72px!important}
}


/* KreativeValley 4.1.5 – echtes Header-Logo sichtbar größer */
.kv-brand{
  display:flex!important;
  align-items:center!important;
  gap:1.1rem!important;
  flex:0 0 auto;
}
.kv-brand .kv-logo{
  width:360px!important;
  max-width:none!important;
  height:auto!important;
  max-height:108px!important;
  object-fit:contain!important;
  flex:0 0 auto;
}
.kv-brand > span{
  max-width:230px;
  font-size:1.05rem;
  line-height:1.25;
  font-weight:800;
}
@media(max-width:1280px){
  .kv-brand .kv-logo{
    width:300px!important;
    max-height:94px!important;
  }
  .kv-brand > span{
    max-width:200px;
    font-size:.98rem;
  }
}
@media(max-width:980px){
  .kv-brand .kv-logo{
    width:245px!important;
    max-height:82px!important;
  }
}
@media(max-width:760px){
  .kv-brand{
    gap:.6rem!important;
  }
  .kv-brand .kv-logo{
    width:210px!important;
    max-width:58vw!important;
    max-height:72px!important;
  }
}


/* KreativeValley 4.2.0 – Impressum & Social Media */
.kv-social{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}
.kv-social-link{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .75rem;border-radius:999px;text-decoration:none!important;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);transition:transform .18s ease,background .18s ease}
.kv-social-link:hover,.kv-social-link:focus-visible{transform:translateY(-2px);background:rgba(255,255,255,.22)}
.kv-social-link span{width:1.65rem;height:1.65rem;display:grid;place-items:center;border-radius:50%;background:#fff;color:#202020;font-weight:900;font-size:1rem}
.kv-social-link b{font-size:.9rem}
.kv-footer-copy{display:flex!important;justify-content:center;align-items:center;flex-wrap:wrap;gap:.7rem 1.1rem}
.kv-footer-copy a{color:inherit;font-weight:700}
.kv-legal-page{width:min(1050px,calc(100% - 2rem));margin:2rem auto 4rem}
.kv-legal-head{text-align:center;margin-bottom:1.6rem}
.kv-legal-head h1{margin:.35rem 0 .7rem}
.kv-legal-head p{max-width:760px;margin:0 auto}
.kv-legal-warning{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.15rem;margin:0 0 1.3rem;border-radius:16px;background:#fff7d6;border:2px solid #ffd33d;color:#443500}
.kv-legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.kv-legal-card{background:#fff;border-radius:20px;padding:1.35rem 1.45rem;box-shadow:0 12px 34px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.07)}
.kv-legal-card--wide{grid-column:1/-1}
.kv-legal-card h2{font-size:1.12rem;margin:0 0 .85rem}
.kv-legal-card p,.kv-legal-card address{margin:.35rem 0;font-style:normal;line-height:1.65}
.kv-legal-card a{overflow-wrap:anywhere}
@media(max-width:760px){.kv-legal-grid{grid-template-columns:1fr}.kv-legal-card--wide{grid-column:auto}.kv-social-link b{display:none}.kv-social-link{padding:.45rem}}
