/*
Theme Name: cunio (Divi)
Description: Child-Theme von Divi für www.cunio.de – optischer Nachbau der Wartungsseite (Stand November 2026) samt Impressum und Datenschutz.
Author: cunio Technologies GmbH
Template: Divi
Version: 1.0.0
Text Domain: cunio-divi
*/

/* Farben und Maße der bisherigen Website */
:root {
	--cunio-blue: #0EA3FF;
	--cunio-blue-dark: #0068B3;
	--cunio-blue-deeper: #004F88;
	--cunio-night: #0A1A2F;
	--cunio-ink: #1A1A1A;
	--cunio-line: #E3E6EA;
	--cunio-gutter: clamp(1rem, 5vw, 6.5rem);
	--cunio-font: "Inter Tight", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--cunio-small: 0.9375rem;
	--cunio-xsmall: 0.8125rem;
}

@font-face {
	font-family: "Inter Tight";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("assets/fonts/inter-tight-latin-wght-normal.woff2") format("woff2");
}

/* ---------- Grundlagen ---------- */
html, body, #page-container, #main-content { background-color: #fff; }
body, body input, body textarea, body select, body button {
	font-family: var(--cunio-font);
}
body {
	color: var(--cunio-ink);
	font-size: 1.125rem;
	line-height: 1.55;
	font-weight: 400;
}
h1, h2, h3, h4, h5, h6 {
	font-family: var(--cunio-font);
	color: var(--cunio-night);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.08;
	padding-bottom: 0;
}
a { color: var(--cunio-blue-dark); }
a:hover { color: var(--cunio-blue-deeper); }

.cunio-skip-link {
	position: absolute; left: -9999px; top: 5px; z-index: 100000;
	padding: 15px 23px 14px; background: #eee; color: #444; font-size: 1rem;
}
.cunio-skip-link:focus { left: 5px; }

/* ---------- Kopfzeile (Divi-Header, Stil "links") ---------- */
body #page-container #main-header,
body #page-container #main-header.et-fixed-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 50;
	background: #000 !important;
	box-shadow: none !important;
}
#page-container { padding-top: 0 !important; overflow: visible !important; }
#main-header .container.et_menu_container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	padding: 0.85rem var(--cunio-gutter);
	box-sizing: border-box;
}
#main-header .container::after { display: none; }
#main-header .logo_container {
	position: static;
	width: auto;
	height: auto;
	flex: 0 0 auto;
}
#main-header .logo_helper { display: none; }
#main-header #logo {
	display: block;
	height: 30px !important;
	max-height: none !important;
	max-width: none !important;
	width: auto;
	transform: none !important;
	margin: 0;
}
#main-header #et-top-navigation {
	float: none;
	padding: 0 !important;
	padding-left: 0 !important;
	margin: 0;
}
#main-header #top-menu-nav { display: block !important; }
#main-header #top-menu {
	display: flex;
	align-items: center;
	gap: 1.75rem;
	margin: 0;
	padding: 0;
}
#main-header #top-menu li {
	display: block;
	padding: 0 !important;
	margin: 0;
	font-size: var(--cunio-small);
	line-height: 1.55;
}
#main-header #top-menu li a,
#main-header.et-fixed-header #top-menu li a {
	padding: 0 !important;
	color: #fff !important;
	font-size: var(--cunio-small);
	font-weight: 600;
	white-space: nowrap;
	opacity: 1 !important;
}
#main-header #top-menu li a:hover,
#main-header #top-menu li a:focus-visible { color: var(--cunio-blue) !important; }
#main-header #et_mobile_nav_menu,
#main-header #et_top_search,
#main-header .et_search_outer { display: none !important; }

/* ---------- Startseite: Hintergrund mit Claims ---------- */
#main-content .et_pb_section.cunio-backdrop {
	min-height: calc(100vh - 60px);
	min-height: calc(100svh - 60px);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: stretch;
	padding: 0;
	background-color: #9da2a8;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}
#main-content .cunio-backdrop .et_pb_row {
	width: 100%;
	max-width: 1920px;
	margin: 0 auto;
	padding: 0 var(--cunio-gutter) 18vh;
	box-sizing: border-box;
}
#main-content .cunio-backdrop .et_pb_text,
#main-content .cunio-backdrop .et_pb_text p {
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: clamp(1.75rem, 1rem + 2.6vw, 3rem);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.01em;
}

/* ---------- Startseite: Hinweis "Wir arbeiten an uns." ---------- */
#main-content .et_pb_section.cunio-overlay {
	position: fixed;
	inset: 0;
	z-index: 40;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(15, 20, 30, 0.72);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
#main-content .cunio-overlay .et_pb_row {
	width: auto;
	max-width: 520px;
	margin: 0;
	padding: 0;
}
#main-content .cunio-overlay .et_pb_column { margin: 0; width: auto; }
#main-content .et_pb_text.cunio-overlay__box {
	box-sizing: border-box;
	max-width: 520px;
	margin: 0;
	padding: 48px 56px;
	text-align: center;
	color: #fff;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 12px;
}
#main-content .cunio-overlay__box h1 {
	margin: 0 0 12px;
	padding: 0;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.3;
}
#main-content .cunio-overlay__box p {
	margin: 0 0 28px;
	padding: 0;
	color: rgba(255, 255, 255, 0.8);
	font-size: 0.95rem;
	line-height: 1.6;
}
#main-content .cunio-overlay__box p.cunio-overlay__links {
	display: flex;
	gap: 20px;
	justify-content: center;
	margin: 0;
}
#main-content .cunio-overlay__links a {
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.8rem;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	padding-bottom: 2px;
	transition: color 0.2s;
}
#main-content .cunio-overlay__links a:hover,
#main-content .cunio-overlay__links a:focus-visible { color: rgba(255, 255, 255, 0.9); }

/* ---------- Rechtliche Seiten ---------- */
#main-content .et_pb_section.cunio-legal-section {
	/* oben zusätzlich der Blockabstand (1.25rem) vor dem Seiteninhalt im alten Theme */
	padding: calc(clamp(3rem, 7vw, 6.5rem) + 1.25rem) 0 clamp(3rem, 7vw, 6.5rem);
}
#main-content .cunio-legal-section .et_pb_row {
	width: calc(100% - 2 * var(--cunio-gutter));
	max-width: 1240px;
	margin: 0 auto;
	padding: 0;
}
#main-content .et_pb_text.cunio-legal {
	max-width: 760px;
	margin: 0;
	color: var(--cunio-ink);
	line-height: 1.55;
}
#main-content .cunio-legal h1 {
	margin: 0 0 clamp(2rem, 4vw, 3.5rem);
	font-size: clamp(2.5rem, 2.5rem + ((1vw - 0.2rem) * 1.739), 3.5rem);
	hyphens: auto; /* lange AGB-Überschrift auf dem Handy */
}
/* Abstände wie bisher: Browser-Standard (1em bzw. 1.33em unten), oben die Werte des alten Themes */
#main-content .cunio-legal h2 { margin: 2.5em 0 0.83em; font-size: clamp(1.75rem, 1.75rem + ((1vw - 0.2rem) * 0.87), 2.25rem); }
#main-content .cunio-legal h3 {
	margin: 1.75em 0 1em;
	font-size: clamp(1.1875rem, 1.188rem + ((1vw - 0.2rem) * 0.325), 1.375rem);
	letter-spacing: -0.01em;
}
#main-content .cunio-legal h4 { margin: 1.5em 0 1.33em; font-size: 1.125rem; letter-spacing: 0; }
#main-content .cunio-legal p,
#main-content .cunio-legal li { font-size: var(--cunio-small); line-height: 1.55; }
#main-content .cunio-legal p { margin: 1em 0; padding: 0; }
#main-content .cunio-legal ul {
	margin: 1em 0;
	padding: 0 0 0 40px;
	font-size: 1.125rem;
	list-style: disc;
	line-height: 1.55;
}
#main-content .cunio-legal ul li { padding: 0; }
#main-content .cunio-legal a { color: var(--cunio-blue-dark); text-decoration: underline; }
#main-content .cunio-legal a:hover { color: var(--cunio-blue-deeper); }

/* ---------- Fußzeile ---------- */
#main-footer.cunio-footer {
	background: var(--cunio-night);
	color: var(--cunio-line);
	font-size: var(--cunio-small);
	line-height: 1.55;
	padding: clamp(2rem, 4vw, 3.5rem) var(--cunio-gutter);
}
.cunio-footer__inner { max-width: 1240px; margin: 0 auto; }
.cunio-footer__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
}
.cunio-footer__row p { margin: 0; padding: 0; }
.cunio-footer .cunio-logo img { display: block; height: 26px; width: auto; }
.cunio-footer a { color: inherit; text-decoration: none; }
.cunio-footer a:hover { color: #fff; text-decoration: underline; }
.cunio-footer__meta { margin: clamp(1.25rem, 2vw, 2rem) 0 0; padding: 0; opacity: 0.7; }

/* ---------- Mobil ---------- */
@media (max-width: 980px) {
	#main-header #et-top-navigation { display: block !important; }
}
@media (max-width: 560px) {
	#main-header #logo { height: 24px !important; }
	#main-header #top-menu { gap: 0.9rem; }
	#main-header #top-menu li a { font-size: var(--cunio-xsmall); }
	#main-content .et_pb_text.cunio-overlay__box { padding: 36px 24px; }
}
