/* FD Slider główny – układ wzorowany na sliderze Wodociągów Miasta Krakowa. */
.fdsg,.fdsg *,.fdsg *::before,.fdsg *::after{box-sizing:border-box}
.fdsg{font-family:var(--fdsg-font);max-width:var(--fdsg-max);margin-inline:auto;width:100%;position:relative;-webkit-font-smoothing:antialiased;line-height:1.35}
.fdsg .fdsg-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.fdsg-box{display:flex;min-height:clamp(340px,var(--fdsg-h-vw),var(--fdsg-h));border-radius:var(--fdsg-r);overflow:hidden;position:relative;background:var(--fdsg-panel);isolation:isolate}
.fdsg--img-left .fdsg-box{flex-direction:row-reverse}

/* Na całą szerokość ekranu: wychodzi poza kolumnę (Elementor, motyw) i zostaje na środku */
.fdsg.fdsg--full{--fdsg-w:min(calc(100vw - var(--fdsg-sb,0px) - 2 * var(--fdsg-edge)),var(--fdsg-maxn));width:var(--fdsg-w);max-width:none!important;margin-left:0!important;margin-right:0!important;left:calc(50% - var(--fdsg-w) / 2)}

/* Panel z tekstem */
.fdsg-panel{flex:0 0 var(--fdsg-pw);position:relative;background:var(--fdsg-panel);padding:clamp(28px,5.5vw,100px) clamp(24px,4.6vw,96px) clamp(28px,4vw,64px);display:flex;flex-direction:column;container-type:inline-size;overflow:hidden}
.fdsg-waves{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--fdsg-lines);stroke-width:1.5;opacity:.14;pointer-events:none;z-index:0}
.fdsg-texts{position:relative;z-index:1;flex:1 0 auto;display:grid}
.fdsg-t{grid-area:1/1;display:flex;flex-direction:column;align-items:flex-start;min-height:0}
.fdsg.fdsg .fdsg-title{font-family:inherit;font-size:clamp(26px,var(--fdsg-ts-vw),var(--fdsg-ts));font-weight:var(--fdsg-tw);line-height:1.12;color:var(--fdsg-title);margin:0 0 .45em;padding:0;letter-spacing:-.01em;text-transform:none;text-align:left;border:0;background:none}
.fdsg.fdsg .fdsg-text{font-family:inherit;font-size:var(--fdsg-xs);line-height:1.5;color:var(--fdsg-text);margin:0;padding:0;max-width:34em;text-align:left;overflow:hidden;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical}
.fdsg.fdsg a.fdsg-btn{margin-top:auto;display:inline-flex;align-items:center;gap:.6em;min-height:56px;padding:12px 30px;background:var(--fdsg-btn);color:var(--fdsg-btn-text);border-radius:999px;font-family:inherit;font-size:var(--fdsg-bs);font-weight:600;line-height:1.2;text-decoration:none;box-shadow:none;border:0;max-width:calc(100% - 186px);white-space:nowrap;overflow:hidden;transition:background .2s,gap .2s}
.fdsg-btn span{overflow:hidden;text-overflow:ellipsis}
.fdsg.fdsg a.fdsg-btn:hover{background:var(--fdsg-btn-hover);color:var(--fdsg-btn-text);gap:.9em}
.fdsg-btn svg{width:1.15em;height:1.15em;fill:currentColor;flex:none}
.fdsg-text+.fdsg-btn,.fdsg-title+.fdsg-btn{margin-top:auto}

/* Przyciski sterujące */
.fdsg-ctrl{position:absolute;z-index:2;right:clamp(24px,4.6vw,96px);bottom:clamp(28px,4vw,64px);display:flex;gap:8px}
.fdsg.fdsg .fdsg-c{-webkit-appearance:none;appearance:none;width:52px;height:52px;min-width:0;min-height:0;margin:0;padding:0;border-radius:50%;border:2px solid var(--fdsg-ctrl);background:transparent;color:var(--fdsg-ctrl);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:none;transition:background .2s,color .2s,transform .2s;line-height:1}
.fdsg.fdsg .fdsg-c:hover{background:var(--fdsg-ctrl);color:var(--fdsg-panel)}
.fdsg.fdsg .fdsg-next{background:var(--fdsg-next);border-color:var(--fdsg-next);color:var(--fdsg-next-icon)}
.fdsg.fdsg .fdsg-next:hover{transform:scale(1.06);background:var(--fdsg-next);color:var(--fdsg-next-icon)}
.fdsg-c svg{width:26px;height:26px;fill:currentColor}
.fdsg .fdsg-ico-play{display:none}
.fdsg .fdsg-pause[aria-pressed="true"] .fdsg-ico-play{display:inline-flex}
.fdsg .fdsg-pause[aria-pressed="true"] .fdsg-ico-pause{display:none}
.fdsg-ico-pause,.fdsg-ico-play{display:inline-flex}
.fdsg :is(a,button):focus-visible{outline:3px solid var(--fdsg-focus);outline-offset:3px}

/* Zdjęcia */
.fdsg-media{flex:1;position:relative;overflow:hidden;background:rgba(0,0,0,.08)}
.fdsg-m{position:absolute;inset:0}
.fdsg.fdsg .fdsg-img{width:100%;height:100%;max-width:none;object-fit:cover;display:block;margin:0;border:0;border-radius:0}
.fdsg-noimg{display:block;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.02)),#c9ced4}

/* Zmiana slajdów */
.fdsg-s{transition:opacity .7s ease,transform .7s ease,visibility 0s .7s;opacity:0;visibility:hidden}
.fdsg-s.is-active{opacity:1;visibility:visible;transition:opacity .7s ease,transform .7s ease,visibility 0s}
.fdsg--slide .fdsg-s{opacity:1}
.fdsg--slide .fdsg-t{transition:opacity .5s ease,transform .7s ease,visibility 0s .7s}
.fdsg--slide .fdsg-t:not(.is-active){opacity:0}
.fdsg-t .fdsg-title,.fdsg-t .fdsg-text{transition:transform .7s ease}
.fdsg--fade .fdsg-t:not(.is-active) .fdsg-title{transform:translateY(14px)}
@media (prefers-reduced-motion:reduce){.fdsg-s,.fdsg-s.is-active,.fdsg-t .fdsg-title{transition:none!important;transform:none!important}}

/* Wąski panel: strzałki pod przyciskiem */
@container (max-width:470px){
	.fdsg-ctrl{position:static;margin-top:18px;z-index:1}
	.fdsg.fdsg a.fdsg-btn{max-width:100%}
}

/* Telefon i mały tablet: zdjęcie nad tekstem */
@media (min-width:901px) and (max-width:1200px){.fdsg-panel{flex-basis:max(var(--fdsg-pw),50%)}}
@media (max-width:900px){
	.fdsg.fdsg--full{--fdsg-w:min(calc(100vw - var(--fdsg-sb,0px) - 2 * min(var(--fdsg-edge),12px)),var(--fdsg-maxn))}
	.fdsg-box,.fdsg--img-left .fdsg-box{flex-direction:column-reverse;height:auto}
	.fdsg-media{flex:none;aspect-ratio:16/10;width:100%}
	.fdsg-panel{flex:none;padding:26px 22px 24px}
	.fdsg-texts{min-height:0}
	.fdsg-ctrl{position:static;margin-top:18px}
	.fdsg.fdsg a.fdsg-btn{max-width:100%;margin-top:22px;min-height:52px;padding:10px 24px}
	.fdsg.fdsg .fdsg-title{font-size:clamp(24px,7vw,var(--fdsg-ts))}
	.fdsg.fdsg .fdsg-text{font-size:min(var(--fdsg-xs),17px)}
	.fdsg.fdsg .fdsg-c{width:50px;height:50px}
}

/* Obramowanie slidera */
.fdsg .fdsg-box{border:var(--fdsg-bw,0px) var(--fdsg-bst,solid) var(--fdsg-bc,transparent)}
@media (max-width:767px){.fdsg .fdsg-box{border-width:var(--fdsg-bw-m,0px)}}
