/* Discounters Elementor header/footer helpers + audit polish */

:root {
	--dc-red: #c4342c;
	--dc-red-dark: #a32a23;
	--dc-text: #1f1f1f;
	--dc-muted: #636363;
	--dc-line: #e4e4e4;
	--dc-yellow: #F1D86A;
	--dc-bg: #f8f8f8;
	--dc-radius: 8px;
	--dc-font: var(--disc-font-body, "Inter Tight", sans-serif);
	--dc-section-pad-y: 0px;
	--dc-section-pad-y-sm: 0px;
}

html {
	overflow-x: clip;
	max-width: 100%;
}

body {
	font-family: var(--dc-font);
	color: var(--dc-text);
	overflow-x: clip;
	max-width: 100%;
}

img,
video,
iframe,
svg {
	max-width: 100%;
	height: auto;
}

/* .elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item:focus,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active {
	color: var(--dc-red) !important;
} */

footer .e-con.e-parent:not(.elementor-location-header):not(.elementor-location-footer) {
	--padding-block-start: 0px!important;
	--padding-block-end: 0px!important;
}

.elementor-location-header .elementor-nav-menu--dropdown {
	border: 1px solid var(--dc-line);
	border-radius: 10px;
	overflow: hidden;
}

.elementor-location-header .elementor-search-form__input {
	border-color: var(--dc-line);
	border-radius: var(--dc-radius);
}

.elementor-location-header .elementor-search-form__input:focus {
	border-color: var(--dc-red);
	box-shadow: 0 0 0 2px rgba(196, 52, 44, 0.12);
}

.elementor-location-footer a:hover {
	color: var(--dc-yellow) !important;
}

/* Consulting wrapper remnants */
body.elementor-default #wrapper {
	min-height: 0;
}

/* Unified Elementor buttons on migrated pages */
.elementor-kit-18251 .elementor-button,
.elementor .elementor-button {
	font-family: var(--dc-font);
	font-weight: 600;
	border-radius: var(--dc-radius);
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.elementor .elementor-button-link.elementor-button,
.elementor .elementor-button[href],
.elementor-widget-button .elementor-button {
	letter-spacing: 0.01em;
}

.elementor-widget-button .elementor-button:hover {
	transform: translateY(-1px);
}

/* Section spacing consistency for Elementor containers */
.elementor-location-archive .e-con,
body.elementor-page .elementor > .e-con.e-parent {
	--padding-top: var(--dc-section-pad-y);
	--padding-bottom: var(--dc-section-pad-y);
}

/* Hide empty text widgets marked during audit (_element_id) */
.elementor-element#empty-text-to-hide,
.elementor-widget-text-editor#empty-text-to-hide {
	display: none !important;
}

/* Forms polish (CF7 + schedule) */
.wpcf7 form input[type="text"],
.wpcf7 form input[type="email"],
.wpcf7 form input[type="tel"],
.wpcf7 form textarea,
.opal-schedule form input,
.opal-schedule form select,
.opal-schedule form textarea,
form.wpcf7-form input,
form.wpcf7-form textarea {
	border-radius: var(--dc-radius);
	border-color: var(--dc-line);
	font-family: var(--dc-font);
}

.wpcf7-submit,
.opal-schedule button,
.opal-schedule input[type="submit"] {
	background: var(--dc-red);
	border-color: var(--dc-red);
	color: #fff;
	font-family: var(--dc-font);
	font-weight: 600;
	border-radius: var(--dc-radius);
}

.wpcf7-submit:hover,
.opal-schedule button:hover,
.opal-schedule input[type="submit"]:hover {
	background: var(--dc-red-dark);
	border-color: var(--dc-red-dark);
}

/* Contact map iframe */
.elementor-widget-html iframe {
	width: 100%;
	max-width: 100%;
	border: 0;
	border-radius: 12px;
}

/* Prevent theme leftover title doubling under Elementor canvas pages */
.elementor-template-full-width .stm_page_title,
body.elementor-page .page_title,
body.elementor-page .stm-titlebox {
	display: none !important;
}

@media (max-width: 1024px) {
	body.elementor-page .elementor > .e-con.e-parent {
		--padding-top: 44px;
		--padding-bottom: 44px;
	}
}

@media (max-width: 767px) {
	.elementor-location-header .elementor-widget-theme-site-logo img {
		max-height: 46px;
		width: auto;
	}

	body.elementor-page .elementor > .e-con.e-parent {
		--padding-top: var(--dc-section-pad-y-sm);
		--padding-bottom: var(--dc-section-pad-y-sm);
	}

	.elementor-widget-button .elementor-button {
		width: 100%;
		justify-content: center;
		text-align: center;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-location-header .elementor-widget-theme-site-logo img {
		max-height: 54px;
		width: auto;
	}
}

@media (min-width: 1025px) {
	.elementor-location-header .elementor-widget-theme-site-logo img {
		max-height: 62px;
		width: auto;
	}
}

/* 360–390 narrow phones: kill rare overflows from tables/menus */
@media (max-width: 390px) {
	.elementor-section,
	.e-con,
	.elementor-widget-container,
	.elementor-nav-menu--dropdown {
		max-width: 100%;
	}

	table {
		display: block;
		overflow-x: auto;
		max-width: 100%;
	}
}

/* Custom DSX header (HTML widget): prevent horizontal scroll */
.dsx-header,
.dsx-header .dsx-wrap,
.dsx-main,
.dsx-main__inner,
.dsx-mobile-search,
.dsx-mobile-panel,
.dsx-mobile-panel__inner {
	max-width: 100%;
	box-sizing: border-box;
}

.dsx-header {
	overflow-x: clip;
}

.dsx-header .dsx-wrap {
	width: var(--disc-container);
}

.dsx-search {
	min-width: 0 !important;
}

.dsx-mobile-search form,
#dsx-mobile-search-input,
.dsx-mobile-search input {
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

@media (max-width: 1100px) {
	.dsx-main__inner {
		gap: 12px;
		flex-wrap: wrap;
	}

	.dsx-search {
		flex: 1 1 220px;
		max-width: 100%;
	}
}

@media (max-width: 1024px) {
	.dsx-mobile-search {
		padding-inline: 0;
		overflow: hidden;
	}

	.dsx-topbar__inner,
	.dsx-main__inner {
		max-width: 100%;
	}
}

@media (max-width: 767px) {
	.dsx-header .dsx-wrap {
		width: var(--disc-container);
	}
}

/* HTML header forces display:block in MQ and overrides [hidden] — restore toggle */
.dsx-mobile-search[hidden],
.dsx-mobile-panel[hidden] {
	display: none !important;
}

/* Lightbox / zoom must sit above sticky header (z-index ~10050–10060) */
.elementor-lightbox,
.dialog-type-lightbox,
.dialog-widget.dialog-lightbox-widget,
.elementor-lightbox .dialog-widget-content,
.elementor-lightbox .swiper-container,
.elementor-lightbox .swiper-zoom-container,
.elementor-lightbox .elementor-lightbox-image,
.pswp,
.pswp__bg,
.pswp__scroll-wrap {
	z-index: 200000 !important;
}

/* Kill legacy teal #47c9af:
   light surfaces → #444, dark surfaces → brand red #c4342c */
body:not(.wp-admin) {
	--disc-legacy-teal: #47c9af;
}

body:not(.wp-admin) .disc-footer [style*="47c9af"],
body:not(.wp-admin) .disc-footer [style*="47C9AF"],
body:not(.wp-admin) .elementor-location-footer [style*="47c9af"],
body:not(.wp-admin) .elementor-location-footer [style*="47C9AF"],
body:not(.wp-admin) .text_footer-contact i,
body:not(.wp-admin) .text_footer-contact .fa,
body:not(.wp-admin) .text_footer-contact [class*="icon"] {
	color: #c4342c !important;
}

body:not(.wp-admin) .lists li a:hover,
body:not(.wp-admin) mark,
body:not(.wp-admin) .mark {
	color: #444 !important;
}

body:not(.wp-admin) .btn_shrt-description a {
	background-color: #c4342c !important;
	border-color: #c4342c !important;
}
