/* =========================================================================
   Wohnstudio Kolb – Theme-Styles (eigenständig geschrieben)
   ========================================================================= */

/* ---------- Variablen & Marken ---------- */
:root {
	--kolb-accent: #ad4f1b;
	--kolb-band: #ad4f1b;
	--kolb-cta: #e19235;
	--kolb-text: #555;
	--kolb-nav: #696969;
	--kolb-light: #f7f7f7;
	--kolb-footer-head: #ad4f1b;
	--kolb-s40: 40px; --kolb-s50: 50px; --kolb-s60: 60px; --kolb-s70: 70px; --kolb-s80: 80px;
	--kolb-s100: 100px; --kolb-s120: 120px; --kolb-s170: 170px;
	--kolb-header-h: 232px;
}
body.fm-waridoda {
	--kolb-accent: #7c2025;
	--kolb-band: #000;
	--kolb-cta: #000;
	--kolb-footer-head: #fff;
}
body {
	--wp--preset--color--accent: var(--kolb-accent);
	--wp--preset--color--band: var(--kolb-band);
	--wp--preset--color--cta: var(--kolb-cta);
}
@media (max-width: 767px) {
	:root {
		--kolb-s40: 20px; --kolb-s50: 40px; --kolb-s60: 20px; --kolb-s70: 30px; --kolb-s80: 40px;
		--kolb-s100: 50px; --kolb-s120: 70px; --kolb-s170: 80px;
	}
}

/* ---------- Basis ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: 'D-DIN', Arial, sans-serif;
	font-size: 15px;
	line-height: 27px;
	color: var(--kolb-text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img { max-width: 100%; height: auto; vertical-align: top; }
a { color: var(--kolb-accent); text-decoration: none; transition: color .2s, background-color .2s, opacity .2s; }
a:hover { text-decoration: none; }
strong, b { font-weight: 700; }
ul, ol { margin: 0 0 15px; padding: 0 0 0 26px; }
.kolb-band ul, .kolb-band ol { list-style: none; padding-left: 0; margin-left: 15px; }
li { list-style-position: outside; }

h1, h2, h3, h4, h5, h6 { font-family: 'D-DIN', Arial, sans-serif; font-weight: 700; color: var(--kolb-accent); margin: 0; }
h1 { font-size: 45px; line-height: 1.3; text-transform: uppercase; }
h2 { font-size: 35px; line-height: 1.3; text-transform: uppercase; }
h3 { font-size: 28px; line-height: 1.3; }
h4 { font-size: 22.5px; line-height: 1.3; }
h5 { font-size: 18px; line-height: 1.3; }
body h1, body h2, body h3, body h4 { margin-top: 0; margin-bottom: 25px; }
body h5 { margin-top: 0; margin-bottom: 15px; }
body p { margin-top: 0; margin-bottom: 15px; }
body ul, body ol { margin-top: 0; margin-bottom: 15px; }
@media (max-width: 767px) {
	h1 { font-size: 26px; }
	h2 { font-size: 24px; }
	h3 { font-size: 21px; }
	h4 { font-size: 19px; }
}

.kolb-wrap { max-width: 1000px; margin: 0 auto; padding: 0 40px; position: relative; }
@media (max-width: 767px) { .kolb-wrap { padding: 0 20px; } }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; padding: 10px; background: #fff; z-index: 100000; }

/* ---------- Kontaktleiste ---------- */
.kolb-top { background: var(--kolb-accent); color: #fff; font-size: 13.95px; line-height: 37.5px; height: 37.5px; position: relative; z-index: 1100; }
.kolb-top a { color: #fff; display: inline-block; margin-right: 15px; }
.kolb-top a:hover { opacity: .75; }
.kolb-top .fa { margin: 0 5px 0 10px; }
body.fm-kolb .kolb-top .is-wariwoda, body.fm-waridoda .kolb-top .is-kolb { display: none; }

/* ---------- Kopfbereich ---------- */
.kolb-header { background: #fff; position: relative; z-index: 1030; }
.kolb-header .kolb-wrap { height: 194px; padding-top: 5px; }
.kolb-logo { display: block; width: 190px; height: 90px; background: var(--kolb-logo) no-repeat left center / contain; }
.kolb-logo span { position: absolute; left: -9999px; }
.kolb-nav { position: absolute; right: 40px; top: 103px; }
.kolb-nav ul { list-style: none; margin: 0; padding: 0; display: flex; white-space: nowrap; }
.kolb-nav li { margin: 0 15px; }
.kolb-nav li + li { margin-left: 18.6px; }
.kolb-nav li:first-child { margin-left: 0; }
.kolb-nav li:last-child { margin-right: 0; }
.kolb-nav a { display: block; line-height: 90px; font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--kolb-nav); }
.kolb-nav a:hover { color: #9b9b9b; }
.kolb-nav .is-active > a, .kolb-nav .is-trail > a { color: var(--kolb-accent); }
.kolb-burger { display: none; }

/* Sticky-Kopf beim Scrollen */
.kolb-header--sticky { position: fixed; top: 0; left: 0; right: 0; box-shadow: 0 0 2px 2px rgba(0,0,0,.1); transform: translateY(-110%); transition: transform .35s ease; z-index: 1040; }
.kolb-header--sticky.is-visible { transform: translateY(0); }
.kolb-header--sticky .kolb-wrap { height: 154px; padding-top: 5px; }
.kolb-header--sticky .kolb-logo { width: 150px; height: 70px; }
.kolb-header--sticky .kolb-nav { top: 83px; }
.kolb-header--sticky .kolb-nav a { line-height: 70px; }
body.admin-bar .kolb-header--sticky { top: 32px; }

@media (max-width: 1023px) {
	.kolb-top { display: none; }
	.kolb-header .kolb-wrap { height: 75px; padding: 5px 20px 0; }
	.kolb-logo { height: 42px; width: 190px; margin-top: 9px; background-position: left center; }
	.kolb-nav { display: none; }
	.kolb-burger { display: block; position: absolute; right: 20px; top: 17px; width: 36px; height: 36px; padding: 0; border: 0; background: var(--kolb-accent); cursor: pointer; }
	.kolb-burger span, .kolb-burger span::before, .kolb-burger span::after { content: ''; position: absolute; left: 9px; width: 18px; height: 2px; background: #fff; }
	.kolb-burger span { top: 17px; }
	.kolb-burger span::before { left: 0; top: -6px; }
	.kolb-burger span::after { left: 0; top: 6px; }
	.kolb-header--sticky { display: none; }
	:root { --kolb-header-h: 75px; }
}

/* ---------- Mobilmenü ---------- */
.kolb-mobilemenu { position: fixed; top: 0; bottom: 0; left: 0; width: 80%; max-width: 440px; background: #f3f3f3; z-index: 2000; transform: translateX(-100%); transition: transform .4s ease; overflow-y: auto; visibility: hidden; }
.kolb-mobilemenu__title { height: 40px; line-height: 40px; text-align: center; color: rgba(0,0,0,.3); font-size: 15px; border-bottom: 1px solid rgba(0,0,0,.1); }
.kolb-mobilemenu ul { list-style: none; margin: 0; padding: 0; }
.kolb-mobilemenu li { border-bottom: 1px solid rgba(0,0,0,.1); }
.kolb-mobilemenu a { display: block; padding: 0 20px; line-height: 40px; color: rgba(0,0,0,.75); font-size: 15px; letter-spacing: .5px; }
.kolb-mobilemenu .is-active > a, .kolb-mobilemenu .is-trail > a { background: var(--kolb-accent); color: #fff; }
.kolb-page { transition: transform .4s ease; }
.kolb-menu-overlay { position: fixed; inset: 0; z-index: 1999; display: none; }
body.kolb-menu-open { overflow: hidden; }
body.kolb-menu-open .kolb-mobilemenu { transform: translateX(0); visibility: visible; }
body.kolb-menu-open .kolb-page { transform: translateX(min(80vw, 440px)); }
body.kolb-menu-open .kolb-menu-overlay { display: block; left: min(80vw, 440px); }

/* ---------- Inhalt: Abschnitte ---------- */
.kolb-content { position: relative; }
.kolb-content > *, .kolb-content .alignfull { margin-top: 0; margin-bottom: 0; }
.kolb-section { padding: var(--kolb-s100) var(--kolb-s40); }
.kolb-section > *, .kolb-band > :not(.wp-block-cover__image-background):not(.wp-block-cover__background):not(.wp-block-cover__inner-container), .kolb-band > .wp-block-cover__inner-container > * {
	max-width: 920px; margin-left: auto; margin-right: auto;
}
.kolb-section.kolb-pt-0 { padding-top: 0; }
.kolb-section.kolb-pb-0 { padding-bottom: 0; }

.kolb-band { position: relative; padding-left: var(--kolb-s40) !important; padding-right: var(--kolb-s40) !important; }
.kolb-band.wp-block-cover { min-height: 0; display: block; overflow: visible; }
.kolb-band.wp-block-cover .wp-block-cover__inner-container { width: 100%; color: inherit; position: relative; z-index: 1; }
.kolb-band.has-parallax .wp-block-cover__image-background { background-position: 50% 0; }
.kolb-band.kolb-narrow > *, .kolb-band.kolb-narrow > .wp-block-cover__inner-container > * { max-width: 720px; }
.kolb-band.kolb-narrow-70 > * { max-width: calc(70vw - 80px); }
.kolb-h-light, h1.kolb-h-light { font-weight: 300; }
.kolb-white, .kolb-white h1, .kolb-white h2, .kolb-white h3, .kolb-white h4, .kolb-white p, .kolb-white li, .kolb-white a:not(.wp-block-button__link) { color: #fff; }
.kolb-white a:not(.wp-block-button__link) { text-decoration: underline; }
.kolb-white .kolb-iconbox a { text-decoration: none; }
.kolb-white ul { margin-left: 15px; }
@media (max-width: 767px) {
	.kolb-band.kolb-narrow-70 > * { max-width: none; }
	.kolb-band.kolb-hide-bg-mobile .wp-block-cover__image-background { display: none; }
}

.kolb-box { padding: var(--kolb-s50) var(--kolb-s40) var(--kolb-s120); }
.kolb-box.has-background { background-color: var(--kolb-light); }

/* Text-Bausteine */
.kolb-lead { margin-bottom: 0; }
.kolb-headline-center { text-align: center; margin-bottom: 0; }
.kolb-fw-300 { font-weight: 300; }
.kolb-mt-30 { margin-top: 30px !important; } .kolb-mb-30 { margin-bottom: 30px !important; }
.kolb-mt-40 { margin-top: 40px !important; } .kolb-mb-40 { margin-bottom: 40px !important; }
.kolb-mt-80 { margin-top: 80px !important; } .kolb-mb-80 { margin-bottom: 80px !important; }
.kolb-mb-50 { margin-bottom: 50px !important; } .kolb-mb-20 { margin-bottom: 20px !important; }
.kolb-mb-0 { margin-bottom: 0 !important; }

/* ---------- Slider (Startseite) ---------- */
.kolb-slider { position: relative; height: calc(100vh - var(--kolb-header-h)); min-height: 400px; overflow: hidden; background: #000; --k: .703; --off: 0px; }
body.admin-bar .kolb-slider { height: calc(100vh - var(--kolb-header-h) - 32px); }
.kolb-slider > .wp-block-cover { position: absolute; inset: 0; min-height: 0 !important; height: 100%; padding: 0; margin: 0 !important; opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility .8s; display: block; }
.kolb-slider > .wp-block-cover.is-current { opacity: 1; visibility: visible; z-index: 2; }
.kolb-slider > .wp-block-cover:first-child { opacity: 1; visibility: visible; }
.kolb-slider.is-ready > .wp-block-cover:first-child:not(.is-current) { opacity: 0; visibility: hidden; }
.kolb-slider .wp-block-cover__inner-container { position: absolute; inset: 0; width: 100% !important; max-width: none !important; color: #fff; }
.kolb-slider .wp-block-cover__inner-container > * { position: absolute; left: 0; right: 0; margin: 0 !important; text-align: center; }
.kolb-slider .wp-block-cover__inner-container > .wp-block-image { top: calc(var(--off) + 140px * var(--k)); }
.kolb-slider .wp-block-cover__inner-container > .wp-block-image img { width: calc(120px * var(--k)); height: auto; margin-top: 20px; filter: drop-shadow(5px 5px 13px #000); }
.kolb-slider .wp-block-cover__inner-container > .wp-block-image img[data-kolb-w] { width: calc(var(--iw) * var(--k)); }
.kolb-slider .kolb-slide-title { top: calc(var(--off) + 300px * var(--k)); font-size: calc(100px * var(--k)); line-height: 1.5; font-weight: 700; color: #fff; text-shadow: 0 0 20px #000, 0 0 5px #000, 0 0 12px #000; }
.kolb-slider .kolb-slide-sub { top: calc(var(--off) + 440px * var(--k)); font-size: calc(40px * var(--k)); line-height: 1.5; font-weight: 700; color: #fff; text-shadow: 0 0 20px #000, 0 0 5px #000, 0 0 12px #000; }
.kolb-slider .kolb-slide-sub.kolb-sub-50 { font-size: calc(50px * var(--k)); }
.kolb-slider .wp-block-buttons { top: calc(var(--off) + 520px * var(--k)); justify-content: center; }
.kolb-slider .wp-block-button__link { display: inline-block; font-size: calc(13px * var(--k)); font-weight: 700; line-height: calc(50px * var(--k)); padding: 0 calc(35px * var(--k)); border: 1px solid #fff; border-radius: 0; background: rgba(0,0,0,.2); color: #fff; text-shadow: #000 2px 2px 6px; box-shadow: 10px 10px 26px 0 rgba(0,0,0,.75); text-transform: uppercase; }
.kolb-slider .wp-block-button__link:hover { background: #fff; color: var(--kolb-accent); text-shadow: none; }
.kolb-slider__arrow { position: absolute; top: 50%; z-index: 5; width: 40px; height: 40px; margin-top: -20px; border: 0; background: rgba(0,0,0,.5); color: #fff; font-size: 18px; cursor: pointer; opacity: 0; transition: opacity .3s; }
.kolb-slider:hover .kolb-slider__arrow { opacity: 1; }
.kolb-slider__arrow--prev { left: 20px; } .kolb-slider__arrow--next { right: 20px; }
@media (max-width: 767px) {
	.kolb-slider .kolb-slide-title, .kolb-slider .kolb-slide-sub, .kolb-slider .kolb-slide-sub.kolb-sub-50 { font-size: 30px; line-height: normal; }
	.kolb-slider .wp-block-button__link { min-width: 200px; line-height: 45px; font-size: 16px; padding: 0 13px; background: rgba(255,255,255,.4); margin-top: 70px; }
}

/* Headerbild */
.kolb-headerimage.wp-block-cover { padding: 0; min-height: 450px; }
.kolb-headerimage.kolb-h-medium { min-height: 350px !important; }
@media (max-width: 767px) {
	.kolb-headerimage.wp-block-cover { min-height: 250px !important; }
	.kolb-headerimage.kolb-h-medium { min-height: 200px !important; }
}

/* ---------- Icon-Leiste ---------- */
.kolb-iconbar.wp-block-columns { gap: 0; margin-left: auto; margin-right: auto; max-width: 938.75px; flex-wrap: nowrap; }
.kolb-iconbar > .wp-block-column { padding: 0 9.375px; }
.kolb-iconbox { text-align: center; }
.kolb-iconbox a { color: inherit; display: block; }
.kolb-iconbox__icon { display: inline-block; font-size: 45px; line-height: 45px; padding-top: 5px; color: #fff; }
.kolb-iconbox__title { margin: 20px 0 10px; font-size: 18px; line-height: 1.4; letter-spacing: 1px; text-transform: none; color: #fff; }
.kolb-iconbox a:hover .kolb-iconbox__icon, .kolb-iconbox a:hover .kolb-iconbox__title { opacity: .8; }
@media (max-width: 767px) {
	.kolb-iconbar.wp-block-columns { flex-wrap: wrap; margin: 0; }
	.kolb-iconbar > .wp-block-column { flex-basis: 100% !important; margin-bottom: 25px; }
}

/* ---------- Bild-Text-Kacheln ---------- */
.kolb-itgrid.wp-block-columns { gap: 0; margin: 0 0 0; }
.kolb-itgrid > .wp-block-column { padding: 0 8.39px; }
.kolb-itgrid { margin-bottom: 55px !important; }
.kolb-itgrid:last-child { margin-bottom: 0 !important; }
.kolb-itbox .wp-block-image { margin: 0 0 30px; }
.kolb-itbox .wp-block-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.kolb-itbox h2 { margin-bottom: 25px; }
@media (max-width: 767px) {
	.kolb-itgrid.wp-block-columns { flex-wrap: wrap; margin: 0; }
	.kolb-itgrid > .wp-block-column { flex-basis: 100% !important; padding: 0; margin-bottom: 25px; }
	.kolb-itgrid { margin-bottom: 0 !important; }
}

/* ---------- Bild/Text-Balken (Medien & Text) ---------- */
.kolb-mt.wp-block-media-text { background: #f8f8f8; grid-template-columns: 50% 1fr; align-items: stretch; }
.kolb-mt.wp-block-media-text.has-media-on-the-right { grid-template-columns: 1fr 50%; }
.kolb-mt .wp-block-media-text__content { padding: var(--kolb-s70) var(--kolb-s60) !important; align-self: start; }
.kolb-mt.kolb-mt-120 .wp-block-media-text__content { padding: var(--kolb-s120) var(--kolb-s60) !important; align-self: center; }
.kolb-mt .wp-block-media-text__media { align-self: stretch; min-height: 100%; }
.kolb-mt.is-image-fill-element .wp-block-media-text__media { height: 100%; min-height: 250px; }
.kolb-mt .wp-block-media-text__content > :last-child { margin-bottom: 0; }
.kolb-mt h2, .kolb-mt h3 { margin-bottom: 25px; }
.kolb-mt + .kolb-mt, .kolb-mt + p, p + .kolb-mt, .kolb-mt + .wp-block-group, h2 + .kolb-mt, ul + .kolb-mt { margin-top: 0; }
.kolb-section .kolb-mt { margin-top: 30px !important; margin-bottom: 30px !important; }
.kolb-section .kolb-mt:first-child { margin-top: 0 !important; }
.kolb-section .kolb-mt:last-child { margin-bottom: 0 !important; }
@media (max-width: 767px) {
	.kolb-mt.wp-block-media-text, .kolb-mt.wp-block-media-text.has-media-on-the-right { grid-template-columns: 100% !important; }
	.kolb-mt .wp-block-media-text__media { grid-row: 1 !important; grid-column: 1 !important; min-height: 245px !important; }
	.kolb-mt .wp-block-media-text__content { grid-row: 2 !important; grid-column: 1 !important; padding: 30px !important; }
}

/* ---------- Kontakt-Band ---------- */
.kolb-cta .wp-block-image { margin: 0 0 20px; text-align: center; }
.kolb-cta .wp-block-image img { display: inline-block; }
.kolb-cta-intro { font-family: 'Playfair Display', Georgia, 'Times New Roman', Times, serif; font-style: italic; font-size: 18px; line-height: 23.4px; letter-spacing: 2px; text-align: center; color: #fff; margin-bottom: 30px !important; }
.kolb-cta-title { font-size: 55px; line-height: 1.5; text-align: center; color: #fff; margin-top: 0 !important; margin-bottom: 0 !important; font-weight: 400; }
.kolb-cta .wp-block-buttons { margin-top: 40px; justify-content: center; }
@media (max-width: 767px) { .kolb-cta-title { font-size: 23px; } }

/* ---------- Buttons ---------- */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 15px 18.75px; }
.wp-block-button__link, .kolb-button {
	display: inline-block; min-width: 190px; padding: 12px 20px; border: 2px solid var(--kolb-accent); border-radius: 0;
	background: var(--kolb-accent); color: #fff; font-size: 13.5px; font-weight: 700; line-height: 27px; text-align: center; text-decoration: none !important;
}
.wp-block-button__link:hover { background: transparent; color: var(--kolb-accent) !important; }
.kolb-white .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--kolb-accent) !important; }
.wp-block-button.is-style-kolb-outline .wp-block-button__link { background: transparent; border-color: #fff; color: #fff; }
.wp-block-button.is-style-kolb-outline .wp-block-button__link:hover { background: #fff; color: var(--kolb-accent) !important; }
.wp-block-button.kolb-rounded .wp-block-button__link { border-radius: 3px; }
.kolb-buttons-gap .wp-block-buttons, .wp-block-buttons.kolb-mt-40 { margin-top: 40px; }

/* ---------- Galerie ---------- */
.kolb-gallery.wp-block-gallery { display: flex; flex-wrap: wrap; gap: 10px !important; margin: 0; }
.kolb-gallery.wp-block-gallery .wp-block-image { width: calc((100% - 20px) / 3) !important; margin: 0 !important; position: relative; overflow: hidden; }
.kolb-gallery.wp-block-gallery .wp-block-image img { width: 100%; height: auto !important; aspect-ratio: 3 / 2; object-fit: cover; }
.kolb-gallery .wp-block-image::after { content: ''; position: absolute; inset: 0; background: var(--kolb-accent); opacity: 0; transition: opacity .3s; pointer-events: none; }
.kolb-gallery .wp-block-image:hover::after { opacity: .6; }
.kolb-box > .kolb-gallery { margin: 0 -5px; }
.kolb-logos.wp-block-gallery { display: flex; flex-wrap: wrap; gap: 10px !important; justify-content: flex-start; margin: 0; }
.kolb-logos.wp-block-gallery .wp-block-image { width: 83.8px !important; flex: 0 0 83.8px !important; margin: 0 0 10px !important; }
.kolb-logos.wp-block-gallery .wp-block-image img { width: 83.8px; height: 83.8px !important; object-fit: contain; }
@media (max-width: 767px) {
	.kolb-gallery.wp-block-gallery .wp-block-image { width: 100% !important; }
	.kolb-logos.wp-block-gallery { justify-content: center; }
	.kolb-logos.wp-block-gallery .wp-block-image { width: calc(50% - 10px) !important; flex: 0 0 calc(50% - 10px) !important; }
	.kolb-logos.wp-block-gallery .wp-block-image img { width: 100%; height: 70px !important; }
}

/* ---------- Tabelle ---------- */
.kolb-content .wp-block-table { margin: 0 0 10px; }
.kolb-content .wp-block-table table { border-collapse: collapse; width: auto; }
.kolb-content .wp-block-table td, .kolb-content .wp-block-table th { padding: 12px; border: 0; border-bottom: 1px solid #e3e3e3; text-align: left; }
.kolb-content .wp-block-table.is-style-stripes { border: 0; }

/* ---------- Spalten allgemein ---------- */
.kolb-cols.wp-block-columns { gap: 0; margin-left: auto; margin-right: auto; max-width: 978.5px; }
.kolb-cols > .wp-block-column { padding: 0 29.25px; }
@media (max-width: 767px) {
	.kolb-cols.wp-block-columns { margin: 0; flex-wrap: wrap; }
	.kolb-cols > .wp-block-column { padding: 0; flex-basis: 100% !important; margin-bottom: 25px; }
}

/* ---------- Kontaktformular ---------- */
.kolb-form .kolb-field { margin-bottom: 20px; }
.kolb-form input[type=text], .kolb-form input[type=email], .kolb-form textarea {
	display: block; width: 100%; padding: 15px; border: 1px solid var(--kolb-light); background: var(--kolb-light); color: #000; font-family: Arial, sans-serif; font-size: 10.5px; line-height: 12px; border-radius: 0; -webkit-appearance: none;
}
.kolb-form input[type=text], .kolb-form input[type=email] { height: 44px; }
.kolb-form textarea { height: 212px; resize: vertical; }
.kolb-form input:focus, .kolb-form textarea:focus { outline: 0; border-color: #ccc; }
.kolb-form fieldset { margin: 0 0 22px; padding: 10px; border: 1px solid rgba(0,0,0,.2); }
.kolb-form legend { padding: 0 10px; background: var(--kolb-accent); color: #fff; }
.kolb-form legend .req { color: #fff; }
.kolb-form label { cursor: pointer; }
.kolb-form label a { color: var(--kolb-accent); }
.kolb-form .kolb-hp { position: absolute !important; left: -9999px !important; }
.kolb-form button { display: inline-block; padding: 15px 20px; border: 0; border-radius: 3px; background: var(--kolb-accent); color: #fff; font-family: Arial, sans-serif; font-size: 12px; font-weight: 700; cursor: pointer; }
.kolb-form button:hover { opacity: .85; }
.kolb-form-message { padding: 15px 20px; margin-bottom: 20px; color: #fff; background: var(--kolb-accent); }
.kolb-form-message.error { background: #a00; }

/* ---------- Karte ---------- */
.kolb-map { position: relative; background: #eee; }
.kolb-map iframe { display: block; width: 100%; border: 0; }
.kolb-map__placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 30px; background: #f7f7f7; color: var(--kolb-text); }
.kolb-map__placeholder button { margin-top: 15px; }

/* ---------- Fußbereich ---------- */
.kolb-footer { position: relative; background: var(--kolb-accent); color: rgba(255,255,255,.85); font-size: 13.95px; line-height: 24px; }
.kolb-footer .kolb-wrap { padding-top: 65px; padding-bottom: 65px; }
.kolb-footer__cols { display: flex; margin: 0 -9.375px; }
.kolb-footer__col { width: 25%; padding: 0 9.375px; }
.kolb-footer h4 { color: var(--kolb-footer-head); font-size: 22.5px; line-height: 29.25px; margin-bottom: 25px; text-transform: none; }
.kolb-footer p { margin-bottom: 15px; }
.kolb-footer a { color: rgba(255,255,255,.85); }
.kolb-footer a:hover { color: #fff; }
.kolb-footer ul { list-style: none; margin: 0; padding: 0; }
.kolb-footer li { position: relative; padding: 0 0 10px 25px; margin-bottom: 10px; line-height: 20.925px; border-bottom: 1px solid rgba(255,255,255,.2); }
.kolb-footer li::before { content: '\f105'; font-family: FontAwesome; position: absolute; left: 3px; top: 0; }
.kolb-footer__icon { position: relative; padding-left: 26px; margin: 0 0 6px; }
.kolb-footer__icon .fa { position: absolute; left: 0; top: 5px; width: 20px; }
.kolb-footer__icon p { margin: 0; }
body.fm-waridoda .kolb-footer .is-kontakt, body.fm-kolb .kolb-footer__col--wariwoda, body.fm-waridoda .kolb-footer__col--kolb { display: none; }
.kolb-totop { position: absolute; top: 0; left: 50%; width: 40px; height: 40px; margin-left: -20px; background: rgba(255,255,255,.15); color: #fff; text-align: center; line-height: 40px; }
.kolb-totop:hover { background: rgba(255,255,255,.3); }
.kolb-totop .fa { color: #fff; }
@media (max-width: 767px) {
	.kolb-footer .kolb-wrap { padding-top: 40px; padding-bottom: 40px; }
	.kolb-footer__cols { flex-wrap: wrap; margin: 0; }
	.kolb-footer__col { width: 100%; padding: 0; margin-bottom: 25px; }
	.kolb-footer__col:empty { display: none; }
}

/* Nach-oben-Button */
.kolb-toplink { position: fixed; right: 15px; bottom: -60px; width: 45px; height: 45px; border-radius: 100%; background: rgba(255,255,255,.9); border: 1px solid #ebedeb; box-shadow: 0 0 25px rgba(0,0,0,.04); color: var(--kolb-text); font-size: 12px; line-height: 43px; text-align: center; opacity: 0; transition: opacity .3s, bottom .3s; z-index: 1500; }
.kolb-toplink.is-visible { opacity: 1; bottom: 45px; }
.kolb-toplink:hover { color: var(--kolb-accent); }

/* ---------- Datenschutz-Popup ---------- */
.kolb-consent { display: none; position: fixed; inset: 0; z-index: 100000; font-family: Arial, Verdana, sans-serif; }
.kolb-consent.is-open { display: block; }
.kolb-consent__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.kolb-consent__box { position: relative; width: 475px; max-width: 100%; margin: 0 auto; padding: 25px; background: #f5f5f5; color: var(--kolb-text); max-height: 100vh; overflow-y: auto; }
.kolb-consent__title { font-size: 19.5px; line-height: 27px; margin-bottom: 10px; }
.kolb-consent__info { font-size: 13.5px; line-height: 16.2px; margin-bottom: 15px; }
.kolb-consent__item { display: flex; gap: 10px; align-items: flex-start; background: #fff; padding: 10px; margin-bottom: 1px; font-size: 15px; line-height: 27px; cursor: pointer; }
.kolb-consent__item input { margin: 7px 10px 0 15px; }
.kolb-consent__item small { font-size: 12px; line-height: 16.8px; color: rgba(0,0,0,.6); }
.kolb-consent__save { display: block; width: 100%; margin-top: 15px; padding: 15px 20px; border: 1px solid #ddd; background: #ddd; color: #9a9a9a; font-family: Arial, sans-serif; font-size: 12px; font-weight: 700; cursor: not-allowed; }
.kolb-consent__save:not([disabled]) { background: var(--kolb-accent); border-color: var(--kolb-accent); color: #fff; cursor: pointer; }
.kolb-consent__links { text-align: center; font-size: 12.75px; line-height: 27px; margin-top: 5px; }
.kolb-consent__links a, .kolb-consent__links button { color: rgba(0,0,0,.5); text-decoration: underline; margin: 0 3px; background: none; border: 0; font: inherit; cursor: pointer; padding: 0; }
.kolb-consent__help { display: none; font-size: 13.5px; line-height: 20px; }
.kolb-consent.view-help .kolb-consent__help { display: block; }
.kolb-consent.view-help .kolb-consent__main { display: none; }
.kolb-consent__saved { display: none; color: var(--kolb-accent); font-size: 13px; }

/* ---------- WordPress-Ausrichtungen ---------- */
.alignfull { width: 100%; max-width: none !important; }
.aligncenter { margin-left: auto; margin-right: auto; text-align: center; }
.has-text-align-center { text-align: center; }
.has-text-align-right { text-align: right; }
.wp-block-image { margin: 0 0 15px; }
.wp-block-image.aligncenter, .wp-block-image .aligncenter { display: block; text-align: center; }
.wp-block-image.aligncenter img { display: inline-block; }

/* Wariwoda: Buttons immer gefüllt rot */
body.fm-waridoda .wp-block-button.is-style-kolb-outline .wp-block-button__link { background: var(--kolb-accent); border-color: var(--kolb-accent); color: #fff; }
body.fm-waridoda .wp-block-button .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--kolb-accent) !important; }
body.fm-waridoda .kolb-section .wp-block-button .wp-block-button__link:hover, body.fm-waridoda .kolb-mt .wp-block-button .wp-block-button__link:hover { border-color: var(--kolb-accent); }
