/** Elementor compatibility styles */
.bs-elementor-page .bs-main{padding-top:0}
.bs-elementor-canvas .bs-elementor-content{min-height:50vh;width:100%;max-width:none}
.bs-elementor-full .bs-elementor-content{max-width:none;padding:0}
.bs-elementor-archive .elementor-section.elementor-section-boxed>.elementor-container{max-width:var(--bs-container,1320px)}
.elementor-widget-wrap .bs-btn{display:inline-flex}
/* Never cover Elementor drop zones / structure picker in the editor */
.elementor-editor-active .bs-header,
.elementor-editor-active .bs-elementor-header,
.elementor-editor-preview .bs-header,
.elementor-editor-preview .bs-elementor-header{
	position:relative!important;
	top:auto!important;
	z-index:1!important;
	pointer-events:none!important;
}
.elementor-editor-active .bs-floating,
.elementor-editor-preview .bs-floating,
.elementor-editor-active .bs-scroll-progress,
.elementor-editor-preview .bs-scroll-progress{
	display:none!important;
}
.elementor-page .elementor-widget-heading h1,.elementor-page .elementor-widget-heading h2,.elementor-page .elementor-widget-heading h3{font-family:var(--bs-font-heading)}
.elementor-page .elementor-text-editor,.elementor-page .elementor-widget-text-editor{font-family:var(--bs-font-body)}
.elementor-page .elementor-section-wrap,.elementor-page .elementor-inner{margin:0}
.elementor-page [class*="bs-"]{box-sizing:border-box}
.elementor-widget-bs_hero_slider,.elementor-widget-bs_page_hero,.elementor-widget-bs_about_section,.elementor-widget-bs_services_grid,.elementor-widget-bs_projects_grid,.elementor-widget-bs_blog_grid,.elementor-widget-bs_testimonials,.elementor-widget-bs_counters,.elementor-widget-bs_cta,.elementor-widget-bs_why_us,.elementor-widget-bs_why_list,.elementor-widget-bs_faq,.elementor-widget-bs_partners,.elementor-widget-bs_gallery_grid,.elementor-widget-bs_vision_mission,.elementor-widget-bs_contact_section{width:100%}
.bs-elementor-footer{width:100%}
.bs-elementor-footer .elementor-section,
.bs-elementor-footer .elementor-container,
.bs-elementor-footer .elementor-column,
.bs-elementor-footer .elementor-widget-wrap{
	max-width:none!important;padding:0!important;margin:0!important;
}
.bs-elementor-footer .elementor-widget-bs_site_footer > .elementor-widget-container{padding:0!important}
.bs-elementor-header{width:100%;position:sticky;top:0;z-index:100}
.bs-elementor-header .elementor-section,
.bs-elementor-header .elementor-container,
.bs-elementor-header .elementor-column,
.bs-elementor-header .elementor-widget-wrap{
	max-width:none!important;padding:0!important;margin:0!important;
}
.bs-elementor-header .elementor-widget-bs_site_header > .elementor-widget-container{padding:0!important}
.bs-elementor-header .bs-header{border-bottom:1px solid #EEF1F5}

/* Keep Elementor add/drop UI above theme chrome */
body.elementor-editor-active .elementor-add-section,
body.elementor-editor-active .elementor-add-section-inner,
body.elementor-editor-active .elementor-add-new-section,
body.elementor-editor-active .elementor-empty-view,
body.elementor-editor-active .elementor-first-add,
body.elementor-editor-active .e-con.e-con--select-type,
body.elementor-editor-active .e-con > .e-con-inner{
	position:relative;
	z-index:20;
	pointer-events:auto!important;
}

/* Full-bleed: hero / page hero / CTA / vision-mission break out of Elementor boxed sections */
.elementor-section:has(.bs-hero),
.elementor-section:has(.bs-page-hero),
.elementor-section:has(.bs-cta),
.elementor-section:has(.bs-vision-mission),
.elementor-section:has(.elementor-widget-bs_hero_slider),
.elementor-section:has(.elementor-widget-bs_page_hero),
.elementor-section:has(.elementor-widget-bs_cta),
.elementor-section:has(.elementor-widget-bs_vision_mission){
  max-width:none!important;width:100%!important;min-height:0!important;height:auto!important;overflow:visible
}
.elementor-section:has(.elementor-widget-bs_hero_slider)>.elementor-container,
.elementor-section:has(.elementor-widget-bs_page_hero)>.elementor-container,
.elementor-section:has(.elementor-widget-bs_cta)>.elementor-container,
.elementor-section:has(.elementor-widget-bs_vision_mission)>.elementor-container{
  max-width:none!important;width:100%!important;padding-inline:0!important;min-height:0!important;height:auto!important;overflow:visible!important
}
.elementor-section:has(.bs-hero) .elementor-column,
.elementor-section:has(.bs-page-hero) .elementor-column,
.elementor-section:has(.bs-cta) .elementor-column,
.elementor-section:has(.bs-vision-mission) .elementor-column,
.elementor-section:has(.elementor-widget-bs_hero_slider) .elementor-column,
.elementor-section:has(.elementor-widget-bs_page_hero) .elementor-column,
.elementor-section:has(.elementor-widget-bs_cta) .elementor-column,
.elementor-section:has(.elementor-widget-bs_vision_mission) .elementor-column{
  padding:0!important;width:100%!important;min-height:0!important;height:auto!important;overflow:visible!important
}
.elementor-section:has(.bs-hero) .elementor-widget-wrap,
.elementor-section:has(.bs-page-hero) .elementor-widget-wrap,
.elementor-section:has(.bs-cta) .elementor-widget-wrap,
.elementor-section:has(.bs-vision-mission) .elementor-widget-wrap,
.elementor-section:has(.elementor-widget-bs_hero_slider) .elementor-widget-wrap,
.elementor-section:has(.elementor-widget-bs_page_hero) .elementor-widget-wrap,
.elementor-section:has(.elementor-widget-bs_cta) .elementor-widget-wrap,
.elementor-section:has(.elementor-widget-bs_vision_mission) .elementor-widget-wrap,
.elementor-section:has(.bs-hero) .elementor-element-populated,
.elementor-section:has(.bs-page-hero) .elementor-element-populated,
.elementor-section:has(.bs-cta) .elementor-element-populated,
.elementor-section:has(.bs-vision-mission) .elementor-element-populated{
  padding:0!important;margin:0!important;min-height:0!important;height:auto!important;overflow:visible!important
}
.elementor-widget-bs_hero_slider,
.elementor-widget-bs_page_hero,
.elementor-widget-bs_cta,
.elementor-widget-bs_vision_mission{overflow:visible!important}
.elementor-widget-bs_page_hero,
.elementor-widget-bs_cta,
.elementor-widget-bs_vision_mission{margin:0!important}
.elementor-widget-bs_hero_slider{
  margin:0!important;
  overflow:visible!important;
}
.elementor-widget-bs_hero_slider .bs-hero,
.elementor-widget-bs_hero_slider .bs-hero-block{
  width:100%;max-width:none;
  overflow:visible!important;
  position:relative!important;
}
.elementor-widget-bs_hero_slider .bs-hero{
  min-height:0;height:auto;max-height:none;
}
.elementor-section:has(.elementor-widget-bs_hero_slider){
  overflow:visible!important;
}
body.admin-bar .elementor-widget-bs_hero_slider .bs-hero{
  min-height:0;height:auto;max-height:none
}
@media (max-width:782px){
  body.admin-bar .elementor-widget-bs_hero_slider .bs-hero{
    min-height:0;height:auto;max-height:none
  }
}
.elementor-widget-bs_page_hero .bs-page-hero,
.elementor-widget-bs_cta .bs-cta{width:100%;max-width:none}
.bs-elementor-page .elementor-section{margin-block:0}
.bs-elementor-page .bs-about,
.bs-elementor-page .bs-services-preview,
.bs-elementor-page .bs-projects-preview,
.bs-elementor-page .bs-why-us,
.bs-elementor-page .bs-counters,
.bs-elementor-page .bs-testimonials{margin-top:0}
.elementor-page .bs-card .bs-card__title,
.elementor-page .bs-card .bs-card__title a{color:var(--bs-text)}
.elementor-page .bs-card .bs-card__meta{color:var(--bs-accent)}
.elementor-page .bs-card .bs-card__body p:not(.bs-card__meta),
.elementor-page .bs-card .bs-card__excerpt{color:var(--bs-muted)}
.elementor-page .bs-card .bs-card__link{color:var(--bs-accent)}
.elementor-page .bs-card .bs-card__link:hover{color:var(--bs-text)}
.elementor-widget-bs_about_section .bs-section-head{display:none}
.elementor-widget-bs_about_section .bs-about__grid{align-items:stretch}
.elementor-widget-bs_about_section .bs-about__media-frame{position:relative;height:100%;min-height:320px}
.elementor-widget-bs_about_section .bs-about__media-frame img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important}

@media (max-width:768px){
  .elementor-section.elementor-section-boxed>.elementor-container{padding-inline:0!important}
  .bs-elementor-archive .elementor-section.elementor-section-boxed>.elementor-container{max-width:100%}
  .elementor-widget-bs_about_section .bs-about__media-frame{min-height:200px;height:auto;aspect-ratio:16/10;max-height:260px}
  .elementor-widget-bs_contact_section .bs-contact__form-wrap{margin-top:.5rem}
  .elementor-widget-bs_vision_mission .bs-vision-mission{width:100%}
  .elementor-widget-bs_hero_slider .bs-hero{
    min-height:0;height:auto;max-height:none
  }
  .elementor-widget-bs_site_header .bs-header,
  .bs-elementor-header .bs-header{padding:.65rem 0}
  .elementor-column-gap-default>.elementor-column>.elementor-element-populated,
  .elementor-column-gap-narrow>.elementor-column>.elementor-element-populated,
  .elementor-column-gap-extended>.elementor-column>.elementor-element-populated,
  .elementor-column-gap-wide>.elementor-column>.elementor-element-populated,
  .elementor-column-gap-wider>.elementor-column>.elementor-element-populated{
    padding:0!important
  }
}
@media (max-width:480px){
  .elementor-widget-bs_hero_slider .bs-hero__actions .bs-btn{width:100%}
}

/* Free / native Elementor sections mixed with designed widgets */
.bs-free-section{width:100%}
.bs-free-section .bs-container{width:min(100% - 2rem,var(--bs-container,1120px));margin-inline:auto}
.bs-free-section__inner--narrow,
.bs-free-section .bs-container.bs-free-section__inner--narrow{max-width:720px}
.bs-free-section--center{text-align:center}
.bs-free-section--start{text-align:start}
.bs-free-section--end{text-align:end}
.bs-free-section__title{
	margin:.5rem 0 1rem;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.35;
	color:var(--bs-navy,#0B1F33);font-weight:800
}
.bs-free-section__text{color:#5B6775;line-height:1.8;font-size:1rem}
.bs-free-section__text p{margin:0 0 .75rem}
.bs-free-section__actions{margin-top:1.35rem}
.bs-free-section--center .bs-free-section__actions{display:flex;justify-content:center}
.elementor-widget-bs_free_section{width:100%}

/* Native Elementor Container / Section blocks between custom widgets */
.bs-elementor-content > .elementor > .elementor-section:not(:has([class*="elementor-widget-bs_"])),
.bs-elementor-content > .elementor > .e-con:not(:has([class*="elementor-widget-bs_"])){
	padding-block:clamp(2rem,5vw,4rem)
}
.bs-elementor-content .elementor-widget-heading .elementor-heading-title{
	color:var(--bs-navy,#0B1F33);font-weight:800
}
.bs-elementor-content .elementor-widget-button .elementor-button{
	border-radius:999px;padding:.85rem 1.5rem;font-weight:700
}
.bs-elementor-content .elementor-widget-image img{border-radius:16px}

/* Gallery + call CTA under services */
.bs-gallery-section{padding:clamp(2rem,5vw,3.5rem) 0;background:#fff}
.bs-gallery-section .bs-container{width:min(100% - 2rem,var(--bs-container,1120px));margin-inline:auto}
.bs-gallery-empty{color:#6A7C92;text-align:center;margin:1rem 0}
.bs-gallery-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:1rem;
	margin-top:1.5rem;
}
.bs-gallery-item{
	margin:0;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:#EEF1F5;
	box-shadow:0 8px 24px rgba(15,23,42,.06);
}
.bs-gallery-item__img,.bs-gallery-item img{
	width:100%!important;height:100%!important;object-fit:cover!important;display:block;
	transition:transform .35s ease;
}
.bs-gallery-item:hover img{transform:scale(1.04)}
.bs-gallery-call{display:flex;justify-content:center;margin-top:1.75rem}
.bs-gallery-call__btn{
	display:inline-flex!important;align-items:center;gap:.65rem;
	min-height:52px;padding:.9rem 1.6rem!important;border-radius:999px!important;
	font-weight:800;font-size:1.05rem;letter-spacing:.02em;
}
.bs-gallery-call__icon{display:inline-grid;place-items:center;line-height:0}
.elementor-widget-bs_gallery_grid{width:100%}
@media (max-width:900px){
	.bs-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
}
@media (max-width:560px){
	.bs-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
	.bs-gallery-item{border-radius:14px}
	.bs-gallery-call__btn{width:100%;justify-content:center}
}

