/* Flex layout — sekcje obok siebie gdy width < 100% */
/* display:flex!important potrzebne bo motyw ma #product .product-container>div{display:block} o wyższej specyficzności
   width:100% potrzebne żeby percent flex-basis dzieci (50%) miał definite parent size (bez tego circular dependency → 0px) */
.ds-acf-sections{display:flex!important;flex-wrap:wrap!important;flex-direction:row!important;align-items:flex-start;width:100%}
.ds-acf-section{box-sizing:border-box;flex:0 0 100%;width:100%;min-width:0;background-color:#fff}
@media(max-width:767px){.ds-acf-section{flex:0 0 100%!important;width:100%!important}}

/* Section wrapper spacing — padding zamiast margin: tło (::before) obejmuje spacing */
.ds-acf-section{padding-top:var(--ds-acf-m,60px);padding-bottom:var(--ds-acf-m,60px)}
@media(max-width:991px){.ds-acf-section{padding-top:var(--ds-acf-m-t,42px);padding-bottom:var(--ds-acf-m-t,42px)}}
@media(max-width:767px){.ds-acf-section{padding-top:var(--ds-acf-m-m,30px);padding-bottom:var(--ds-acf-m-m,30px)}}

/* Tło sekcji — pełna szerokość przez ::before wyłamujące się z kontenera motywu */
.ds-acf-section{position:relative;isolation:isolate}
.ds-acf-section::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);background-color:var(--ds-bg);z-index:-1;pointer-events:none}
/* Sekcje węższe niż 100% — tło zostaje w obrębie sekcji, nie wybija na całą stronę */
.ds-acf-section--partial::before{left:0;width:100%;transform:none}

/* Benefits */
.ds-acf-benefit-icon{max-width:64px !important;}
.ds-acf-section--benefits_3icons[data-ds-heading] h4{color:var(--ds-heading)}
.ds-acf-section--benefits_3icons[data-ds-text] p{color:var(--ds-text)}

/* Steps */
.ds-acf-step-icon-wrap{position:relative;display:inline-block;margin-bottom:8px}
.ds-acf-step-number{position:absolute;top:-6px;right:-10px;background:#333;color:#fff;width:24px;height:24px;border-radius:50%;font-size:13px;font-weight:700;line-height:24px;text-align:center}
.ds-acf-step-icon{max-width:48px}
.ds-acf-section--steps[data-ds-num] .ds-acf-step-number{background-color:var(--ds-num)}
.ds-acf-section--steps[data-ds-heading] h5{color:var(--ds-heading)}
.ds-acf-section--steps[data-ds-text] p{color:var(--ds-text)}

/* Google maps */
.ds-acf-map-iframe{border:0;display:block}

/* FAQ */
.ds-acf-faq-header{cursor:pointer}
.ds-acf-section--faq_accordion[data-ds-header-bg] .ds-acf-faq-header{background-color:var(--ds-header-bg)}
.ds-acf-section--faq_accordion[data-ds-header-text] .ds-acf-faq-header h5{color:var(--ds-header-text)}

/* Table */
.ds-acf-tbl-data{display:none}
.ds-acf-section--table[data-ds-header-bg] .ds-acf-tbl thead th{background-color:var(--ds-header-bg)}
.ds-acf-section--table[data-ds-header-text] .ds-acf-tbl thead th{color:var(--ds-header-text)}
.ds-acf-section--table[data-ds-text] .ds-acf-tbl td{color:var(--ds-text)}

/* Video */
.ds-acf-video-wrap{width:var(--ds-acf-video-w,100%);margin:0 auto}
.ds-acf-video--left{margin-left:0}
.ds-acf-video--right{margin-right:0}
@media(max-width:767px){.ds-acf-video-wrap{width:100%!important;margin:0}}

/* Nagłówek + tekst */
.ds-acf-section--heading_text[data-ds-heading] h2,.ds-acf-section--heading_text[data-ds-heading] h4{color:var(--ds-heading)}
.ds-acf-section--heading_text[data-ds-text] .ds-acf-text{color:var(--ds-text)}
.ds-acf-section--heading_text[data-ds-btn-bg] .btn-border{background-color:var(--ds-btn-bg);border-color:var(--ds-btn-bg)}
.ds-acf-section--heading_text[data-ds-btn-text] .btn-border{color:var(--ds-btn-text)}

/* Full-width banner */
.ds-acf-banner{background-size:cover;background-position:center}
.ds-acf-section--full_width_banner[data-ds-text] h2,.ds-acf-section--full_width_banner[data-ds-text] p.lead{color:var(--ds-text)}
.ds-acf-section--full_width_banner[data-ds-btn-bg] .btn-primary{background-color:var(--ds-btn-bg);border-color:var(--ds-btn-bg)}
.ds-acf-section--full_width_banner[data-ds-btn-text] .btn-primary{color:var(--ds-btn-text)}

/* Text + image 50/50 */
.ds-acf-section--text_image_50_50[data-ds-heading] h3,.ds-acf-section--text_image_50_50[data-ds-heading] h4{color:var(--ds-heading)}
.ds-acf-section--text_image_50_50[data-ds-btn-bg] .btn-border{background-color:var(--ds-btn-bg);border-color:var(--ds-btn-bg)}
.ds-acf-section--text_image_50_50[data-ds-btn-text] .btn-border{color:var(--ds-btn-text)}

/* Text 2 columns */
.ds-acf-section--text_2col[data-ds-heading] h3{color:var(--ds-heading)}

/* Quote */
.ds-acf-section--quote[data-ds-text] p{color:var(--ds-text)}
.ds-acf-section--quote[data-ds-author] .blockquote-footer{color:var(--ds-author)}

/* Product carousel */
.ds-acf-product-carousel .slick-slide{padding:0 8px;box-sizing:border-box}
.ds-acf-product-carousel .product-miniature{text-align:center}
.ds-acf-product-carousel .product-miniature img{max-width:100%;height:auto;border-radius:4px}
.ds-acf-product-carousel .product-title{font-size:14px;margin-top:8px}
.ds-acf-product-carousel .product-price{font-size:15px;font-weight:700;margin-top:4px}
.ds-acf-product-carousel .product-price-old{text-decoration:line-through;color:#999;font-weight:400;font-size:13px;margin-right:6px}
.ds-acf-product-carousel .product-price-sale{color:#e74c3c}
.ds-acf-product-carousel .slick-prev,.ds-acf-product-carousel .slick-next{z-index:1}
.ds-acf-section--product_carousel[data-ds-heading] .ds-acf-section-title{color:var(--ds-heading)}

/* Hide native PS blocks when ACF placeholder is present on the page */
body:has(#ds-acf-products-target) #main>#products,
body:has(#ds-acf-products-target) #main>.container>#products{display:none}
body:has(#ds-acf-product-desc-target) .product-container-bottom>.col-md-12>.inner>#product-description{display:none}
body:has(#ds-acf-product-specs-target) .product-container-bottom>.col-md-12>.inner>#product-details{display:none}
body:has(#ds-acf-product-reviews-target) .product-container-bottom>.col-md-12>.inner>#productopinions,
body:has(#ds-acf-product-reviews-target) .product-container-bottom>.col-md-12>.inner>#extra-0{display:none}
