/* ==========================================================================
   MARUTI — Elementor compatibility
   Loaded on the front end when Elementor is active (after main.css and
   Elementor's frontend.css). Keeps the theme's design inside Elementor pages.

   1. Section wrappers   2. Header styles   3. Editor preview
   4. Elementor resets vs theme styles (generated)
   ========================================================================== */

/* 1. Section wrappers ------------------------------------------------------ */
/* Containers/sections created by the converter hold one full-bleed Maruti
   section each: no padding, gap or max-width, so the section's own .container
   controls the layout exactly as on the coded page. */
.maruti-section-wrap,
.maruti-section-wrap.e-con {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--gap: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	--content-width: 100%;
	--width: 100%;
	padding: 0;
}
.maruti-section-wrap > .elementor-container,
.maruti-section-wrap .elementor-column > .elementor-widget-wrap { padding: 0 !important; max-width: none; }
.elementor-widget[class*="elementor-widget-maruti-"] { width: 100%; margin: 0; }
.elementor-widget[class*="elementor-widget-maruti-"] > .elementor-widget-container { margin: 0; padding: 0; }
.maruti-el { display: block; width: 100%; }

/* New Elementor sections between Maruti sections use the theme font. */
.site-main--elementor { font-family: var(--font); }

/* 2. Header styles (Elementor → Page settings → Maruti header) -------------- */
.has-light-overlay-header .site-header {
	position: fixed;
	left: 0;
	right: 0;
}
.has-light-overlay-header .site-header:not(.is-scrolled) {
	background: transparent;
	box-shadow: none;
}

/* 3. Editor preview ---------------------------------------------------------- */
/* Scroll-reveal starts hidden; in the editor every section must be visible. */
.elementor-editor-active .reveal,
.elementor-editor-preview .reveal { opacity: 1 !important; transform: none !important; }
/* The fixed header must not cover the editor's top section handles. */
.elementor-editor-active .site-header { pointer-events: auto; }

/* 4. Elementor resets vs theme styles ---------------------------------------- */
/* Elementor resets every image and link inside its content area
   (.elementor img { height:auto; border-radius:0; box-shadow:none … },
   .elementor a { box-shadow:none; text-decoration:none }). The rules below
   re-apply the theme's own values for those properties with enough
   specificity to win. They were generated from main.css, about.css and
   contact.css; regenerate them if those image/link rules change. */
.elementor .maruti-el img { max-width: 100%; height: auto; }
.elementor .maruti-el .btn { text-decoration: none; }
.elementor .maruti-el .btn--primary:hover { box-shadow: 0 8px 20px -8px rgba(4, 1, 134, .6); }
.elementor .maruti-el .btn--text:hover { text-decoration: underline; }
.elementor .maruti-el .link-arrow { text-decoration: none; }
.elementor .maruti-el .hero__media img { height: 100%; }
.elementor .maruti-el .hero__features { box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .45); }
.elementor .maruti-el .app-card__link { text-decoration: none; box-shadow: var(--shadow-md); }
.elementor .maruti-el .app-card__img { height: 100%; }
.elementor .maruti-el .product-card { box-shadow: var(--shadow-sm); }
.elementor .maruti-el .product-card:hover { box-shadow: var(--shadow-md); }
.elementor .maruti-el .product-card:focus-within { box-shadow: 0 0 0 3px var(--blue), var(--shadow-md); }
.elementor .maruti-el .product-card__media img { height: 100%; border-radius: var(--r-md) var(--r-md) 0 0; }
.elementor .maruti-el .product-card__icon { box-shadow: 0 4px 10px -2px rgba(4, 1, 134, .35); }
.elementor .maruti-el .product-card__link { text-decoration: none; }
.elementor .maruti-el .promo-card { box-shadow: var(--shadow-md); }
.elementor .maruti-el .solution-card { box-shadow: var(--shadow-sm); }
.elementor .maruti-el .solution-card:hover { box-shadow: var(--shadow-md); }
.elementor .maruti-el .solution-card:focus-within { box-shadow: 0 0 0 3px var(--blue), var(--shadow-md); }
.elementor .maruti-el .solution-card__media img { height: 100%; }
.elementor .maruti-el .solution-card__link { text-decoration: none; }
.elementor .maruti-el .why-card { box-shadow: 0 6px 18px -8px rgba(4, 1, 70, .2); }
.elementor .maruti-el .why-card:hover { box-shadow: var(--shadow-md); }
.elementor .maruti-el .q-panel__img { height: 100%; }
.elementor .maruti-el .stats-panel__bg { height: 100%; }
.elementor .maruti-el .catalog-card { box-shadow: 0 30px 60px -25px rgba(4, 1, 70, .35), 0 2px 6px rgba(4, 1, 70, .06); }
.elementor .maruti-el .catalog-card__title a { text-decoration: none; }
.elementor .maruti-el .resource-item__link { text-decoration: none; box-shadow: var(--shadow-sm); }
.elementor .maruti-el .resource-item__link:hover { box-shadow: var(--shadow-md); }
.elementor .maruti-el .ribbon { box-shadow: 0 10px 30px -18px rgba(4, 1, 70, .35); }
.elementor .maruti-el .logo-chip__img { max-width: 140px; }
.elementor .maruti-el .big-cta__media img { height: 100%; }
.elementor .maruti-el .post-feature__media img { height: 100%; }
.elementor .maruti-el .post-feature__link,
.elementor .maruti-el .post-card__link { text-decoration: none; }
.elementor .maruti-el .post-card--compact .post-card__media img { height: 100%; }
.elementor .maruti-el .post-card--grid { box-shadow: var(--shadow-sm); }
.elementor .maruti-el .post-card--grid:hover { box-shadow: var(--shadow-md); }
.elementor .maruti-el .post-card--grid .post-card__media img { height: 100%; }
.elementor .maruti-el .final-cta__media img { height: 100%; }
.elementor .maruti-el .social-list a:hover { text-decoration: none; }
.elementor .maruti-el .page-hero__media img { height: 100%; }
.elementor .maruti-el .entry-content img { border-radius: var(--r-md); }
.elementor .maruti-el .post-navigation a { text-decoration: none; }
.elementor .maruti-el .pagination .page-numbers { text-decoration: none; }
.elementor .maruti-el .chip { text-decoration: none; }
.elementor .maruti-el .product-gallery__main img { height: 100%; }
.elementor .maruti-el .breadcrumb a { text-decoration: none; }
.elementor .maruti-el .feature { box-shadow: var(--shadow-sm); }
.elementor .maruti-el .spec-table { box-shadow: var(--shadow-sm); }
.elementor .maruti-el input:focus,
.elementor .maruti-el select:focus,
.elementor .maruti-el textarea:focus { box-shadow: 0 0 0 3px rgba(191, 193, 255, .7); }
.elementor .maruti-el .contact-form-card { box-shadow: var(--shadow-md); }
.elementor .maruti-el .ab-hero__tile { box-shadow: var(--ab-shadow); }
.elementor .maruti-el .ab-hero__tile img { height: 100%; }
.elementor .maruti-el .ab-story__figure { box-shadow: var(--ab-shadow); }
.elementor .maruti-el .ab-story__figure img { height: 100%; }
.elementor .maruti-el .ab-positioning { box-shadow: var(--ab-shadow); }
.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) .maruti-el .ab-quote { margin-top: 32px; }
.elementor .maruti-el .ab-values { box-shadow: 0 24px 40px -24px rgba(4, 1, 134, 0.6); }
.elementor .maruti-el .ab-value__icon img { height: 26px; }
.elementor .maruti-el .ab-vm { box-shadow: var(--ab-shadow); }
.elementor .maruti-el .ab-cap:hover { box-shadow: var(--ab-shadow); }
.elementor .maruti-el .ab-cap__icon img { height: 28px; }
.elementor .elementor-widget:not(.elementor-widget-text-editor):not(.elementor-widget-theme-post-content) .maruti-el .ab-cap__media { margin-bottom: 18px; }
.elementor .maruti-el .ab-cap__media img { height: 100%; }
.elementor .maruti-el .ab-pillar__num img { height: 18px; }
.elementor .maruti-el .ab-quality__media img { height: 100%; }
.elementor .maruti-el .ab-orbit__badge { text-decoration: none; }
.elementor .maruti-el .ab-orbit__mark { box-shadow: 0 0 0 6px var(--ab-white), 0 12px 24px -12px rgba(4, 1, 134, 0.45); }
.elementor .maruti-el .ab-orbit__mark .ab-icon-img { height: 22px; }
.elementor .maruti-el .ab-orbit__mark--logo img { height: 70%; }
.elementor .maruti-el .ab-orbit__ring--1 .ab-orbit__badge { box-shadow: 0 10px 20px -14px rgba(4, 1, 134, 0.5); }
.elementor .maruti-el .ab-orbit__ring--1 .ab-orbit__mark { box-shadow: none; }
.elementor .maruti-el .ab-orbit__core { box-shadow: 0 24px 60px -20px rgba(4, 1, 134, 0.7); }
.elementor .maruti-el .ab-benefits { box-shadow: var(--ab-shadow); }
.elementor .maruti-el .ab-benefit__icon img { height: 20px; }
.elementor .maruti-el .ab-testi:hover { box-shadow: var(--ab-shadow); }
.elementor .maruti-el .ab-testi__avatar img { height: 100%; }
.elementor .maruti-el .ab-cta__media img { height: 100%; }
@media (max-width: 767px) {
	.elementor .maruti-el .ab-orbit__mark { box-shadow: 0 0 0 4px var(--ab-white); }
	.elementor .maruti-el .ab-orbit__mark .ab-icon-img { height: 18px; }
	.elementor .maruti-el .ab-orbit__ring--1 .ab-orbit__badge { box-shadow: none; }
	.elementor .maruti-el .ab-orbit__ring--1 .ab-orbit__mark { box-shadow: 0 0 0 3px var(--ab-white); }
}
.elementor .maruti-el .ct-detail__lines a { text-decoration: none; }
.elementor .maruti-el .ct-detail__lines a:hover { text-decoration: underline; }
.elementor .maruti-el .ct-card { box-shadow: 0 1px 2px rgba(17, 17, 17, .03), 0 16px 32px -24px rgba(4, 1, 70, .18); }
.elementor .maruti-el .ct-form__consent a { text-decoration: none; }
.elementor .maruti-el .ct-form__consent a:hover { text-decoration: underline; }
.elementor .maruti-el .ct-map__card { box-shadow: 0 12px 30px -12px rgba(4, 1, 70, .35); }
.elementor .maruti-el .ct-map__link { text-decoration: none; }
.elementor .maruti-el .ct-wa { box-shadow: 0 10px 24px -20px rgba(4, 1, 70, .35); }
.elementor .maruti-el .ct-wa__icon { box-shadow: 0 6px 16px -8px rgba(4, 1, 70, .25); }
@media (max-width: 767px) {
	.elementor .maruti-el .ct-map__card { box-shadow: none; }
}
