
:root{
	--kwm-green:#052b24;
	--kwm-green-dark:#041f1b;
	--kwm-gold:#d0a13a;
	--kwm-cream:#f6f0e5;
	--kwm-text:#f8f5ed;
}

/* Theme-Abstände und weiße Zwischenfläche zuverlässig entfernen */
body.kwm-has-aussteller .wp-site-blocks{
	gap:0 !important;
	row-gap:0 !important;
	overflow-x:clip;
}
body.kwm-has-aussteller .wp-site-blocks > *{
	margin-block-start:0 !important;
	margin-block-end:0 !important;
}
body.kwm-has-aussteller main,
body.kwm-has-aussteller main.wp-block-group,
body.kwm-has-aussteller .wp-block-post-content,
body.kwm-has-aussteller .entry-content,
body.kwm-has-aussteller .site-main,
body.kwm-has-aussteller .wp-site-blocks > main{
	max-width:none !important;
	width:100% !important;
	margin:0 !important;
	padding:0 !important;
	gap:0 !important;
}
body.kwm-has-aussteller .wp-block-post-content > *,
body.kwm-has-aussteller .entry-content > *,
body.kwm-has-aussteller main > *{
	max-width:none !important;
	width:100% !important;
	margin-left:0 !important;
	margin-right:0 !important;
}
body.kwm-has-aussteller .wp-block-post-title,
body.kwm-has-aussteller .entry-title{
	display:none !important;
}
body.kwm-has-aussteller header + main,
body.kwm-has-aussteller .wp-block-template-part + main,
body.kwm-has-aussteller .wp-block-template-part + .wp-block-group{
	margin-top:0 !important;
	padding-top:0 !important;
}
body.kwm-has-aussteller .wp-block-spacer:first-child{
	display:none !important;
}

.kwm-aussteller-page{
	width:100vw !important;
	max-width:none !important;
	margin:0 calc(50% - 50vw) !important;
	background:linear-gradient(180deg,#061f1b 0%,#073229 52%,#061f1b 100%);
	color:var(--kwm-text);
	padding:0 0 42px;
}
.kwm-aussteller-page,
.kwm-aussteller-page *{
	box-sizing:border-box;
}
.kwm-aussteller-page > *{
	margin-block-start:0 !important;
}
.kwm-aussteller-hero{
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:0 !important;
	min-height:340px;
	display:flex;
	align-items:center;
	background:
		linear-gradient(90deg,rgba(0,20,18,.94) 0%,rgba(0,20,18,.68) 46%,rgba(0,20,18,.40) 100%),
		radial-gradient(circle at 80% 18%,rgba(208,161,58,.18),transparent 40%),
		var(--kwm-green-dark);
	border-bottom:1px solid rgba(208,161,58,.55);
}
.kwm-hero-inner{
	width:min(100%,1700px) !important;
	max-width:1700px !important;
	margin:0 auto !important;
	padding:76px clamp(24px,4vw,70px) 66px !important;
}
.kwm-main-title{
	color:var(--kwm-cream) !important;
	font-size:clamp(46px,4.8vw,72px) !important;
	line-height:1.04 !important;
	margin:0 0 20px !important;
	max-width:none !important;
}
.kwm-intro{
	display:block !important;
	width:min(100%,760px) !important;
	max-width:760px !important;
	margin:0 !important;
	padding:0 !important;
	text-align:left !important;
	color:var(--kwm-gold) !important;
	font-size:clamp(19px,1.7vw,27px) !important;
	line-height:1.45 !important;
}
.kwm-content-wrap{
	width:100% !important;
	max-width:none !important;
	margin:0 !important;
	padding:0 2.2vw 12px !important;
}
.kwm-section-title{
	text-align:center;
	color:var(--kwm-cream) !important;
	font-size:clamp(34px,3.6vw,54px) !important;
	line-height:1.12 !important;
	margin:58px 20px 6px !important;
}
.kwm-section-title:before,
.kwm-section-title:after{
	content:"";
	display:inline-block;
	width:min(10vw,150px);
	height:1px;
	background:var(--kwm-gold);
	vertical-align:middle;
	margin:0 22px;
}
.kwm-section-subtitle{
	color:var(--kwm-gold) !important;
	font-size:clamp(16px,1.2vw,21px) !important;
	margin:0 20px 30px !important;
}
.kwm-card-grid{
	display:grid !important;
	width:min(100%,1700px) !important;
	max-width:1700px !important;
	margin:0 auto !important;
	padding:0 20px !important;
	gap:24px !important;
	align-items:stretch !important;
}
.kwm-card-grid > *{
	margin:0 !important;
	align-self:stretch !important;
	min-width:0 !important;
}
.kwm-card-grid-3{
	grid-template-columns:repeat(3,minmax(0,1fr));
}
.kwm-card-grid-6{
	grid-template-columns:repeat(6,minmax(0,1fr));
	gap:16px !important;
}
.kwm-vendor-card,
.kwm-craft-card{
	position:relative;
	display:flex !important;
	flex-direction:column !important;
	height:100% !important;
	min-height:0 !important;
	margin:0 !important;
	background:linear-gradient(180deg,rgba(14,60,50,.99),rgba(5,35,30,.99));
	border:1px solid var(--kwm-gold);
	border-radius:17px;
	overflow:hidden;
	box-shadow:0 13px 36px rgba(0,0,0,.25);
	transition:transform .22s ease,box-shadow .22s ease;
}
.kwm-vendor-card:hover,
.kwm-craft-card:hover{
	transform:translateY(-4px);
	box-shadow:0 18px 44px rgba(0,0,0,.33);
}
.kwm-vendor-card{
	padding:0 22px 24px !important;
}
.kwm-vendor-card > *,
.kwm-craft-card > *{
	margin-block-start:0 !important;
}
.kwm-card-image{
	flex:none;
	margin:0 -22px 0 !important;
	width:calc(100% + 44px) !important;
	max-width:none !important;
}
.kwm-card-image img{
	display:block;
	width:100% !important;
	aspect-ratio:16/9 !important;
	object-fit:cover !important;
}
.kwm-logo-row{
	flex:none;
	position:relative;
	z-index:2;
	margin:-44px 0 10px !important;
	padding:0 !important;
	gap:10px !important;
	min-height:88px;
}
.kwm-round-logo{
	margin:0 !important;
	width:88px !important;
	height:88px !important;
	flex:0 0 88px !important;
	border-radius:50%;
	overflow:hidden;
	background:#fff;
	border:3px solid var(--kwm-gold);
	box-shadow:0 7px 18px rgba(0,0,0,.28);
}
.kwm-round-logo img{
	display:block;
	width:100% !important;
	height:100% !important;
	object-fit:contain !important;
	background:#fff !important;
	padding:7px !important;
	border-radius:50%;
}
.kwm-vendor-card h3{
	color:var(--kwm-cream) !important;
	font-size:clamp(24px,1.7vw,34px) !important;
	line-height:1.13 !important;
	margin:6px 0 18px !important;
	min-height:2.3em;
}
.kwm-offer-list{
	color:var(--kwm-gold) !important;
	list-style:none !important;
	padding:0 !important;
	margin:0 0 18px !important;
	font-size:clamp(16px,1.05vw,20px) !important;
}
.kwm-offer-list li{
	margin:0 0 7px !important;
}
.kwm-offer-list li:before{
	content:"✦";
	margin-right:9px;
}
.kwm-vendor-card > p{
	color:#eee6d6 !important;
	font-size:clamp(15px,1vw,19px) !important;
	line-height:1.6 !important;
	margin:0 !important;
}
.kwm-craft-card{
	padding:0 14px 18px !important;
	text-align:center;
}
.kwm-craft-image{
	flex:none;
	margin:0 -14px 14px !important;
	width:calc(100% + 28px) !important;
	max-width:none !important;
}
.kwm-craft-image img{
	display:block;
	width:100% !important;
	aspect-ratio:1/1 !important;
	object-fit:cover !important;
}
.kwm-craft-card h3{
	color:var(--kwm-gold) !important;
	font-size:clamp(19px,1.25vw,25px) !important;
	line-height:1.15 !important;
	margin:0 0 14px !important;
	min-height:2.35em;
	display:flex;
	align-items:center;
	justify-content:center;
}
.kwm-craft-card > p:not(.kwm-free){
	color:#eee6d6 !important;
	font-size:clamp(14px,.95vw,17px) !important;
	line-height:1.5 !important;
	margin:0 0 16px !important;
}
.kwm-free{
	color:#f0bd45 !important;
	font-weight:700 !important;
	margin:auto 0 0 !important;
	padding-top:8px !important;
}
.kwm-bottom-callout{
	width:min(100%,1700px) !important;
	max-width:1700px !important;
	text-align:center;
	border-top:1px solid rgba(208,161,58,.78);
	margin:48px auto 0 !important;
	padding:30px 20px 0 !important;
}
.kwm-bottom-callout h3{
	color:var(--kwm-gold) !important;
	font-size:clamp(26px,2.5vw,40px) !important;
	text-transform:uppercase;
	letter-spacing:.05em;
	margin:0 0 10px !important;
}
.kwm-bottom-callout p{
	margin:6px 0 !important;
}
.kwm-ai-note{
	font-size:.86rem !important;
	opacity:.76;
}

@media (max-width:1200px){
	.kwm-card-grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
	.kwm-card-grid-6{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:760px){
	.kwm-aussteller-hero{min-height:260px;}
	.kwm-hero-inner{padding:56px 22px 48px !important;}
	.kwm-main-title{font-size:clamp(42px,13vw,58px) !important;}
	.kwm-card-grid-3,.kwm-card-grid-6{grid-template-columns:1fr;}
	.kwm-card-grid{padding:0 14px !important;}
	.kwm-section-title:before,.kwm-section-title:after{display:none;}
	.kwm-content-wrap{padding-left:0 !important;padding-right:0 !important;}
	.kwm-vendor-card h3,.kwm-craft-card h3{min-height:0;}
}


/* V3.2: Nur das seitliche Seiten-Padding entfernen.
   Keine Breiten oder Positionen von html/body/main überschreiben. */
body.kwm-has-aussteller .wp-block-post-content,
body.kwm-has-aussteller .entry-content,
body.kwm-has-aussteller main,
body.kwm-has-aussteller .has-global-padding {
	padding-left:0 !important;
	padding-right:0 !important;
}

/* Vollbreite des Aussteller-Layouts stabil aus dem Inhaltscontainer herausziehen. */
body.kwm-has-aussteller .kwm-aussteller-page {
	position:relative !important;
	left:auto !important;
	right:auto !important;
	width:100vw !important;
	max-width:none !important;
	margin-left:calc(50% - 50vw) !important;
	margin-right:calc(50% - 50vw) !important;
}
