/* =============================================
   MOBILE RESPONSIVE FIXES - Presence Design
   Breakpoint: max-width 767px (mobile)
   ============================================= */



/* =============================================
   TABLET RESPONSIVE FIXES - 768px to 1024px
   ============================================= */

@media (min-width: 768px) and (max-width: 1024px) {

  /* Project categories: 3-col to 2-col on tablet */
  .elementor-382 .elementor-element.elementor-element-08a19dd {
    --e-con-grid-template-columns: repeat(2, 1fr) !important;
    grid-template-columns: repeat(2, 1fr) !important;
    --gap: 25px 25px !important;
  }

  /* Fix description text width on tablet */
  .elementor-382 .elementor-element.elementor-element-ad9c707 {
    width: 80% !important;
    max-width: 80% !important;
  }

}

/* ===================================================
   PROJECT PAGES: Keep project name + location side by side on mobile
   Breakpoint: max-width 767px (mobile)
=================================================== */

@media (max-width: 767px) {
  /* Fix homepage Studio section - reset negative left margins that push content off-screen on mobile */
  .elementor-382 .elementor-element.elementor-element-ae42e18,
  .elementor-382 .elementor-element.elementor-element-ad9c707 {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Project pages: override Elementor stacked grid - use flex row on inner container */
  .e-con.e-grid:has(.elementor-widget-xpro-heading ~ .elementor-widget-text-editor) > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
  }
  /* Reset desktop margins and allow natural flex sizing */
  .e-con.e-grid:has(.elementor-widget-xpro-heading ~ .elementor-widget-text-editor) .elementor-widget-xpro-heading,
  .e-con.e-grid:has(.elementor-widget-xpro-heading ~ .elementor-widget-text-editor) .elementor-widget-text-editor {
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
  }
  /* Match font sizes on mobile - 18px for both title and location */
  .e-con.e-grid:has(.elementor-widget-xpro-heading ~ .elementor-widget-text-editor) .elementor-widget-xpro-heading .xpro-heading-title,
  .e-con.e-grid:has(.elementor-widget-xpro-heading ~ .elementor-widget-text-editor) .elementor-widget-xpro-heading h2,
  .e-con.e-grid:has(.elementor-widget-xpro-heading ~ .elementor-widget-text-editor) .xpro-simple-heading-wrapper .xpro-heading-title {
    font-size: 18px !important;
    white-space: nowrap !important;
    line-height: 1.3 !important;
    font-weight: bold !important;
    font-synthesis: weight !important;
    -webkit-text-stroke: 0.5px currentColor !important;
  }
  .e-con.e-grid:has(.elementor-widget-xpro-heading ~ .elementor-widget-text-editor) .elementor-widget-text-editor p,
  .e-con.e-grid:has(.elementor-widget-xpro-heading ~ .elementor-widget-text-editor) .elementor-widget-text-editor span {
    font-size: 18px !important;
    white-space: nowrap !important;
    line-height: 1.3 !important;
    padding-left: 8px !important;
    margin: 0 !important;
  }
}