/* ==========================================================================
   Unterseiten: Komponenten im Stil der neuen Startseite.
   Nur Optik – Inhalte und Elementor-Einstellungen bleiben unverändert.
   Geltungsbereich: body:not(.home) #content (Header/Footer haben eigene Styles).
   Farben/Schrift: Variablen aus assets/home/footer.css (--uh-*).
   Explizit im Widget gesetzte Farben (z. B. weiße Titel auf Fotos) bleiben erhalten,
   nur die Standardfarbe (Elementor „Primär“) wird ersetzt.
   ========================================================================== */

/* ---------- Abstand Header → erster Abschnitt ----------
   Erster Abschnitt ohne Foto-Hintergrund bekommt Luft nach oben;
   Abschnitte mit Foto (Overlay) bleiben bündig am Header. */
body:not(.home) #content [data-elementor-type] > :is(.elementor-section, .e-con):first-child:not(:has(> .elementor-background-overlay)),
body:not(.home) #content [data-elementor-type] > .elementor-section-wrap > .elementor-section:first-child:not(:has(> .elementor-background-overlay)) {
	padding-top: clamp(40px, 5vw, 72px) !important;
}

/* ---------- Grundschrift ---------- */

body:not(.home) #content {
	font-family: var(--uh-font);
	color: var(--uh-text);
}
body:not(.home) #content :is(p, li, td, th, dd, dt, blockquote, label, input, select, textarea),
body:not(.home) #content .elementor-widget-text-editor {
	font-family: var(--uh-font) !important;
	font-weight: 400 !important;
}
body:not(.home) #content .elementor-widget-text-editor,
body:not(.home) #content .elementor-widget-text-editor :is(p, li) {
	font-size: max(1.05rem, 16px);
	line-height: 1.75;
}
body:not(.home) #content :is(strong, b) { font-weight: 500 !important; }

/* Links im Fließtext */
body:not(.home) #content .elementor-widget-text-editor a,
body:not(.home) #content .entry-content p a {
	color: var(--uh-ink);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: var(--uh-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	transition: color .2s;
}
body:not(.home) #content .elementor-widget-text-editor a:hover,
body:not(.home) #content .entry-content p a:hover { color: var(--uh-gold); }

/* ---------- Überschriften ---------- */

body:not(.home) #content :is(h1, h2, h3, h4, h5, h6),
body:not(.home) #content .elementor-heading-title {
	font-family: var(--uh-heading) !important;
	font-weight: 500 !important;
	letter-spacing: -.01em;
}
/* Verlinkte Überschriften: Astra setzt sonst Lato */
body:not(.home) #content :is(h1, h2, h3, h4, h5, h6) a,
body:not(.home) #content .elementor-heading-title a { font: inherit !important; color: inherit !important; text-decoration: none; }
/* Standardfarbe (Elementor „Primär“) → Dunkelblau; eigene Farben im Widget gewinnen weiter */
body:not(.home) #content .elementor-widget-heading .elementor-heading-title { color: var(--uh-ink); }
/* Überschriften auf Fotos (Abschnitt/Spalte mit Hintergrund-Overlay) bleiben hell */
body:not(.home) #content :is(.elementor-section, .elementor-column, .e-con):has(> .elementor-background-overlay) .elementor-widget-heading .elementor-heading-title {
	color: #fff;
	text-shadow: 0 2px 18px rgba(0, 0, 0, .35);
}
body:not(.home) #content h1,
body:not(.home) #content h1.elementor-heading-title {
	font-size: clamp(2.2rem, 4vw, 3.4rem) !important;
	line-height: 1.1 !important;
}
body:not(.home) #content h2,
body:not(.home) #content h2.elementor-heading-title {
	font-size: clamp(1.7rem, 2.8vw, 2.5rem) !important;
	line-height: 1.15 !important;
}
body:not(.home) #content h3,
body:not(.home) #content h3.elementor-heading-title {
	font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
	line-height: 1.25 !important;
}
body:not(.home) #content :is(h4, h5, h6),
body:not(.home) #content :is(h4, h5, h6).elementor-heading-title {
	font-size: clamp(1.15rem, 1.5vw, 1.35rem) !important;
	line-height: 1.3 !important;
}

/* ---------- Buttons ---------- */

body:not(.home) #content .elementor-button,
body:not(.home) #content .elementor-form button[type="submit"],
body:not(.home) #content .wpforms-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 16px 30px !important;
	border: 1.5px solid var(--uh-ink) !important;
	border-radius: 0 !important;
	background: var(--uh-ink) !important;
	box-shadow: none !important;
	color: #fff !important;
	fill: #fff !important;
	font-family: var(--uh-font) !important;
	font-size: .85rem !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background-color .3s, border-color .3s, color .3s;
}
body:not(.home) #content .elementor-button:hover,
body:not(.home) #content .elementor-form button[type="submit"]:hover,
body:not(.home) #content .wpforms-submit:hover {
	border-color: var(--uh-gold) !important;
	background: var(--uh-gold) !important;
	color: var(--uh-ink) !important;
	fill: var(--uh-ink) !important;
}
body:not(.home) #content .elementor-button .elementor-button-text { font: inherit !important; color: inherit !important; }
body:not(.home) #content .elementor-button .elementor-button-icon { color: inherit; fill: currentColor; }

/* ---------- Symbol-Listen ---------- */

body:not(.home) #content .elementor-icon-list-text {
	font-family: var(--uh-font) !important;
	font-weight: 400 !important;
	color: var(--uh-ink);
	transition: color .2s;
}
body:not(.home) #content .elementor-icon-list-item > a:hover .elementor-icon-list-text { color: var(--uh-gold); }
body:not(.home) #content .elementor-icon-list-icon i { color: var(--uh-gold); }
body:not(.home) #content .elementor-icon-list-icon svg { fill: var(--uh-gold); }

/* ---------- Icon-, Bild-, Flip-Boxen, Call-to-Action ---------- */

body:not(.home) #content :is(.elementor-icon-box-title, .elementor-image-box-title, .elementor-flip-box__layer__title, .elementor-cta__title) {
	font-family: var(--uh-heading) !important;
	font-weight: 500 !important;
	letter-spacing: 0;
}
body:not(.home) #content :is(.elementor-icon-box-title, .elementor-image-box-title) { color: var(--uh-ink); }
body:not(.home) #content :is(.elementor-icon-box-description, .elementor-image-box-description, .elementor-flip-box__layer__description, .elementor-cta__description) {
	font-family: var(--uh-font) !important;
	font-weight: 400 !important;
	line-height: 1.65;
}
body:not(.home) #content .elementor-view-default .elementor-icon { color: var(--uh-gold); fill: var(--uh-gold); }
body:not(.home) #content .elementor-view-stacked .elementor-icon { background-color: var(--uh-gold); color: var(--uh-ink); fill: var(--uh-ink); }
body:not(.home) #content .elementor-view-framed .elementor-icon { border-color: var(--uh-gold); color: var(--uh-gold); fill: var(--uh-gold); }
body:not(.home) #content .elementor-image-box-img { overflow: hidden; }
body:not(.home) #content .elementor-image-box-img img { transition: transform .5s ease; }
body:not(.home) #content .elementor-image-box-wrapper:hover .elementor-image-box-img img { transform: scale(1.04); }
body:not(.home) #content .elementor-cta { border-radius: 0; }
body:not(.home) #content .elementor-cta__button.elementor-button { background: transparent !important; border-color: #fff !important; }
body:not(.home) #content .elementor-cta__button.elementor-button:hover { background: #fff !important; border-color: #fff !important; color: var(--uh-ink) !important; }

/* ---------- Trennlinien ---------- */

body:not(.home) #content .elementor-divider-separator { --divider-color: var(--uh-line); border-color: var(--uh-line) !important; }

/* ---------- Formulare ---------- */

body:not(.home) #content .elementor-field-group > label,
body:not(.home) #content .elementor-field-label {
	margin-bottom: 6px;
	font-family: var(--uh-font) !important;
	font-size: .8rem !important;
	font-weight: 500 !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--uh-ink) !important;
}
body:not(.home) #content .elementor-field-textual,
body:not(.home) #content .elementor-field-group select,
body:not(.home) #content .wpforms-form :is(input[type="text"], input[type="email"], input[type="tel"], textarea, select) {
	min-height: 50px;
	padding: 12px 16px !important;
	border: 1px solid var(--uh-line) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	font-family: var(--uh-font) !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	color: var(--uh-ink) !important;
	transition: border-color .2s, box-shadow .2s;
}
body:not(.home) #content .elementor-field-textual:focus,
body:not(.home) #content .wpforms-form :is(input, textarea, select):focus {
	border-color: var(--uh-gold) !important;
	outline: 0;
	box-shadow: 0 0 0 3px rgba(207, 164, 126, .25) !important;
}
body:not(.home) #content .elementor-field-option label,
body:not(.home) #content .elementor-field-type-acceptance label {
	font-family: var(--uh-font) !important;
	font-size: .92rem !important;
	font-weight: 400 !important;
	letter-spacing: 0;
	text-transform: none;
	color: var(--uh-text) !important;
}
body:not(.home) #content .elementor-field-option input { accent-color: var(--uh-ink); }

/* ---------- Akkordeon / Toggle (Elementor + Easy Accordion) ---------- */

body:not(.home) #content :is(.elementor-accordion-item, .elementor-toggle-item) {
	border: 0 !important;
	border-bottom: 1px solid var(--uh-line) !important;
}
body:not(.home) #content :is(.elementor-tab-title, .elementor-accordion-title, .elementor-toggle-title) {
	padding: 20px 4px !important;
	border: 0 !important;
	background: none !important;
	font-family: var(--uh-heading) !important;
	font-size: 1.1rem !important;
	font-weight: 500 !important;
	color: var(--uh-ink) !important;
}
body:not(.home) #content .elementor-tab-title :is(.elementor-accordion-icon, .elementor-toggle-icon) { color: var(--uh-gold) !important; }
body:not(.home) #content .elementor-tab-content { padding: 0 4px 22px !important; border: 0 !important; }

body:not(.home) #content .sp-easy-accordion .sp-ea-single {
	margin-bottom: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--uh-line) !important;
	border-radius: 0 !important;
	background: none !important;
}
body:not(.home) #content .sp-easy-accordion .ea-header a {
	padding: 20px 4px !important;
	background: none !important;
	font-family: var(--uh-heading) !important;
	font-size: 1.1rem !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	color: var(--uh-ink) !important;
}
body:not(.home) #content .sp-easy-accordion .ea-header a .ea-expand-icon { color: var(--uh-gold) !important; }
body:not(.home) #content .sp-easy-accordion .ea-body { padding: 0 4px 22px !important; background: none !important; }

/* ---------- Karussell / Slider / Galerie ---------- */

body:not(.home) #content .elementor-swiper-button {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	box-shadow: 0 6px 18px rgba(5, 31, 52, .15);
	color: var(--uh-ink) !important;
	font-size: 18px !important;
	transition: background-color .2s;
}
body:not(.home) #content .elementor-swiper-button:hover { background: var(--uh-gold); }
body:not(.home) #content .elementor-swiper-button svg { width: 18px; height: 18px; fill: currentColor !important; }
body:not(.home) #content .swiper-pagination-bullet { width: 28px; height: 3px; border-radius: 0; background: var(--uh-ink); opacity: .25; }
body:not(.home) #content .swiper-pagination-bullet-active { background: var(--uh-gold); opacity: 1; }
body:not(.home) #content .gallery-item a:hover img { opacity: .85; }

/* ---------- Beiträge, Teilen, Navigation ---------- */

body:not(.home) #content .elementor-post__title,
body:not(.home) #content .elementor-post__title a {
	font-family: var(--uh-heading) !important;
	font-weight: 500 !important;
	color: var(--uh-ink) !important;
}
body:not(.home) #content .elementor-post__read-more {
	font-family: var(--uh-font) !important;
	font-weight: 500 !important;
	letter-spacing: .12em;
	color: var(--uh-ink) !important;
	border-bottom: 2px solid var(--uh-gold);
}
body:not(.home) #content .elementor-post__card { border-radius: 0 !important; }
body:not(.home) #content .elementor-post__badge { border-radius: 0 !important; background: var(--uh-gold) !important; color: var(--uh-ink) !important; }
body:not(.home) #content .elementor-post-navigation :is(.post-navigation__prev--label, .post-navigation__next--label, .post-navigation__prev--title, .post-navigation__next--title) {
	font-family: var(--uh-font) !important;
	color: var(--uh-ink) !important;
}
/* Teilen-Buttons: schlicht, Umriss Dunkelblau, Hover Gold */
body:not(.home) #content .elementor-widget-share-buttons .elementor-grid {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px !important;
	margin: 0 !important;
}
body:not(.home) #content .elementor-widget-share-buttons .elementor-grid-item { width: auto !important; margin: 0 !important; padding: 0 !important; }
body:not(.home) #content .elementor-share-btn {
	display: inline-flex !important;
	align-items: center;
	gap: 0;
	height: 38px !important;
	border: 1px solid var(--uh-line) !important;
	border-radius: 0 !important;
	background: #fff !important;
	cursor: pointer;
	transition: border-color .2s, background-color .2s;
}
body:not(.home) #content .elementor-share-btn__icon {
	display: grid !important;
	place-items: center;
	width: 30px !important;
	height: 100%;
	padding-left: 6px;
	background: none !important;
	color: var(--uh-gold) !important;
	transition: color .2s, border-color .2s;
}
body:not(.home) #content .elementor-share-btn__icon i { font-size: 16px !important; color: inherit !important; }
body:not(.home) #content .elementor-share-btn__icon svg { width: 16px !important; height: 16px !important; fill: currentColor !important; }
body:not(.home) #content .elementor-share-btn__text { padding: 0 12px 0 4px !important; background: none !important; white-space: nowrap; }
body:not(.home) #content .elementor-share-btn__title {
	font-family: var(--uh-font) !important;
	font-size: .66rem !important;
	font-weight: 500 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	color: var(--uh-ink) !important;
}
body:not(.home) #content .elementor-share-btn:hover,
body:not(.home) #content .elementor-share-btn:focus-visible { border-color: var(--uh-ink) !important; background: var(--uh-ink) !important; outline: 0; }
body:not(.home) #content .elementor-share-btn:hover .elementor-share-btn__icon,
body:not(.home) #content .elementor-share-btn:focus-visible .elementor-share-btn__icon { border-color: rgba(255, 255, 255, .2); color: var(--uh-gold) !important; }
body:not(.home) #content .elementor-share-btn:hover .elementor-share-btn__title,
body:not(.home) #content .elementor-share-btn:focus-visible .elementor-share-btn__title { color: #fff !important; }
