/* =========================================================================
   Elementor homepage skin — makes the native Elementor front page (post 36)
   match the coded theme design. Scoped to the section element IDs used in the
   homepage layout, so it only affects that page. Uses the theme design tokens
   from main.css (:root variables), which load site-wide.
   ========================================================================= */

/* Brand display font on every heading of the Elementor homepage. */
.elementor-36 .elementor-heading-title { font-family: var(--font-head); line-height: 1.2; }

/* ------------------------------- Hero ----------------------------------- */
.elementor-element-nhero001 { min-height: clamp(440px, 70vh, 640px); display: flex; align-items: center; }
.elementor-element-nhero001 .elementor-heading-title { letter-spacing: -.01em; }

/* Section headings (the white-band "h2"s) — consistent size/weight. */
.elementor-element-ntilh001 .elementor-heading-title,
.elementor-element-nrprh001 .elementor-heading-title,
.elementor-element-ndoc001 .elementor-heading-title,
.elementor-element-nabt001 .elementor-heading-title,
.elementor-element-nfeed001 .elementor-heading-title,
.elementor-element-npay001 .elementor-heading-title { font-size: clamp(1.55rem, 3vw, 2.1rem); font-weight: 800; }

/* -------------------- Quick service tiles → cards ----------------------- */
.elementor-element-ntilg001 .elementor-column > .elementor-widget-wrap,
.elementor-element-ntilg001 .elementor-widget-icon-box,
.elementor-element-ntilg001 .elementor-widget-icon-box > .elementor-widget-container { height: 100%; }
.elementor-element-ntilg001 .elementor-icon-box-wrapper {
	position: relative; height: 100%; text-align: left;
	background: var(--c-bg); border: 1px solid var(--c-line); border-radius: var(--radius);
	box-shadow: var(--shadow-sm); padding: 1.4rem; overflow: hidden;
	transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.elementor-element-ntilg001 .elementor-icon-box-wrapper:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: transparent; }
.elementor-element-ntilg001 .elementor-icon-box-wrapper::before {
	content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
	background: var(--c-accent); border-radius: var(--radius) 0 0 var(--radius);
	transform: scaleY(0); transform-origin: bottom; transition: transform var(--transition);
}
.elementor-element-ntilg001 .elementor-icon-box-wrapper:hover::before { transform: scaleY(1); }
.elementor-element-ntilg001 .elementor-icon-box-icon { margin: 0 0 .6rem; }
.elementor-element-ntilg001 .elementor-icon-box-icon i { font-size: 1.7rem; }
.elementor-element-ntilg001 .elementor-icon-box-title { font-family: var(--font-head); font-size: 1.02rem; margin: 0 0 .25rem; }
.elementor-element-ntilg001 .elementor-icon-box-title a { color: var(--c-ink); }
.elementor-element-ntilg001 .elementor-icon-box-description { font-size: .85rem; color: var(--c-muted); margin: 0; }

/* ------------------------- Report-a-problem cards ----------------------- */
.elementor-element-nrprg001 .elementor-icon-box-wrapper { text-align: center; }
.elementor-element-nrprg001 .elementor-icon-box-icon { margin-bottom: .4rem; }
.elementor-element-nrprg001 .elementor-icon-box-icon i { font-size: 1.7rem; }
.elementor-element-nrprg001 .elementor-icon-box-title { font-family: var(--font-head); }

/* ------------------------- Feature split (about) ------------------------ */
.elementor-element-nabt001 .elementor-widget-image img { border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.elementor-element-nabtin01 .elementor-heading-title { font-size: 2rem; font-weight: 800; margin-bottom: 0; }

/* ------------------------------- Feeds ---------------------------------- */
.elementor-element-nfeed001 .elementor-icon-list-items .elementor-icon-list-item { padding: .6rem 0; border-bottom: 1px solid var(--c-line); }
.elementor-element-nfeed001 .elementor-icon-list-text { color: var(--c-ink); font-weight: 600; }

/* --------------------------- Document chips ----------------------------- */
.elementor-element-ndocg001 .elementor-button { border-radius: 999px; font-weight: 600; }

/* ----------------------------- Buttons ---------------------------------- */
.elementor-36 .elementor-button {
	border-radius: var(--radius-sm); font-family: var(--font-head); font-weight: 700;
	padding: .8rem 1.45rem; transition: transform var(--transition), box-shadow var(--transition), filter var(--transition);
}
.elementor-36 .elementor-button:hover { filter: brightness(.96); transform: translateY(-1px); }

/* ----- Full-bleed fix for the shortcode homepage sections ----- */
.elementor-element-elmhero0 > .elementor-container,
.elementor-element-elmtile0 > .elementor-container,
.elementor-element-elmrprt0 > .elementor-container,
.elementor-element-elmabot0 > .elementor-container,
.elementor-element-elmfeed0 > .elementor-container,
.elementor-element-elmdocs0 > .elementor-container,
.elementor-element-elmpay00 > .elementor-container { max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important; }
.elementor-36 .elementor-section-stretched { left: 0 !important; right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
.elementor-36 .elementor-widget-shortcode { width: 100%; }
