/* HVACGO Widgets: the widgets reuse the platform's storefront classes; this file only adds what Elementor needs. */

/* Each widget draws its own full-width section, so Elementor's own spacing around it is removed. */
.elementor-widget[class*="elementor-widget-hvacgo-"] { margin-block-end: 0 !important; --kit-widget-spacing: 0px; }
.elementor-widget[class*="elementor-widget-hvacgo-"] > .elementor-widget-container { margin: 0; padding: 0; }
.e-con:has(> .elementor-widget[class*="elementor-widget-hvacgo-"]) { --widgets-spacing: 0px; --gap: 0px; }

/* Background and spacing choices from the Style tab. */
.hvg-bare { background: transparent !important; border-block: 0 !important; }
.hv-section.hvg-flush { padding-block: 0; }

/* Hero without the side visual, or with a picture instead of the ring. */
.hvg-hero--solo .hv-hero__grid { grid-template-columns: minmax(0, 1fr); max-width: 860px; }
.hvg-hero__media img { display: block; width: 100%; height: auto; border-radius: 22px; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .9); }
.hvg-still .hv-orb__echo, .hvg-still .hv-orb__air, .hvg-still .hv-orb__stage::before { animation: none; }
.hvg-still .hv-orb__go { animation: hv-go-in .7s 1.3s var(--hv-ease) forwards; }
.hvg-still .hv-orb__chip { animation: hv-rise .7s var(--hv-ease) forwards; }
.hvg-still .hv-orb__chip--2 { animation-delay: .2s; }
.hvg-still .hv-orb__chip--3 { animation-delay: .4s; }

/* Brand logos uploaded by hand. */
.hvg-logos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 18px 40px; }
.hvg-logos img { display: block; height: 44px; width: auto; transition: filter .2s, opacity .2s; }
.hvg-gray-yes .hvg-logos img { filter: grayscale(1) brightness(1.6); opacity: .7; }
.hvg-gray-yes .hvg-logos li:hover img { filter: none; opacity: 1; }

/* Closing call to action. */
.hvg-cta { position: relative; overflow: hidden; isolation: isolate; display: flex; align-items: center; justify-content: space-between; gap: 28px 40px; flex-wrap: wrap; padding: 44px 48px; border-radius: 24px; background: linear-gradient(135deg, #1a2731, #0f181f 60%); box-shadow: inset 0 0 0 1px var(--hv-line-2, #2c3f4c), 0 30px 60px -36px rgba(0, 0, 0, .9); }
.hvg-cta::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(50% 120% at 0% 50%, rgba(210, 124, 64, .22), transparent 70%); }
.hvg-cta__mark { position: absolute; z-index: -1; inset-inline-end: -60px; top: 50%; width: 320px; height: 320px; transform: translateY(-50%); color: var(--hv-copper, #d27c40); opacity: .1; }
.hvg-cta__copy { flex: 1 1 380px; min-width: 0; }
.hvg-cta__title { margin: 0 0 8px; font-size: clamp(1.5rem, 2.6vw, 2.1rem); color: #fff; }
.hvg-cta__copy p { margin: 0; color: var(--hv-text-2, #b5c3cb); max-width: 60ch; }
.hvg-cta__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hvg-cta-center .hvg-cta { flex-direction: column; text-align: center; justify-content: center; }
.hvg-cta-center .hvg-cta__copy { flex: none; }
.hvg-cta-center .hvg-cta__copy p { margin-inline: auto; }
.hvg-cta-center .hvg-cta__actions { justify-content: center; }
@media (max-width: 700px) {
	.hvg-cta { padding: 30px 22px; }
	.hvg-cta__actions, .hvg-cta__actions .hv-btn { width: 100%; }
}

.hvg-empty { color: var(--hv-text-2, #b5c3cb); }

/* Messages that only appear inside the Elementor editor. */
.hvg-note { margin: 12px; padding: 14px 18px; border-radius: 12px; border: 1px dashed rgba(210, 124, 64, .6); background: rgba(210, 124, 64, .08); color: #eba36d; font: 600 14px/1.6 "IBM Plex Sans Arabic", sans-serif; text-align: center; }
