/* =========================================================
 * Tierisch gut therapiert – Elementor-Widget-Anpassungen
 * Bringt die Standard-Widgets ohne manuelle Einstellung in
 * Einklang mit dem Designsystem.
 * ========================================================= */

/* ---------- BUTTONS ---------- */

.elementor-button,
.elementor-button-link {
	font-family: var(--tgt-font);
	font-weight: var(--tgt-fw-bold);
	font-size: var(--tgt-fs-body-sm);
	letter-spacing: 0.01em;
	border-radius: var(--tgt-radius-pill);
	padding: 14px 28px;
	background-color: var(--tgt-steel);
	color: #fff;
	border: 2px solid transparent;
	box-shadow: var(--tgt-elev-1);
	transition: background-color var(--tgt-dur-base) var(--tgt-ease-out),
	            box-shadow var(--tgt-dur-base) var(--tgt-ease-out),
	            color var(--tgt-dur-base) var(--tgt-ease-out);
}

.elementor-button:hover,
.elementor-button:focus {
	background-color: var(--tgt-steel-deep);
	color: #fff;
}

.elementor-button:active {
	background-color: var(--tgt-steel-deep);
	box-shadow: none;
}

/* Ghost-Variante: CSS-Klasse "tgt-btn-ghost" am Button-Widget */
.tgt-btn-ghost .elementor-button {
	background-color: transparent;
	color: var(--tgt-slate);
	border: 1.5px solid var(--tgt-slate);
	box-shadow: none;
}
.tgt-btn-ghost .elementor-button:hover {
	background-color: transparent;
	color: var(--tgt-steel);
	border-color: var(--tgt-steel);
}

/* Text-Variante: CSS-Klasse "tgt-btn-text" */
.tgt-btn-text .elementor-button {
	background-color: transparent;
	color: var(--tgt-steel);
	border-color: transparent;
	box-shadow: none;
	padding-left: 0;
	padding-right: 0;
}
.tgt-btn-text .elementor-button:hover {
	color: var(--tgt-steel-deep);
	background-color: transparent;
}

/* ---------- UEBERSCHRIFTEN-WIDGET ---------- */

.elementor-widget-heading .elementor-heading-title {
	font-family: var(--tgt-font);
	color: var(--tgt-slate);
	letter-spacing: var(--tgt-ls-tight);
	line-height: var(--tgt-lh-heading);
}

/* ---------- TEXT-EDITOR ---------- */

.elementor-widget-text-editor {
	color: var(--tgt-slate);
	font-size: var(--tgt-fs-body);
	line-height: var(--tgt-lh-body);
}

/* ---------- FORMULARE (Elementor Pro / Kontaktformular) ---------- */

.elementor-field-group .elementor-field,
.elementor-field-textual {
	background: var(--tgt-paper);
	border: 1px solid var(--tgt-line-strong);
	border-radius: var(--tgt-radius-md);
	color: var(--tgt-slate);
	font-family: var(--tgt-font);
	font-size: var(--tgt-fs-body-sm);
	padding: 12px 14px;
	transition: border-color var(--tgt-dur-base) var(--tgt-ease-out),
	            box-shadow var(--tgt-dur-base) var(--tgt-ease-out);
}

.elementor-field-textual:focus {
	border-color: var(--tgt-steel);
	box-shadow: 0 0 0 3px var(--tgt-steel-tint);
	outline: none;
}

.elementor-field-group label,
.elementor-field-label {
	font-size: var(--tgt-fs-caption);
	font-weight: var(--tgt-fw-medium);
	color: var(--tgt-slate);
	letter-spacing: 0.02em;
}

::placeholder { color: var(--tgt-slate-mute); }

/* ---------- ICON-BOX ---------- */

.elementor-widget-icon-box .elementor-icon {
	color: var(--tgt-steel);
}

.elementor-widget-icon-box .elementor-icon-box-title {
	font-weight: var(--tgt-fw-medium);
	color: var(--tgt-slate);
}

.elementor-widget-icon-box .elementor-icon-box-description {
	color: var(--tgt-slate-soft);
}

/* ---------- ICON-LISTE ---------- */

.elementor-widget-icon-list .elementor-icon-list-icon i {
	color: var(--tgt-steel);
}

.elementor-widget-icon-list .elementor-icon-list-text {
	color: var(--tgt-slate);
}

/* ---------- TRENNER ---------- */

.elementor-widget-divider {
	--divider-color: var(--tgt-line);
}

/* ---------- AKKORDEON / TABS ---------- */

.elementor-accordion .elementor-tab-title,
.elementor-tabs .elementor-tab-title {
	font-family: var(--tgt-font);
	font-weight: var(--tgt-fw-medium);
	color: var(--tgt-slate);
}

.elementor-accordion .elementor-tab-title.elementor-active,
.elementor-tabs .elementor-tab-title.elementor-active {
	color: var(--tgt-steel);
}

.elementor-accordion .elementor-accordion-item {
	border-color: var(--tgt-line);
}

/* ---------- BILDKARTE / IMAGE-BOX BASIS ---------- */

.elementor-widget-image-box .elementor-image-box-title {
	font-family: var(--tgt-font);
	color: var(--tgt-slate);
}

/* ---------- SEKTIONS-RHYTHMUS ---------- */
/* Hilfsklasse "tgt-pad" am Container/Section fuer 64–96px vertikal */

.tgt-pad {
	padding-top: var(--tgt-space-9);
	padding-bottom: var(--tgt-space-9);
}

@media (max-width: 767px) {
	.tgt-pad {
		padding-top: var(--tgt-space-8);
		padding-bottom: var(--tgt-space-8);
	}
}

/* ---------- BLOG-TEASER: UAE "Basic Posts" ---------- */

.uael-post__inner-wrap,
.uael-post-wrapper .uael-post__bg-wrap {
	background: var(--tgt-paper);
	border: 1px solid var(--tgt-line);
	border-radius: var(--tgt-radius-lg);
	overflow: hidden;
	box-shadow: var(--tgt-elev-1);
	transition: transform var(--tgt-dur-slow) var(--tgt-ease-out),
	            box-shadow var(--tgt-dur-slow) var(--tgt-ease-out);
}

.uael-post__inner-wrap:hover {
	transform: translateY(-2px);
	box-shadow: var(--tgt-elev-2);
}

.uael-post__title,
.uael-post__title a {
	font-family: var(--tgt-font);
	font-weight: var(--tgt-fw-medium);
	color: var(--tgt-slate);
}

.uael-post__title a:hover { color: var(--tgt-steel); }

.uael-post__excerpt,
.uael-post-meta,
.uael-post__meta-data {
	color: var(--tgt-slate-soft);
}

/* ---------- HEADER / NAVIGATION (Elementor) ---------- */

/* Sticky-Header ohne Elementor Pro: per CSS am Header-Abschnitt. */
.tgt-site-header {
	background: var(--tgt-paper);
	border-bottom: 1px solid var(--tgt-line);
	position: sticky;
	top: 0;
	z-index: 999;
}

.elementor-nav-menu .elementor-item {
	font-family: var(--tgt-font);
	font-weight: var(--tgt-fw-medium);
	color: var(--tgt-slate);
}

.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item.elementor-item-active {
	color: var(--tgt-steel);
}
