.elementor-716 .elementor-element.elementor-element-67886a2{--display:flex;}.elementor-716 .elementor-element.elementor-element-77f9da0{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-716 .elementor-element.elementor-element-a59e043{width:var( --container-widget-width, 55% );max-width:55%;--container-widget-width:55%;--container-widget-flex-grow:0;z-index:0;}.elementor-716 .elementor-element.elementor-element-a59e043.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-716 .elementor-element.elementor-element-9bde481{--display:flex;}.woocommerce .elementor-716 .elementor-element.elementor-element-d8fa79a .woocommerce-product-details__short-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-716 .elementor-element.elementor-element-263676a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:40px 40px;--row-gap:40px;--column-gap:40px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-716 .elementor-element.elementor-element-13cf311 .elementor-button-content-wrapper{flex-direction:row;}.elementor-716 .elementor-element.elementor-element-13cf311 .elementor-button .elementor-button-content-wrapper{gap:20px;}.elementor-716 .elementor-element.elementor-element-6e60f8f .elementor-button-content-wrapper{flex-direction:row;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-716 .elementor-element.elementor-element-d679feb{--divider-border-style:solid;--divider-color:#B9ABAB;--divider-border-width:1px;}.elementor-716 .elementor-element.elementor-element-d679feb .elementor-divider-separator{width:100%;}.elementor-716 .elementor-element.elementor-element-d679feb .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-716 .elementor-element.elementor-element-c38026a{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--flex-wrap:wrap;}.elementor-716 .elementor-element.elementor-element-c38026a.e-con{--align-self:stretch;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-12ee110 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-716 .elementor-element.elementor-element-12ee110 .elementor-icon-box-wrapper{align-items:center;gap:10px;}.elementor-716 .elementor-element.elementor-element-12ee110.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-12ee110.elementor-view-framed .elementor-icon, .elementor-716 .elementor-element.elementor-element-12ee110.elementor-view-default .elementor-icon{fill:var( --e-global-color-text );color:var( --e-global-color-text );border-color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-12ee110 .elementor-icon{font-size:85px;}.elementor-716 .elementor-element.elementor-element-12ee110 .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-12ee110 .elementor-icon-box-title a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-716 .elementor-element.elementor-element-12ee110 .elementor-icon-box-title{color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-12ee110:has(:hover) .elementor-icon-box-title,
					 .elementor-716 .elementor-element.elementor-element-12ee110:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-90c39c6 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-716 .elementor-element.elementor-element-90c39c6 .elementor-icon-box-wrapper{align-items:center;gap:0px;}.elementor-716 .elementor-element.elementor-element-90c39c6 .elementor-icon{font-size:85px;}.elementor-716 .elementor-element.elementor-element-90c39c6 .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-90c39c6 .elementor-icon-box-title a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-716 .elementor-element.elementor-element-90c39c6 .elementor-icon-box-title{color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-90c39c6:has(:hover) .elementor-icon-box-title,
					 .elementor-716 .elementor-element.elementor-element-90c39c6:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-22e25f3 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-716 .elementor-element.elementor-element-22e25f3 .elementor-icon-box-wrapper{align-items:center;gap:0px;}.elementor-716 .elementor-element.elementor-element-22e25f3 .elementor-icon{font-size:85px;}.elementor-716 .elementor-element.elementor-element-22e25f3 .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-22e25f3 .elementor-icon-box-title a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-716 .elementor-element.elementor-element-22e25f3 .elementor-icon-box-title{color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-22e25f3:has(:hover) .elementor-icon-box-title,
					 .elementor-716 .elementor-element.elementor-element-22e25f3:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-20bc266{--divider-border-style:solid;--divider-color:#B9ABAB;--divider-border-width:1px;}.elementor-716 .elementor-element.elementor-element-20bc266 .elementor-divider-separator{width:100%;}.elementor-716 .elementor-element.elementor-element-20bc266 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-716 .elementor-element.elementor-element-0173ee0{--display:flex;}.elementor-716 .elementor-element.elementor-element-2e5b2d45{--display:flex;--min-height:200px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:36px;--margin-bottom:36px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-716 .elementor-element.elementor-element-2e5b2d45:not(.elementor-motion-effects-element-type-background), .elementor-716 .elementor-element.elementor-element-2e5b2d45 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-surface );}.elementor-716 .elementor-element.elementor-element-88392f8{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-716 .elementor-element.elementor-element-4895004c > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-716 .elementor-element.elementor-element-4895004c .elementor-icon-box-wrapper{align-items:center;gap:20px;}.elementor-716 .elementor-element.elementor-element-4895004c .elementor-icon{font-size:85px;}.elementor-716 .elementor-element.elementor-element-4895004c .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-4895004c .elementor-icon-box-title a{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-716 .elementor-element.elementor-element-4895004c .elementor-icon-box-title{color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-4895004c:has(:hover) .elementor-icon-box-title,
					 .elementor-716 .elementor-element.elementor-element-4895004c:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-71cb48be > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-716 .elementor-element.elementor-element-71cb48be .elementor-icon-box-wrapper{align-items:center;gap:20px;}.elementor-716 .elementor-element.elementor-element-71cb48be .elementor-icon{font-size:85px;}.elementor-716 .elementor-element.elementor-element-71cb48be .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-71cb48be .elementor-icon-box-title a{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-716 .elementor-element.elementor-element-71cb48be .elementor-icon-box-title{color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-71cb48be:has(:hover) .elementor-icon-box-title,
					 .elementor-716 .elementor-element.elementor-element-71cb48be:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-5ea7c760 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-716 .elementor-element.elementor-element-5ea7c760 .elementor-icon-box-wrapper{align-items:center;gap:20px;}.elementor-716 .elementor-element.elementor-element-5ea7c760 .elementor-icon{font-size:85px;}.elementor-716 .elementor-element.elementor-element-5ea7c760 .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-5ea7c760 .elementor-icon-box-title a{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-716 .elementor-element.elementor-element-5ea7c760 .elementor-icon-box-title{color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-5ea7c760:has(:hover) .elementor-icon-box-title,
					 .elementor-716 .elementor-element.elementor-element-5ea7c760:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-3c7cbafc > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-716 .elementor-element.elementor-element-3c7cbafc .elementor-icon-box-wrapper{align-items:center;gap:20px;}.elementor-716 .elementor-element.elementor-element-3c7cbafc .elementor-icon{font-size:85px;}.elementor-716 .elementor-element.elementor-element-3c7cbafc .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-3c7cbafc .elementor-icon-box-title a{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-716 .elementor-element.elementor-element-3c7cbafc .elementor-icon-box-title{color:var( --e-global-color-text );}.elementor-716 .elementor-element.elementor-element-3c7cbafc:has(:hover) .elementor-icon-box-title,
					 .elementor-716 .elementor-element.elementor-element-3c7cbafc:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-text );}@media(min-width:768px){.elementor-716 .elementor-element.elementor-element-77f9da0{--content-width:1664px;}.elementor-716 .elementor-element.elementor-element-9bde481{--width:100%;}.elementor-716 .elementor-element.elementor-element-2e5b2d45{--width:100%;}}@media(max-width:1024px){.elementor-716 .elementor-element.elementor-element-77f9da0{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-716 .elementor-element.elementor-element-a59e043{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.woocommerce .elementor-716 .elementor-element.elementor-element-d8fa79a .woocommerce-product-details__short-description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-716 .elementor-element.elementor-element-c38026a{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-icon-box .elementor-icon-box-description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-716 .elementor-element.elementor-element-12ee110 .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-12ee110 .elementor-icon-box-title a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-716 .elementor-element.elementor-element-90c39c6 .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-90c39c6 .elementor-icon-box-title a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-716 .elementor-element.elementor-element-22e25f3 .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-22e25f3 .elementor-icon-box-title a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-716 .elementor-element.elementor-element-4895004c .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-4895004c .elementor-icon-box-title a{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-716 .elementor-element.elementor-element-71cb48be .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-71cb48be .elementor-icon-box-title a{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-716 .elementor-element.elementor-element-5ea7c760 .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-5ea7c760 .elementor-icon-box-title a{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-716 .elementor-element.elementor-element-3c7cbafc .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-3c7cbafc .elementor-icon-box-title a{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}}@media(max-width:767px){.woocommerce .elementor-716 .elementor-element.elementor-element-d8fa79a .woocommerce-product-details__short-description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-716 .elementor-element.elementor-element-263676a{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-divider .elementor-divider__text{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-716 .elementor-element.elementor-element-c38026a{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-icon-box .elementor-icon-box-description{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-716 .elementor-element.elementor-element-12ee110 .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-12ee110 .elementor-icon-box-title a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-716 .elementor-element.elementor-element-90c39c6 .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-90c39c6 .elementor-icon-box-title a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-716 .elementor-element.elementor-element-22e25f3 .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-22e25f3 .elementor-icon-box-title a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-716 .elementor-element.elementor-element-4895004c .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-4895004c .elementor-icon-box-title a{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-716 .elementor-element.elementor-element-71cb48be .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-71cb48be .elementor-icon-box-title a{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-716 .elementor-element.elementor-element-5ea7c760 .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-5ea7c760 .elementor-icon-box-title a{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-716 .elementor-element.elementor-element-3c7cbafc .elementor-icon-box-title, .elementor-716 .elementor-element.elementor-element-3c7cbafc .elementor-icon-box-title a{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}}/* Start custom CSS for shortcode, class: .elementor-element-a59e043 *//* =========================================================
   Nawigacja galerii — ETAP gallery-nav-20260820 (v2)

   v1 wymuszała visibility:visible na strzałkach, przez co były
   aktywne cały czas. Teraz pojawiają się po najechaniu.

   Ustalenia z pomiaru (viewport 1440, galeria zainicjalizowana):
   - kolumna miniatur .gallery-navigation-carousel: left=10 right=199,
     środek X = 105; strzałki wtyczki siedzą na left:0 -> środek X = 32,
     czyli 73px za bardzo w lewo. Stąd wyśrodkowanie poniżej.
   - kolumna miniatur ma klasę "always", a wtyczka stosuje
     .gallery-navigation-carousel.always .wcgs-spswiper-arrow{opacity:1}
     - dlatego samo zdjęcie ustawienia we wtyczce nie wystarczy.
   - strzałki zdjęcia głównego wtyczka pokazuje na stałe (nie ma dla nich
     opacity:0), więc hover trzeba dodać samemu.
   ========================================================= */

/* ---------- wygląd ---------- */

.galeria-sticky .wcgs-spswiper-arrow {
  width: 44px !important;
  height: 44px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #ffffff !important;
  border-radius: 50% !important;

  box-shadow:
    0 1px 2px rgba(7, 25, 53, 0.10),
    0 4px 12px rgba(7, 25, 53, 0.18) !important;

  /* domyślnie schowane — pojawiają się po najechaniu */
  opacity: 0 !important;
  pointer-events: none;

  transition: opacity .22s ease, background-color .18s ease,
              box-shadow .18s ease !important;
}

.galeria-sticky .wcgs-spswiper-arrow::before {
  color: #09244B !important;
  font-size: 18px !important;
  line-height: 1 !important;
  transition: color .18s ease !important;
}

/* ---------- pojawianie się po najechaniu ---------- */

.galeria-sticky .wcgs-carousel:hover > .wcgs-spswiper-arrow,
.galeria-sticky .gallery-navigation-carousel:hover .wcgs-spswiper-arrow,
.galeria-sticky .wcgs-spswiper-arrow:focus-visible {
  opacity: 1 !important;
  pointer-events: auto;
}

/* urządzenia dotykowe nie mają najechania — tam zostawiamy widoczne */
@media (hover: none) {
  .galeria-sticky .wcgs-spswiper-arrow {
    opacity: 1 !important;
    pointer-events: auto;
  }
}

/* ---------- hover samego przycisku ---------- */

.galeria-sticky .wcgs-spswiper-arrow:hover {
  background: #09244B !important;

  box-shadow:
    0 2px 4px rgba(7, 25, 53, 0.12),
    0 8px 20px rgba(7, 25, 53, 0.28) !important;
}

.galeria-sticky .wcgs-spswiper-arrow:hover::before {
  color: #ffffff !important;
}

/* ---------- pionowa lista miniatur: wyśrodkowanie ---------- */

.galeria-sticky .gallery-navigation-carousel.vertical .wcgs-spswiper-arrow {
  left: 50% !important;
  right: auto !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;

  width: 40px !important;
  height: 40px !important;
}

.galeria-sticky .gallery-navigation-carousel.vertical .wcgs-spswiper-arrow::before {
  font-size: 16px !important;
}

.galeria-sticky .gallery-navigation-carousel.vertical .wcgs-spswiper-button-prev {
  top: 10px !important;
  bottom: auto !important;
}

.galeria-sticky .gallery-navigation-carousel.vertical .wcgs-spswiper-button-next {
  top: auto !important;
  bottom: 10px !important;
}

/* ---------- stany ---------- */

/* pierwszy/ostatni slajd przy braku pętli — przygaszone i nieklikalne */
.galeria-sticky .wcgs-carousel:hover > .spswiper-button-disabled,
.galeria-sticky .gallery-navigation-carousel:hover .spswiper-button-disabled {
  opacity: .3 !important;
  pointer-events: none !important;
}

/* produkt z jednym zdjęciem — nawigacja niepotrzebna */
.galeria-sticky .spswiper-button-lock {
  display: none !important;
}

/* ---------- telefon ---------- */

@media (max-width: 767px) {
  .galeria-sticky .wcgs-carousel > .wcgs-spswiper-arrow {
    width: 38px !important;
    height: 38px !important;
  }

  .galeria-sticky .wcgs-spswiper-arrow::before {
    font-size: 16px !important;
  }
}

/* =========================================================
   Galeria przyklejona przy przewijaniu — ETAP gallery-sticky-20260820

   Widget od dawna miał klasę .galeria-sticky oraz sticky_offset: 150,
   ale samo przyklejanie nigdy nie było włączone (brak ustawienia
   "sticky" w Motion Effects), więc klasa była tylko nazwą.

   Pomiar przed zmianą (1440px):
     galeria           h = 985
     kolumna treści    h = 985
     zapas jazdy       = 0px

   Dlatego samo position: sticky nic by nie dało. Kontener
   .e-con-inner to flex row z align-items: stretch, przez co galeria
   była rozciągana do wysokości kolumny treści. align-self: flex-start
   zdejmuje to rozciąganie i galeria wraca do swojej naturalnej
   wysokości, zostawiając zapas na jazdę.

   Offset 110px: nagłówek ma 90px, więc zostaje 20px oddechu.
   Ta sama wartość co kadr zdjęć w opisie
   (.product-feature-block__media), żeby strona zachowywała się spójnie.

   Sprawdzone: żaden przodek galerii nie blokuje sticky
   (overflow: visible, brak transform/filter).
   ========================================================= */

@media (min-width: 1025px) {
  .galeria-sticky {
    position: sticky !important;
    top: 110px !important;

    /* bez tego galeria jest rozciągana na całą wysokość wiersza
       i nie ma ani piksela zapasu do przewinięcia */
    align-self: flex-start !important;
  }
}
/* ETAP product-mobile-polish-20260825: touch users navigate by swipe or thumbnails. */
@media (max-width: 767px) {
  .galeria-sticky .wcgs-spswiper-arrow {
    display: none !important;
  }
}

@media (min-width: 1025px) {
  .galeria-sticky .wcgs-slider-image-tag {
    max-height: min(78vh, 720px);
    width: auto;
    max-width: 100%;
    object-fit: contain;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-d649193 */.bokato-title-main {
  font-family: 'Poppins', sans-serif;
  font-size: 44px;
  font-weight: 800;
  line-height: 1.1;
  color: #0C1E3A;
  margin: 0 0 8px 0;
}
.bokato-title-model {
  font-family: 'Poppins', sans-serif;
  font-size: 26px;
  font-weight: 700;
  color: #0C1E3A;
  margin: 0;
}

/* tablet */
@media (max-width: 1024px) {
  .bokato-title-main { font-size: 36px; }
  .bokato-title-model { font-size: 22px; }
}

/* mobile */
@media (max-width: 767px) {
  .bokato-title-main { font-size: 28px; }
  .bokato-title-model { font-size: 18px; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-92d8249 */.bokato-symbol-ean {
  display: flex;
  gap: 24px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  color: #0C1E3A;
  text-transform: uppercase;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-21f907d */.bokato-stock {
  margin: 16px 0;
  max-width: 380px;
}

.bokato-stock-head {
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
.bokato-stock-title { color: #09244B; }
.bokato-stock-status { font-weight: 700; }
.bokato-stock-bar {
  width: 100%;
  height: 6px;
  background-color: #e8e8e8;
  border-radius: 3px;
  overflow: hidden;
}
.bokato-stock-bar-fill {
  height: 100%;
  border-radius: 3px;
  transition: width 0.4s ease;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-6e60f8f *//* ========== WSPÓLNE ========== */
.btn-zapytaj .elementor-button,
.btn-pobierz .elementor-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  gap: 14px !important;
  padding: 18px 55px 18px 55px !important;
  border: 2px solid #09244B !important;
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  transition: all 0.2s ease !important;
}

/* content-wrapper: ikona + tekst razem, wyśrodkowane */
.btn-zapytaj .elementor-button-content-wrapper,
.btn-pobierz .elementor-button-content-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}

/* ikony - rozmiar dla obu typów SVG */
.btn-zapytaj .elementor-button-icon svg,
.btn-pobierz .elementor-button-icon svg {
  width: 26px !important;
  height: 26px !important;
  display: block !important;
}

/* strzałka absolutnie po prawej */
.btn-zapytaj .elementor-button-text::after,
.btn-pobierz .elementor-button-text::after {
  content: '';
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
}

/* ========== ZAPYTAJ (ciemny) ========== */
.btn-zapytaj .elementor-button {
  background-color: #09244B !important;
  color: #ffffff !important;
}
.btn-zapytaj .elementor-button-icon svg,
.btn-zapytaj .elementor-button-icon svg path {
  fill: #ffffff !important;
}
.btn-zapytaj .elementor-button:active {
  background-color: #ffffff !important;
  color: #09244B !important;
}
.btn-zapytaj .elementor-button:active .elementor-button-icon svg,
.btn-zapytaj .elementor-button:active .elementor-button-icon svg path {
  fill: #09244B !important;
}

/* ========== POBIERZ (biały) ========== */
.btn-pobierz .elementor-button {
  background-color: #ffffff !important;
  color: #09244B !important;
}
.btn-pobierz .elementor-button-icon svg,
.btn-pobierz .elementor-button-icon svg path {
  fill: #09244B !important;
}
.btn-pobierz .elementor-button:active {
  background-color: #09244B !important;
  color: #ffffff !important;
}
.btn-pobierz .elementor-button:active .elementor-button-icon svg,
.btn-pobierz .elementor-button:active .elementor-button-icon svg path {
  fill: #ffffff !important;
}

/* ========== MOBILE (<=767px) ========== */
@media (max-width: 767px) {
  .btn-zapytaj .elementor-button,
  .btn-pobierz .elementor-button {
    width: 100% !important;
    padding: 16px 45px 16px 20px !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c38026a */.product-benefits {
  display: flex !important;
  flex-wrap: nowrap !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: space-between !important;
  gap: 0;
  width: 100%;
}
.product-benefits .elementor-widget-icon-box {
  flex: 0 1 auto;
  min-width: 0;
}
.product-benefits .elementor-icon-box-wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  text-align: left;
}
.product-benefits .elementor-icon-box-icon {
  margin: 0;
  flex: 0 0 auto;
}
.product-benefits .elementor-icon,
.product-benefits .elementor-icon svg {
  width: 56px;
  height: 56px;
}
.product-benefits .elementor-icon svg path {
  fill: #09244B;
}
.product-benefits .elementor-icon-box-content {
  min-width: 0;
}
.product-benefits .elementor-icon-box-title {
  margin: 0 0 4px 0;
  line-height: 1.2;
}
.product-benefits .elementor-icon-box-title span {
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #09244B;
  white-space: nowrap;
}
.product-benefits .elementor-icon-box-description {
  margin: 0;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: #333;
  white-space: nowrap;
}
.product-benefits hr,
.product-benefits .e-divider-base {
  width: 1px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  border: 0 !important;
  background: #cfc7c5 !important;
  flex: 0 0 1px !important;
  align-self: center;
}
@media (max-width: 767px) {
  .product-benefits {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 20px !important;
  }
  .product-benefits .elementor-widget-icon-box {
    width: 100% !important;
    flex: 0 0 auto !important;
  }
  .product-benefits .elementor-icon-box-wrapper {
    justify-content: flex-start;
  }
  .product-benefits .elementor-icon,
  .product-benefits .elementor-icon svg {
    width: 44px !important;
    height: 44px !important;
  }
  .product-benefits .elementor-icon-box-title span,
  .product-benefits .elementor-icon-box-description {
    white-space: normal !important;
  }
  .product-benefits hr,
  .product-benefits .e-divider-base {
    display: none !important;
  }
}

/* ========== TABLET I WĄSKI DESKTOP (768-1500px) ==========
   Kolumna treści to ~45% szerokości bloku, więc trzy pozycje
   z white-space:nowrap (potrzebują ~670px) mieszczą się dopiero
   przy viewport ~1490px. Poniżej: zawijanie + mniejsza skala,
   żeby wiersz nie rozpychał strony w poziomie. */
@media (min-width: 768px) and (max-width: 1500px) {
  .product-benefits {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 18px 16px !important;
  }

  .product-benefits .elementor-widget-icon-box {
    flex: 1 1 170px;
  }

  .product-benefits .elementor-icon-box-wrapper {
    gap: 12px;
  }

  .product-benefits .elementor-icon,
  .product-benefits .elementor-icon svg {
    width: 42px !important;
    height: 42px !important;
  }

  .product-benefits .elementor-icon-box-title span {
    font-size: 18px;
  }

  .product-benefits .elementor-icon-box-description {
    font-size: 15px;
  }

  .product-benefits .elementor-icon-box-title span,
  .product-benefits .elementor-icon-box-description {
    white-space: normal !important;
  }

  .product-benefits hr,
  .product-benefits .e-divider-base {
    display: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-9954d0b *//* =========================================================
   ETAP spec-gap-20260820 — martwa przestrzeń pod paskiem parametrów

   Kontener 0173ee0 (.e-con-inner) jest kontenerem flex z domyślnym
   align-items: stretch. Widget z paskiem parametrów był przez to
   rozciągany i przy szerokościach 521-766px trzymał stałe 572px
   wysokości, podczas gdy sam pasek malał do 191-278px. Różnica
   (do ~400px) zostawała jako pusta biała przestrzeń między
   parametrami a opisem. Zmierzone:

       szer.  luka   pasek      widget
        520   20px   500x448    448   <- ok
        560  314px   540x278    572   <- martwa przestrzeń
        640  332px   620x260    572
        720  383px   700x209    572
        766  401px   746x191    572
        780   20px   760x191    191   <- znowu ok

   align-self: flex-start zdejmuje rozciąganie w pionie.
   width: 100% jest KONIECZNE — bez niego widget przestaje być
   rozciągany także w poziomie, kurczy się do ~275px i siatka
   parametrów zwija się z 3 kolumn do 1 (sprawdzone).

   !important jest konieczny, bo Elementor stosuje
   .e-con.e-flex > .e-con-inner { align-items: var(--align-items) }
   o specyficzności (0,3,0), która bije selektor po klasie elementu.
   ========================================================= */

.elementor-element-0173ee0 > .e-con-inner {
  align-items: flex-start !important;
}

.elementor-element-9954d0b {
  width: 100% !important;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-380cd7b *//* =========================================================
   Bokato Related Products Section
   ========================================================= */

.bokato-related-section {
    width: 100%;
    background: #f6f6f7;
    padding: clamp(56px, 6vw, 92px) 24px;
    position: relative;
    overflow: hidden;
}

.bokato-related-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        repeating-radial-gradient(
            ellipse at 50% 110%,
            rgba(10, 29, 58, 0.035) 0,
            rgba(10, 29, 58, 0.035) 1px,
            transparent 2px,
            transparent 18px
        );
    opacity: 0.5;
}

.bokato-related-section__inner {
    width: min(100%, 1664px);
    margin: 0 auto;

    display: grid;
    grid-template-columns: minmax(280px, 440px) minmax(0, 1fr);
    gap: clamp(48px, 5vw, 96px);
    align-items: center;

    position: relative;
    z-index: 1;
}

/* Lewa kolumna */

.bokato-related-section__intro h2 {
    margin: 0 0 18px;

    font-family: "Poppins", sans-serif;
    color: #071935;
    font-size: clamp(34px, 2.8vw, 52px);
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: 0.07em;
}

.bokato-related-section__intro p {
    margin: 0 0 28px;

    font-family: "Poppins", sans-serif;
    color: #050505;
    font-size: clamp(18px, 1.25vw, 24px);
    line-height: 1.35;
    font-weight: 400;
}

.bokato-related-section__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 260px;
    min-height: 56px;
    padding: 16px 34px;

    background: #071935;
    color: #ffffff !important;

    font-family: "Poppins", sans-serif;
    font-size: 15px;
    line-height: 1;
    font-weight: 800;
    text-transform: uppercase;
    text-decoration: none !important;
    letter-spacing: 0.02em;

    transition: transform 0.2s ease, background 0.2s ease;
}

.bokato-related-section__button:hover {
    background: #10294f;
    transform: translateY(-2px);
}

/* Produkty */

.bokato-related-section__products {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(24px, 2.4vw, 42px);
}

.bokato-related-card {
    position: relative;

    background: #ffffff;
    min-height: 100%;
    border: 1px solid rgba(16, 38, 66, 0.08);
    border-radius: 1px;
    box-shadow:
        0 2px 5px rgba(16, 38, 66, 0.05),
        0 10px 24px rgba(16, 38, 66, 0.11);

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.bokato-related-card:hover {
    transform: translateY(-3px);
    box-shadow:
        0 4px 9px rgba(16, 38, 66, 0.07),
        0 15px 32px rgba(16, 38, 66, 0.15);
}

.bokato-related-card__image {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 100%;
    aspect-ratio: 1 / 1;
    padding: clamp(22px, 2vw, 36px) clamp(24px, 2vw, 38px) 10px;

    text-decoration: none !important;
}

.bokato-related-card__image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display: block;
}

.bokato-related-card__body {
    padding: 12px 24px 52px;
    border-top: 1px solid rgba(16, 38, 66, 0.22);
    text-align: left;
}

.bokato-related-card__body h3 {
    margin: 0;
    min-height: 68px;

    font-family: "Poppins", sans-serif;
    color: #102642;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;

    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.bokato-related-card__body h3 a {
    color: inherit !important;
    text-decoration: none !important;
}

.bokato-related-card__arrow {
    position: absolute;
    right: 0;
    bottom: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    color: #09244B;
    background: transparent;
    border: 1px solid #09244B;
    border-radius: 1px;

    font-size: 18px;
    line-height: 1;

    transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.bokato-related-card:hover .bokato-related-card__arrow {
    color: #ffffff;
    background: #09244B;
    transform: translateX(2px);
}

/* Tablet */

@media (max-width: 1180px) {
    .bokato-related-section__inner {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .bokato-related-section__intro {
        max-width: 720px;
    }

    .bokato-related-section__products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px;
    }

    .bokato-related-card__body h3 {
        font-size: 18px;
    }
}

/* Mobile */

@media (max-width: 767px) {
    .bokato-related-section {
        padding: 44px 18px;
    }

    .bokato-related-section__inner {
        gap: 32px;
    }

    .bokato-related-section__intro h2 {
        font-size: 32px;
    }

    .bokato-related-section__intro p {
        font-size: 17px;
        margin-bottom: 24px;
    }

    .bokato-related-section__button {
        width: 100%;
        min-width: 0;
    }

    .bokato-related-section__products {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .bokato-related-card {
        max-width: 420px;
        width: 100%;
        margin: 0 auto;
    }

    .bokato-related-card__image {
        aspect-ratio: 1 / 1;
        padding: 28px 36px 8px;
    }

    .bokato-related-card__body {
        padding-bottom: 24px;
    }
}

/* Małe telefony */

@media (max-width: 380px) {
    .bokato-related-section__intro h2 {
        font-size: 28px;
    }

    .bokato-related-card__image {
        padding-left: 28px;
        padding-right: 28px;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-88392f8 */.benefits-bar {
  width: 100%;
  max-width: 100%;
  background: #f5f5f5;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

.benefits-bar > .e-con-inner {
  max-width: 1664px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
}

.benefits-bar .elementor-widget-icon-box {
  flex: 1 1 0;
}

.benefits-bar .elementor-icon-box-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
}

.benefits-bar .elementor-icon-box-icon {
  margin: 0;
  flex: 0 0 auto;
}

.benefits-bar .elementor-icon {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.benefits-bar .elementor-icon svg {
  width: 58px;
  height: 58px;
}

.benefits-bar .elementor-icon-box-content {
  text-align: left;
  max-width: 250px;
}

.benefits-bar .elementor-icon-box-title {
  margin: 0 0 8px 0;
  line-height: 1.2;
}

.benefits-bar .elementor-icon-box-title span {
  font-size: 22px;
  font-weight: 700;
  color: #000;
}

.benefits-bar .elementor-icon-box-description {
  margin: 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.3px;
  color: #000;
}

.benefits-bar hr,
.benefits-bar .e-divider-base {
  width: 1px;
  height: 44px;
  min-height: 44px;
  margin: 0 35px;
  border: 0;
  background: #cfc7c5;
  flex: 0 0 1px;
}

/* ETAP R1 — pasek korzyści na tablecie i telefonie.
   !important jest tu konieczny: Elementor stosuje regułę
   .e-con.e-flex > .e-con-inner { flex-wrap: var(--flex-wrap) }
   o specyficzności (0,3,0), która bez !important wygrywa z
   .benefits-bar > .e-con-inner (0,2,0) i wymusza nowrap —
   dlatego ten blok wcześniej nie działał na żadnej szerokości. */
@media (max-width: 1024px) {
  .benefits-bar > .e-con-inner {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 28px 20px !important;
    padding: 28px 20px !important;
    box-sizing: border-box;
  }

  .benefits-bar .elementor-widget-icon-box {
    flex: 0 1 calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
    min-width: 0;
  }

  .benefits-bar hr,
  .benefits-bar .e-divider-base {
    display: none !important;
  }

  .benefits-bar .elementor-icon-box-wrapper {
    width: 100%;
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }

  .benefits-bar .elementor-icon-box-content {
    width: 100%;
    min-width: 0;
    max-width: none;
    text-align: center;
  }

  .benefits-bar .elementor-icon-box-title span,
  .benefits-bar .elementor-icon-box-description {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 360px) {
  .benefits-bar .elementor-widget-icon-box {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* telefon: mniejsza typografia paska, żeby tytuły nie łamały się w środku słowa */
@media (max-width: 767px) {
  .benefits-bar .elementor-icon-box-title span {
    font-size: 18px;
  }

  .benefits-bar .elementor-icon-box-description {
    font-size: 15px;
    line-height: 1.4;
  }

  .benefits-bar .elementor-icon-box-title span,
  .benefits-bar .elementor-icon-box-description {
    overflow-wrap: break-word;
  }
}
/* ETAP product-mobile-polish-20260825: keep every icon and its copy on one centered axis. */
@media (max-width: 767px) {
  .benefits-bar .elementor-icon-box-wrapper {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    text-align: center !important;
  }
  .benefits-bar .elementor-icon-box-icon {
    margin: 0 !important;
  }
  .benefits-bar .elementor-icon-box-content,
  .benefits-bar .elementor-icon-box-title,
  .benefits-bar .elementor-icon-box-description {
    width: 100% !important;
    max-width: none !important;
    text-align: center !important;
  }
}/* End custom CSS */
/* Start custom CSS */body {
  position: relative;
  background: none !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url("https://bokato.pl/wp-content/uploads/2026/06/Pattern-bokato-814569.svg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.15;
  pointer-events: none;
  z-index: -1;
}

.bokato-attr-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: stretch;
  width: 100%;
}

.bokato-attr-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  padding: 8px 16px;
  position: relative;
  min-width: 0; /* pozwala tekstowi zawijać się zamiast rozpychać kolumnę */
}

/* Separator - stała wysokość niezależna od treści, wyśrodkowany pionowo */
.bokato-attr-item:not(:last-child)::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 48px;
  background-color: #B9ABAB;
}

.bokato-attr-value {
  display: flex;
  align-items: center;      /* wyśrodkowanie pionowe - wyrównuje krótkie i długie */
  justify-content: center;
  width: 100%;
  min-height: 56px;         /* rezerwuje miejsce na ~2 linie, spójny baseline */
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: #09244B;
  margin-bottom: 10px;
  overflow-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
}

.bokato-attr-label {
  display: block;
  width: 100%;
  font-family: 'Poppins', sans-serif;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 3px;
  color: #000000;
  line-height: 1.3;
  overflow-wrap: break-word;
}

/* Tablet */
@media (max-width: 900px) {
  .bokato-attr-value { font-size: 18px; }
  .bokato-attr-label { font-size: 14px; letter-spacing: 2px; }
}

/* Mobile - 2 kolumny zamiast 4 */
@media (max-width: 600px) {
  .bokato-attr-grid {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 16px;
  }
  /* usuwamy pionowe kreski między wszystkimi, dodajemy tylko po lewej w 2. kolumnie */
  .bokato-attr-item:not(:last-child)::after {
    display: none;
  }
  .bokato-attr-item:nth-child(odd)::after {
    content: '';
    display: block;
    right: 0;
    height: 48px;
  }
}

/* ===== BOKATO — DYNAMICZNY PASEK SPECYFIKACJI ===== */

.bokato-spec-bar {
  width: calc(100vw - 15px);
  margin-left: calc(50% - 50vw + 7.5px);
  margin-right: calc(50% - 50vw + 7.5px);

  background: #f7f7f8;
  padding: 26px clamp(24px, 5vw, 90px);
  box-sizing: border-box;
  overflow: hidden;
}

.bokato-spec-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(var(--bokato-spec-count), minmax(0, 1fr));
  align-items: center;
}

/* Gdy atrybutów jest dużo, nie zgniatamy ich na siłę w jednym rzędzie */
.bokato-spec-grid--many {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  row-gap: 28px;
}

.bokato-spec-item {
  position: relative;
  min-width: 0;
  padding: 0 clamp(14px, 1.4vw, 28px);
  text-align: center;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.bokato-spec-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 1px;
  height: 48px;
  transform: translateY(-50%);
  background: #d8d2d0;
}

.bokato-spec-label {
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: clamp(13px, 0.9vw, 17px);
  font-weight: 600;
  line-height: 1.15;
  color: #111111;
  margin-bottom: 8px;
  max-width: 100%;
}

.bokato-spec-value {
  display: block;
  font-family: "Poppins", sans-serif;
  font-size: clamp(15px, 1vw, 19px);
  font-weight: 800;
  line-height: 1.2;
  color: #10213b;
  max-width: 100%;
}

/* Chroni układ przed bardzo długimi wartościami — łamie tylko gdy
   pojedyncze słowo faktycznie nie mieści się w kolumnie, zamiast
   przecinać słowa w dowolnym miejscu */
.bokato-spec-label,
.bokato-spec-value {
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

/* Desktop bardzo szeroki */
@media (min-width: 1500px) {
  .bokato-spec-bar {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .bokato-spec-label {
    font-size: 16px;
  }

  .bokato-spec-value {
    font-size: 18px;
  }
}

/* Tablet */
@media (max-width: 1100px) {
  .bokato-spec-bar {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding: 24px 18px;
  }

  .bokato-spec-grid,
  .bokato-spec-grid--many {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    row-gap: 28px;
  }

  .bokato-spec-item::after {
    display: none;
  }
}

/* Telefon — ETAP specyfikacja-mobile-20260819: lista 1 kolumna zamiast 2,
   etykieta/wartość w jednym wierszu z linią oddzielającą, bez stykających się
   kolumn */
@media (max-width: 520px) {
  .bokato-spec-grid,
  .bokato-spec-grid--many {
    grid-template-columns: 1fr;
    row-gap: 0;
  }

  .bokato-spec-item {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    text-align: left;
    padding: 14px 4px;
    border-bottom: 1px solid #d8d2d0;
  }

  .bokato-spec-item:last-child {
    border-bottom: none;
  }

  .bokato-spec-label {
    margin-bottom: 0;
    text-align: left;
    flex: 1 1 42%;
    font-size: 14px;
  }

  .bokato-spec-value {
    text-align: right;
    flex: 1 1 52%;
    font-size: 16px;
  }
}

/* =========================================================
   PRODUCT FEATURE BLOCK — CLEAN FINAL
   Desktop: max 1664px
   Layout: tekst + zdjęcie + małe zdjęcie overlay
   Mobile: układ pionowy
   ========================================================= */


/* Kontener Elementora z shortcode */
.product-feature-section,
.product-feature-section .elementor-widget-container,
.product-feature-section .elementor-widget-shortcode {
    overflow: visible !important;
}


/* GŁÓWNY BLOK */

.product-feature-block {
    width: min(calc(100vw - 64px), 1664px) !important;
    max-width: 1664px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding: clamp(64px, 5vw, 96px) 0 !important;

    display: grid !important;
    grid-template-columns: minmax(420px, 560px) minmax(0, 900px) !important;
    gap: clamp(56px, 5vw, 96px) !important;

    justify-content: center !important;
    align-items: start !important;

    background: none !important;
    position: relative !important;
    overflow: visible !important;
    isolation: isolate !important;
}


/* DELIKATNE TŁO */

.product-feature-block::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;

    background-image:
        repeating-radial-gradient(
            ellipse at 43% 50%,
            rgba(10, 29, 58, 0.03) 0,
            rgba(10, 29, 58, 0.03) 1px,
            transparent 2px,
            transparent 18px
        );

    opacity: 0.45;
}


/* LEWA KOLUMNA — TEKST */

.product-feature-block__content {
    width: 100% !important;
    max-width: 560px !important;
}

.product-feature-block__title {
    max-width: 540px !important;
    margin: 0 0 28px !important;

    color: #071935 !important;
    font-size: clamp(32px, 2.25vw, 44px) !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    letter-spacing: 0.055em !important;
}

.product-feature-block__description {
    max-width: 540px !important;

    color: #050505 !important;
    font-size: 17px !important;
    line-height: 1.34 !important;
    font-weight: 500 !important;
}

.product-feature-block__description p {
    margin: 0 0 16px !important;
}

.product-feature-block__description p:last-child {
    margin-bottom: 0 !important;
}


/* LISTA PUNKTÓW */

.product-feature-block__bullets {
    list-style: none !important;
    padding: 0 !important;
    margin: 38px 0 0 !important;

    max-width: 540px !important;

    color: #050505 !important;
    font-size: 17px !important;
    line-height: 1.34 !important;
    font-weight: 500 !important;
}

.product-feature-block__bullets li {
    position: relative !important;
    padding-left: 26px !important;
    margin-bottom: 6px !important;
}

.product-feature-block__bullets li::before {
    content: "✓" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    font-weight: 800 !important;
}


/* PRAWA KOLUMNA — ZDJĘCIA */

.product-feature-block__media {
    position: sticky !important;
    top: 110px !important;

    width: 100% !important;
    max-width: 900px !important;

    align-self: start !important;
    overflow: visible !important;
}


/* ZDJĘCIE GŁÓWNE */

.product-feature-block__image-main {
    display: block !important;
    width: 100% !important;

    aspect-ratio: 16 / 9 !important;
    height: auto !important;

    object-fit: cover !important;
    object-position: center !important;
}


/* MAŁE ZDJĘCIE — PRAWY DOLNY RÓG, W POŁOWIE NA ZEWNĄTRZ */

.product-feature-block__image-small-wrap {
    position: absolute !important;

    top: auto !important;
    left: auto !important;
    right: -16% !important;
    bottom: 12% !important;

    transform: none !important;

    width: 32% !important;
    min-width: 220px !important;
    max-width: 330px !important;

    background: #ffffff !important;
    padding: 7px !important;

    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18) !important;
    z-index: 5 !important;
}

.product-feature-block__image-small {
    display: block !important;
    width: 100% !important;

    aspect-ratio: 4 / 3 !important;
    height: auto !important;

    object-fit: cover !important;
    object-position: center !important;
}


/* WARIANT: SAM OPIS */

.product-feature-block--text_only {
    grid-template-columns: minmax(0, 900px) !important;
}

.product-feature-block--text_only .product-feature-block__content {
    max-width: 900px !important;
}

.product-feature-block--text_only .product-feature-block__title,
.product-feature-block--text_only .product-feature-block__description,
.product-feature-block--text_only .product-feature-block__bullets {
    max-width: 900px !important;
}


/* =========================================================
   MNIEJSZE DESKTOPY / LAPTOP
   ========================================================= */

@media (max-width: 1300px) {
    .product-feature-block {
        width: min(calc(100vw - 48px), 1180px) !important;

        grid-template-columns: minmax(360px, 480px) minmax(0, 650px) !important;
        gap: 48px !important;

        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }

    .product-feature-block__content {
        max-width: 480px !important;
    }

    .product-feature-block__title {
        max-width: 460px !important;
        font-size: clamp(30px, 2.8vw, 38px) !important;
    }

    .product-feature-block__description,
    .product-feature-block__bullets {
        max-width: 460px !important;
        font-size: 16px !important;
    }

    .product-feature-block__media {
        max-width: 650px !important;
    }

    .product-feature-block__image-small-wrap {
        right: -14% !important;
        bottom: 12% !important;

        width: 30% !important;
        min-width: 190px !important;
        max-width: 270px !important;
    }
}


/* =========================================================
   TABLET — OD TEGO MOMENTU UKŁAD PIONOWY
   ========================================================= */

@media (max-width: 1100px) {
    .product-feature-block {
        width: 100% !important;
        max-width: none !important;

        grid-template-columns: 1fr !important;
        gap: 36px !important;

        padding: 54px 22px !important;
    }

    .product-feature-block__content,
    .product-feature-block__description,
    .product-feature-block__bullets {
        max-width: 720px !important;
    }

    .product-feature-block__title {
        max-width: 720px !important;
        font-size: clamp(30px, 6vw, 42px) !important;
    }

    .product-feature-block__media {
        position: relative !important;
        top: auto !important;

        max-width: none !important;
    }

    .product-feature-block__image-small-wrap {
        right: 24px !important;
        bottom: 24px !important;

        width: min(38%, 300px) !important;
        min-width: 0 !important;
        max-width: 300px !important;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 600px) {
    .product-feature-block {
        padding: 44px 18px !important;
        gap: 30px !important;
    }

    .product-feature-block__title {
        font-size: clamp(28px, 7.4vw, 36px) !important;
        line-height: 1.14 !important;
        margin-bottom: 22px !important;
    }

    .product-feature-block__description,
    .product-feature-block__bullets {
        font-size: 16px !important;
        line-height: 1.38 !important;
    }

    .product-feature-block__bullets {
        margin-top: 30px !important;
    }

    .product-feature-block__image-main {
        aspect-ratio: 4 / 3 !important;
    }

    .product-feature-block__image-small-wrap {
        position: relative !important;

        right: auto !important;
        bottom: auto !important;

        width: 78% !important;
        max-width: 340px !important;

        margin: -42px 12px 0 auto !important;
        padding: 5px !important;
    }
}


/* =========================================================
   MAŁE TELEFONY
   ========================================================= */

@media (max-width: 380px) {
    .product-feature-block {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .product-feature-block__title {
        font-size: 27px !important;
    }

    .product-feature-block__image-small-wrap {
        width: 84% !important;
        margin-top: -34px !important;
    }
}
/* Korekta: mniej pustej przestrzeni, szerszy tekst */
@media (min-width: 1101px) {
    .product-feature-block {
    }

    .product-feature-block__content {
        max-width: 680px !important;
    }

    .product-feature-block__title {
        max-width: 660px !important;
        font-size: clamp(30px, 2vw, 40px) !important;
        line-height: 1.12 !important;
        margin-bottom: 26px !important;
    }

    .product-feature-block__description,
    .product-feature-block__bullets {
        max-width: 660px !important;
        font-size: 16px !important;
        line-height: 1.34 !important;
    }

    .product-feature-block__media {
        max-width: 920px !important;
    }
}
/* TYPOGRAFIA OPISU — jak zwykły tekst Elementor */
.product-feature-block {
    font-family: "Poppins", sans-serif !important;
}

.product-feature-block__description,
.product-feature-block__description p {
    font-family: "Poppins", sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    color: #333333 !important;
}

.product-feature-block__description {
    max-width: 680px !important;
}

.product-feature-block__description p {
    margin: 0 0 20px !important;
}

.product-feature-block__description p:last-child {
    margin-bottom: 0 !important;
}

/* lista punktów też w tym samym stylu */
.product-feature-block__bullets,
.product-feature-block__bullets li {
    font-family: "Poppins", sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
    color: #333333 !important;
}

/* mobile */
@media (max-width: 600px) {
    .product-feature-block__description,
    .product-feature-block__description p,
    .product-feature-block__bullets,
    .product-feature-block__bullets li {
        font-size: 16px !important;
        line-height: 1.45 !important;
    }
}
/* =========================================================
   Product Feature Block — proporcja tekst:grafika 1:2
   WKLEJ NA SAMYM KOŃCU
   ========================================================= */

@media (min-width: 1101px) {
    .product-feature-block {
        width: min(calc(100vw - 64px), 1664px) !important;
        max-width: 1664px !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding-top: clamp(64px, 5vw, 96px) !important;
        padding-bottom: clamp(64px, 5vw, 96px) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;

        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) !important;
        column-gap: clamp(32px, 3vw, 56px) !important;
        row-gap: 0 !important;

        justify-content: center !important;
        align-items: start !important;

        overflow: visible !important;
    }

    .product-feature-block__content {
        width: 100% !important;
        max-width: none !important;
    }

    .product-feature-block__title {
        width: 100% !important;
        max-width: none !important;

        font-size: clamp(30px, 2vw, 40px) !important;
        line-height: 1.12 !important;
        letter-spacing: 0.055em !important;

        margin-bottom: 28px !important;
    }

    .product-feature-block__description,
    .product-feature-block__description p,
    .product-feature-block__bullets,
    .product-feature-block__bullets li {
        max-width: none !important;

        font-family: "Poppins", sans-serif !important;
        font-size: 20px !important;
        font-weight: 400 !important;
        line-height: 1.45 !important;
        letter-spacing: 0 !important;
        color: #333333 !important;
    }

    .product-feature-block__description p {
        margin-bottom: 20px !important;
    }

    .product-feature-block__media {
        width: 100% !important;
        max-width: none !important;

        position: sticky !important;
        top: 110px !important;

        overflow: visible !important;
        align-self: start !important;
    }

    .product-feature-block__image-main {
        width: 100% !important;
        max-width: none !important;

        aspect-ratio: 16 / 9 !important;
        height: auto !important;

        object-fit: cover !important;
        object-position: center !important;
    }

    .product-feature-block__image-small-wrap {
        --small-image-width: clamp(260px, 30%, 390px);

        width: var(--small-image-width) !important;
        max-width: none !important;
        min-width: 0 !important;

        right: calc(var(--small-image-width) / -2) !important;
        bottom: 12% !important;

        top: auto !important;
        left: auto !important;
        transform: none !important;
    }
}

/* Większe małe zdjęcie — desktop */
@media (min-width: 1101px) {
    .product-feature-block__image-small-wrap {
        --small-image-width: clamp(320px, 36%, 480px) !important;

        width: var(--small-image-width) !important;
        right: calc(var(--small-image-width) / -2) !important;
        bottom: 10% !important;
    }
}

/* Tablet */
@media (max-width: 1100px) {
    .product-feature-block__image-small-wrap {
        width: min(46%, 360px) !important;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .product-feature-block__image-small-wrap {
        width: 82% !important;
        max-width: 380px !important;
    }
}

/* =========================================================
   ETAP feature-overlay-20260820
   Małe zdjęcie nachodzi na duże i WYCHODZI poza jego kadr
   (tak jak w projekcie), ale miejsce na to wysunięcie jest
   zarezerwowane paddingiem kontenera .__media.

   Dlaczego tak: poprzednia wersja używała
   right: calc(var(--small-image-width) / -2)  ->  right: -160px
   licząc na margines strony. Bloku nie stać na ten margines
   (width: min(100vw - 64px, 1664px) = 32px z każdej strony),
   więc zdjęcie wychodziło poza VIEWPORT i cała strona
   przewijała się poziomo o 128px — na każdej szerokości
   (zmierzone: scrollWidth 1568 przy viewport 1440,
   scrollWidth 1068 przy viewport 940).

   Teraz .__media ma padding od prawej i od dołu, obrazek
   główny kurczy się o tę wartość, a nakładka siedzi w
   zarezerwowanym pasie (right:0; bottom:0) — wizualnie
   wychodzi poza duże zdjęcie, ale nigdy poza stronę.
   ========================================================= */

.product-feature-block__media {
    --pfb-overhang-x: clamp(28px, 8%, 140px);
    --pfb-overhang-y: clamp(14px, 3%, 46px);

    /* PRZYWRÓCONE sticky. Pierwsza wersja tej poprawki ustawiała tu
       position: relative, żeby kadr był kontekstem dla nakładki
       pozycjonowanej absolutnie — i przy okazji wyłączała jazdę
       kadru za scrollem. position: sticky też tworzy taki kontekst,
       więc efekt wysunięcia nakładki zostaje nienaruszony. */
    position: sticky !important;
    top: 110px !important;

    padding-right: var(--pfb-overhang-x) !important;
    padding-bottom: var(--pfb-overhang-y) !important;

    overflow: visible !important;
}

/* delikatne osadzenie dużego kadru */
.product-feature-block__image-main {
    box-shadow: 0 10px 30px rgba(7, 25, 53, 0.10) !important;
}

.product-feature-block__image-small-wrap {
    position: absolute !important;

    top: auto !important;
    left: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    transform: none !important;

    width: clamp(190px, 34%, 420px) !important;
    min-width: 0 !important;
    max-width: 46% !important;
    margin: 0 !important;

    background: #ffffff !important;
    padding: 10px !important;

    /* warstwowy cień: styk + uniesienie + miękkie rozejście */
    box-shadow:
        0 1px 2px rgba(7, 25, 53, 0.10),
        0 8px 18px rgba(7, 25, 53, 0.14),
        0 26px 52px rgba(7, 25, 53, 0.20) !important;

    z-index: 5 !important;
}

.product-feature-block__image-small {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
    object-position: center !important;
}

/* tablet */
@media (max-width: 1100px) {
    .product-feature-block__media {
        --pfb-overhang-x: clamp(24px, 7%, 90px);
        --pfb-overhang-y: clamp(12px, 2.5%, 32px);

        /* w układzie pionowym kadr nie ma obok czego jechać */
        position: relative !important;
        top: auto !important;
    }

    .product-feature-block__image-small-wrap {
        width: clamp(170px, 36%, 320px) !important;
        padding: 8px !important;

        box-shadow:
            0 1px 2px rgba(7, 25, 53, 0.10),
            0 6px 14px rgba(7, 25, 53, 0.14),
            0 18px 36px rgba(7, 25, 53, 0.20) !important;
    }
}

/* telefon — ta sama zasada, mniejsza skala.
   Poprzednio przy <=600px nakładka dostawała
   position: relative + margin-top: -42px + width: 82%,
   przez co lądowała na środku dużego zdjęcia zamiast
   trzymać się jego rogu. */
@media (max-width: 600px) {
    .product-feature-block__media {
        --pfb-overhang-x: 18px;
        --pfb-overhang-y: 14px;
    }

    .product-feature-block__image-small-wrap {
        position: absolute !important;

        right: 0 !important;
        bottom: 0 !important;

        width: 48% !important;
        max-width: 210px !important;
        margin: 0 !important;
        padding: 6px !important;

        box-shadow:
            0 1px 2px rgba(7, 25, 53, 0.10),
            0 5px 12px rgba(7, 25, 53, 0.16),
            0 14px 28px rgba(7, 25, 53, 0.22) !important;
    }
}/* End custom CSS */