/* ═══════════════════════════════════════════
   SYLVA ENVIRONMENTAL — MOBILE RESPONSIVE
   ═══════════════════════════════════════════ */

@media (max-width: 767px) {

  /* ── HEADER: force single row layout ── */
  .elementor-hidden-mobile { display: flex !important; }

  /* The main header bar */
  .elementor-element-b060cb6 { padding: 0 !important; }
  .elementor-element-b060cb6 > .e-con-inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 12px !important;
    gap: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  /* Logo column — shrink to fit */
  .elementor-element-dff4385 {
    width: auto !important; flex: 0 1 auto !important;
    max-width: 140px !important; overflow: hidden !important;
  }
  .elementor-element-dff4385 img {
    max-width: 130px !important; height: auto !important; width: auto !important;
  }

  /* Nav column — just the hamburger */
  .elementor-element-c7a3448 {
    width: auto !important; flex: 0 0 auto !important;
    padding: 0 !important; order: 10 !important;
  }
  .elementor-nav-menu--main { display: none !important; }
  .elementor-menu-toggle {
    display: flex !important; align-items: center !important; justify-content: center !important;
    width: 44px !important; height: 44px !important; cursor: pointer !important;
    border: 1px solid #e0e0e0 !important; border-radius: 10px !important;
    background: #fff !important;
  }
  .elementor-menu-toggle svg { width: 20px !important; height: 20px !important; fill: #1D3029 !important; }
  .elementor-menu-toggle__icon--close { display: none !important; }
  .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open { display: none !important; }
  .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--close { display: block !important; }

  /* Buttons column — compact, same row */
  .elementor-element-c389214 {
    width: auto !important; flex: 0 0 auto !important;
    padding: 0 !important; gap: 6px !important;
    display: flex !important; flex-direction: row !important; align-items: center !important;
  }
  /* Phone: icon only */
  .elementor-element-df2d7a1 .elementor-button-text { display: none !important; }
  .elementor-element-df2d7a1 .elementor-button {
    padding: 8px !important; min-height: 40px !important; min-width: 40px !important;
    border-radius: 10px !important; display: flex !important;
    align-items: center !important; justify-content: center !important;
  }
  .elementor-element-df2d7a1 .elementor-button svg { width: 18px !important; height: 18px !important; }
  /* Emergency: small text */
  .elementor-element-d9829f8 .elementor-button {
    padding: 8px 12px !important; font-size: 12px !important;
    min-height: 40px !important; border-radius: 10px !important;
    white-space: nowrap !important;
  }

  /* Dropdown base: hidden by default */
  .elementor-nav-menu--dropdown { display: none !important; }
  .elementor-nav-menu--dropdown[aria-hidden="false"] { display: flex !important; }
  .elementor-widget-nav-menu { position: relative !important; }

  /* ── HERO ── */
  .elementor-element-df0b224 { padding: 36px 16px !important; }
  .elementor-element-f6f5693,
  .elementor-element-09ba239 { width: 100% !important; max-width: 100% !important; padding: 0 8px !important; }
  .elementor-element-f6f5693 .elementor-heading-title,
  .elementor-element-09ba239 .elementor-heading-title { font-size: 30px !important; line-height: 36px !important; }
  .elementor-element-a37c9a2,
  .elementor-element-07886d0 {
    width: 100% !important; max-width: 100% !important; padding: 0 8px !important;
    font-size: 16px !important; line-height: 24px !important;
  }

  /* ── LOCATION / SERVICES SECTIONS ── */
  .elementor-element-4d40c71,
  .elementor-element-8c2c525 { padding: 32px 0 24px !important; }
  .elementor-element-057992e,
  .elementor-element-9041def { width: 100% !important; max-width: 100% !important; padding: 0 16px !important; }
  .elementor-element-057992e .elementor-heading-title,
  .elementor-element-9041def .elementor-heading-title { font-size: 24px !important; line-height: 30px !important; }
  .elementor-element-b10b8e3,
  .elementor-element-e32dd27 { width: 100% !important; max-width: 100% !important; padding: 0 16px !important; font-size: 15px !important; }

  /* Location cards: stack */
  .elementor-element-c0e79bf,
  .elementor-element-2e24eff {
    flex-direction: column !important; width: 100% !important;
    padding: 0 16px !important; gap: 12px !important;
  }
  .elementor-element-94c7f03, .elementor-element-2bc309c,
  .elementor-element-70c9f15 {
    width: 100% !important; margin: 0 !important;
    padding: 20px !important; border-radius: 12px !important;
  }
  .elementor-element-1024af0, .elementor-element-4e81be3,
  .elementor-element-a2efc58 { width: 100% !important; max-width: 100% !important; }

  /* Service cards grid on service pages */
  .elementor-element-2e24eff {
    display: flex !important; flex-wrap: wrap !important;
  }
  .elementor-element-2e24eff > .e-con {
    width: 100% !important; margin: 0 0 12px !important; flex: 0 0 100% !important;
  }

  /* Trust badges on service pages */
  .elementor-element-e9270c2 {
    flex-direction: column !important; gap: 16px !important; padding: 0 16px !important;
  }
  .elementor-element-8950fde, .elementor-element-b669c8b, .elementor-element-614808b {
    width: 100% !important; max-width: 100% !important;
  }

  /* Hero buttons on service pages */
  .elementor-element-4131568 {
    flex-direction: column !important; gap: 10px !important; width: 100% !important;
    padding: 0 16px !important;
  }
  .elementor-element-1c3775b, .elementor-element-77c5ebe { width: 100% !important; }
  .elementor-element-1c3775b .elementor-button,
  .elementor-element-77c5ebe .elementor-button {
    width: 100% !important; justify-content: center !important; padding: 14px 20px !important;
  }

  /* Resources page: article cards */
  .elementor-posts-container { gap: 16px !important; }
  .elementor-post { width: 100% !important; }

  /* ── FOOTER ── */
  .elementor-element-38ab0173 { padding: 28px 0 0 !important; }
  .elementor-element-38ab0173 > .e-con-inner {
    flex-direction: column !important; gap: 24px !important; padding: 0 20px !important;
  }
  .elementor-element-65649b45,
  .elementor-element-6bc62f50,
  .elementor-element-4fb0ce4e { width: 100% !important; }
  .elementor-element-4b3d7d96 { justify-content: flex-start !important; padding: 0 !important; }
  .elementor-element-3df1c0dc { width: 56px !important; max-width: 56px !important; }
  .elementor-element-866e321 { margin: 0 0 0 4px !important; width: auto !important; }
  .elementor-element-2705bbc7 .elementor-heading-title { font-size: 17px !important; }
  .elementor-element-3315a606 .elementor-heading-title,
  .elementor-element-dab03a .elementor-heading-title { font-size: 16px !important; }
  .elementor-element-842158a { padding: 0 20px !important; }
  .elementor-element-40b9eba {
    flex-direction: column !important; text-align: center !important;
    align-items: center !important; gap: 2px !important;
  }
  .elementor-element-bde2f5e, .elementor-element-9932b18 { margin: 0 !important; font-size: 12px !important; }
  .elementor-element-96ffe03 { justify-content: flex-start !important; }

  /* ── GLOBAL: prevent horizontal overflow ── */
  body, html { overflow-x: hidden !important; }
  .e-con-inner { max-width: 100vw !important; }
}

/* ═══ TABLET ═══ */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-element-f6f5693 .elementor-heading-title { font-size: 44px !important; line-height: 48px !important; }
  .elementor-element-c0e79bf { padding: 0 30px !important; }
}
