/* AutoStar — MOBILE styles ONLY (<= 767px).
   Separate from responsive.css (which is tablet 768–1024). NON-DESTRUCTIVE:
   CSS overrides only, nothing edits the Elementor data. Sections built with a
   marker class are targeted by class; hand-built header/hero/map/CTA/stats have
   no class so are targeted by element id — RE-CHECK these if a section is
   rebuilt in Elementor:
     header : 94c3987 b1f2900 ac2bf6a 9fbd62e bcdd55e 54a50a1 935dc0a
     hero   : d15aabe af4b9db 2e67867
     headings: a3c56ba e8473e2 857ec87 1c96fc5 e78b681 787411e 47291c9 460b619
     sections: a9d89e3 ddabc38 627349b 5542bcb 5fab804 bf77e4c e8b646d 1f1b747
     map    : 430b3f2 29418dd   CTA body: c043a96   subtexts: 612fa4f
   Overrides use `--width` / `--padding-*` / `!important` because Elementor's own
   per-element rules are high specificity. */

@media (max-width: 767px) {

	/* ============================================================
	   HEADER — rebuild the stacked 3-row header into a tidy 2-row:
	   row 1 = logo (left) + hamburger (right); row 2 = contact + Book Now.
	   ============================================================ */
	.elementor-element-94c3987 {
		--padding-top: 8px !important;
		--padding-bottom: 8px !important;
	}
	/* The header is position:fixed, so keep it compact (logo + hamburger only).
	   The cart / phone / Book Now row made it ~200px tall — too much of a phone
	   screen for a fixed bar — so hide it on mobile (nav lives in the menu; the
	   phone/CTAs are in the hero + footer). Remove this rule to bring it back. */
	.elementor-element-bcdd55e { display: none !important; }
	.elementor-element-b1f2900 {
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		row-gap: 10px !important;
	}
	/* logo — row 1 left, smaller. Constrain the image WIDGET (not just the <img>)
	   so its container hugs it instead of filling the row. */
	.elementor-element-ac2bf6a {
		flex: 0 0 auto !important;
		width: auto !important;
		--width: auto !important;
		padding: 0 !important;
	}
	.elementor-element-54a50a1 { width: 132px !important; --width: 132px !important; }
	.elementor-element-54a50a1 img { width: 132px !important; height: auto !important; }
	/* hamburger — row 1 right: zero flex-basis so it sits next to the logo
	   (not wrapping), fills the remaining width, toggle pushed to the far right. */
	.elementor-element-9fbd62e {
		flex: 1 1 0 !important;
		min-width: 0 !important;
		padding: 0 !important;
		justify-content: flex-end !important;
	}
	.elementor-element-9fbd62e .elementor-widget-container { display: flex !important; justify-content: flex-end !important; }
	.elementor-element-9fbd62e .elementor-menu-toggle,
	.elementor-element-9fbd62e .hfe-nav-menu__toggle,
	.elementor-element-9fbd62e .hfe-nav-menu-icon { margin-left: auto !important; }
	/* contact + Book Now — full-width second row, spaced apart */
	.elementor-element-bcdd55e {
		flex: 1 0 100% !important;
		width: 100% !important;
		--width: 100% !important;
		justify-content: space-between !important;
		align-items: center !important;
		padding: 0 !important;
	}

	/* ============================================================
	   TYPOGRAPHY — smaller headings/text so nothing feels oversized.
	   ============================================================ */
	/* Hero slide headings */
	.elementor-element-d15aabe .elementor-heading-title,
	.elementor-element-af4b9db .elementor-heading-title,
	.elementor-element-2e67867 .elementor-heading-title {
		font-size: 30px !important;
		line-height: 1.15 !important;
	}
	/* Section headings */
	.elementor-element-a3c56ba .elementor-heading-title,
	.elementor-element-e8473e2 .elementor-heading-title,
	.elementor-element-857ec87 .elementor-heading-title,
	.elementor-element-1c96fc5 .elementor-heading-title,
	.elementor-element-e78b681 .elementor-heading-title,
	.elementor-element-787411e .elementor-heading-title,
	.elementor-element-47291c9 .elementor-heading-title {
		font-size: 22px !important;
		line-height: 1.2 !important;
	}
	/* CTA heading + body */
	.elementor-element-460b619 .elementor-heading-title {
		font-size: 24px !important;
		line-height: 1.15 !important;
	}
	.elementor-element-c043a96,
	.elementor-element-c043a96 p { font-size: 15px !important; line-height: 1.6 !important; }
	/* Service tab titles */
	.as-svc-tab .elementor-heading-title { font-size: 16px !important; }
	/* Testimonial names */
	.as-tst-card h4.elementor-heading-title { font-size: 18px !important; }
	/* Process step numbers */
	.as-proc__num .elementor-heading-title { font-size: 30px !important; }
	/* Oversized section subtexts (18 → 15) */
	.elementor-element-612fa4f,
	.elementor-element-612fa4f p,
	.elementor-element-5fab804 .elementor-widget-text-editor,
	.elementor-element-5fab804 .elementor-widget-text-editor p { font-size: 15px !important; }

	/* ============================================================
	   SECTION SPACING — trim the large vertical padding.
	   ============================================================ */
	.elementor-element-a9d89e3 { --padding-top: 48px !important; --padding-bottom: 48px !important; } /* stats */
	.elementor-element-ddabc38 { --padding-bottom: 44px !important; }                                 /* services */
	.elementor-element-627349b { --padding-top: 12px !important; --padding-bottom: 44px !important; }  /* products */
	.elementor-element-5542bcb { --padding-top: 40px !important; --padding-bottom: 44px !important; }  /* testimonials */
	.elementor-element-5fab804 { --padding-top: 44px !important; --padding-bottom: 44px !important; }  /* partners */
	.elementor-element-bf77e4c { --padding-top: 44px !important; --padding-bottom: 44px !important; }  /* blog */
	.elementor-element-e8b646d { --padding-top: 40px !important; --padding-bottom: 40px !important; }  /* CTA */

	/* ============================================================
	   MAP — lift the two location cards out of the absolute overlay so they
	   stack, full width, underneath the map (unreadable side-by-side at phone).
	   ============================================================ */
	.elementor-element-430b3f2 { position: static !important; width: 100% !important; }
	.elementor-element-29418dd { flex-direction: column !important; }

	/* ============================================================
	   STATS — drop the vertical column dividers once the stats stack.
	   ============================================================ */
	.as-stats-section .e-con { border-right-width: 0 !important; border-left-width: 0 !important; }
}
