/* UYW tablet/mobile hotfix v3.
   Paste this BELOW the current UYW responsive CSS. */

@media (max-width: 1024px) {
  .uyw-hero .elementor-column:first-child > .elementor-widget-wrap,
  .uyw-local-focus .uyw-area-grid > .elementor-widget-wrap,
  .uyw-services .elementor-container,
  .uyw-why .elementor-container,
  .uyw-final-cta .elementor-container {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  .uyw-services .elementor-column,
  .uyw-local-focus .elementor-column,
  .uyw-why .elementor-column,
  .uyw-final-cta .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  .uyw-service-card {
    width: min(100%, 520px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .uyw-local-focus {
    text-align: center !important;
  }

  .uyw-local-focus .uyw-area-grid > .elementor-widget-wrap {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: min(100%, 560px) !important;
    margin: 24px auto 0 !important;
  }

  .uyw-area-pill,
  .uyw-area-pill .elementor-button {
    width: 100% !important;
  }

  .uyw-area-grid .uyw-primary-btn {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    margin: 0 !important;
  }
}

@media (max-width: 767px) {
  .uyw-hero .elementor-column:first-child > .elementor-widget-wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .uyw-hero .elementor-widget-heading,
  .uyw-hero .elementor-widget-text-editor,
  .uyw-hero .elementor-widget-divider,
  .uyw-hero .elementor-widget-image {
    width: 100% !important;
    flex: 0 0 100% !important;
  }

  .uyw-hero .elementor-widget.uyw-primary-btn,
  .uyw-hero .elementor-widget.uyw-outline-btn {
    display: block !important;
    width: min(100%, 320px) !important;
    max-width: 320px !important;
    flex: 0 0 100% !important;
    margin: 8px auto !important;
    clear: both !important;
  }

  .uyw-hero .elementor-widget.uyw-primary-btn .elementor-button,
  .uyw-hero .elementor-widget.uyw-outline-btn .elementor-button {
    width: 100% !important;
    justify-content: center !important;
  }

  .uyw-hero .elementor-widget.uyw-hero-mini {
    display: block !important;
    width: calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    flex: 0 0 calc(50% - 12px) !important;
    margin: 14px 6px 0 !important;
    clear: none !important;
  }

  .uyw-hero .elementor-widget.uyw-hero-mini .elementor-icon-box-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    text-align: center !important;
  }

  .uyw-hero .elementor-widget.uyw-hero-mini .elementor-icon-box-title {
    max-width: none !important;
    text-align: center !important;
  }

  .uyw-local-focus .uyw-area-grid > .elementor-widget-wrap {
    grid-template-columns: 1fr !important;
    width: min(100%, 360px) !important;
  }

  .uyw-portfolio .elementor-container {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .uyw-portfolio .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }
}

@media (max-width: 420px) {
  .uyw-hero .elementor-widget.uyw-hero-mini {
    width: calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
    flex-basis: calc(50% - 10px) !important;
    margin-left: 5px !important;
    margin-right: 5px !important;
  }

  .uyw-hero-title-line .elementor-heading-title {
    font-size: 28px !important;
  }
}
