/* Elementor + City Star alignment */
.elementor-section.cs-match-hero,
.e-con.cs-match-hero {
	min-height: 100vh;
}

/* --------------------------------------------------------------------------
   Editor UX: make inserting sections between City Star blocks obvious
   -------------------------------------------------------------------------- */

/* Fixed theme header steals clicks / covers Elementor handles */
.elementor-editor-active .cs-header,
.elementor-editor-preview .cs-header {
	position: absolute !important;
	z-index: 1 !important;
	pointer-events: none;
}

.elementor-editor-active .cs-header a,
.elementor-editor-active .cs-header button {
	pointer-events: none;
}

/* Inserter bar between sections (editor only — widget prints nothing on front) */
.cs-inserter {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 110px;
	margin: 10px 16px;
	padding: 1.25rem 1rem;
	border: 2px dashed #c9a227;
	background:
		repeating-linear-gradient(
			-45deg,
			rgba(201, 162, 39, 0.12),
			rgba(201, 162, 39, 0.12) 10px,
			rgba(255, 255, 255, 0.85) 10px,
			rgba(255, 255, 255, 0.85) 20px
		);
	text-align: center;
	box-sizing: border-box;
}

.cs-inserter__plus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #c9a227;
	color: #081828;
	font: 800 28px/1 "Cairo", Tahoma, sans-serif;
}

.cs-inserter__title {
	font: 800 1.05rem/1.3 "Cairo", Tahoma, sans-serif;
	color: #0f2744;
}

.cs-inserter__help {
	font: 600 0.85rem/1.5 "Cairo", Tahoma, sans-serif;
	color: #5c6b80;
	max-width: 34rem;
}

.elementor-editor-active .elementor-widget-citystar_inserter,
.elementor-editor-preview .elementor-widget-citystar_inserter {
	z-index: 30;
}

.elementor-editor-active .cs-elementor-slot,
.elementor-editor-preview .cs-elementor-slot {
	min-height: 120px !important;
	position: relative;
	z-index: 5;
}

/* Keep Elementor add UI above City Star sections */
.elementor-editor-active .elementor-add-section,
.elementor-editor-active .elementor-add-section-inline,
.elementor-editor-active #elementor-add-new-section {
	position: relative;
	z-index: 20;
	opacity: 1 !important;
	visibility: visible !important;
}

.elementor-editor-active .elementor > .e-con.e-parent {
	position: relative;
	z-index: 2;
}

.elementor-widget-button .elementor-button {
	font-family: "Cairo", Tahoma, sans-serif;
	font-weight: 700;
}

.elementor-location-header + .cs-main,
body.elementor-template-full-width .cs-main {
	padding-top: 0;
}

/* Keep City Star widgets full-bleed and visible in editor */
.elementor-editor-active .elementor-widget-citystar_hero,
.elementor-editor-active .elementor-widget-citystar_about,
.elementor-editor-active .elementor-widget-citystar_services,
.elementor-editor-active .elementor-widget-citystar_vision,
.elementor-editor-active .elementor-widget-citystar_why,
.elementor-editor-active .elementor-widget-citystar_projects,
.elementor-editor-active .elementor-widget-citystar_process,
.elementor-editor-active .elementor-widget-citystar_cta,
.elementor-editor-preview .elementor-widget-citystar_hero,
.elementor-editor-preview .elementor-widget-citystar_about,
.elementor-editor-preview .elementor-widget-citystar_services,
.elementor-editor-preview .elementor-widget-citystar_vision,
.elementor-editor-preview .elementor-widget-citystar_why,
.elementor-editor-preview .elementor-widget-citystar_projects,
.elementor-editor-preview .elementor-widget-citystar_process,
.elementor-editor-preview .elementor-widget-citystar_cta {
	min-height: 80px;
}

.elementor-editor-active .cs-hero,
.elementor-editor-preview .cs-hero {
	min-height: 70vh;
}

/* Never animate-hide content inside Elementor */
.elementor-editor-active [data-reveal],
.elementor-editor-preview [data-reveal],
.elementor-edit-area [data-reveal],
html.elementor-html [data-reveal] {
	opacity: 1 !important;
	transform: none !important;
	visibility: visible !important;
}

/* Prevent Elementor container from clipping full sections */
.elementor .e-con:has(.cs-hero),
.elementor .e-con:has(.cs-cta),
.elementor .e-con:has(.cs-section) {
	overflow: visible;
}

.elementor-widget-citystar_hero > .elementor-widget-container,
.elementor-widget-citystar_about > .elementor-widget-container,
.elementor-widget-citystar_services > .elementor-widget-container,
.elementor-widget-citystar_vision > .elementor-widget-container,
.elementor-widget-citystar_why > .elementor-widget-container,
.elementor-widget-citystar_projects > .elementor-widget-container,
.elementor-widget-citystar_process > .elementor-widget-container,
.elementor-widget-citystar_cta > .elementor-widget-container,
.elementor-widget-citystar_page_hero > .elementor-widget-container,
.elementor-widget-citystar_about_story > .elementor-widget-container,
.elementor-widget-citystar_pillars > .elementor-widget-container,
.elementor-widget-citystar_team > .elementor-widget-container,
.elementor-widget-citystar_contact > .elementor-widget-container,
.elementor-widget-citystar_inserter > .elementor-widget-container,
.elementor-widget-citystar_site_header > .elementor-widget-container,
.elementor-widget-citystar_site_footer > .elementor-widget-container {
	padding: 0 !important;
}

/* When editing header/footer templates, keep interactions usable */
body.elementor-editor-active .elementor-widget-citystar_site_header .cs-header,
body.elementor-editor-preview .elementor-widget-citystar_site_header .cs-header {
	position: relative !important;
	pointer-events: auto !important;
	z-index: 5 !important;
}

body.elementor-editor-active .elementor-widget-citystar_site_header .cs-header a,
body.elementor-editor-active .elementor-widget-citystar_site_header .cs-header button {
	pointer-events: auto !important;
}

/* Header/footer templates: full width preview */
.elementor-editor-active .elementor-widget-citystar_site_header,
.elementor-editor-active .elementor-widget-citystar_site_footer {
	width: 100%;
}

/* Full-bleed media inside City Star / Elementor sections */
.elementor-widget-citystar_hero,
.elementor-widget-citystar_hero > .elementor-widget-container,
.elementor-widget-citystar_cta,
.elementor-widget-citystar_cta > .elementor-widget-container,
.elementor-widget-citystar_page_hero,
.elementor-widget-citystar_page_hero > .elementor-widget-container {
	width: 100%;
}

.elementor .e-con,
.elementor-section {
	background-size: cover !important;
	background-position: center center !important;
	background-repeat: no-repeat !important;
}

.elementor .cs-hero__media,
.elementor .cs-cta__media,
.elementor .cs-page-hero__bg,
.elementor .cs-about-page__hero-bg {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.elementor .cs-hero__media img,
.elementor .cs-cta__media img,
.elementor .cs-page-hero__bg img,
.elementor .cs-about-page__hero-bg img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	object-position: center center !important;
}