/* One-sided section spacing avoids adding two neighbouring paddings. */


#benefits, #benefits.benefits-section, #faq, #faq.faq-section, #oferta, #pomieszczenia, #proces, #realizacje, #system, .benefits-section, .content-section, .faq-section, .reasons-section, .reviews-section, .section:not(.hero):not(.contact-section), .section.compact:not(.hero):not(.contact-section), .trust-strip {
  padding-top: 0;
  padding-bottom: var(--mio-space-section);
}


#benefits.benefits-section {
  height: auto;
  min-height: 0;
  padding-top: var(--mio-space-section);
}


.container, .content-section .narrow, #benefits.benefits-section > .container, #faq .container, .reviews-section .container, .reasons-section .container {
  width: min(var(--mio-container-max), calc(100% - 2 * var(--mio-container-gutter)));
  max-width: var(--mio-container-max);
  margin-left: auto;
  margin-right: auto;
}


@media (max-width: 760px) {

  
#benefits .container, #benefits>.container, #faq .container, #oferta .container, #pomieszczenia .container, #proces .local-process-grid, #realizacje .container, .contact-section .contact-grid, .container, .content-section .narrow, .reasons-section .container, .reviews-section .container, .site-footer .footer-row, .trust-strip .container.trust-grid {
    width: calc(100% - 2 * var(--mio-container-gutter));
    max-width: var(--mio-container-max);
    margin-left: auto;
    margin-right: auto;
  }

  
/* Offer's former inner gutter would otherwise be added twice. */

  
#oferta .container { padding-left: 0; padding-right: 0; }


}








.site-footer .footer-row {
  padding-top: 0;
  padding-bottom: 0;
  height: auto;
  min-height: 0;
}


/* Remove only outer child margins; keep grid/flex display modes intact. */


.section:not(.hero):not(.contact-section) > .container > :first-child {
  margin-top: 0;
}


.section:not(.hero):not(.contact-section) > .container > :last-child {
  margin-bottom: 0;
}



/* Offer owns spacing inside its coloured shell. */


#oferta .offer-shell {
  padding-top: var(--mio-space-offer-start);
  padding-bottom: var(--mio-space-offer-end);
}





@media (min-width: 761px) {

  
#realizacje .section-head { margin-bottom: var(--mio-space-heading); }


}


/* Tablet carousel must shrink to its single grid column. */
@media (min-width: 761px) and (max-width: 1100px) {
  .reviews-section .reviews-slider-shell { min-width: 0; width: 100%; }
}

@media (min-width: 1101px) {

  
/* Keep the summary inset; end the carousel at the available page edge.
 * Percentages exclude the scrollbar, unlike the former 100vw extension. */

  
.reviews-section .container {
    width: auto;
    max-width: none;
    margin-left: max(var(--mio-container-gutter), calc((100% - var(--mio-container-max)) / 2));
    margin-right: 0;
  }
  .reviews-slider-shell {
    width: 100%;
    min-width: 0;
  }


}

/* Hidden upload input remains focusable without contributing page width. */
.file-field { position: relative; }
.file-field input[type="file"] {
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  clip-path: inset(50%);
  white-space: nowrap;
}







