/*
Theme Name: KöBes Kremer Child
Theme URI: https://koebes.net
Description: Kremer Bestattungen child theme for the KöBes Theme and Elementor.
Author: Anne Baum
Author URI: https://koebes.net
Template: koebes-theme
Version: 1.4.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: koebes-kremer
License: GNU General Public License v2 or later
*/

/*
 * The full design is loaded from assets/css/kremer-design.css.
 * Keep this file limited to WordPress and Elementor integration rules.
 */

:root {
	--e-global-color-primary: #19372f;
	--e-global-color-secondary: #294c43;
	--e-global-color-text: #26312e;
	--e-global-color-accent: #b08d57;
	--e-global-typography-primary-font-family: "Rubik";
	--e-global-typography-secondary-font-family: "Rubik";
	--e-global-typography-text-font-family: "Rubik";
	--e-global-typography-accent-font-family: "Rubik";
}

/* Keep Elementor's stored Site Kit from restoring the former Sofia family. */
body[class*="elementor-kit-"] {
	--e-global-typography-primary-font-family: "Rubik";
	--e-global-typography-secondary-font-family: "Rubik";
	--e-global-typography-text-font-family: "Rubik";
	--e-global-typography-accent-font-family: "Rubik";
}

.elementor-widget-heading .elementor-heading-title,
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-button .elementor-button {
	font-family: "Rubik", Arial, sans-serif !important;
}

body.elementor-page .site-main,
body.elementor-template-full-width .site-main {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.elementor-page .entry,
body.elementor-page .entry-content,
body.elementor-template-full-width .entry,
body.elementor-template-full-width .entry-content {
	margin: 0;
	padding: 0;
}

.elementor-section.elementor-section-boxed > .elementor-container,
.e-con.e-con-boxed > .e-con-inner {
	max-width: 1240px;
}

.elementor-widget-heading h1,
.elementor-widget-heading h2,
.elementor-widget-heading h3,
.elementor-widget-button .elementor-button,
.elementor-widget-nav-menu .elementor-nav-menu a {
	font-family: "Rubik", Arial, sans-serif;
}

.nav-wrap nav > ul {
	display: flex;
	align-items: center;
	gap: 1.7rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.nav-wrap nav li {
	margin: 0;
}

.brand--custom-logo .custom-logo-link,
.brand--custom-logo .custom-logo {
	display: block;
	max-height: 58px;
	width: auto;
}

footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.kremer-elementor-fullbleed {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.kremer-imported-section {
	width: 100%;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
}

.kremer-imported-section > .elementor-element,
.kremer-imported-section > .elementor-widget,
.kremer-imported-section > .elementor-widget > .elementor-widget-container {
	width: 100%;
	max-width: none;
	margin: 0;
}

/*
 * Kremer Core 1.1 maps the approved markup to native Elementor containers.
 * These rules remove Elementor's structural defaults while retaining every
 * class from the static design.
 */
.e-con.kremer-native-section,
.e-con.kremer-native-container {
	box-sizing: border-box;
}

.e-con.kremer-native-section {
	width: 100%;
}

.e-con.kremer-native-container > .elementor-element,
.e-con.kremer-native-section > .elementor-element {
	min-width: 0;
}

.e-con.two-col,
.e-con.story-layout,
.e-con.help-inner,
.e-con.contact-grid,
.e-con.feature,
.e-con.cards,
.e-con.topic-grid,
.e-con.price-grid,
.e-con.check-grid,
.e-con.trust-inner,
.e-con.photo-band {
	display: grid !important;
}

/*
 * On the public page, remove only the presentational Elementor widget wrappers.
 * The widgets and their editor controls remain intact in Elementor itself.
 */
body:not(.elementor-editor-active) .kremer-native-section > .elementor-widget-heading,
body:not(.elementor-editor-active) .kremer-native-section > .elementor-widget-text-editor,
body:not(.elementor-editor-active) .kremer-native-section > .elementor-widget-image,
body:not(.elementor-editor-active) .kremer-native-section > .elementor-widget-button,
body:not(.elementor-editor-active) .kremer-native-section > .elementor-widget-html,
body:not(.elementor-editor-active) .kremer-native-container > .elementor-widget-heading,
body:not(.elementor-editor-active) .kremer-native-container > .elementor-widget-text-editor,
body:not(.elementor-editor-active) .kremer-native-container > .elementor-widget-image,
body:not(.elementor-editor-active) .kremer-native-container > .elementor-widget-button,
body:not(.elementor-editor-active) .kremer-native-container > .elementor-widget-html,
body:not(.elementor-editor-active) .kremer-native-section > .elementor-widget-heading > .elementor-widget-container,
body:not(.elementor-editor-active) .kremer-native-section > .elementor-widget-text-editor > .elementor-widget-container,
body:not(.elementor-editor-active) .kremer-native-section > .elementor-widget-image > .elementor-widget-container,
body:not(.elementor-editor-active) .kremer-native-section > .elementor-widget-button > .elementor-widget-container,
body:not(.elementor-editor-active) .kremer-native-section > .elementor-widget-html > .elementor-widget-container,
body:not(.elementor-editor-active) .kremer-native-container > .elementor-widget-heading > .elementor-widget-container,
body:not(.elementor-editor-active) .kremer-native-container > .elementor-widget-text-editor > .elementor-widget-container,
body:not(.elementor-editor-active) .kremer-native-container > .elementor-widget-image > .elementor-widget-container,
body:not(.elementor-editor-active) .kremer-native-container > .elementor-widget-button > .elementor-widget-container,
body:not(.elementor-editor-active) .kremer-native-container > .elementor-widget-html > .elementor-widget-container {
	display: contents;
}

.e-con.kremer-native-section.section {
	max-width: 1240px !important;
	margin-inline: auto !important;
	padding: clamp(4.5rem,8vw,8rem) 1.5rem !important;
}

.e-con.kremer-native-section.section.section-narrow {
	max-width: 850px !important;
}

.e-con.kremer-native-section.page-hero {
	padding: clamp(4rem,8vw,7rem) max(1.5rem,calc((100vw - 1240px)/2)) !important;
}

.e-con.kremer-native-section.quote-panel {
	padding: clamp(3rem,7vw,6rem) 1.5rem !important;
}

.e-con.kremer-native-section.contact-band {
	padding: clamp(4rem,7vw,6rem) 1.5rem !important;
}

.e-con.kremer-native-section.trust-strip {
	margin-inline: 1.5rem !important;
}

.e-con.kremer-native-section.story-layout {
	max-width: 1320px !important;
}

.e-con.kremer-native-container.two-col {
	grid-template-columns: 1fr 1fr !important;
	gap: clamp(2.5rem,8vw,7rem) !important;
}

.e-con.kremer-native-container.help-inner {
	max-width: 1240px !important;
	margin-inline: auto !important;
	padding: clamp(4rem,7vw,6rem) 1.5rem !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 5rem !important;
}

.e-con.kremer-native-container.trust-inner {
	max-width: 1240px !important;
	margin-inline: auto !important;
	padding: 2.2rem 1.5rem !important;
	grid-template-columns: repeat(3,1fr) !important;
	gap: 2rem !important;
}

.e-con.kremer-native-container.topic-grid {
	grid-template-columns: repeat(4,1fr) !important;
	gap: 1rem !important;
}

.e-con.kremer-native-container.cards {
	grid-template-columns: repeat(3,1fr) !important;
	gap: 1.25rem !important;
}

.e-con.kremer-native-section.photo-band {
	grid-template-columns: 1.35fr .65fr !important;
	gap: 8px !important;
	padding: 8px !important;
}

.e-con.kremer-native-container.price-grid {
	grid-template-columns: 1fr 1fr !important;
	gap: 1.5rem !important;
}

.e-con.kremer-native-container.contact-grid {
	grid-template-columns: .85fr 1.15fr !important;
	gap: 4rem !important;
}

.e-con.kremer-native-section.feature {
	grid-template-columns: 1fr 1fr !important;
}

.elementor-widget-heading,
.elementor-widget-text-editor,
.elementor-widget-image,
.elementor-widget-button {
	margin-block-end: 0;
}

.elementor-widget-text-editor p:last-child,
.elementor-widget-text-editor ul:last-child,
.elementor-widget-text-editor ol:last-child {
	margin-bottom: 0;
}

.elementor-widget-image img {
	display: block;
	width: 100%;
}

.photo-caption > .elementor-widget-image,
.photo-caption > .elementor-widget-image > .elementor-widget-container,
.story-image > .elementor-widget-image,
.story-image > .elementor-widget-image > .elementor-widget-container,
.feature-media > .elementor-widget-image,
.feature-media > .elementor-widget-image > .elementor-widget-container {
	height: 100%;
}

.elementor-widget-button.button {
	display: block;
	width: fit-content;
	padding: 0;
	border: 0;
	background: none;
}

.elementor-widget-button.button .elementor-button {
	border-radius: 0;
	border: 1px solid var(--red);
	background: var(--red);
	color: #fff;
	padding: .9rem 1.25rem;
	font: 600 .76rem var(--sans);
	text-transform: uppercase;
	letter-spacing: .07em;
}

.elementor-widget-button.button.secondary .elementor-button {
	background: transparent;
	color: var(--blue);
	border-color: var(--blue);
}

.contact-band .elementor-widget-button.button.secondary .elementor-button {
	color: #fff;
	border-color: #fff;
}

.admin-bar .site-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 46px;
	}
}

@media (max-width: 900px) {
	.nav-wrap nav > ul {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.e-con.kremer-native-container.two-col,
	.e-con.kremer-native-container.help-inner,
	.e-con.kremer-native-container.contact-grid,
	.e-con.kremer-native-section.feature,
	.e-con.kremer-native-section.story-layout {
		grid-template-columns: 1fr !important;
	}

	.e-con.kremer-native-container.cards,
	.e-con.kremer-native-container.topic-grid {
		grid-template-columns: repeat(2,1fr) !important;
	}

	.e-con.kremer-native-container.trust-inner {
		grid-template-columns: 1fr !important;
	}

	.e-con.kremer-native-section.photo-band {
		grid-template-columns: 1fr !important;
	}

	.e-con.kremer-native-section.trust-strip {
		margin-inline: 0 !important;
	}
}

@media (max-width: 620px) {
	.e-con.kremer-native-container.cards,
	.e-con.kremer-native-container.topic-grid,
	.e-con.kremer-native-container.price-grid {
		grid-template-columns: 1fr !important;
	}

	.e-con.kremer-native-container.help-inner {
		padding: 4rem 1.25rem !important;
		gap: 2rem !important;
	}
}
