/**
 * SV Vorwalsrode – Globale Overrides & Divi-Integration
 */

/* ── Basis-Typografie ──────────────────────────────────────── */
.svvw-child-theme {
	font-family: var(--svvw-font-body);
	color: var(--svvw-text-body);
}

.svvw-child-theme h1,
.svvw-child-theme h2,
.svvw-child-theme h3,
.svvw-child-theme h4,
.svvw-child-theme h5,
.svvw-child-theme h6,
.svvw-child-theme .et_pb_module_header {
	font-family: var(--svvw-font-heading);
	color: var(--svvw-text-primary);
}

.svvw-child-theme p {
	line-height: var(--svvw-line-height-relaxed);
}

/* ── Links (WCAG-AA auf Weiß) ──────────────────────────────── */
.svvw-child-theme a:not(.et_pb_button):not(.svvw-news-card__link):not(.svvw-teaser-card__cta):not(.svvw-sponsors__link) {
	color: var(--svvw-green-interactive);
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.svvw-child-theme a:not(.et_pb_button):hover {
	color: var(--svvw-green-hover);
}

.svvw-child-theme a:focus-visible {
	outline: var(--svvw-focus-outline);
	outline-offset: 2px;
	border-radius: var(--svvw-radius-sm);
}

/* ── Divi Buttons ──────────────────────────────────────────── */
.svvw-child-theme .et_pb_button,
.svvw-child-theme .et_pb_promo_button,
.svvw-child-theme button[type="submit"],
.svvw-child-theme input[type="submit"] {
	background-color: var(--svvw-green-interactive) !important;
	border-color: var(--svvw-green-interactive) !important;
	color: var(--svvw-text-inverse) !important;
	font-family: var(--svvw-font-heading) !important;
	font-weight: var(--svvw-font-weight-semibold) !important;
	border-radius: var(--svvw-radius-full) !important;
	padding: 12px 30px !important;
	transition: background-color var(--svvw-transition-fast), transform var(--svvw-transition-fast) !important;
}

.svvw-child-theme .et_pb_button:hover,
.svvw-child-theme button[type="submit"]:hover,
.svvw-child-theme input[type="submit"]:hover {
	background-color: var(--svvw-green-hover) !important;
	border-color: var(--svvw-green-hover) !important;
	transform: translateY(-1px);
}

.svvw-child-theme .et_pb_button:focus-visible,
.svvw-child-theme button[type="submit"]:focus-visible {
	outline: var(--svvw-focus-outline) !important;
	outline-offset: 2px !important;
}

/* ── Header (Theme Builder) ────────────────────────────────── */
.svvw-child-theme #main-header,
.svvw-child-theme .et-l--header {
	background-color: var(--svvw-white) !important;
	box-shadow: var(--svvw-shadow-sm);
}

.svvw-child-theme #top-menu li a,
.svvw-child-theme .et_mobile_menu li a {
	font-family: var(--svvw-font-body);
	font-weight: var(--svvw-font-weight-medium);
	color: var(--svvw-text-primary) !important;
	transition: color var(--svvw-transition-fast);
}

.svvw-child-theme #top-menu li a:hover,
.svvw-child-theme #top-menu li.current-menu-item > a,
.svvw-child-theme .et_mobile_menu li a:hover {
	color: var(--svvw-green-interactive) !important;
}

.svvw-child-theme #top-menu li a:focus-visible {
	outline: var(--svvw-focus-outline);
	outline-offset: 2px;
}

/* ── Footer (Theme Builder) ────────────────────────────────── */
.svvw-child-theme #main-footer,
.svvw-child-theme .et-l--footer {
	background-color: var(--svvw-footer-bg) !important;
	color: var(--svvw-footer-text);
}

.svvw-child-theme #main-footer h4,
.svvw-child-theme #main-footer .widgettitle,
.svvw-child-theme .et-l--footer h4 {
	color: var(--svvw-footer-heading) !important;
	font-family: var(--svvw-font-heading);
}

.svvw-child-theme #main-footer a,
.svvw-child-theme .et-l--footer a {
	color: var(--svvw-footer-text);
}

.svvw-child-theme #main-footer a:hover,
.svvw-child-theme .et-l--footer a:hover {
	color: var(--svvw-green-brand);
}

.svvw-child-theme #footer-bottom {
	background-color: rgba(0, 0, 0, 0.2) !important;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: var(--svvw-space-4) 0;
}

.svvw-child-theme #footer-info {
	font-size: var(--svvw-font-size-sm);
	color: var(--svvw-footer-text);
}

/* Divi Footer-Credit ausblenden */
.svvw-child-theme .et_pb_footer_credit,
.svvw-child-theme #footer-info a[href*="elegantthemes"] {
	display: none !important;
}

/* ── The Events Calendar ───────────────────────────────────── */
.svvw-child-theme .tribe-events-calendar-list__event-row,
.svvw-child-theme .tribe-events-calendar-month__calendar-event {
	border-radius: var(--svvw-radius-md);
}

.svvw-child-theme .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link {
	background-color: var(--svvw-green-interactive);
	color: var(--svvw-text-inverse);
}

.svvw-child-theme .tribe-events-c-view-selector__list-item-link:focus-visible,
.svvw-child-theme .tribe-events-calendar-list__event-title-link:focus-visible {
	outline: var(--svvw-focus-outline);
	outline-offset: 2px;
}

.svvw-child-theme .tribe-events-calendar-list__event-date-tag-datetime {
	background-color: var(--svvw-green-brand);
	color: var(--svvw-text-inverse);
	border-radius: var(--svvw-radius-sm);
}

.svvw-child-theme .tribe-common-c-btn,
.svvw-child-theme .tribe-events-c-subscribe-dropdown__button {
	background-color: var(--svvw-green-interactive) !important;
	border-radius: var(--svvw-radius-full) !important;
}

/* ── Kontaktformular ───────────────────────────────────────── */
.svvw-child-theme .wpcf7 input[type="text"],
.svvw-child-theme .wpcf7 input[type="email"],
.svvw-child-theme .wpcf7 input[type="tel"],
.svvw-child-theme .wpcf7 input[type="url"],
.svvw-child-theme .wpcf7 textarea,
.svvw-child-theme .wpcf7 select {
	border: 1px solid var(--svvw-border-strong);
	border-radius: var(--svvw-radius-md);
	padding: var(--svvw-space-3) var(--svvw-space-4);
	font-family: var(--svvw-font-body);
	font-size: var(--svvw-font-size-base);
	transition: border-color var(--svvw-transition-fast), box-shadow var(--svvw-transition-fast);
}

.svvw-child-theme .wpcf7 input:focus,
.svvw-child-theme .wpcf7 textarea:focus,
.svvw-child-theme .wpcf7 select:focus {
	border-color: var(--svvw-green-interactive);
	box-shadow: var(--svvw-focus-ring);
	outline: none;
}

/* ── Social Sharing ────────────────────────────────────────── */
.svvw-child-theme .heateor_sss_sharing_container a,
.svvw-child-theme .ssbp-wrap a,
.svvw-child-theme .et_social_icon {
	border-radius: var(--svvw-radius-full);
	transition: transform var(--svvw-transition-fast), opacity var(--svvw-transition-fast);
}

.svvw-child-theme .heateor_sss_sharing_container a:hover,
.svvw-child-theme .ssbp-wrap a:hover {
	transform: scale(1.08);
	opacity: 0.9;
}

.svvw-child-theme .heateor_sss_sharing_container a:focus-visible {
	outline: var(--svvw-focus-outline);
	outline-offset: 2px;
}

/* ── Blog / Single Post ────────────────────────────────────── */
.svvw-child-theme .et_pb_post {
	border-radius: var(--svvw-radius-lg);
	overflow: hidden;
	box-shadow: var(--svvw-shadow-card);
	margin-bottom: var(--svvw-space-8);
}

.svvw-child-theme .et_pb_post .entry-featured-image-url img {
	border-radius: var(--svvw-radius-lg) var(--svvw-radius-lg) 0 0;
}

/* ── Suchfeld ──────────────────────────────────────────────── */
.svvw-child-theme .et_search_form input {
	border-radius: var(--svvw-radius-full);
	border: 1px solid var(--svvw-border-strong);
	padding: var(--svvw-space-2) var(--svvw-space-5);
}

.svvw-child-theme .et_search_form input:focus {
	border-color: var(--svvw-green-interactive);
	box-shadow: var(--svvw-focus-ring);
	outline: none;
}

/* ── Mehr Weißraum in Divi-Sections ────────────────────────── */
.svvw-child-theme .et_pb_section {
	padding-top: var(--svvw-space-12);
	padding-bottom: var(--svvw-space-12);
}

@media (max-width: 768px) {
	.svvw-child-theme .et_pb_section {
		padding-top: var(--svvw-space-8);
		padding-bottom: var(--svvw-space-8);
	}
}

/* ── Reduced Motion ────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	.svvw-child-theme *,
	.svvw-child-theme *::before,
	.svvw-child-theme *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
