/*
 * Uniaro look for Elementor widgets (Zevonix, 2026-11-02).
 * The pages were rebuilt from WPBakery. Typography and colours are set on each
 * widget in Elementor; this file only holds the theme details Elementor has no
 * setting for (separator bars, columns whose background runs to the screen
 * edge, the course-workflow numbers, hover boxes).
 */

/* Bands clip sideways only, so a column background can run to the screen edge
   while cards may still overlap the band above. */
/* Bands run edge to edge although the page content sits in the theme's container. */
body.elementor-page { overflow-x: clip; }
.elementor .e-con.zvx-band { overflow-x: clip; width: 100vw !important; max-width: 100vw !important; margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; }
.zvx-text-white { color: rgba(255, 255, 255, 0.85); }

/* Columns whose background extends to the edge of the screen. */
.elementor .e-con.zvx-expand-left,
.elementor .e-con.zvx-expand-right { position: relative; isolation: isolate; }
.elementor .e-con.zvx-expand-left::before,
.elementor .e-con.zvx-expand-right::before { content: ""; position: absolute; top: 0; bottom: 0; width: auto; background: inherit; z-index: -1; }
.elementor .e-con.zvx-expand-left::before { left: calc(100% - 100vw); right: 0; }
.elementor .e-con.zvx-expand-right::before { left: 0; right: calc(100% - 100vw); }
/* Text on orange columns is white, as in the theme. */
.elementor .e-con.zvx-on-skin, .elementor .e-con.zvx-on-skin .elementor-widget-text-editor { color: #fff !important; }
.elementor .zvx-th-text strong, .elementor .zvx-th-text b { color: inherit; }

/* Text blocks: same rhythm as the theme. */
.elementor .elementor-widget-text-editor > :last-child,
.elementor .elementor-widget-text-editor .elementor-widget-container > :last-child { margin-bottom: 0; }

/* Heading separator: orange bar, gap, grey bar. */
.elementor .zvx-th-sep .elementor-heading-title::after { content: ""; display: block; width: 66px; height: 4px; margin-top: 21px; margin-bottom: 11px; background: linear-gradient(90deg, #ff4f01 0 30px, transparent 30px 35px, #e0e1e3 35px 66px); }
.elementor .zvx-th-sep-center .elementor-heading-title::after { margin-left: auto; margin-right: auto; }
.elementor .zvx-text-white .zvx-th-sep .elementor-heading-title::after { background: linear-gradient(90deg, #ff4f01 0 30px, transparent 30px 35px, rgba(255, 255, 255, 0.25) 35px 66px); }

/* Columns separated by a thin line (counters, top service boxes). */
.elementor .e-con.zvx-col-sep > .e-con + .e-con { border-left: 1px solid rgba(124, 135, 152, 0.15); }
.elementor .zvx-text-white .e-con.zvx-col-sep > .e-con + .e-con,
.elementor .e-con.zvx-text-white.zvx-col-sep > .e-con + .e-con { border-left-color: rgba(255, 255, 255, 0.12); }

/* Service box lists: the theme's plain list with a small inset. */
.elementor .zvx-sbox-text ul { list-style: disc; padding-left: 0; margin: 10px 0 0; list-style-position: inside; }
.elementor .zvx-sbox-btn .elementor-button { padding: 0; background: none; }

/* Course workflow: numbered circles joined by a dashed arrow. */
.elementor .zvx-process-step { position: relative; }
.elementor .zvx-process-num .elementor-heading-title { display: inline-block; width: 30px; height: 30px; border-radius: 50%; background: #ff4f01; color: #fff; font-size: 14px; line-height: 30px; text-align: center; box-shadow: 0 0 0 7px rgba(255, 79, 1, 0.15); }
.elementor .zvx-process-step:not(:last-child) .zvx-process-num::after { content: ""; position: absolute; top: 15px; left: calc(50% + 30px); width: 70px; border-top: 1px dashed #c9ccd3; }
.elementor .zvx-process-title .elementor-heading-title { font-family: "Roboto Condensed", Arial, Helvetica, sans-serif; font-size: 20px; line-height: 27px; font-weight: 400; color: #131d3b; }
.elementor .zvx-process-text { font-size: 15px; line-height: 24px; color: #666d81; }

/* Hover boxes: photo with a white caption bar, navy icon square, orange underline. */
.elementor .zvx-hoverbox-img img { display: block; width: 100%; }
.elementor .e-con.zvx-hoverbox-bar { position: relative; margin: -49px 0 0 15px !important; width: calc(100% - 15px) !important; background: #fff; border-bottom: 3px solid #ff4f01; z-index: 1; }
.elementor .zvx-hoverbox-title { flex: 1 1 auto; padding: 9px 19px; }
.elementor .zvx-hoverbox-title .elementor-heading-title { font-family: "Roboto Condensed", Arial, Helvetica, sans-serif; font-size: 19px; line-height: 26px; font-weight: 400; color: #131d3b; }
.elementor .zvx-hoverbox-icon { flex: 0 0 57px; background: #131d3b; display: flex; align-items: center; justify-content: center; }

/* FAQ accordion: navy question bars, orange when open, answer in a soft card. */
.elementor .zvx-acc .elementor-accordion-item { border: 0 !important; margin-bottom: 25px; }
.elementor .zvx-acc .elementor-tab-title { background: #131e3c; padding: 14px 20px; border: 0 !important; font-family: "Roboto Condensed", Arial, Helvetica, sans-serif; font-size: 18px; line-height: 22px; font-weight: 400; }
.elementor .zvx-acc .elementor-tab-title.elementor-active { background: #ff4f01; }
.elementor .zvx-acc .elementor-tab-title, .elementor .zvx-acc .elementor-tab-title a, .elementor .zvx-acc .elementor-accordion-icon { color: #fff !important; }
.elementor .zvx-acc .elementor-accordion-icon { font-size: 13px; }
.elementor .zvx-acc-gap-15 .elementor-accordion-item { margin-bottom: 15px; }
.elementor .zvx-acc-outline .elementor-tab-title,
.elementor .zvx-acc-outline .elementor-tab-title.elementor-active { background: transparent; border: 1px solid #131d3b !important; }
.elementor .zvx-acc-outline .elementor-tab-title, .elementor .zvx-acc-outline .elementor-tab-title a, .elementor .zvx-acc-outline .elementor-accordion-icon { color: #131d3b !important; }
.elementor .zvx-acc .elementor-tab-content { border: 0 !important; padding: 14px 20px 20px; font-size: 16px; line-height: 26px; color: #666d81; box-shadow: 0 0 15px rgba(41, 61, 88, 0.1); }
.elementor .zvx-acc-outline .elementor-tab-content { box-shadow: none; }

/* Heading beside its text (Latest News & Blog). */
.elementor .e-con.zvx-th-horizontal > .zvx-th-h-title { flex: 0 0 auto; width: auto; }
.elementor .e-con.zvx-th-horizontal > .zvx-th-h-text { flex: 1 1 auto; width: auto; }
@media (max-width: 767px) { .elementor .e-con.zvx-th-horizontal > .e-con { width: 100%; } }

/* Testimonials on the dark photo panel. */
.elementor .zvx-expand-right .themetechmount-testimonial-text,
.elementor .zvx-expand-right .themetechmount-testimonial-text em { color: rgba(255, 255, 255, 0.75); }
.elementor .zvx-expand-right .themetechmount-box-title,
.elementor .zvx-expand-right .themetechmount-box-title * { color: rgba(255, 255, 255, 0.75); }

/* Map */
.elementor .zvx-map iframe { display: block; width: 100%; border: 0; }

/* The theme pulls a page's first full-width row up under the title bar. */
.site-main > .elementor > .e-con.zvx-band:first-child,
.site-main .entry-content > .elementor > .e-con.zvx-band:first-child { margin-top: -92px; }

@media (max-width: 1024px) {
	.elementor .e-con.zvx-expand-left::before,
	.elementor .e-con.zvx-expand-right::before { left: -50vw; right: -50vw; }
	.elementor .e-con.zvx-col-sep > .e-con + .e-con { border-left: 0; }
	.elementor .zvx-process-step .zvx-process-num::after { display: none; }
}

/* Phones: every column gets the theme's plain 15px gutter (desktop insets and overlaps off). */
@media (max-width: 767px) {
	.elementor .e-con.zvx-col { --padding-left: 15px !important; --padding-right: 15px !important; --margin-top: 0px !important; }
	.elementor .e-con.zvx-row-inner { --padding-left: 0px !important; --padding-right: 0px !important; --margin-left: 0px !important; --margin-right: 0px !important; }
}

/* ---- Footer (rebuilt 2026-11-02): navy, four columns, legal links below ---- */
#colophon .footer_inner_wrapper { background-color: #131d3b !important; }
#colophon .first-footer { padding: 70px 0 30px; }
#colophon .first-footer .widget { margin-bottom: 30px; }
#colophon .first-footer .widget-title { color: #fff; font-family: "Roboto Condensed", Arial, Helvetica, sans-serif; font-size: 22px; line-height: 28px; font-weight: 400; margin-bottom: 22px; padding-bottom: 14px; position: relative; }
#colophon .first-footer .widget-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 30px; height: 3px; background: #ff4f01; }
#colophon .first-footer, #colophon .first-footer p, #colophon .first-footer li { color: rgba(255, 255, 255, 0.75); font-size: 16px; line-height: 26px; }
#colophon .first-footer a { color: rgba(255, 255, 255, 0.85); text-decoration: none; }
#colophon .first-footer a:hover, #colophon .first-footer a:focus { color: #ff4f01; }
#colophon .first-footer .menu { list-style: none; margin: 0; padding: 0; }
#colophon .first-footer .menu li { padding: 4px 0; border: 0; }
#colophon .zvx-foot-contact { list-style: none; margin: 0; padding: 0; }
#colophon .zvx-foot-contact li { display: flex; gap: 12px; padding: 4px 0 8px; }
#colophon .zvx-foot-contact i { color: #ff4f01; width: 16px; margin-top: 5px; text-align: center; }
#colophon a.zvx-foot-btn { display: inline-block; margin-top: 6px; padding: 10px 22px; background: #ff4f01; color: #fff !important; font-family: "Roboto Condensed", Arial, Helvetica, sans-serif; }
#colophon a.zvx-foot-btn:hover { background: #fff; color: #131d3b !important; }
#colophon .bottom-footer-text { border-top: 1px solid rgba(255, 255, 255, 0.08); padding: 22px 0; }
#colophon .footer-nav-menu { margin: 0 0 14px; padding: 0; text-align: center; }
#colophon .footer-nav-menu li { display: inline-block; margin: 0; }
#colophon .footer-nav-menu a { color: rgba(255, 255, 255, 0.8); }
#colophon .footer-nav-menu a:hover { color: #ff4f01; }
/* Powered-by logo in white on the navy bar. */
#colophon .zvx-pb img { filter: brightness(0) invert(1); opacity: 0.85; }
@media (max-width: 767px) {
	#colophon .first-footer { padding: 45px 0 10px; }
}

/* Bottom bar: two halves - Powered-by logo centred in the left half; links and copyright right-aligned in the right half. */
#colophon .bottom-footer-inner .tm-footer2-left { display: grid; grid-template-columns: 1fr 1fr; grid-template-areas: "logo menu" "logo copy"; align-items: center; column-gap: 40px; row-gap: 6px; float: none; width: 100%; }
#colophon .bottom-footer-inner .tm-footer2-left + div:empty,
#colophon .bottom-footer-inner .tm-footer2-left + .col-sm-5 { display: none; }
#colophon .tm-footer2-left .footer-nav-menu { grid-area: menu; margin: 0; text-align: right; }
#colophon .tm-footer2-left .zvx-pb { display: contents; }
#colophon .tm-footer2-left .zvx-pb__logo { grid-area: logo; justify-self: center; margin: 0; }
#colophon .tm-footer2-left .zvx-pb__copy { grid-area: copy; margin: 0 !important; justify-self: end; text-align: right !important; width: auto !important; flex: none !important; }
@media (max-width: 767px) {
	#colophon .bottom-footer-inner .tm-footer2-left { grid-template-columns: 1fr; grid-template-areas: "logo" "menu" "copy"; justify-items: center; row-gap: 12px; }
	#colophon .tm-footer2-left .zvx-pb__logo { justify-self: center; }
	#colophon .tm-footer2-left .footer-nav-menu { text-align: center; }
	#colophon .tm-footer2-left .zvx-pb__copy { justify-self: center; text-align: center !important; }
}
