/* ProApp RWD Overrides - mobile first */

/* 1. Base - overflow, containers, flex shrink */
html, body { overflow-x: hidden; }
body { min-width: 0; }
.elementor-section-boxed .elementor-container,
.uicore-container {
  padding-left: max(16px, env(safe-area-inset-left));
  padding-right: max(16px, env(safe-area-inset-right));
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}
/* Flex children muszą się kurczyć - zapobiega overflow */
.elementor-column,
.elementor-widget-wrap,
.uicore-branding { min-width: 0; }
.elementor-container { flex-wrap: wrap; }

/* 2. Fluid typography */
.elementor-widget-heading h1.elementor-size-default {
  font-size: clamp(1.75rem, 4vw + 1rem, 2.625rem);
}
.elementor-widget-heading h2.elementor-size-default {
  font-size: clamp(1.5rem, 3vw + 0.75rem, 2.25rem);
}
.elementor-widget-heading h6.elementor-size-default {
  font-size: clamp(0.8125rem, 1vw + 0.5rem, 0.875rem);
}
.elementor-33 .elementor-widget-text-editor {
  font-size: clamp(1rem, 2vw + 0.5rem, 1.125rem);
}

/* 3. Logo scaling + header containment */
#wrapper-navbar .uicore-branding { flex: 0 1 auto; max-width: 85%; }
.uicore-logo,
.uicore-mobile .uicore-logo,
.uicore-main, .uicore-second, .uicore-mobile-main, .uicore-mobile-second,
.elementor-element-5f9a9ed img {
  max-width: min(100%, 738px);
  height: auto;
  width: auto;
}
/* Wszystkie obrazy w content – zapobiega overflow */
.elementor img { max-width: 100%; height: auto; }

/* 4. Section padding (clamp) */
.elementor-33 .elementor-element.elementor-element-40cdd6d {
  padding: clamp(48px, 10vw, 112px) 0 clamp(48px, 8vw, 90px) 0;
}
.elementor-33 .elementor-element.elementor-element-7dddc0c {
  padding: clamp(48px, 8vw, 112px) 0 clamp(48px, 6vw, 64px) 0;
}
.elementor-33 .elementor-element.elementor-element-1394269,
.elementor-33 .elementor-element.elementor-element-b7dedde {
  padding: clamp(16px, 4vw, 64px) 0;
}
.elementor-33 .elementor-element.elementor-element-be2eede {
  padding: clamp(48px, 8vw, 100px) 0 clamp(64px, 10vw, 160px) 0;
}

/* 5. Form touch targets */
.bdt-contact-form input,
.bdt-contact-form textarea,
.bdt-contact-form button,
.elementor-button {
  min-height: 44px;
  padding: 12px 20px;
}
.bdt-contact-form input,
.bdt-contact-form textarea {
  width: 100%;
  box-sizing: border-box;
}

/* 6. CTA image */
.elementor-element-11c3495 img {
  max-width: 100%;
  height: auto;
}

/* 6b. Sekcja Referencje – tablet: 2 cols, bez overlap; mobile: parallax off, margin ok */
@media (max-width: 1024px) {
  .elementor-33 .elementor-element.elementor-element-92bed0b > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-eaf3afe > .elementor-widget-container {
    margin: 0 !important;
  }
  .elementor-33 .elementor-element.elementor-element-92bed0b .bdt-review-card-grid,
  .elementor-33 .elementor-element.elementor-element-eaf3afe .bdt-review-card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .elementor-33 .elementor-element.elementor-element-fd125ac > .elementor-widget-wrap {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .elementor-33 .elementor-element.elementor-element-92bed0b.ep-parallax-effects-yes,
  .elementor-33 .elementor-element.elementor-element-eaf3afe.ep-parallax-effects-yes {
    transform: none !important;
  }
}

/* 7. @media (max-width: 767px) - form layout, CTA stack, contact section */
@media (max-width: 767px) {
  #kontakt .elementor-col-50,
  #kontakt .elementor-element-095bae9,
  #kontakt .elementor-element-9c7bc16 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  /* CTA „Zacznijmy współpracę” – kolumny pełna szerokość */
  .elementor-element-11c3495 .elementor-col-50,
  .elementor-element-11c3495 .elementor-element-b01ece7,
  .elementor-element-11c3495 .elementor-element-db15597 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* 8. @media (max-width: 599px) - medium phones: icon boxes 2-col; Referencje 1-col */
@media (max-width: 599px) {
  .elementor-33 .elementor-element.elementor-element-5d4ca54,
  .elementor-33 .elementor-element.elementor-element-7deb264,
  .elementor-33 .elementor-element.elementor-element-7ac1d63,
  .elementor-33 .elementor-element.elementor-element-d2c7023,
  .elementor-33 .elementor-element.elementor-element-5f4237e,
  .elementor-33 .elementor-element.elementor-element-49a1818,
  .elementor-33 .elementor-element.elementor-element-cc1b42c,
  .elementor-33 .elementor-element.elementor-element-031ce5d,
  .elementor-33 .elementor-element.elementor-element-3a09192 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .elementor-33 .elementor-element.elementor-element-92bed0b .bdt-review-card-grid,
  .elementor-33 .elementor-element.elementor-element-eaf3afe .bdt-review-card-grid {
    grid-template-columns: 1fr;
    grid-row-gap: 16px;
  }
  .elementor-33 .elementor-element.elementor-element-92bed0b > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-eaf3afe > .elementor-widget-container {
    margin: 0;
    padding: 0 0 12px 0;
  }
}

/* 9. @media (max-width: 479px) - small phones: icon boxes 1-col, review 1-col */
@media (max-width: 479px) {
  .elementor-33 .elementor-element.elementor-element-5d4ca54,
  .elementor-33 .elementor-element.elementor-element-7deb264,
  .elementor-33 .elementor-element.elementor-element-7ac1d63,
  .elementor-33 .elementor-element.elementor-element-d2c7023,
  .elementor-33 .elementor-element.elementor-element-5f4237e,
  .elementor-33 .elementor-element.elementor-element-49a1818,
  .elementor-33 .elementor-element.elementor-element-cc1b42c,
  .elementor-33 .elementor-element.elementor-element-031ce5d,
  .elementor-33 .elementor-element.elementor-element-3a09192 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .elementor-33 .elementor-element.elementor-element-92bed0b .bdt-review-card-grid,
  .elementor-33 .elementor-element.elementor-element-eaf3afe .bdt-review-card-grid {
    grid-template-columns: 1fr;
  }
  .elementor-33 .elementor-element.elementor-element-92bed0b > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-eaf3afe > .elementor-widget-container {
    margin: 0;
  }
  .elementor-33 .elementor-element.elementor-element-92bed0b .bdt-ep-review-card-grid-item,
  .elementor-33 .elementor-element.elementor-element-eaf3afe .bdt-ep-review-card-grid-item {
    padding: 16px !important;
  }
  .elementor-33 .elementor-element.elementor-element-fd125ac > .elementor-widget-wrap > .elementor-element-92bed0b {
    margin-bottom: 24px;
  }
  /* Icon boxes – mniejszy padding na wąskich ekranach */
  .elementor-33 .elementor-element.elementor-element-e97e19c > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-96a266b > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-15ad42a > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-79c2076 > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-d78903e > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-1ed2b50 > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-02a596b > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-aad8611 > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-3f136f5 > .elementor-widget-container {
    padding: 20px 16px !important;
  }
}

/* 10. @media (max-width: 359px) - xsmall: jeszcze mniejszy padding */
@media (max-width: 359px) {
  .elementor-section-boxed .elementor-container,
  .uicore-container {
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
  }
  .elementor-33 .elementor-element.elementor-element-92bed0b .bdt-ep-review-card-grid-item,
  .elementor-33 .elementor-element.elementor-element-eaf3afe .bdt-ep-review-card-grid-item {
    padding: 12px !important;
  }
  .elementor-33 .elementor-element.elementor-element-e97e19c > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-96a266b > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-15ad42a > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-79c2076 > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-d78903e > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-1ed2b50 > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-02a596b > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-aad8611 > .elementor-widget-container,
  .elementor-33 .elementor-element.elementor-element-3f136f5 > .elementor-widget-container {
    padding: 16px 12px !important;
  }
}
