/* Hydra9 site: shared styles for every page (page specific styles live in pages/). */

/* Elementor wrappers must not change the layout of the original design. */
:root body.cnn-site .e-con:not(main) {
	display: block; position: static; flex: 0 1 auto; gap: normal; padding: 0;
	--margin-top: 0px; --margin-right: 0px; --margin-bottom: 0px; --margin-left: 0px;
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
	width: auto; max-width: none; min-width: auto; min-height: auto; text-align: inherit;
	border-radius: 0; background: none; box-shadow: none;
}
:root body.cnn-site .e-con.cnn-page { overflow: visible; }
:where(:root body.cnn-site) .e-con::before { content: none; }
:root body.cnn-site .elementor-shortcode { color: inherit; font: inherit; margin: 0; padding: 0; }
:root body.cnn-site:not(.elementor-editor-active) :is(.elementor, .elementor-widget, .elementor-widget-container, .elementor-shortcode, .elementor-section-wrap, .elementor-element.e-con.cnn-page) { display: contents; }
:root body.cnn-site :is([data-aos], .hostinger-elementor-aos) { opacity: 1; transform: none; transition-property: none; }
/* Containers that stand for a real element of the design (e.g. <main>). */
:root body.cnn-site main.e-con { display: block; flex: none; gap: 0; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; max-width: none; }

/* UAE header/footer on any other page of the site (404, search, new pages). */
:root .e-con.cnn-hf {
	display: block; padding: 0; gap: 0; max-width: none; min-height: 0; background: none;
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
}
:root body:not(.elementor-editor-active) .cnn-hf :is(.elementor-widget, .elementor-widget-container) { display: contents; }
.cnn-hf a { text-decoration: none; }
.cnn-hf footer p, .cnn-hf footer span { margin: 0; }

/* Where Elementor's image reset stays (editor, other pages): keep the design's image sizes. */
:root :is(body.cnn-site .elementor, .cnn-hf) img.h-12 { height: 3rem; width: auto; }
:root :is(body.cnn-site .elementor, .cnn-hf) img.h-16 { height: 4rem; width: auto; }
:root body.cnn-site .elementor img.h-full { height: 100%; }
:root body.cnn-site .elementor img.rounded-full { border-radius: 9999px; }
:root body.cnn-site .elementor img.rounded-3xl { border-radius: 1.5rem; }
@media (min-width: 768px) { :root :is(body.cnn-site .elementor, .cnn-hf) img.md\:h-14 { height: 3.5rem; } }

/* Header */
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24; }
.vitality-glow:hover { box-shadow: 0 0 20px rgba(15, 184, 227, 0.35); }
.active-tab,
body.cnn-nav-home [data-cnn-nav="home"],
body.cnn-nav-products [data-cnn-nav="products"],
body.cnn-nav-reviews [data-cnn-nav="reviews"] {
	color: #0fb8e3;
	font-weight: 700;
	border-bottom: 2px solid #0fb8e3;
	padding-bottom: 0.25rem;
}
body.cnn-nav-contact [data-cnn-nav="contact"] { box-shadow: 0 0 0 3px rgba(15, 184, 227, 0.3); }
body.admin-bar.cnn-site > nav.fixed,
body.admin-bar .cnn-hf nav.fixed { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar.cnn-site > nav.fixed,
	body.admin-bar .cnn-hf nav.fixed { top: 46px; }
}
@media (max-width: 400px) {
	nav [data-cnn-nav="contact"] { padding-left: 1rem; padding-right: 1rem; }
}

/* Other pages: keep their content clear of the fixed header. */
body:not(.cnn-site):not(.elementor-editor-active):has(.cnn-hf nav.fixed) { padding-top: 80px; }

/* Contact Form 7 */
.wpcf7 .wpcf7-not-valid { border-color: #dc2626 !important; }
