/* HOME mobile late owner stack.
   Consolidates the late inline owner cleanup/parity cluster into one stylesheet
   without changing selector order or scope.
   Scope: HOME only, mobile / narrow viewport only. */

/* ===== dsk-home-mobile-gutter-fix-v2 ===== */
@media (max-width: 767px){
  body.dsk-page-home{
    --dsk-home-mobile-gutter:16px;
  }

  /* Keep the same side rhythm across homepage sections on mobile */
  body.dsk-page-home #sb-page-structure .sb-container,
  body.dsk-page-home #sb-page-structure .sb-container-fixed{
    padding-left:var(--dsk-home-mobile-gutter) !important;
    padding-right:var(--dsk-home-mobile-gutter) !important;
  }

  /* Footer shell ownership moved to dsk-home-footer-mobile-layout-fixes.v1.css in Etap 2.
     Keep this late owner focused on visible homepage sections only. */
}

/* ===== dsk-home-mobile-owner-reset ===== */
@media (max-width: 768px){
  body.dsk-page-home{
    --dsk-home-mobile-gutter-final: var(--dsk-home-mobile-gutter, var(--dsk-container-pad, 16px));
  }

  body.dsk-page-home :is(#o-nas,#dlaczego-laboratorium,#jak-to-dziala,#testimonials-overview) > .container.sb-container-fixed.sb-container{
    padding-left: var(--dsk-home-mobile-gutter-final) !important;
    padding-right: var(--dsk-home-mobile-gutter-final) !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home #o-nas .sb-text-image__content,
  body.dsk-page-home #dlaczego-laboratorium .sb-column-content,
  body.dsk-page-home #jak-to-dziala .sb-column-content{
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home #o-nas :is(.sb-text-image__content-title,.sb-text-image__content-subtitle,.sb-text-image__content-paragraph,.dsk-about-why-title,.dsk-about-benefits-list,.dsk-about-cta-lead,.dsk-about-cta-buttons),
  body.dsk-page-home #dlaczego-laboratorium :is(.sb-section-title,.sb-paragraph,.dsk-why-lab__lead),
  body.dsk-page-home #jak-to-dziala :is(.sb-section-title,.sb-section-subtitle,.sb-paragraph,.sb-list-section > .option-width.sb-section-alignable,.items-grid__header,.items-grid__summary,.items-grid__summary p){
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__item-content{
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home #jak-to-dziala :is(.sb-list,.items-grid,.items-grid__item,.items-grid__item-body){
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

}

/* ===== dsk-home-mobile-section-parity ===== */
@media (max-width: 768px){
  body.dsk-page-home{
    --dsk-home-mobile-text-inset: 6px;
    --dsk-home-mobile-card-text-inset: 8px;
  }

  /* Stage 191: visual parity only for the home mobile sections that still felt too hard-left after the owner reset.
     Keep the shared outer gutter; add only a small inner inset for text bands and card copy. */
  body.dsk-page-home #dlaczego-laboratorium .sb-column-content{
    padding-left: var(--dsk-home-mobile-text-inset) !important;
    padding-right: var(--dsk-home-mobile-text-inset) !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home #jak-to-dziala .sb-component-section-title .sb-column-content,
  body.dsk-page-home #jak-to-dziala .sb-component-paragraph .sb-column-content,
  body.dsk-page-home #jak-to-dziala .sb-component-list .sb-list-section > .option-width.sb-section-alignable{
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__item-content{
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* ===== dsk-home-services-mobile-container-parity ===== */
@media (max-width: 768px){
  body.dsk-page-home{
    --dsk-home-services-mobile-gutter: 16px;
    --dsk-home-services-mobile-card-pad: 18px 18px 20px;
    --dsk-home-services-mobile-media-ratio: 16 / 9;
  }

  /* Stage 1 cleanup: the home outer shell owner now lives in dsk-home-mobile-mid-shared-stack.v1.css.
     Keep the services container here only as a local card-surface hook; horizontal gutter ownership stays single-source. */
  body.dsk-page-home #uslugi > .container.sb-container-fixed.sb-container{
    box-sizing: border-box !important;
  }

  body.dsk-page-home #uslugi .sb-items-grid__content,
  body.dsk-page-home #uslugi .sb-items-grid__items,
  body.dsk-page-home #uslugi .items-grid__item,
  body.dsk-page-home #uslugi .items-grid__item-image,
  body.dsk-page-home #uslugi .items-grid__item-image figure{
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.dsk-page-home #uslugi .items-grid__item-image{
    aspect-ratio: var(--dsk-home-services-mobile-media-ratio) !important;
    overflow: hidden !important;
    border-radius: 22px 22px 0 0 !important;
    background: #dbe7f3 !important;
  }

  body.dsk-page-home #uslugi .items-grid__item-image figure,
  body.dsk-page-home #uslugi .items-grid__item-image .option-image{
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    background-size: cover !important;
    background-position: center center !important;
  }

  body.dsk-page-home #uslugi .items-grid__header{
    align-items: center !important;
    gap: 12px !important;
  }

  body.dsk-page-home #uslugi .items-grid__header svg{
    width: 15px !important;
    height: 15px !important;
    flex: 0 0 15px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
    background: transparent !important;
    border: 0 !important;
    opacity: 0.56 !important;
  }

  body.dsk-page-home #uslugi .items-grid__header svg path{
    fill: #7c8796 !important;
  }

  body.dsk-page-home #uslugi .dsk-districts-intro{
    margin: 10px 0 6px !important;
    font-size: 0.82rem !important;
    line-height: 1.45 !important;
    color: rgba(15, 23, 42, 0.66) !important;
  }

  body.dsk-page-home #uslugi .dsk-district-chips{
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  body.dsk-page-home #uslugi .dsk-chip{
    display: inline !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 0.8rem !important;
    line-height: 1.7 !important;
    font-weight: 500 !important;
    color: rgba(15, 23, 42, 0.58) !important;
  }

  body.dsk-page-home #uslugi .dsk-chip:not(:last-child)::after{
    content: " · ";
    color: rgba(15, 23, 42, 0.30) !important;
  }

  body.dsk-page-home #uslugi .items-grid__item-body{
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home #uslugi .items-grid__item-content{
    padding: var(--dsk-home-services-mobile-card-pad) !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home #uslugi .items-grid__header,
  body.dsk-page-home #uslugi .items-grid__description,
  body.dsk-page-home #uslugi .items-grid__description p,
  body.dsk-page-home #uslugi .dsk-districts-intro,
  body.dsk-page-home #uslugi .dsk-district-chips,
  body.dsk-page-home #uslugi .sb-section-title,
  body.dsk-page-home #uslugi .sb-section-subtitle,
  body.dsk-page-home #uslugi .sb-paragraph{
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 768px){
  body.dsk-page-home #uslugi p.dsk-districts-intro{
    font-size: 0.82rem !important;
    line-height: 1.45 !important;
    color: rgba(15, 23, 42, 0.66) !important;
    margin: 10px 0 6px !important;
  }

  body.dsk-page-home #uslugi div.dsk-district-chips{
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  body.dsk-page-home #uslugi div.dsk-district-chips > span.dsk-chip{
    display: inline !important;
    font-size: 0.8rem !important;
    line-height: 1.7 !important;
    font-weight: 500 !important;
    color: rgba(15, 23, 42, 0.58) !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.dsk-page-home #uslugi div.dsk-district-chips > span.dsk-chip:not(:last-child)::after{
    content: " · ";
    color: rgba(15, 23, 42, 0.30) !important;
  }
}

/* etap65: home mobile stickybar visual polish */
@media (max-width: 768px){
  body.dsk-page-home .dsk-stickybar{
    bottom: calc(env(safe-area-inset-bottom, 0px) + 8px) !important;
    left: 0 !important;
    right: 0 !important;
    padding: 0 12px !important;
  }

  body.dsk-page-home .dsk-stickybar__inner{
    max-width: 720px !important;
  }

  body.dsk-page-home .dsk-stickybar__card{
    gap: 6px !important;
    padding: 4px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.78) !important;
    border: 1px solid rgba(148, 163, 184, 0.24) !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.16) !important;
    backdrop-filter: blur(14px) saturate(140%) !important;
    -webkit-backdrop-filter: blur(14px) saturate(140%) !important;
  }

  body.dsk-page-home .dsk-stickybar__btn{
    gap: 8px !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-size: 0.875rem !important;
    line-height: 1 !important;
    letter-spacing: -0.01em !important;
    align-items: center !important;
    justify-content: center !important;
  }

  body.dsk-page-home .dsk-stickybar__btn::before{
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
    background-size: 16px 16px !important;
    background-position: center center !important;
    transform: translateY(0) !important;
  }

  body.dsk-page-home .dsk-stickybar__chat{
    background: rgba(19, 84, 146, 0.92) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    box-shadow: 0 6px 18px rgba(19, 84, 146, 0.18) !important;
    text-shadow: none !important;
  }

  body.dsk-page-home .dsk-stickybar__call{
    background: linear-gradient(180deg, rgba(15, 153, 74, 0.94) 0%, rgba(11, 122, 60, 0.98) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    box-shadow: 0 7px 18px rgba(11, 122, 60, 0.22) !important;
    text-shadow: none !important;
  }

  body.dsk-page-home .dsk-stickybar__btn span,
  body.dsk-page-home .dsk-stickybar__btn strong,
  body.dsk-page-home .dsk-stickybar__btn em{
    line-height: 1 !important;
    display: inline-block !important;
  }
}

/* etap66: home mobile contact form proximity polish */
@media (max-width: 768px){
  body.dsk-page-home #formularz-zgloszeniowy .contact-form-native .form__group{
    margin-bottom: 18px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-form-native .form__group + .form__group{
    margin-top: 0 !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-form-native .form__label{
    margin-bottom: 4px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-form-native .form__checkboxes{
    margin-top: 4px !important;
  }
}

/* etap67: home mobile hero contrast / CTA tone polish */
@media (max-width: 768px){
  body.dsk-page-home #strona-glowna{
    --dsk-home-hero-mobile-copy: #e5e7eb;
    --dsk-home-hero-mobile-copy-soft: rgba(229, 231, 235, 0.92);
    --dsk-home-hero-mobile-proof-copy: rgba(229, 231, 235, 0.90);
    --dsk-home-hero-mobile-cta-top: rgba(14, 138, 76, 0.98);
    --dsk-home-hero-mobile-cta-bottom: rgba(10, 111, 60, 0.98);
  }

  body.dsk-page-home #strona-glowna .dsk-hero-subtitle,
  body.dsk-page-home #strona-glowna .dsk-hero-urgency,
  body.dsk-page-home #strona-glowna .dsk-hero-support{
    color: var(--dsk-home-hero-mobile-copy) !important;
    line-height: 1.62 !important;
    text-shadow: none !important;
  }

  body.dsk-page-home #strona-glowna .dsk-hero-benefits--grid p{
    color: var(--dsk-home-hero-mobile-copy-soft) !important;
    background: rgba(255, 255, 255, 0.10) !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14) !important;
  }

  body.dsk-page-home #strona-glowna .dsk-hero-proof li{
    color: var(--dsk-home-hero-mobile-proof-copy) !important;
    background: rgba(255, 255, 255, 0.11) !important;
    border-color: rgba(255, 255, 255, 0.20) !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14) !important;
  }

  body.dsk-page-home #strona-glowna .sb-cta-wrapper .sb-button--primary{
    background: linear-gradient(180deg, var(--dsk-home-hero-mobile-cta-top) 0%, var(--dsk-home-hero-mobile-cta-bottom) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 7px 18px rgba(10, 111, 60, 0.24) !important;
    filter: none !important;
  }
}


/* etap68: home mobile contact hours fit fix */
@media (max-width: 768px){
  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location,
  body.dsk-page-home #formularz-zgloszeniowy .contact-details,
  body.dsk-page-home #formularz-zgloszeniowy .contact-details__row.contact-details__hours,
  body.dsk-page-home #formularz-zgloszeniowy .hours-list{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .hours-list__item{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    column-gap: 12px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .hours-list__day{
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .hours-list__time{
    min-width: 0 !important;
    justify-self: end !important;
    font-size: 0.92rem !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 360px){
  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .contact-details{
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .hours-list__item{
    column-gap: 8px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .hours-list__day,
  body.dsk-page-home #formularz-zgloszeniowy .hours-list__time{
    font-size: 0.84rem !important;
    line-height: 1.28 !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .hours-list__dash{
    padding: 0 4px !important;
  }
}

/* etap69: home mobile FAQ/process text-image separation fix */
@media (max-width: 768px){
  body.dsk-page-home #jak-to-dziala{
    --dsk-home-process-mobile-card-pad: 20px 20px 22px;
  }

  /* Etap 4: section wrapper spacing is owned upstream in dsk-home-mobile-mid-shared-stack.v1.css.
     Keep this late layer focused on card geometry only. */
  body.dsk-page-home #jak-to-dziala .sb-component-list .sb-list-section > .option-width.sb-section-alignable{
    clear: both !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid{
    margin-top: 0 !important;
    gap: 24px !important;
    clear: both !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__item,
  body.dsk-page-home #jak-to-dziala .items-grid__item-body,
  body.dsk-page-home #jak-to-dziala .items-grid__item-image,
  body.dsk-page-home #jak-to-dziala .items-grid__item-content{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    clear: both !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__item-image,
  body.dsk-page-home #jak-to-dziala .items-grid__item-image figure,
  body.dsk-page-home #jak-to-dziala .items-grid__item-image .option-image{
    margin: 0 !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__item-content{
    padding: var(--dsk-home-process-mobile-card-pad) !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__header,
  body.dsk-page-home #jak-to-dziala .items-grid__summary,
  body.dsk-page-home #jak-to-dziala .items-grid__summary p{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__header{
    margin-bottom: 12px !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__summary p + p{
    margin-top: 12px !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__item:first-child .items-grid__item-body{
    overflow: hidden !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__item:first-child .items-grid__item-image{
    margin-bottom: 0 !important;
  }
}

/* etap70: home mobile contact/map accent harmony */
@media (max-width: 768px){
  body.dsk-page-home{
    --dsk-home-contact-accent: #0f8a46;
    --dsk-home-contact-accent-dark: #0b6d37;
    --dsk-home-contact-accent-ring: rgba(15, 138, 70, 0.18);
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .contact-details__phone a.tel,
  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .contact-details__phone a.tel:link,
  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .contact-details__phone a.tel:visited{
    color: var(--dsk-home-contact-accent) !important;
    text-decoration-color: rgba(15, 138, 70, 0.34) !important;
    text-underline-offset: 0.14em !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .contact-details__phone a.tel:hover,
  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .contact-details__phone a.tel:focus-visible{
    color: var(--dsk-home-contact-accent-dark) !important;
    text-decoration-color: rgba(11, 109, 55, 0.46) !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .dsk-btn-map,
  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .dsk-btn-map:link,
  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .dsk-btn-map:visited{
    background: linear-gradient(180deg, rgba(15, 138, 70, 0.96) 0%, rgba(11, 109, 55, 0.98) 100%) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 8px 20px var(--dsk-home-contact-accent-ring) !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .dsk-btn-map:hover,
  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .dsk-btn-map:focus-visible{
    background: linear-gradient(180deg, rgba(11, 109, 55, 0.98) 0%, rgba(9, 89, 45, 1) 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 9px 22px rgba(11, 109, 55, 0.24) !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .dsk-gmaps-placecard__link{
    color: var(--dsk-home-contact-accent) !important;
  }
}

/* ===== etap71: home form optical shortening / conversion density polish ===== */
@media (max-width: 768px){
  body.dsk-page-home #formularz-zgloszeniowy .contact-full__form{
    padding: 16px 15px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-full__form .sb-section-subtitle{
    margin-bottom: 10px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-full__form .sb-paragraph p{
    margin-top: 7px !important;
    line-height: 1.62 !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-full__form .sb-paragraph p:last-child{
    margin-top: 9px !important;
    padding: 9px 11px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-form-native{
    margin-top: 14px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-form-native .form__textarea{
    min-height: 120px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .dsk-contact-optional{
    margin: 12px 0 12px !important;
    padding: 10px 11px !important;
    border-radius: 16px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .dsk-contact-optional__hint{
    margin-top: 4px !important;
    font-size: 0.89rem !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .dsk-contact-optional__inner{
    margin-top: 8px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .contact-form-native .contact-form__btn{
    min-height: 48px !important;
  }
}

/* etap72/73 reverted: homepage header/logo/lang switch now uses the shared site header logic from dsk-header-cro.v23.css */

/* etap74: home mobile opening-hours safe stack to stop overflow outside card */
@media (max-width: 430px){
  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .contact-details{
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .hours-list__item{
    grid-template-columns: 1fr !important;
    row-gap: 4px !important;
    column-gap: 0 !important;
    align-items: flex-start !important;
    padding: 5px 0 !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .hours-list__day,
  body.dsk-page-home #formularz-zgloszeniowy .hours-list__time{
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .hours-list__day{
    overflow-wrap: normal !important;
    word-break: normal !important;
    font-size: 0.92rem !important;
    line-height: 1.3 !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .hours-list__time{
    justify-self: start !important;
    font-size: 0.90rem !important;
    line-height: 1.28 !important;
    white-space: nowrap !important;
  }
}


/* etap78: homepage mobile header parity with /kontakt.
   HOME was still running one extra navigation gutter owner and a different root scroll-stability primitive
   than the stable contact page. Re-apply the shared /kontakt geometry for logo + PL/EN + hamburger
   and remove the homepage-only container interference from the header row. */
html{
  overflow-y: scroll !important;
}

@supports (scrollbar-gutter: stable){
  html{
    scrollbar-gutter: stable !important;
  }
}

body{
  overflow-y: auto !important;
}

@media (max-width: 1180px){
  body.dsk-page-home #sb-navigation .dsk-header-enhanced{
    display: flex !important;
    align-items: center !important;
  }

  body.dsk-page-home #sb-navigation .dsk-header-enhanced .sb-top-header__brand,
  body.dsk-page-home #sb-navigation .dsk-header-enhanced .sb-top-header__brand:link,
  body.dsk-page-home #sb-navigation .dsk-header-enhanced .sb-top-header__brand:visited{
    order: 1 !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    width: auto !important;
    margin-right: 0 !important;
  }

  body.dsk-page-home #sb-navigation .dsk-header-enhanced .brand__wrapper{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  body.dsk-page-home #sb-navigation .dsk-header-enhanced .sb-top-header__brand .logo{
    width: 60px !important;
    height: 60px !important;
    flex: 0 0 auto !important;
  }

  body.dsk-page-home #sb-navigation .dsk-lang-switch,
  body.dsk-page-home #sb-navigation .dsk-header-enhanced .dsk-lang-switch{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    order: 2 !important;
    margin-left: auto !important;
    margin-right: 8px !important;
    flex: 0 0 94px !important;
    width: 94px !important;
    min-width: 94px !important;
    max-width: 94px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 2px !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home #sb-navigation .dsk-lang-switch__link,
  body.dsk-page-home #sb-navigation .dsk-header-enhanced .dsk-lang-switch__link{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
  }

  body.dsk-page-home #sb-navigation .sb-mobile-nav-btn,
  body.dsk-page-home #sb-navigation .dsk-header-enhanced .sb-mobile-nav-btn{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    order: 3 !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home #sb-navigation .dsk-header-enhanced .sb-top-header__nav{
    order: 4 !important;
  }
}

/* etap79: EN homepage mobile header parity with /en/contact
   Use the same final brand/lang-switch/hamburger geometry as the stable contact page,
   instead of the homepage-specific hard slotting that can jitter on PL<->EN reload. */
@media (max-width: 1180px){
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .sb-top-header__brand,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .sb-top-header__brand:link,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .sb-top-header__brand:visited,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .sb-top-header__brand,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .sb-top-header__brand:link,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .sb-top-header__brand:visited{
    position: relative !important;
    width: auto !important;
    max-width: none !important;
    margin-right: 0 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    z-index: 1 !important;
  }

  body.dsk-page-home[data-page-lang="en"] #sb-navigation .sb-top-header .brand__wrapper{
    min-width: 0 !important;
  }

  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced{
    align-items: center !important;
  }

  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .sb-top-header__brand,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .brand__wrapper{
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
  }

  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .sb-top-header__brand .logo{
    display: block !important;
    width: 60px !important;
    height: 60px !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    line-height: 0 !important;
  }

  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-lang-switch,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .dsk-lang-switch{
    position: relative !important;
    z-index: 10020 !important;
    order: 2 !important;
    margin-left: auto !important;
    margin-right: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 2px !important;
    gap: 2px !important;
    box-sizing: border-box !important;
    box-shadow: 0 8px 18px rgba(15,23,42,.08) !important;
  }

  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-lang-switch__link,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .dsk-lang-switch__link{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 37px !important;
    width: auto !important;
    min-width: 37px !important;
    max-width: none !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    font-size: .75rem !important;
    line-height: 1 !important;
  }

  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .sb-mobile-nav-btn,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .sb-mobile-nav-btn{
    order: 3 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    z-index: 10030 !important;
    pointer-events: auto !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    margin-left: 0 !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .sb-top-header__nav{
    order: 4 !important;
    min-width: 0 !important;
  }

  html.sb-nav--expanded body.dsk-page-home[data-page-lang="en"] #sb-navigation .sb-mobile-nav-btn,
  body.sb-nav--expanded.dsk-page-home[data-page-lang="en"] #sb-navigation .sb-mobile-nav-btn,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .sb-mobile-nav-btn[aria-expanded="true"]{
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}


/* etap80: homepage mobile PL/EN language-switch size parity.
   Keep the shared /kontakt behavior but normalize the tap-target size on both homepages
   so PL and EN use the same switch footprint and the same 44x44 buttons. */
@media (max-width: 1180px){
  body.dsk-page-home #sb-navigation .dsk-lang-switch,
  body.dsk-page-home #sb-navigation .dsk-header-enhanced .dsk-lang-switch{
    flex: 0 0 94px !important;
    width: 94px !important;
    min-width: 94px !important;
    max-width: 94px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 2px !important;
    gap: 0 !important;
    box-sizing: border-box !important;
  }

  body.dsk-page-home #sb-navigation .dsk-lang-switch__link,
  body.dsk-page-home #sb-navigation .dsk-header-enhanced .dsk-lang-switch__link{
    flex: 0 0 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
  }
}


/* etap81: homepage mobile language-switch visual parity.
   PL homepage should use the same switch version as EN homepage,
   not just the same size. Keep scope limited to the language switch only. */
@media (max-width: 1180px){
  body.dsk-page-home #sb-navigation .dsk-lang-switch,
  body.dsk-page-home #sb-navigation .dsk-header-enhanced .dsk-lang-switch{
    position: relative !important;
    z-index: 10020 !important;
    order: 2 !important;
    margin-left: auto !important;
    margin-right: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 2px !important;
    gap: 2px !important;
    box-sizing: border-box !important;
    box-shadow: 0 8px 18px rgba(15,23,42,.08) !important;
  }

  body.dsk-page-home #sb-navigation .dsk-lang-switch__link,
  body.dsk-page-home #sb-navigation .dsk-header-enhanced .dsk-lang-switch__link{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 37px !important;
    width: auto !important;
    min-width: 37px !important;
    max-width: none !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    font-size: .75rem !important;
    line-height: 1 !important;
  }
}

/* etap83: home mobile lang-switch no-shift guard.
   Keep the homepage final mobile header geometry identical to the already-painted
   shared header state from dsk-header-cro.v23.css, so the late owner stack does
   not shrink the top row after navigation. Scope: home only, mobile only. */
@media (max-width: 767px){
  body.dsk-page-home #sb-navigation .dsk-header-enhanced .sb-top-header__brand,
  body.dsk-page-home #sb-navigation .dsk-header-enhanced .sb-top-header__brand:link,
  body.dsk-page-home #sb-navigation .dsk-header-enhanced .sb-top-header__brand:visited{
    padding: 0 !important;
    min-height: 0 !important;
  }

  body.dsk-page-home #sb-navigation .dsk-header-enhanced .sb-top-header__brand .logo,
  body.dsk-page-home #sb-navigation .brand__wrapper .logo{
    width: 64px !important;
    height: 64px !important;
    max-height: none !important;
  }
}

@media (max-width: 767px){
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .sb-top-header__brand,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .sb-top-header__brand:link,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .sb-top-header__brand:visited,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .sb-top-header__brand,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .sb-top-header__brand:link,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .sb-top-header__brand:visited{
    padding: 0 !important;
    min-height: 0 !important;
  }

  body.dsk-page-home[data-page-lang="en"] #sb-navigation .dsk-header-enhanced .sb-top-header__brand .logo,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .sb-top-header__brand .logo,
  body.dsk-page-home[data-page-lang="en"] #sb-navigation .brand__wrapper .logo{
    width: 64px !important;
    height: 64px !important;
    max-height: none !important;
  }
}


/* etap84: homepage PL opening hours parity with EN on mobile */
@media (min-width: 360px) and (max-width: 430px){
  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .contact-details{
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .hours-list__item{
    grid-template-columns: minmax(140px, 1fr) auto !important;
    row-gap: 0 !important;
    column-gap: 14px !important;
    align-items: center !important;
    padding: 4px 0 !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .hours-list__day{
    width: auto !important;
    font-size: inherit !important;
    line-height: inherit !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.dsk-page-home #formularz-zgloszeniowy .hours-list__time{
    width: auto !important;
    justify-self: end !important;
    font-size: inherit !important;
    line-height: inherit !important;
    white-space: nowrap !important;
  }
}

/* etap86: homepage PL contact/location width parity on mobile.
   Etap 8 moved the location-card outer alignment upstream into
   dsk-home-mobile-mid-shared-stack.v1.css. Keep only the safe inner padding
   for the details card in this late polish layer. */
@media (max-width: 767px){
  body.dsk-page-home #formularz-zgloszeniowy .contact-full__location .contact-details{
    padding: 14px 12px 16px !important;
  }
}

/* ===== dsk-home-hero-mobile-etap1 ===== */
@media (max-width: 480px){
  body.dsk-page-home{
    --dsk-home-hero-mobile-shell: min(100%, 336px);
  }


  body.dsk-page-home #strona-glowna .sb-hero__title{
    max-width: min(13.85ch, 100%) !important;
    margin: 0 auto 12px !important;
    font-size: clamp(1.58rem, 5.8vw, 1.98rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.032em !important;
    text-wrap: balance !important;
  }

  body.dsk-page-home #strona-glowna .dsk-hero-subtitle{
    max-width: min(34ch, 100%) !important;
    margin: 0 auto 14px !important;
  }

  body.dsk-page-home #strona-glowna .sb-cta-wrapper,
  body.dsk-page-home #strona-glowna .dsk-hero-proof,
  body.dsk-page-home #strona-glowna .dsk-hero-benefits--grid{
    width: var(--dsk-home-hero-mobile-shell) !important;
    max-width: var(--dsk-home-hero-mobile-shell) !important;
  }
}

/* etap92: home mobile form card readability / consent alignment */
@media (max-width: 480px){
  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__form{
    padding: 18px 16px 16px !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__form .sb-section-title span{
    font-size: clamp(1.28rem, 5.1vw, 1.50rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__form .sb-section-subtitle .display-font,
  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__form .sb-section-subtitle span{
    font-size: 0.97rem !important;
    line-height: 1.52 !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__form .sb-paragraph p{
    margin-top: 8px !important;
    font-size: 0.94rem !important;
    line-height: 1.58 !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__form .sb-paragraph p:last-child{
    margin-top: 10px !important;
    padding: 10px 12px !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-form-native{
    margin-top: 12px !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-form-native .form__group{
    margin-bottom: 14px !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .dsk-contact-optional{
    margin: 12px 0 14px !important;
    padding: 11px 12px !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .dsk-contact-optional > summary{
    min-height: 0 !important;
    font-size: 0.98rem !important;
    line-height: 1.35 !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-form-native > .form__group:last-of-type .form__checkbox{
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    line-height: 1.5 !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-form-native > .form__group:last-of-type .form__checkbox input[type="checkbox"]{
    width: 18px !important;
    height: 18px !important;
    margin: 3px 0 0 0 !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-form-native > .form__group:last-of-type .form__checkbox .form__label-required{
    margin-left: 2px !important;
    line-height: 1 !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-form-native .contact-form__btn{
    min-height: 50px !important;
    font-size: 0.95rem !important;
    line-height: 1.15 !important;
    padding: 14px 15px !important;
    text-wrap: balance !important;
  }
}

/* etap93: home mobile services card density reduction */
@media (max-width: 480px){
  body.dsk-page-home{
    --dsk-home-services-mobile-card-pad: 16px 16px 17px;
  }

  body.dsk-page-home #uslugi .sb-items-grid__items{
    gap: 14px !important;
  }

  body.dsk-page-home #uslugi .items-grid__item-image figure{
    height: 178px !important;
  }

  body.dsk-page-home #uslugi .items-grid__item-content{
    padding: var(--dsk-home-services-mobile-card-pad) !important;
  }

  body.dsk-page-home #uslugi .items-grid__header{
    gap: 10px !important;
    margin-bottom: 10px !important;
  }

  body.dsk-page-home #uslugi .items-grid__header .display-font,
  body.dsk-page-home #uslugi .items-grid__header h2{
    max-width: min(22ch, 100%) !important;
    font-size: 1rem !important;
    line-height: 1.26 !important;
    text-wrap: balance !important;
  }

  body.dsk-page-home #uslugi .items-grid__header svg{
    width: 12px !important;
    height: 12px !important;
    padding: 6px !important;
  }

  body.dsk-page-home #uslugi .items-grid__description,
  body.dsk-page-home #uslugi .items-grid__description p{
    font-size: 0.93rem !important;
    line-height: 1.56 !important;
  }

  body.dsk-page-home #uslugi .items-grid__description p{
    max-width: none !important;
  }
}

@media (max-width: 389px){
  body[data-page-lang="en"].dsk-page-home #uslugi .items-grid__header .display-font,
  body[data-page-lang="en"].dsk-page-home #uslugi .items-grid__header h2{
    font-size: 0.97rem !important;
    line-height: 1.28 !important;
  }
}

/* etap94: home mobile testimonials readability / density polish */
@media (max-width: 480px){
  /* Etap 7: very-small-screen shell spacing moved upstream; keep only density/readability polish here. */
  body.dsk-page-home #testimonials-overview .dsk-reviews-premium{
    padding: 18px 14px 12px !important;
    border-radius: 20px !important;
  }

  body.dsk-page-home #testimonials-overview .dsk-reviews-premium__head{
    gap: 16px !important;
    margin-bottom: 16px !important;
  }

  body.dsk-page-home #testimonials-overview .dsk-reviews-premium__title{
    margin-bottom: 10px !important;
    font-size: clamp(1.42rem, 5.9vw, 1.76rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.022em !important;
  }

  body.dsk-page-home #testimonials-overview .dsk-reviews-premium__lead{
    font-size: 0.93rem !important;
    line-height: 1.58 !important;
  }

  body.dsk-page-home #testimonials-overview .dsk-google-badge{
    gap: 10px !important;
    padding: 14px 14px 15px !important;
    border-radius: 18px !important;
  }

  body.dsk-page-home #testimonials-overview .dsk-google-badge__value{
    font-size: clamp(1.84rem, 8.2vw, 2.24rem) !important;
  }

  body.dsk-page-home #testimonials-overview .dsk-google-badge__meta,
  body.dsk-page-home #testimonials-overview .dsk-google-badge__note{
    font-size: 0.91rem !important;
    line-height: 1.48 !important;
  }

  body.dsk-page-home #testimonials-overview .dsk-reviews-premium__grid{
    gap: 12px !important;
  }

  body.dsk-page-home #testimonials-overview .dsk-review-card{
    padding: 16px 14px 15px !important;
    border-radius: 18px !important;
  }

  body.dsk-page-home #testimonials-overview .dsk-review-card__tag{
    margin-bottom: 12px !important;
    padding: 7px 11px !important;
    font-size: 0.76rem !important;
    line-height: 1.14 !important;
  }

  body.dsk-page-home #testimonials-overview .dsk-review-card blockquote{
    font-size: 0.95rem !important;
    line-height: 1.60 !important;
  }

  body.dsk-page-home #testimonials-overview .dsk-review-card__footer{
    margin-top: 14px !important;
    padding-top: 13px !important;
    gap: 10px !important;
  }

  body.dsk-page-home #testimonials-overview .dsk-review-card__name{
    font-size: 0.95rem !important;
    line-height: 1.28 !important;
  }

  body.dsk-page-home #testimonials-overview :is(.dsk-review-card__role,.dsk-review-card__metric){
    font-size: 0.86rem !important;
    line-height: 1.34 !important;
  }

  body.dsk-page-home #testimonials-overview .dsk-reviews-premium__cta{
    margin-top: 16px !important;
    gap: 10px !important;
  }
}

/* etap95: home mobile contact/location final conversion section density reduction */
@media (max-width: 480px){
  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__location{
    padding-top: 8px !important;
    padding-bottom: 14px !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__location .dsk-map-intro{
    margin-bottom: 10px !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__location .dsk-map-intro__title{
    margin-bottom: 5px !important;
    font-size: 1.02rem !important;
    line-height: 1.22 !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__location .dsk-map-intro__text{
    margin-bottom: 10px !important;
    font-size: 0.93rem !important;
    line-height: 1.48 !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__location .dsk-gmaps-placecard,
  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__location .sb-map{
    margin-bottom: 10px !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__location .sb-map iframe{
    height: 248px !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-full__location .contact-details{
    padding: 12px 12px 14px !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-details__title{
    margin-bottom: 7px !important;
    font-size: 1rem !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-details__phone,
  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-details__email,
  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-details__address,
  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .hours-list,
  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-details p,
  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-details li{
    font-size: 0.93rem !important;
    line-height: 1.5 !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .contact-details__row + .contact-details__row{
    margin-top: 13px !important;
    padding-top: 13px !important;
  }

  body.dsk-page-home :is(#formularz-zgloszeniowy,#contact-form) .hours-list__item{
    padding-top: 3px !important;
    padding-bottom: 3px !important;
  }
}


/* etap96: home hero mobile visibly lighter above-the-fold pass.
   Previous tweaks were too subtle in real-world comparison videos.
   The heavy feel came from: 5-line H1, full-width proof cards and tall benefit boxes.
   Keep the same content/CTA, but make the whole first screen noticeably shorter and faster to scan on phones. */
@media (max-width: 480px){
  body.dsk-page-home{
    --dsk-home-hero-mobile-shell-compact: min(100%, 330px);
  }


  body.dsk-page-home #strona-glowna .dsk-hero-eyebrow{
    margin: 0 0 6px 0 !important;
    font-size: 0.64rem !important;
    line-height: 1.14 !important;
    letter-spacing: 0.14em !important;
    color: rgba(248, 250, 252, 0.74) !important;
  }

  body.dsk-page-home #strona-glowna .sb-hero__title{
    max-width: min(15.6ch, 100%) !important;
    margin: 0 auto 10px !important;
    font-size: clamp(1.42rem, 5.15vw, 1.76rem) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.04em !important;
    text-wrap: balance !important;
  }

  body.dsk-page-home #strona-glowna .dsk-hero-subtitle{
    max-width: min(31.5ch, 100%) !important;
    margin: 0 auto 12px !important;
    font-size: 0.90rem !important;
    line-height: 1.42 !important;
    color: rgba(248, 250, 252, 0.88) !important;
  }

  body.dsk-page-home #strona-glowna .sb-cta-wrapper{
    width: var(--dsk-home-hero-mobile-shell-compact) !important;
    max-width: var(--dsk-home-hero-mobile-shell-compact) !important;
    gap: 7px !important;
    margin-top: 6px !important;
  }

  body.dsk-page-home #strona-glowna .sb-cta-wrapper__btn{
    min-height: 44px !important;
    padding: 11px 14px !important;
    border-radius: 14px !important;
    font-size: 0.91rem !important;
    line-height: 1.15 !important;
  }

  body.dsk-page-home #strona-glowna .dsk-hero-proof{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: var(--dsk-home-hero-mobile-shell-compact) !important;
    max-width: var(--dsk-home-hero-mobile-shell-compact) !important;
    margin: 10px auto 0 !important;
    gap: 8px !important;
  }

  body.dsk-page-home #strona-glowna .dsk-hero-proof li{
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 8px 8px !important;
    border-radius: 14px !important;
    font-size: 0.72rem !important;
    line-height: 1.18 !important;
    text-align: center !important;
    box-shadow: none !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
  }

  body.dsk-page-home #strona-glowna .dsk-hero-benefits--grid{
    width: var(--dsk-home-hero-mobile-shell-compact) !important;
    max-width: var(--dsk-home-hero-mobile-shell-compact) !important;
    margin: 10px auto 0 !important;
    gap: 8px !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(56px, auto)) !important;
    grid-auto-rows: minmax(56px, auto) !important;
    min-height: 112px !important;
  }

  body.dsk-page-home #strona-glowna .dsk-hero-benefits--grid p{
    min-height: 56px !important;
    padding: 8px 9px !important;
    border-radius: 13px !important;
    gap: 7px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    align-content: center !important;
    font-size: 0.73rem !important;
    line-height: 1.14 !important;
    text-align: left !important;
    background: rgba(255, 255, 255, 0.055) !important;
    border-color: rgba(255, 255, 255, 0.10) !important;
    box-shadow: none !important;
  }

  body.dsk-page-home #strona-glowna .dsk-hero-benefits .dsk-hero-icon{
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    border-radius: 7px !important;
  }
}

@media (max-width: 389px){
  body.dsk-page-home #strona-glowna .sb-hero__title{
    max-width: min(15.2ch, 100%) !important;
    font-size: clamp(1.36rem, 5.1vw, 1.68rem) !important;
  }

  body.dsk-page-home #strona-glowna .dsk-hero-proof li,
  body.dsk-page-home #strona-glowna .dsk-hero-benefits--grid p{
    font-size: 0.70rem !important;
  }
}


/* etap97: home mobile mid-section visible compaction pass.
   User needs an actually noticeable change after scroll, not microscopic polish.
   Scope stays narrow: only #dlaczego-laboratorium and #jak-to-dziala on home <=480px.
   Make why-lab cards denser and turn the process section into shorter, faster-scanning editorial cards. */
@media (max-width: 480px){
  body.dsk-page-home #dlaczego-laboratorium{
    padding-top: 4px !important;
  }

  body.dsk-page-home #dlaczego-laboratorium .dsk-why-lab__lead{
    margin-bottom: 14px !important;
  }

  body.dsk-page-home #dlaczego-laboratorium .dsk-why-lab__lead p{
    font-size: 0.95rem !important;
    line-height: 1.54 !important;
  }

  body.dsk-page-home #dlaczego-laboratorium .dsk-why-lab__grid{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 0 !important;
  }

  body.dsk-page-home #dlaczego-laboratorium .dsk-why-lab__card{
    padding: 12px 12px 11px !important;
    border-radius: 16px !important;
    min-height: 0 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.07) !important;
  }

  body.dsk-page-home #dlaczego-laboratorium .dsk-why-lab__card-title{
    margin-bottom: 5px !important;
    font-size: 0.87rem !important;
    line-height: 1.18 !important;
    letter-spacing: -0.01em !important;
  }

  body.dsk-page-home #dlaczego-laboratorium .dsk-why-lab__card-text{
    font-size: 0.77rem !important;
    line-height: 1.34 !important;
  }

  body.dsk-page-home #dlaczego-laboratorium .dsk-why-lab__cta{
    gap: 8px !important;
    margin-top: 14px !important;
  }

  body.dsk-page-home #dlaczego-laboratorium .dsk-why-lab__cta-label{
    font-size: 0.82rem !important;
    line-height: 1.2 !important;
    margin-bottom: 0 !important;
  }

  body.dsk-page-home #dlaczego-laboratorium .dsk-why-lab__btn{
    min-height: 44px !important;
    padding: 11px 14px !important;
    border-radius: 14px !important;
    font-size: 0.89rem !important;
    line-height: 1.15 !important;
  }

  /* Etap 4: keep <=480px wrapper spacing on the same owner as the rest of the section.
     No local bottom-margin override here. */

  body.dsk-page-home #jak-to-dziala .sb-paragraph p{
    font-size: 0.95rem !important;
    line-height: 1.56 !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid{
    gap: 14px !important;
  }

  /* Etap 112: keep the full image frame in the process cards on very small mobile.
     The source images have different native ratios (FAQ 3:2, lab photo 4:3),
     so a single forced 138px crop was cutting the кадр. Keep the card shell,
     but let each card use its own source ratio and contain the full frame. */
  body.dsk-page-home #jak-to-dziala .items-grid__item-image,
  body.dsk-page-home #jak-to-dziala .items-grid__item-image figure,
  body.dsk-page-home #jak-to-dziala .items-grid__item-image .option-image{
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__item:first-child .items-grid__item-image figure,
  body.dsk-page-home #jak-to-dziala .items-grid__item:first-child .items-grid__item-image .option-image{
    aspect-ratio: 3 / 2 !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
  }

  body.dsk-page-home #jak-to-dziala .dsk-process-feature .items-grid__item-image figure,
  body.dsk-page-home #jak-to-dziala .dsk-process-feature .items-grid__item-image .option-image{
    aspect-ratio: 4 / 3 !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__item-content{
    padding: 13px 13px 14px !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__header{
    margin-bottom: 8px !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__summary,
  body.dsk-page-home #jak-to-dziala .items-grid__summary p{
    font-size: 0.88rem !important;
    line-height: 1.48 !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__summary p + p{
    margin-top: 8px !important;
  }

  body.dsk-page-home #jak-to-dziala .items-grid__link,
  body.dsk-page-home #jak-to-dziala .items-grid__contact-details{
    margin-top: 8px !important;
  }
}

@media (max-width: 374px){
  body.dsk-page-home #dlaczego-laboratorium .dsk-why-lab__grid{
    grid-template-columns: 1fr !important;
  }

  body.dsk-page-home #dlaczego-laboratorium .dsk-why-lab__card-title{
    font-size: 0.9rem !important;
  }

  body.dsk-page-home #dlaczego-laboratorium .dsk-why-lab__card-text{
    font-size: 0.8rem !important;
  }
}
