
:root{--g:#052b24;--g2:#0b4538;--d:#031d19;--gold:#d0a13a;--cream:#f6f0e5}
body.kwm-subpage-active .wp-block-post-title{display:none!important}body.kwm-subpage-active main,body.kwm-subpage-active .wp-block-post-content{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}.kwm-subpage{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;background:linear-gradient(180deg,var(--d),var(--g),var(--d));color:#fff;padding-bottom:42px}.kwm-subpage *{box-sizing:border-box}.kwm-hero{position:relative;min-height:310px;display:flex;align-items:center;background-size:cover!important;background-position:center!important;border-bottom:1px solid var(--gold)}.kwm-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,20,17,.93),rgba(1,20,17,.55))}.kwm-hero-inner{position:relative;z-index:1;width:min(100%,1500px);margin:auto;padding:70px 36px}.kwm-hero h1{color:var(--cream)!important;font-size:clamp(44px,5vw,74px)!important;margin:0 0 14px!important}.kwm-hero p{color:#edc66c!important;font-size:clamp(18px,1.7vw,27px)!important;max-width:820px}.kwm-shell{width:min(100%,1500px)!important;margin:auto!important;padding:58px 28px!important}.kwm-grid{display:grid!important;gap:22px!important}.kwm-grid-2{grid-template-columns:repeat(2,1fr)}.kwm-grid-3{grid-template-columns:repeat(3,1fr)}.kwm-card,.kwm-contact-box,.kwm-map-panel{background:linear-gradient(180deg,rgba(11,69,56,.96),rgba(4,35,30,.98));border:1px solid var(--gold);border-radius:16px;padding:28px;box-shadow:0 14px 34px rgba(0,0,0,.25)}.kwm-card h2,.kwm-card h3,.kwm-contact-box h2{color:var(--cream)!important}.kwm-card p,.kwm-card li,.kwm-contact-box p{color:#efe8da!important;line-height:1.6}.kwm-button,.kwm-subpage .wp-block-button__link{background:var(--gold)!important;color:#10251f!important;border-radius:4px!important;font-weight:800!important;text-transform:uppercase;padding:14px 22px!important}.kwm-download-card{text-align:center;min-height:250px;display:flex;flex-direction:column;justify-content:center;align-items:center}.kwm-info-strip{border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:34px 0;margin:50px 0}.kwm-cta{text-align:center;border-top:1px solid var(--gold);padding-top:38px;margin-top:50px}.kwm-timeline{border-left:2px solid var(--gold);padding-left:24px}.kwm-event{margin-bottom:22px}.kwm-event strong{color:#edc66c}.kwm-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kwm-gallery figure{margin:0!important;border:1px solid var(--gold);border-radius:10px;overflow:hidden}.kwm-gallery img{width:100%!important;aspect-ratio:4/3;object-fit:cover}.kwm-form-wrap{background:var(--cream);color:#17251f;border-radius:18px;padding:30px;border:1px solid var(--gold)}.kwm-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.kwm-form-field{display:flex;flex-direction:column;gap:7px}.kwm-form-field.full{grid-column:1/-1}.kwm-form-field input,.kwm-form-field textarea,.kwm-form-field select{padding:12px;border:1px solid #bca66d}.kwm-form-field textarea{min-height:140px}.kwm-options{display:flex;gap:16px;flex-wrap:wrap}.kwm-map-layout{display:grid;grid-template-columns:340px 1fr;gap:20px}.kwm-map{height:560px;border-radius:14px;overflow:hidden;border:1px solid var(--gold)}.kwm-contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}.kwm-route{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}.kwm-route-step{border:1px solid var(--gold);border-radius:12px;padding:18px;text-align:center;background:rgba(8,55,45,.78)}.kwm-route-num{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--gold);color:#10251f;font-weight:800}@media(max-width:900px){.kwm-grid-3,.kwm-gallery{grid-template-columns:repeat(2,1fr)}.kwm-map-layout,.kwm-contact-layout{grid-template-columns:1fr}.kwm-route{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.kwm-grid-2,.kwm-grid-3,.kwm-form-grid,.kwm-gallery,.kwm-route{grid-template-columns:1fr}.kwm-shell{padding:40px 16px!important}}


/* Version 1.2 – Leerraum direkt unter dem Header auf Unterseiten entfernen */
body.kwm-subpage-active .wp-site-blocks{
	gap:0!important;
	row-gap:0!important;
}

body.kwm-subpage-active .wp-site-blocks > main,
body.kwm-subpage-active main,
body.kwm-subpage-active .wp-block-post-content{
	margin-block-start:0!important;
	margin-top:0!important;
	padding-top:0!important;
}

/* Bei Block-Themes bleibt um den ausgeblendeten Seitentitel oft eine leere Gruppe stehen. */
body.kwm-subpage-active .wp-block-group:has(> .wp-block-post-title),
body.kwm-subpage-active .wp-block-group:has(.wp-block-post-title:only-child){
	display:none!important;
	margin:0!important;
	padding:0!important;
	min-height:0!important;
}

/* Das eingefügte Unterseiten-Layout muss direkt am Header beginnen. */
body.kwm-subpage-active .wp-block-post-content > .kwm-subpage:first-child,
body.kwm-subpage-active .entry-content > .kwm-subpage:first-child{
	margin-top:0!important;
}


/* Version 1.3 – derselbe bewährte Header-/Template-Fix wie auf der Ausstellerseite */
body.kwm-subpage-active .wp-site-blocks{
	gap:0!important;
	row-gap:0!important;
	overflow-x:clip;
}

body.kwm-subpage-active .wp-site-blocks > *{
	margin-block-start:0!important;
	margin-block-end:0!important;
}

/* Der Seiten-Container darf keinen eigenen weißen Innenabstand erzeugen. */
body.kwm-subpage-active main,
body.kwm-subpage-active main.wp-block-group,
body.kwm-subpage-active .wp-block-post-content,
body.kwm-subpage-active .entry-content,
body.kwm-subpage-active .site-main,
body.kwm-subpage-active .wp-site-blocks > main{
	max-width:none!important;
	width:100%!important;
	margin:0!important;
	padding:0!important;
	gap:0!important;
}

/* Titel der normalen WordPress-Seite nicht zusätzlich oberhalb des Musters ausgeben. */
body.kwm-subpage-active .wp-block-post-title,
body.kwm-subpage-active .entry-title{
	display:none!important;
	margin:0!important;
	padding:0!important;
}

/* Direkter Übergang vom Header zum Seiteninhalt. */
body.kwm-subpage-active header + main,
body.kwm-subpage-active .wp-block-template-part + main,
body.kwm-subpage-active .wp-block-template-part + .wp-block-group{
	margin-top:0!important;
	padding-top:0!important;
}

/* Leere WordPress-Blöcke vor dem eigentlichen Unterseiten-Inhalt entfernen. */
body.kwm-subpage-active .wp-block-post-content > :empty:first-child,
body.kwm-subpage-active .entry-content > :empty:first-child{
	display:none!important;
	margin:0!important;
	padding:0!important;
	min-height:0!important;
}

/* Das Unterseiten-Layout beginnt ohne zusätzlichen Außenabstand. */
body.kwm-subpage-active .wp-block-post-content > .kwm-subpage:first-child,
body.kwm-subpage-active .entry-content > .kwm-subpage:first-child{
	margin-top:0!important;
}


/* Version 1.4 – Überschriften auf allen Unterseiten dezenter */
.kwm-subpage .kwm-hero h1{
  font-size:clamp(38px,4.2vw,58px)!important;
  line-height:1.08!important;
}
.kwm-subpage .kwm-section-title{
  font-size:clamp(31px,3.2vw,50px)!important;
}
/* Auch die separate Ausstellerseite optisch angleichen. */
.kwm-aussteller-page h1,
.kwm-aussteller-page .kwm-hero-title{
  font-size:clamp(38px,4.2vw,58px)!important;
  line-height:1.08!important;
}
@media(max-width:680px){
  .kwm-subpage .kwm-hero h1,
  .kwm-aussteller-page h1,
  .kwm-aussteller-page .kwm-hero-title{font-size:clamp(34px,10vw,46px)!important;}
}


/* Version 1.5 – gleich hohe Programmkarten */
.kwm-page-program .kwm-grid-2{
	align-items:stretch!important;
	grid-auto-rows:1fr!important;
}
.kwm-page-program .kwm-grid-2 > .kwm-card{
	height:100%!important;
	min-height:100%!important;
	margin:0!important;
	display:flex!important;
	flex-direction:column!important;
}
.kwm-page-program .kwm-grid-2 > .kwm-card > h2{
	margin-top:0!important;
}
.kwm-page-program .kwm-timeline{
	flex:1 1 auto!important;
}

/* Version 1.5 – Kontaktformular und Kontaktkarte gleich hoch */
.kwm-page-contact .kwm-contact-layout{
	align-items:stretch!important;
}
.kwm-page-contact .kwm-contact-layout > div{
	height:100%!important;
}
.kwm-page-contact .kwm-form-wrap,
.kwm-page-contact .kwm-contact-box{
	height:100%!important;
	min-height:100%!important;
	margin:0!important;
}
.kwm-page-contact .kwm-contact-box{
	display:flex!important;
	flex-direction:column!important;
}

/* Kleine optische Absicherung für Tablets und Mobilgeräte */
@media(max-width:900px){
	.kwm-page-program .kwm-grid-2 > .kwm-card,
	.kwm-page-contact .kwm-form-wrap,
	.kwm-page-contact .kwm-contact-box{
		height:auto!important;
		min-height:0!important;
	}
}


/* Version 1.6 – Informationsseite: Karten sauber auf gleicher Höhe und Linie */
.kwm-page-information .kwm-grid{
  align-items:stretch!important;
}

/* Gutenberg kann zwischen direkten Grid-Kindern eigene Block-Abstände setzen. */
.kwm-page-information .kwm-grid > *{
  margin-block-start:0!important;
  margin-block-end:0!important;
}

/* Beide Download-Karten exakt gleich hoch. */
.kwm-page-information .kwm-grid-2{
  grid-auto-rows:1fr!important;
}
.kwm-page-information .kwm-grid-2 > .kwm-download-card{
  height:100%!important;
  min-height:290px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
.kwm-page-information .kwm-download-card .wp-block-heading,
.kwm-page-information .kwm-download-card .wp-block-buttons{
  margin-block-start:12px!important;
  margin-block-end:0!important;
}

/* Aufbau, Abbau und Hinweise: gleiche Höhe und bündige Oberkante. */
.kwm-page-information .kwm-info-strip .kwm-grid-3{
  grid-auto-rows:1fr!important;
  align-items:stretch!important;
}
.kwm-page-information .kwm-info-strip .kwm-grid-3 > .kwm-card{
  height:100%!important;
  min-height:250px!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.kwm-page-information .kwm-info-strip .kwm-card > .wp-block-heading{
  margin-top:0!important;
  margin-bottom:20px!important;
}
.kwm-page-information .kwm-info-strip .kwm-card > p{
  margin-top:0!important;
  margin-bottom:0!important;
}

@media(max-width:900px){
  .kwm-page-information .kwm-grid-2 > .kwm-download-card,
  .kwm-page-information .kwm-info-strip .kwm-grid-3 > .kwm-card{
    height:auto!important;
    min-height:0!important;
  }
}

/* Version 1.6 – Adventsroute: alle Stationskarten gleich groß und bündig */
.kwm-page-route .kwm-route{
  align-items:stretch!important;
  grid-auto-rows:1fr!important;
}
.kwm-page-route .kwm-route > *{
  margin-block-start:0!important;
  margin-block-end:0!important;
}
.kwm-page-route .kwm-route-step{
  height:100%!important;
  min-height:145px!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
@media(max-width:900px){
  .kwm-page-route .kwm-route-step{
    min-height:125px!important;
  }
}
@media(max-width:650px){
  .kwm-page-route .kwm-route-step{
    height:auto!important;
    min-height:0!important;
  }
}


/* Version 1.8 – Bewerbungsformular */
.kwm-field-info{
	margin:.45rem 0 .65rem;
	padding:.65rem .8rem;
	border-left:3px solid #d0a13a;
	background:rgba(208,161,58,.10);
	font-size:.92em;
	line-height:1.45;
}

.kwm-field-hint{
	margin:.4rem 0 0;
	font-size:.88em;
	opacity:.8;
}

.kwm-field-error{
	margin-top:.35rem;
	color:#a51d1d;
	font-size:.88em;
	font-weight:700;
}

.kwm-form-error-summary{
	margin:0 0 1.1rem;
	padding:.85rem 1rem;
	border:1px solid #b42318;
	border-radius:6px;
	background:#fff1f0;
	color:#8f1711;
	font-weight:700;
}

.kwm-form-field input.kwm-invalid,
.kwm-form-field textarea.kwm-invalid,
.kwm-form-field select.kwm-invalid{
	border-color:#b42318!important;
	box-shadow:0 0 0 2px rgba(180,35,24,.12)!important;
}

.kwm-form-field input[type="file"]{
	max-width:100%;
}
