/**
 * Solumondo — Globales Premium-CSS (PWA / Mobile-First)
 * Child Theme: kadence-child | Startseite: Page ID 3610
 */

/* ==========================================================================
   1. Design Tokens (Navy + Orange)
   ========================================================================== */

:root {
	--solumondo-font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--solumondo-navy: #050b14;
	--solumondo-navy-mid: #0e1b2a;
	--solumondo-navy-soft: #1a2d42;
	--solumondo-orange: #ff6a00;
	--solumondo-orange-hover: #e55f00;
	--solumondo-orange-active: #cc5500;
	--solumondo-orange-muted: color-mix(in srgb, var(--solumondo-orange) 18%, transparent);
	--solumondo-surface: #ffffff;
	--solumondo-surface-alt: #f4f7fa;
	--solumondo-text: #0e1b2a;
	--solumondo-text-muted: #4a5f73;
	--solumondo-border: color-mix(in srgb, var(--solumondo-navy) 12%, white);
	--solumondo-radius-sm: 0.375rem;
	--solumondo-radius-md: 0.625rem;
	--solumondo-radius-lg: 1rem;
	--solumondo-shadow-sm: 0 0.125rem 0.5rem color-mix(in srgb, var(--solumondo-navy) 8%, transparent);
	--solumondo-shadow-md: 0 0.5rem 1.25rem color-mix(in srgb, var(--solumondo-navy) 14%, transparent);
	--solumondo-touch-min: 2.75rem;
	--solumondo-font-body: clamp(1rem, 0.92rem + 0.35vw, 1.125rem);
	--solumondo-font-small: clamp(0.875rem, 0.82rem + 0.25vw, 0.9375rem);
	--solumondo-font-lead: clamp(1.125rem, 1rem + 0.5vw, 1.375rem);
	--solumondo-font-h1: clamp(1.875rem, 1.45rem + 2vw, 3rem);
	--solumondo-font-h2: clamp(1.625rem, 1.3rem + 1.5vw, 2.5rem);
	--solumondo-font-h3: clamp(1.375rem, 1.15rem + 1vw, 2rem);
	--solumondo-font-h4: clamp(1.25rem, 1.1rem + 0.65vw, 1.625rem);
	--solumondo-font-h5: clamp(1.125rem, 1.05rem + 0.35vw, 1.375rem);
	--solumondo-font-h6: clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
	--solumondo-font-button: clamp(0.9375rem, 0.88rem + 0.25vw, 1.0625rem);
	--solumondo-line-heading: 1.4;
	--solumondo-heading-pad-bottom: 5px;
	--solumondo-gutter-mobile: 15px;
	--solumondo-gutter-mobile-wide: 20px;
	--solumondo-content-max: 75rem;
	--solumondo-transition: 0.22s ease;
	--solumondo-a11y-btn-primary-bg: #e85f00;
	--solumondo-a11y-btn-primary-bg-hover: #c44e00;
	--solumondo-a11y-btn-primary-text: #050b14;
	--solumondo-a11y-btn-primary-border: #c44e00;
	--solumondo-a11y-btn-secondary-bg: #ffffff;
	--solumondo-a11y-btn-secondary-text: #050b14;
	--solumondo-a11y-btn-secondary-border: #050b14;
	--solumondo-a11y-btn-on-dark-bg: #ffffff;
	--solumondo-a11y-btn-on-dark-text: #050b14;
	--solumondo-a11y-heading-on-light: #050b14;
	--solumondo-a11y-text-on-light: #0e1b2a;
	--solumondo-a11y-muted-on-light: #334155;
	--solumondo-a11y-heading-on-dark: #ffffff;
	--solumondo-a11y-text-on-dark: #f1f5f9;
	--solumondo-a11y-muted-on-dark: #cbd5e1;
}

/* ==========================================================================
   2. Basis & Lesbarkeit
   ========================================================================== */

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body.solumondo-app {
	font-family: var(--solumondo-font-sans);
	font-size: var(--solumondo-font-body);
	color: var(--solumondo-text);
	background-color: var(--solumondo-surface);
	font-feature-settings: "kern" 1, "liga" 1, "tnum" 1;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

body.solumondo-app p,
body.solumondo-app li,
body.solumondo-app td,
body.solumondo-app th,
body.solumondo-app .entry-content,
body.solumondo-app .wp-block-post-content {
	overflow-wrap: break-word;
	word-wrap: break-word;
}

/* ==========================================================================
   3. Typografie — clamp(), Überschriften-Regeln
   ========================================================================== */

body.solumondo-app h1,
body.solumondo-app .entry-content h1,
body.solumondo-app .wp-block-heading h1,
body.solumondo-app .uagb-heading-text:is(h1, .uagb-heading-text) {
	font-size: var(--solumondo-font-h1);
	line-height: var(--solumondo-line-heading);
	padding-bottom: var(--solumondo-heading-pad-bottom);
}

body.solumondo-app h2,
body.solumondo-app .entry-content h2,
body.solumondo-app .wp-block-heading h2 {
	font-size: var(--solumondo-font-h2);
	line-height: var(--solumondo-line-heading);
	padding-bottom: var(--solumondo-heading-pad-bottom);
}

body.solumondo-app h3,
body.solumondo-app .entry-content h3,
body.solumondo-app .wp-block-heading h3 {
	font-size: var(--solumondo-font-h3);
	line-height: var(--solumondo-line-heading);
	padding-bottom: var(--solumondo-heading-pad-bottom);
}

body.solumondo-app h4,
body.solumondo-app .entry-content h4 {
	font-size: var(--solumondo-font-h4);
	line-height: var(--solumondo-line-heading);
	padding-bottom: var(--solumondo-heading-pad-bottom);
}

body.solumondo-app h5,
body.solumondo-app .entry-content h5 {
	font-size: var(--solumondo-font-h5);
	line-height: var(--solumondo-line-heading);
	padding-bottom: var(--solumondo-heading-pad-bottom);
}

body.solumondo-app h6,
body.solumondo-app .entry-content h6 {
	font-size: var(--solumondo-font-h6);
	line-height: var(--solumondo-line-heading);
	padding-bottom: var(--solumondo-heading-pad-bottom);
}

body.solumondo-app .wp-block-uagb-advanced-heading .uagb-desc-text,
body.solumondo-app .has-medium-font-size {
	font-size: var(--solumondo-font-lead);
}

body.solumondo-app .has-small-font-size,
body.solumondo-app small {
	font-size: var(--solumondo-font-small);
}

/* ==========================================================================
   4. Mobile — VERBOT nowrap, Padding 15/20px, Touch
   ========================================================================== */

@media (max-width: 767px) {
	body.solumondo-app .site-container,
	body.solumondo-app .content-container,
	body.solumondo-app .entry-content > .wp-block-group,
	body.solumondo-app .entry-content > .wp-block-uagb-container,
	body.solumondo-app .uagb-is-root-container.alignfull > .uagb-container-inner-blocks-wrap,
	body.solumondo-app .solumondo-home .entry-content {
		padding-left: var(--solumondo-gutter-mobile);
		padding-right: var(--solumondo-gutter-mobile);
	}

	body.solumondo-app.solumondo-home .entry-content > .alignfull,
	body.solumondo-app.solumondo-page-3610 .entry-content > .alignfull {
		padding-left: var(--solumondo-gutter-mobile-wide);
		padding-right: var(--solumondo-gutter-mobile-wide);
	}

	/* Projektregel: white-space: nowrap auf Mobile strikt verboten */
	body.solumondo-app *,
	body.solumondo-app .uagb-container-inner-blocks-wrap,
	body.solumondo-app .uagb-buttons__wrap,
	body.solumondo-app .wp-block-uagb-counter__number,
	body.solumondo-app .wp-block-uagb-countdown__time,
	body.solumondo-app .wp-block-uagb-countdown__label,
	body.solumondo-app .uagb-testimonial__wrap,
	body.solumondo-app .menu-toggle,
	body.solumondo-app .header-navigation,
	body.solumondo-app table {
		white-space: normal !important;
	}

	body.solumondo-app .uagb-container-inner-blocks-wrap,
	body.solumondo-app .uagb-buttons__wrap,
	body.solumondo-app .wp-block-uagb-counter--bars .wp-block-uagb-counter__number {
		flex-wrap: wrap !important;
	}

	body.solumondo-app .wp-block-uagb-countdown {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.75rem;
	}

	body.solumondo-app .wp-block-uagb-countdown__box {
		width: clamp(4rem, 22vw, 6.5rem) !important;
		height: auto !important;
		min-height: clamp(4rem, 22vw, 6.5rem);
		aspect-ratio: 1;
	}

	body.solumondo-app .wp-block-uagb-countdown__time {
		font-size: clamp(1.5rem, 5vw + 0.5rem, 2.25rem) !important;
	}

	body.solumondo-app .wp-block-uagb-countdown__label {
		font-size: clamp(0.75rem, 2vw + 0.4rem, 0.875rem) !important;
	}

	body.solumondo-app .wp-block-uagb-counter--number .wp-block-uagb-counter__number {
		font-size: clamp(1.75rem, 4vw + 1rem, 2.5rem) !important;
	}
}

/* ==========================================================================
   6. Ultra-Viewport — 4K / 8K & große Tablets
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
	body.solumondo-app .entry-content,
	body.solumondo-app .site-container,
	body.solumondo-app .content-container {
		padding-left: var(--solumondo-gutter-mobile-wide, 20px);
		padding-right: var(--solumondo-gutter-mobile-wide, 20px);
	}
}

@media (min-width: 2560px) {
	:root {
		--solumondo-content-max: 80rem;
		--solumondo-content-wide: 104rem;
	}
}

@media (min-width: 3840px) {
	:root {
		--solumondo-content-max: 90rem;
		--solumondo-content-wide: 120rem;
		--solumondo-font-h1: clamp(2.5rem, 1.2rem + 2vw, 5.5rem);
	}
}

@media (min-width: 7680px) {
	:root {
		--solumondo-content-max: 100rem;
		--solumondo-content-wide: 140rem;
	}
}

/* ==========================================================================
   5. Buttons — Brand, Touch, Umbruch
   ========================================================================== */

body.solumondo-app .wp-block-button__link,
body.solumondo-app .uagb-buttons-repeater.wp-block-button__link,
body.solumondo-app .kb-button,
body.solumondo-app button[type="submit"],
body.solumondo-app input[type="submit"],
body.solumondo-app .woocommerce a.button,
body.solumondo-app .woocommerce button.button,
body.solumondo-app .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	width: auto;
	min-height: var(--solumondo-touch-min);
	padding: 0.75em 1.35em;
	font-size: var(--solumondo-font-button);
	font-weight: 600;
	line-height: 1.35;
	text-align: center;
	border-radius: var(--solumondo-radius-md);
	background-color: var(--solumondo-orange);
	border: 2px solid var(--solumondo-orange);
	color: #ffffff;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--solumondo-transition), border-color var(--solumondo-transition), color var(--solumondo-transition), transform var(--solumondo-transition), box-shadow var(--solumondo-transition);
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
}

body.solumondo-app .wp-block-button__link:hover,
body.solumondo-app .uagb-buttons-repeater.wp-block-button__link:hover,
body.solumondo-app .kb-button:hover,
body.solumondo-app button[type="submit"]:hover,
body.solumondo-app input[type="submit"]:hover,
body.solumondo-app .wpcf7-submit:hover {
	background-color: var(--solumondo-orange-hover);
	border-color: var(--solumondo-orange-hover);
	color: #ffffff;
}

body.solumondo-app .wp-block-button__link:active,
body.solumondo-app .uagb-buttons-repeater.wp-block-button__link:active,
body.solumondo-app .wpcf7-submit:active {
	background-color: var(--solumondo-orange-active);
	border-color: var(--solumondo-orange-active);
	transform: scale(0.98);
}

body.solumondo-app .wp-block-button__link:focus-visible,
body.solumondo-app .uagb-buttons-repeater:focus-visible,
body.solumondo-app .wpcf7-submit:focus-visible,
body.solumondo-app a:focus-visible {
	outline: 3px solid var(--solumondo-orange);
	outline-offset: 3px;
}

body.solumondo-app .wp-block-button.is-style-outline .wp-block-button__link,
body.solumondo-app .uagb-buttons-repeater.ast-outline-button {
	background-color: transparent;
	color: var(--solumondo-orange);
	border-color: var(--solumondo-orange);
}

body.solumondo-app .wp-block-button.is-style-outline .wp-block-button__link:hover,
body.solumondo-app .uagb-buttons-repeater.ast-outline-button:hover {
	background-color: var(--solumondo-orange-muted);
	color: var(--solumondo-orange-hover);
}

/* ==========================================================================
   6. Links & Akzente
   ========================================================================== */

body.solumondo-app a:not(.wp-block-button__link):not(.uagb-buttons-repeater):not(.menu-item a) {
	color: var(--solumondo-orange);
	text-underline-offset: 0.15em;
	transition: color var(--solumondo-transition);
}

body.solumondo-app a:not(.wp-block-button__link):not(.uagb-buttons-repeater):hover {
	color: var(--solumondo-orange-hover);
}

body.solumondo-app .uagb-highlight,
body.solumondo-app .wp-block-uagb-advanced-heading .uagb-highlight {
	color: var(--solumondo-orange);
}

/* ==========================================================================
   7. Header / Navigation (Kadence) — PWA-Touch
   ========================================================================== */

body.solumondo-app .site-header {
	background-color: var(--solumondo-navy);
	border-bottom: 1px solid color-mix(in srgb, var(--solumondo-orange) 25%, transparent);
}

body.solumondo-app .site-header .main-navigation a,
body.solumondo-app .site-header .site-title,
body.solumondo-app .site-header .menu-toggle {
	color: #ffffff;
}

body.solumondo-app .site-header .menu-toggle,
body.solumondo-app .mobile-navigation a,
body.solumondo-app .drawer-nav a {
	min-height: var(--solumondo-touch-min);
	display: inline-flex;
	align-items: center;
}

body.solumondo-app .site-header .main-navigation a:hover,
body.solumondo-app .drawer-nav a:hover {
	color: var(--solumondo-orange);
}

body.solumondo-app .mobile-drawer-content {
	background-color: var(--solumondo-navy);
}

/* ==========================================================================
   8. Startseite (ID 3610) — UAG / Spectra Korrekturen
   ========================================================================== */

body.solumondo-app.solumondo-home .entry-content,
body.solumondo-app.solumondo-page-3610 .entry-content {
	max-width: 100%;
}

body.solumondo-app.solumondo-home .uagb-is-root-container.alignfull > .uagb-container-inner-blocks-wrap,
body.solumondo-app.solumondo-page-3610 .uagb-is-root-container.alignfull > .uagb-container-inner-blocks-wrap {
	max-width: min(100%, var(--solumondo-content-max));
	margin-left: auto;
	margin-right: auto;
}

body.solumondo-app.solumondo-home .uagb-infobox-title,
body.solumondo-app.solumondo-page-3610 .uagb-infobox-title {
	line-height: var(--solumondo-line-heading);
	padding-bottom: var(--solumondo-heading-pad-bottom);
}

body.solumondo-app.solumondo-home .uagb-ifb-button-wrapper a,
body.solumondo-app.solumondo-page-3610 .uagb-ifb-button-wrapper a {
	max-width: 100%;
	width: auto;
}

body.solumondo-app.solumondo-home .uagb-tm__content,
body.solumondo-app.solumondo-page-3610 .uagb-tm__content {
	word-break: break-word;
	overflow-wrap: break-word;
}

/* ==========================================================================
   9. Contact Form 7 — Usability / Touch
   ========================================================================== */

body.solumondo-app .solumondo-cf7-form input[type="text"],
body.solumondo-app .solumondo-cf7-form input[type="email"],
body.solumondo-app .solumondo-cf7-form input[type="tel"],
body.solumondo-app .solumondo-cf7-form input[type="url"],
body.solumondo-app .solumondo-cf7-form input[type="number"],
body.solumondo-app .solumondo-cf7-form input[type="date"],
body.solumondo-app .solumondo-cf7-form select,
body.solumondo-app .solumondo-cf7-form textarea {
	width: 100%;
	max-width: 100%;
	min-height: var(--solumondo-touch-min);
	padding: 0.65em 0.85em;
	font-size: clamp(1rem, 0.95rem + 0.2vw, 1.0625rem);
	line-height: 1.45;
	color: var(--solumondo-text);
	background-color: var(--solumondo-surface);
	border: 1px solid var(--solumondo-border);
	border-radius: var(--solumondo-radius-sm);
	transition: border-color var(--solumondo-transition), box-shadow var(--solumondo-transition);
}

body.solumondo-app .solumondo-cf7-form textarea {
	min-height: 8rem;
	resize: vertical;
}

body.solumondo-app .solumondo-cf7-form input:focus,
body.solumondo-app .solumondo-cf7-form select:focus,
body.solumondo-app .solumondo-cf7-form textarea:focus {
	border-color: var(--solumondo-orange);
	box-shadow: 0 0 0 3px var(--solumondo-orange-muted);
	outline: none;
}

body.solumondo-app .wpcf7-not-valid-tip {
	font-size: var(--solumondo-font-small);
	color: #b42318;
}

body.solumondo-app .wpcf7-response-output {
	font-size: var(--solumondo-font-small);
	border-radius: var(--solumondo-radius-sm);
	padding: 0.85em 1em;
	overflow-wrap: break-word;
}

/* ==========================================================================
   10. WooCommerce — Touch, Lesbarkeit
   ========================================================================== */

body.solumondo-app.woocommerce .button,
body.solumondo-app.woocommerce a.button.alt {
	min-height: var(--solumondo-touch-min);
}

body.solumondo-app.woocommerce .price,
body.solumondo-app.woocommerce .woocommerce-loop-product__title {
	overflow-wrap: break-word;
	word-wrap: break-word;
}

/* ==========================================================================
   11. Footer
   ========================================================================== */

body.solumondo-app .site-footer {
	background-color: var(--solumondo-navy);
	color: color-mix(in srgb, white 88%, var(--solumondo-navy));
}

body.solumondo-app .site-footer a {
	color: #ffffff;
}

body.solumondo-app .site-footer a:hover {
	color: var(--solumondo-orange);
}

/* ==========================================================================
   12. Bilder & Medien (PWA / CLS)
   ========================================================================== */

body.solumondo-app img,
body.solumondo-app video {
	max-width: 100%;
	height: auto;
}

body.solumondo-app .wp-block-image img {
	border-radius: var(--solumondo-radius-sm);
}

/* ==========================================================================
   13. Reduced Motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	body.solumondo-app *,
	body.solumondo-app *::before,
	body.solumondo-app *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* ==========================================================================
   14. Tablet — etwas mehr Luft
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
	body.solumondo-app .site-container,
	body.solumondo-app .content-container {
		padding-left: var(--solumondo-gutter-mobile-wide);
		padding-right: var(--solumondo-gutter-mobile-wide);
	}
}
