/*
Theme Name:   NDC Hello Child
Description:  Child theme of Hello Elementor for NDC Consulting Group. Shows the "NDC Site Header" and "NDC Site Footer" Elementor templates on every page, and provides the [ndc_logo] shortcode.
Author:       NDC Consulting Group
Template:     hello-elementor
Version:      1.6.1
Requires at least: 6.0
Requires PHP: 7.4
License:      GNU General Public License v3 or later
License URI:  https://www.gnu.org/licenses/gpl-3.0.html
Text Domain:  ndc-hello-child
*/

/* Logo from the [ndc_logo] shortcode. Height comes from the shortcode attributes. */
.ndc-logo-link { display: inline-block; line-height: 0; }
/* Extra specificity beats Elementor's ".elementor img { height: auto }". */
img.ndc-logo,
.elementor img.ndc-logo {
	display: block;
	width: auto;
	height: var(--ndc-logo-h, 56px);
	max-width: 100%;
}
@media (max-width: 767px) {
	img.ndc-logo,
	.elementor img.ndc-logo { height: var(--ndc-logo-h-mobile, var(--ndc-logo-h, 56px)); }
}

/* The Elementor header/footer templates fill the full width; no theme spacing. */
.ndc-site-header,
.ndc-site-footer { display: block; width: 100%; }
.ndc-site-header .elementor,
.ndc-site-footer .elementor { margin: 0; }

/* Footer phone/email list: sized here too, so the icons stay small even if a
   caching plugin drops Elementor's icon-list stylesheet. */
.ndc-site-footer .elementor-icon-list-items { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 36px; list-style: none; margin: 0; padding: 0; }
.ndc-site-footer .elementor-icon-list-item,
.ndc-site-footer .elementor-icon-list-item > a { display: flex; align-items: center; gap: 0; margin: 0; padding: 0; }
/* Exactly 8px between each icon and its text. Elementor otherwise stacks its
   own icon margin and text padding on top of the template's spacing. */
.ndc-site-footer .elementor-widget-icon-list .elementor-icon-list-item .elementor-icon-list-icon { padding-inline-end: 8px; }
.ndc-site-footer .elementor-widget-icon-list .elementor-icon-list-item .elementor-icon-list-icon svg { margin: 0; }
.ndc-site-footer .elementor-widget-icon-list .elementor-icon-list-item .elementor-icon-list-text { padding-inline-start: 0; }
.ndc-site-footer .elementor-icon-list-item::after { display: none; }
.ndc-site-footer .elementor-icon-list-icon { display: inline-flex; flex: none; }
.ndc-site-footer .elementor-icon-list-icon svg { width: 18px; height: 18px; fill: currentColor; }
.ndc-site-footer .elementor-icon-list-icon i { font-size: 18px; }
@media (max-width: 767px) {
	.ndc-site-footer .elementor-icon-list-items { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* Smooth scroll for the in-page About / Services / Process links. */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Built-in header/footer (shown only if the Elementor templates are unavailable). */
.ndc-builtin { background: #000; color: #f6f4e6; font-family: "DM Sans", system-ui, sans-serif; }
.ndc-builtin a { color: #f6f4e6; text-decoration: none; }
.ndc-builtin a:hover { color: #6ec6ee; }
.ndc-builtin__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px 36px; padding: 18px 36px; }
.ndc-builtin__nav { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 36px; font-size: 17px; font-weight: 500; }
.ndc-builtin--footer { color: #fff; }
.ndc-builtin--footer a { color: #fff; font-size: 19px; }
.ndc-builtin--footer .ndc-builtin__inner { padding: 28px 36px; flex-wrap: wrap; }
.ndc-builtin__legal { font-size: 15px; }
@media (max-width: 767px) {
	.ndc-builtin__inner { padding: 14px 20px; }
	.ndc-builtin__hide-mobile { display: none; }
	.ndc-builtin--footer .ndc-builtin__inner { flex-direction: column; align-items: flex-start; padding: 24px 20px 28px; }
	.ndc-builtin--footer a { font-size: 16px; }
	.ndc-builtin__legal { font-size: 13px; }
}
