/* IMPACT - By DistinctiveThemes */

/*@import url(http://fonts.googleapis.com/css?family=Lato:400,700,300);*/
body{
    font-family: Montserrat;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

/* Brand: wszystkie naglowki Montserrat. Nadpisuje domyslny "Segoe UI" z w3.css,
   ktory renderowal sie inaczej na Windows (klient) niz na Mac. Self-hosted Montserrat = identycznie wszedzie. */
h1, h2, h3, h4, h5, h6 { font-family: 'Montserrat', 'Segoe UI', Arial, sans-serif !important; }

.verticalimg{
    text-align: center;
    text-align: -webkit-center;
    text-align: -moz-center;
    margin-bottom: 2%;
}
.widthimg{
    width: 90%;
}


.x_fontsize1{
    font-size: 31px;
    text-align: left;
    font-weight: bold;
}
.x_fontsize2{
    font-size: 14px;
    text-align: justify;
}
.kard2{
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    min-height: 194px;
    width: 100%;
}

.x_img-left{
    border-bottom-right-radius: 200px
}

.x_img-right{
    border-bottom-left-radius: 200px
}

.mapboxgl-canvas{
    position: unset!important;
}
.margin3d{
    margin-left: 5%;
}



#X2{
    background-color: #ffffffe5;
}
#X3{
    background-color: transparent;
}
.w3-container{
    padding: 0;
}
.atextdecor{
    text-decoration: none;
}
.praccss{
    margin-left:2%;
    width: 100%;
}
.baner{
    width: 100%;
}
.border12{
    border-radius: 12px;
}

.color1{
    color:black;
    text-decoration: none;
}

.paddingna1{
    padding-left:4%;
    padding-right: 4%;
    padding-top: 3%;
}
.paddingna2{
    padding-left:3%;
    padding-right: 2%;
}

.paddingna3{
    padding-left:26%!important;
    padding-right: 2%;
}
.paddingna5{
    padding-left:2%!important;
    padding-right: 2%;
}

.paddingTWO1{
    padding-left:20%!important;
    padding-right: 2%;
    margin-bottom: 2%;
}
.paddingTWO2{
    padding-left:20%!important;
    padding-right: 2%;
}
.paddingTWO3{
    padding-right: 22%!important;
    padding-left: 4%!important;
}
.paddingTWO4{
    margin-left: 18%;
}
.paddingONE{
    padding-left:38%!important;
    padding-right: 2%;
}

.paddingna4{
    padding-left:3%!important;
    padding-right: 2%;
}
.font1:hover {
    color: white!important;
}
.old1:hover {
color: white!important;
}
#but1:hover {
    color: white!important;
}
#but1c:hover {
    color: white!important;
}
.plikicookie{
    width: 48%;margin-left: 3%; color: #F8F8F8; font-size: 14px; font-family: Montserrat; font-weight: 400;text-align: left!important; word-wrap: break-word
}

.selectrozliczenie {
    top: 47px;
    width: 641px;
    left: 2px;
}
.selectrozliczeniePhone {
    top: 43px;
    width: 323px;
    left: 2px;
}
.selectrozliczenie2{
    top: 44px;
    width: 478px;
    left: 2px;
}
.selectrozliczenie2phone{
   // top: 58px;
    width: 337px;
    left: 2px;
}
#but1d:hover{
    color:black!important;
}
#w3display4:hover{
    //color:black!important;
}
.padd1zzzz{
    margin-bottom: 4%;
    margin-top: 4%;
}
.titlephone{
    width: 100%;
    text-align: center;
    height: 100px;
}
.textphone{
    padding-left: 4%;
    padding-right: 4%;
}
.szerokoscphone{
    width: 100%;
}
.imgphone{
    width: 100%;
    //padding-right: 6%;
}
.imgphone2{
    width: 100%;
    padding-left: 6%;
}

.inputtextheight{
    height: 48px!important;
    border-radius: 15px!important;
}

.szerokosc{
    width: 100%;
}
.faq1{
    height: 65px;
}
.R1M{
    height: 339px; position: relative; background: #063779
}
.R1{
    height: 339px; left: 1100px; top: 0px; position: absolute; border-bottom-left-radius: 200px
}
.R1s{
    width: 64%; height: 152px; left: 9%; top: 133px; position: absolute; text-align: left; color: #F9F9F9; font-size: 14px; font-family: Montserrat; font-weight: 400; word-wrap: break-word
}
.R1t{
    height: 44px; left: 165px; top: 64px; position: absolute; color: #F9F9F9; font-size: 36px; font-family: Montserrat; font-weight: 600; word-wrap: break-word"
}
.R2{
    height: 339px; top: 0px; position: absolute; border-bottom-left-radius: 200px
}
.R2t{
    left: 165px; top: 64px;color: #F9F9F9; font-size: 36px; font-family: Montserrat; font-weight: 600; word-wrap: break-word
}
.R3{

}
.R3t{
    color: #F9F9F9; font-size: 36px; font-family: Montserrat; font-weight: 600; word-wrap: break-word
}
.R4{
    color: #312B4F;left: 165px; top: 64px; font-size: 36px; font-family: Montserrat; font-weight: 600; word-wrap: break-word;
}
.R4t{
    color: #312B4F;text-align: justify; font-size: 14px; font-family: Montserrat; font-weight: 400; word-wrap: break-word
}
.title1a{
    width: 798px;
}

.text_1{
    width: 85%;
}

.imgroundzlewej{
    border-bottom-right-radius: 200px;
}

@media (max-width: 3840px) and (min-width: 2961px) {

    .formularzcentermargin{
        padding-left: 9%;
        padding-right: 9%;
    }
    .containerMargin{
        margin: 4%;
    }
    .cennik{
        padding-left: 7%;
        padding-right: 7%;
    }
    .faq1{
        padding: 16px;
        background: linear-gradient(180deg, #0466B5 0%, #312B4F 100%);
        border-radius: 8px;
        color: white;
    }
    #map {
    //position: absolute;
        top: 0;
        bottom: 0;
        width: 100%;
        height: 620px;

    }
    .selectrozliczenie {
        top: 47px;
        width: 100%;
        left: 2px;
    }
    .selectkrajflaga{
        width: 347px;
        left: 0px;
    }
    .faqpytanie{
        width:92%;
        text-align: left;
        margin-left: 2%;
        margin-top:-0.5%
    }
    .formularzpadding1{
        padding-right: 7%;
        padding-left: 7%;
    }
    .star1{
        width: 6%;
        filter: brightness(0) saturate(100%) invert(65%) sepia(86%) saturate(1850%) hue-rotate(0deg) brightness(102%) contrast(96%);
    }
    .staropiniebaner{
        color: white;
        font-size: 28px;
        margin-top:2%;
        color: white;
        font-family: Montserrat;
        font-weight: 300;
        word-wrap: break-word
    }
    .pomozemy{
        margin-top: 3%;

    }

    .kardhalf{
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        min-height: 365px;
        height: 390px;
        width: 100%;
    }

    .pomozemy2{
        margin-top: 3%;
    }
    .tabler{
        width: 92%;
        text-align: left;
        padding-left: 10%;
    }
    .pomozemy3{
        margin-top: 3%;
    }

    .kard2{
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        min-height: 365px;
        height: 174px;
    }
    .woj{background-color: #312b4f;font-size: 18px;line-height: 0.2}
}


@media (max-width: 2960px) and (min-width: 1921px) {

    .formularzcentermargin{
        padding-left: 9%;
        padding-right: 9%;
    }
    .containerMargin{
        margin: 4%;
    }
    .cennik{
        padding-left: 7%;
        padding-right: 7%;
    }
    .faq1{
        padding: 16px;
        background: linear-gradient(180deg, #0466B5 0%, #312B4F 100%);
        border-radius: 8px;
        color: white;
    }
    #map {
    //position: absolute;
        top: 0;
        bottom: 0;
        width: 100%;
        height: 620px;

    }
    .selectrozliczenie {
        top: 47px;
        width: 853px;
        left: 2px;
    }
    .selectkrajflaga{
        width: 347px;
        left: 0px;
    }
    .faqpytanie{
        width:92%;
        text-align: left;
        margin-left: 2%;
        margin-top:-0.5%
    }
    .formularzpadding1{
        padding-right: 7%;
        padding-left: 7%;
    }
    .star1{
        width: 6%;
        filter: brightness(0) saturate(100%) invert(65%) sepia(86%) saturate(1850%) hue-rotate(0deg) brightness(102%) contrast(96%);
    }
    .staropiniebaner{
        color: white;
        font-size: 28px;
        margin-top:2%;
        color: white;
        font-family: Montserrat;
        font-weight: 300;
        word-wrap: break-word
    }
    .pomozemy{
        margin-top: 3%;

    }
    .pomozemy2{
        margin-top: 3%;
    }
    .tabler{
        width: 92%;
        text-align: left;
        padding-left: 10%;
    }
    .pomozemy3{
        margin-top: 3%;
    }
    .kardhalf{
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        min-height: 365px;
        height: 390px;
        width: 100%;
    }
    .kard2{
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        min-height: 365px;
        height: 211px;
    }
    .woj{background-color: #312b4f;font-size: 18px;line-height: 0.2}
}


@media (max-width: 1920px) and (min-width: 1601px) {
    .blog4{
        padding: 4%;
        border-radius: 55px;
        height: 570px;
    }
    .blog3{
        padding: 2%;
        min-height: 250px
    }
    .blog1{
        min-height: 400px;
    }
    .kard2blog{
        padding: 2%;
        min-height: 265px;
    }

    .obrazNiemcy_1{
        height: 356px;
        margin-top:0%;
    }

    .obraz3{
        width: 257px;
    }
    #myDropdown{
        margin-top: 36px!important;
    }
    #myDropdown2{
        margin-top: 36px!important;
    }
    .baner{
        width: 100%;
       /* height: 800px;*/
    }
    .bstyle1{
        height: 237px;
    }
    .cennik1{
        font-size: 35px;
        font-weight: bold;
        margin-top: 3%;
        margin-bottom: 2%;
    }
    .containerMargin{
        margin: 4%;
    }
    .doradztwo-left{
        left: 80%!important;
    }

    .doradztwo-left2{
        left: 1467px!important;
    }
    .faqpytanie{
        width:92%;
        text-align: left;
        margin-left: 2%;
        margin-top:-0.5%
    }
    .height1{
        /*height: 80px;*/
        width: 475px;

    }

    .img_left_2{
        width: 400px;
        height: 372px;
        left: 0px;
        top: 0px;
        border-bottom-right-radius: 200px;
    }

    .imgZwrot1{
        width: 478px; height: 401px;border-bottom-right-radius: 200px
    }

    .inline{
        display: inline-block;
    }
    .kadryimg1{
        margin-top: -7%;
    }
    .margin1{
        margin: 1%;
    }

    #map {
    //position: absolute;
        top: 0;
        bottom: 0;
        width: 100%;
        height: 620px;

    }
    .margin-top1{
        margin-top: -4px;
    }
    .paddingna5{
        padding-left:20%!important;
        padding-right: 2%;
    }
    .podatkiusl{
        color: black;
        font-size: 36px;
        font-family: Montserrat;
        font-weight: 600;
        word-wrap: break-word;
        margin-top: 3%;
        margin-bottom: 3%;
        padding-left: 23%;
        padding-right: 23%;
    }



    .dsp1{
        display: flex;
        text-decoration: none;
        width: 47%;
    }

    .buttonplacowki1{
      height: 40px;
        padding: 13px 16px;
        font-weight: bold;
        width: 22%;
    }

    .onas1{
        width: 800px;
    }
    .szerokosc1{
        width: 1000px;
    }
    .szerokosc2{
        width: 1111px;
    }

    .sprawdzinneusl{
        color: black; font-size: 36px; font-family: Montserrat; font-weight: 600; word-wrap: break-word;
        margin-top:2%;
        margin-bottom:2%;
    }



    .paczkidok{
        text-align: left;
        padding-left: 10%;
        background: linear-gradient(90deg,#0466B5  0%, #9AD2FF 100%);
        color: white;
        height: 128px;
        padding-top: 2%;
    }

    .podatkiszerokosc1{
        width: 100%;
        padding-left: 3%;
        padding-right: 5%;
    }

    .steps {
        margin-top: 5%;
    }
    .star1{
        width: 6%;
        filter: brightness(0) saturate(100%) invert(65%) sepia(86%) saturate(1850%) hue-rotate(0deg) brightness(102%) contrast(96%);
    }
    .selectkrajflaga{
        width: 257px;
        left: 0px;
    }
    .selectkrajflagaform{
        width: 471px;
        left: 3px;
    }

    .imgpaddingleft1{
        padding-left: 3%;
    }


    .formularzpadding1{
        padding-right: 7%;
        padding-left: 7%;
    }
    .w3-display-right{
        right: 0%;
    }
    .w3-display-bottomright{
        right: 6%;
    }
    .opiniebaner{
        width: 100%;
        position: static;
        height: 800px;
    }
    /* 1920 */
    .kardhalf{
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        min-height: 365px;
        height: 428px;
    }
    .kard2{
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        min-height: 175px;
        height: 211px;
    }
    .imglogo{
            left: 14%;
            position: relative;
            width: 80%;
    }
    .pdf{
        width: 99px;
        margin-left: -33%;
    }
    .tabler{
        width: 92%;
        text-align: left;
        padding-left: 10%;
    }
    .formularzcentermargin{
        padding-left: 9%;
        padding-right: 9%;
    }


    .text-szerokosc{
        width:60%!important;
    }
    .cennik{
        padding-left: 7%;
        padding-right: 7%;
    }
    .wysokosc_1{
        height: 238px;
    }
    .img2kontakt{
        width: 100%;
    }
    .img_left_4{
        width: 30%!important;
    }
    .korzystajac{
        margin-top: 2%;
        padding-left: 26%;
        padding-right: 28%;
    }
    .pomozemy{
        margin-top: 3%;

    }
    .pomozemy2{
        margin-top: 3%;
    }

    .pomozemy3{
        margin-top: 3%;
    }

    .pomozemybot{
        padding-bottom: 4%
    }

    .podatkimargin{
        margin-top: 2%;
    }

    .pomozemyheight1{
        height: 355px!important;
    }
    .servicemargin1{
       margin-top: 3%;
    }
    .star2{
        width: 101px;
        margin-left: 3%;
    }
    .staropiniebaner{
        color: white;
        font-size: 28px;
        margin-top:2%;
        color: white;
        font-family: Montserrat;
        font-weight: 300;
        word-wrap: break-word
    }

    .flag{
        height: 65px;
        width:110px;
        border-radius: 4px;
        border: 1px solid var(--GRAY, #D4D4D4);
        background:lightgray 50% / cover no-repeat;
        box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.20);
        margin-left: 20px;
        margin-right: 20px;
        margin-top: 10px;
    }

    .kard1{
        width: 100%;
        height: 95px!important;
        padding: 7%;
        background: #063779;
        box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
        justify-content: center;
        align-items: center;
        gap: 16px;
        display: inline-flex;color: white;
        text-decoration: auto;
    }
    .onas2{
        padding-top: 2%;
        padding-left: 10%;
        text-align: justify;
    }
    .tddok2{
        text-align: right;
        padding-left: 3%;
    }
    .title1{
        padding-left: 3%!important;
    }
    .wysokoscHolandia1{
        height: 692px;
    }
    .marginHolandia1{
        margin-top: 22%;
    }
    .marginHolandia2{
      /*  margin-top: 24%;*/
    }
    .woj{background-color: #312b4f;font-size: 18px;line-height: 0.2}

}

@media (max-width: 1600px) and (min-width: 1441px){
    .blog4{
        padding: 4%;
        border-radius: 55px;
        height: 570px;
    }

    .blog3{
        padding: 2%;
        min-height: 250px
    }

    .blog1{
        min-height: 400px;
    }
    .kard2blog{
        padding: 2%;
        min-height: 265px;
    }

    .img_left_4{
        width: 30%!important;
    }

    #myDropdown{
        margin-top: 36px!important;
    }
    #myDropdown2{
        margin-top: 36px!important;
    }
    .astylH1{
        padding-bottom: 4%!important;
    }
    .obraz3{
        width: 237px;
    }
    .flag{
        height: 65px;
        width:110px;
        border-radius: 4px;
        border: 1px solid var(--GRAY, #D4D4D4);
        background:lightgray 50% / cover no-repeat;
        box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.20);
        margin-left: 57px;
        margin-right: 20px;
        margin-top: 10px;
    }

    .baner{
        width: 100%;
        height: 670px;
    }
    .containerMargin{
        margin: 4%;
    }
    .doradztwo-left{
        left: 83%!important;
    }
    .faqpytanie{
        width:92%;
        text-align: left;
        margin-left: 2%;
        margin-top:-0.5%
    }
    .height1{
        /*height: 80px;*/
        width: 435px;
    }
    .img_left_2{
        width: 350px;
        height: 372px;
        left: 0px;
        top: 0px;
        border-bottom-right-radius: 200px;
    }
    .marginfaq1{
        margin:3%;
    }
    .tabler{
        width: 92%;
        text-align: left;
        padding-left: 10%;
    }
    .imgZwrot1{
        width: 478px; height: 401px;border-bottom-right-radius: 200px
    }
    .kadryimg1{
        margin-top: -7%
    }
    .kard1{
        width: 100%;
        min-height: 97px;
        padding: 7%;
        background: #063779;
        box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
        justify-content: center;
        align-items: center;
        gap: 16px;
        display: inline-flex;color: white;

    }
    .kardhalf{
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        min-height: 365px;
        height: 328px;
    }
    .kard2{
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        min-height: 216px;
        height: 174px;
    }
    .korzystajac{
        margin-left: 10%;
        width: 80%;
    }

    .margin1{
        margin: 4%;
    }
    .margin3d{
        margin-left: 0%;
    }
    .onas2{
        padding-top: 2%;
        padding-left: 10%;
        text-align: justify;
    }
    .opiniebaner{
        width: 100%;
        position: static;
        height: 600px;
    }
    .paddingTWO4{
        margin-left: 21%;
    }
    .paczkidok{
        text-align: left;
        padding-left: 10%;
        background: linear-gradient(90deg,#0466B5  0%, #9AD2FF 100%);
        color: white;
        height: 128px;
        padding-top: 2%;
    }
    .podatkiusl{
        color: black;
        font-size: 36px;
        font-family: Montserrat;
        font-weight: 600;
        word-wrap: break-word;
        margin-top: 3%;
        margin-bottom: 3%;
        padding-left: 23%;
        padding-right: 23%;
    }
    .podatkiszerokosc1{
        margin-left: 2%;
        margin-right: 1%;
    }
    .pomozemy{
        margin-top: 2%;
    }
    .star1{
        width: 6%;
    }
    .star2{
        width: 101px;
        margin-left: 3%;
    }
    .staropiniebaner{
        color: white;
        font-size: 28px;
        margin-top:2%;
        color: white;
        font-family: Montserrat;
        font-weight: 300;
        word-wrap: break-word
    }

    .title1{
        padding-left: 3%;
    }
    .wysokoscHolandia1{
        height: 800px;
    }
    .marginHolandia1{
        margin-top: 22%;
    }
    .marginHolandia2{

    }
    .woj{background-color: #312b4f;font-size: 18px;line-height: 0.2}
}

@media  (max-width: 1440px) and (min-width: 1201px)  {
    .blog4{
        padding: 4%;
        border-radius: 55px;
        height: 570px;
    }
    .blog3{
        padding: 2%;
        min-height: 312px
    }

    .blog1{
        min-height: 590px;
    }
    .kard2blog{
        padding: 2%;
        min-height: 200px;
    }

    .blogimg1{
        min-height: 400px;
    }

    #myDropdown{
        margin-top: 36px;
    }
    #myDropdown2{
        margin-top: 36px;
    }
    .obraz3{
        width: 237px;
    }
    .astylH1{
        padding-bottom: 5%!important;
    }

    .containerMargin{
        margin: 4%;
    }
    .title1{
        padding-left: 3%!important;
    }
    .faqpytanie{
        width:92%;
        text-align: left;
        margin-left: 2%;
        margin-top:-0.5%
    }
    .marginfaq1{
        margin:3%;
    }
    .margin3d{
        margin-left: 0%;
    }
    .height1{
        /*height: 80px;*/
        width: 300px;
    }
    .kadryimg1{
        margin-top: -7%
    }
    .doradztwo-left{
        left: 83%!important;
    }
    .doradztwo-left2{
        left: 83%!important;
    }
    .tabler{
        width: 92%;
        text-align: left;
        padding-left: 10%;
    }
    .img_left_2{
        width: 332px;
        height: 332px;
        left: 0px;
        top: 0px;
        border-bottom-right-radius: 200px;
    }
    .margin3d{
        margin-left: 0%;
    }
    .imgZwrot1{
        width: 90%; height: 401px;border-bottom-right-radius: 200px
    }
    .img_left_4{
            width: 30%!important;
    }
    .img_left_3{
        width: 90%;
    }
    .kard1{
        max-height: 59px;
    }
    .kardhalf{
        height: 328px;
    }
    .kard2{
        height: 194px;
    }
    .margin1{
        margin: 4%;
    }
    .navbar{
        width: 86%!important;
    }
    .onas2{
        padding-top: 2%;
        padding-left: 10%;
        text-align: justify;
    }
    .paczkidok{
        text-align: left;
        padding-left: 10%;
        background: linear-gradient(90deg,#0466B5  0%, #9AD2FF 100%);
        color: white;
        height: 128px;
        padding-top: 2%;
    }
    .pomozemyheight1{
        height: 448px!important;
    }
    .podatkiszerokosc1{
        width: 100%;
        padding-left: 3%;
        padding-right: 2%;
    }
    .pomozemy{
        margin-top: 2%;
    }

    .szerokosc{
        width: 1440px;
    }
    .star1{
        width: 6%;
    }
    .star2{
        width: 101px;
        margin-left: 3%;
    }
    .staropiniebaner{
        color: white;
        font-size: 28px;
        margin-top:2%;
        color: white;
        font-family: Montserrat;
        font-weight: 300;
        word-wrap: break-word
    }
    .steps {
        margin-top: 5%;
    }

    .baner{
        width: 100%;

    }
    .onas1{
        width: 655px;
    }

    .paddingna5 {
        padding-left: 24% !important;
        padding-right: 2%;
    }

    .paddingna2{
        padding-left:5%;
        padding-right: 2%;
    }

    .podatkiusl{
        color: black;
        font-size: 36px;
        font-family: Montserrat;
        font-weight: 600;
        word-wrap: break-word;
        margin-top: 3%;
        margin-bottom: 3%;
        padding-left: 23%;
        padding-right: 23%;
    }

    .szerokosc1{
        width: 805px;
    }
    .szerokosc2{
        width: 890px;
    }
    .szerokosc3{
        height: 401px; position: relative; background: #D4D4D4;
    }
    .szerokosc4{
        height: 543px; background: #0466B5; justify-content: flex-end; align-items: flex-start; gap: 75px; display: inline-flex;
    }
    .szerokosc5{
        height: 372px; position: relative; background: #063779;
    }
    .szerokosc6{
        height: 342px; position: relative; background: #EEEEEE
    }
    .szerokosc7{
        height: 238px; padding-top: 64px; padding-bottom: 64px; background: #312B4F; flex-direction: column; justify-content: center; align-items: center; gap: 32px; display: inline-flex
    }
    .szerokoscX1{
        width: 599px; height: 44px; left: 510px; top: 64px; position: absolute; color: #F9F9F9; font-size: 36px; font-family: Montserrat; font-weight: 600; word-wrap: break-word
    }
    .szerokoscX2{
        width: 629px; height: 44px; left: 165px; top: 64px; position: absolute; color: #F9F9F9; font-size: 36px; font-family: Montserrat; font-weight: 600; word-wrap: break-word
    }
    .szerokoscX3{
        width: 800px; height: 44px; left: 564px; top: 64px; position: absolute; color: #312B4F; font-size: 36px; font-family: Montserrat; font-weight: 600; word-wrap: break-word
    }
    .wysokoscHolandia1{
        height: 930px;
    }
    .marginHolandia1{
        margin-top: 40%;
    }

    .marginHolandia2{
        margin-top: 53%;}

    .woj{background-color: #312b4f;font-size: 13px;line-height: 0.2}

    }

@media  (max-width: 1200px) and (min-width: 901px) {
    .blog4{
        padding: 4%;
        border-radius: 55px;
        height: 450px;
    }
    .w3-third{
        width: 100%;
    }
    .blog1{
        min-height: 581px;
    }
    .kard2blog{
        padding: 2%;
        min-height: 190px;
    }

    #myDropdown{
        margin-top: 32px;
    }
    #myDropdown2{
        margin-top: 32px;
    }
    .obraz3{
        width: 237px;
    }
    .astyl5{
        padding-left:2%!important;
        margin-left:15%!important;
        width: 100%!important;
    }
    .marginfaq1{
        margin:3%;
    }
    .obraz3{
        width: 237px;
    }
    .astyl6{
        padding-left:2%!important;
        width: 100%!important;
    }
    .astyl4 {
        padding-left: 2%!important;
        padding-right: 2%!important;
        margin-bottom: 25%!important;
    }
    .astyl1{
        margin-top: -1%!important;
    }
    .astyl13{
        height: 215px!important;
    }

    .margin3d{
        margin-left: 0%;
    }
    #myDropdown2{
        margin-top: 33px!important;
    }
    #myDropdown{
        margin-top: 33px!important;
    }
    .containerMargin{
        padding: 2%;
    }
    .doradztwo-left{
        left: 80%!important;
    }
    .faqpytanie{
        width:92%;
        text-align: left;
        margin-left: 2%;
        margin-top:-0.5%
    }
    .flagp{
        width: 70%;
        height: 102px;
        border-radius: 4px;
        margin-left: 10%;
        margin-bottom: 5%;
        border: 1px solid black;
        margin-top: 10px;
    }
    .height1{
        margin-top:5%;
    }
    .heightService1{
      height: 100px!important;
    }
    .heightService2{
       /* height: 100px!important;*/
    }
    .img_left_2{
        width: 90%;
        height: 372px;
        left: 0px;
        top: 0px;
        border-bottom-right-radius: 200px;
    }
    .img_left_3{
        height: 130px!important;

    }
    .tabler{
        width: 92%;
        text-align: left;
        padding-left: 10%;
    }
    .img_left_4{
        width: 30%!important;
    }
    .imgZwrot1{
        width: 70%; height: 301px;border-bottom-right-radius: 200px
    }
    .img2{
        display: none;
    }
/*1200 */
    .kadryimg1{
        margin-top: -7%;
        width: 90%;
    }
    .kard1{
        max-height: 59px;
        padding-bottom: 3%;
    }
    .kardhalf{
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        height: 300px;

    }
    .kard2{
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        height: 200px;

    }
    .margin1{
        margin: 4%;
    }
    .navbar{
            padding-right: 24%;
        height: 93px;
    }
    .obraz1{
        width: 200px;
    }
    .paczkidok{
        text-align: left;
        padding-left: 10%;
        background: linear-gradient(90deg,#0466B5  0%, #9AD2FF 100%);
        color: white;
        height: 128px;
        padding-top: 2%;
    }
    #pomozemy{
        margin-top: 3%;
    }
    .astyl5{
        margin-left: 0% !important;
    }
    .paddingTWO2{
        padding-right: 22%!important;
        padding-left: 22%!important;
        width: 100%!important;
    }
    .paddingTWO3{
        padding-right: 22%!important;
        padding-left: 22%!important;
        width: 100%!important;
    }
    .paddingTWO4{
        padding-right: 22%!important;
        padding-left: 22%!important;
        width: 100%!important;
        margin-left: 0%;
    }
    .paddingTWO1{
        padding-right: 22%!important;
        padding-left: 22%!important;
        width: 100%!important;
    }
    .pomozemyheight1{
        height: 458px!important;
    }
    .onas2{
        padding-top: 2%;
        padding-left: 10%;
        text-align: justify;
    }
    .star2{
        width: 51px;
        margin-left: 3%;
    }
    .staropiniebaner{
        color: white;
        font-size: 18px;
        margin-top:2%;
        color: white;
        font-family: Montserrat;
        font-weight: 300;
        word-wrap: break-word
    }
    .title1{
        padding-left: 3%;
    }
    .title1a{
        width: 100%;
    }

    .title2{
        font-size: 32px!important;
    }
    .paddingna5{
      padding-left: 2%!important;
    }
    .podatkiszerokosc1{
        display: block!important;
        margin-left: 2%;
        margin-right: 4%;
        margin-bottom: 3%;
        gap: 0!important;
        width: 100%!important;
    }
    .pomozemy{
        margin-top: 2%;
    }
    #plikicookie{
    width: 80%!important;
    }

    .star1{
        width: 6%;
    }
    .szerokoscHolandia{
        padding-right: 2%;
    }
    .wysokoscHolandia1{
        height: 1000px;
    }
    .marginHolandia1{
        margin-top: 40%;
    }

    .marginHolandia2{
       /* margin-top: 72%; */
       }


    .R1t{
        height: 44px; left: 88px;font-size: 26px!important; top: 64px; position: absolute; color: #F9F9F9; font-size: 36px; font-family: Montserrat; font-weight: 600; word-wrap: break-word"
    }
    .R1M{
        height: 380px; position: relative; background: #063779
    }
    .woj{background-color: #312b4f;font-size: 11px;line-height: 0.2}
}

@media  (max-width: 900px) and (min-width: 601px){
    .blog4{
        padding: 4%;
        border-radius: 55px;
        height: 400px;
    }
    .w3-third{
        width: 100%;
    }

    .blog1{
        min-height: 400px;
    }
    .kard2blog{
        padding: 2%;
        min-height: 140px;
    }

    .HeightNiemcy1{

    }
    .obrazNiemcy_1{

    }
    .wysokoscNiemcy1{

    }
    .img_left_4{
        width: 20%;
    }
    .obraz1{
        height: 150px!important;
    }
    .obraz2{
        width: 200px;
    }
    .obraz3{
        width: 200px;
    }
    .podatki1{
        width: 90%;
    }
    .bstyle3{
        height: 454px!important;
    }
    .marginfaq1{
        margin:3%;
    }
    .astyleG1{
        padding-right: 3%;
    }
    .Gewimg1{
        height: 180px!important;
    }
    .aNstyle1{
        width: 90%;
    }
    .astyl13{
        height: 322px!important;
    }
    .astyl12{
        width: 90%;
    }
    .astyl11{
        height:303px!important;
    }
    .astyl5{
        padding-left:2%!important;

    }
    .astyl6{
        padding-left:2%!important;
    }
    .astyl4 {
        padding-left: 2%!important;
        padding-right: 2%!important;
        margin-bottom: 5%!important;
    }
    .astyl2{
        width: 90%;
    }
    .astyl3{
        height: 300px!important;
    }
    .bstyle2{
        height: 314px;
    }

    .paczkidok{
        text-align: left;
        padding-left: 10%;
        background: linear-gradient(90deg,#0466B5  0%, #9AD2FF 100%);
        color: white;
        height: 128px;
        padding-top: 2%;
    }

    .margin3d{
        margin-left: 0%;
    }
    .containerMargin{
       margin: 2%;
    }
    .faqpytanie{
        width:92%;
        text-align: left;
        margin-left: 2%;
        margin-top:-2.5%
    }
    .tabler{
        width: 92%;
        text-align: left;
        padding-left: 10%;
    }
    .height1{
        margin-top: 5%;
    }
    .img2{
        display: none;
    }
    .img_left_2{
        width: 400px;
        height: 372px;
        left: 0px;
        top: 0px;
        border-bottom-right-radius: 200px;
    }
    .img_left_4{
        width: 200%;
    }
    .kadryimg1{
        margin-top: -7%;
        width: 90%;
    }
    .margin1{
        margin: 1%;
    }
    .onas2{
        padding-top: 2%;
        padding-left: 10%;
        text-align: justify;
    }
    .paddingTWO2{
       padding-right: 22%!important;
       padding-left: 22%!important;
    }
    .paddingTWO3{
        padding-right: 22%!important;
        padding-left: 4%!important;
    }
    .paddingTWO4{
        margin-left: 18%;
    }
    .paddingTWO1{
        padding-right: 22%!important;
        padding-left: 22%!important;
    }
    #pomozemy{
        margin-top: 2%;
    }
    .star1{
        width: 6%;
    }
    .star2{
        width: 31px;
        margin-left: 3%;
    }
    .staropiniebaner{
        color: white;
        font-size: 12px;
        margin-top:2%;
        color: white;
        font-family: Montserrat;
        font-weight: 300;
        word-wrap: break-word
    }

    .kard1{
        width: 100%;
        min-height: 97px;
        padding: 7%;
        background: #063779;
        box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
        justify-content: center;
        align-items: center;
        gap: 16px;
        display: inline-flex;color: white;

    }
    .kardhalf{
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        min-height: 216px;
        height: 200px;
    }
    .kard2{
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        min-height: 216px;
        height: 174px;
    }

    .plikicookie{
        width: 90%;margin-left: 3%; color: #F8F8F8; font-size: 14px; font-family: Montserrat; font-weight: 400;text-align: left!important; word-wrap: break-word
    }
    .pomozemy{
        margin-top: 3%;

    }

    .pomozemy2{
        text-align: center;

    }
    .R1M{
        height: 490px; position: relative; background: #063779
    }
    .R1{
        width: 30%;
        height:280px;
        left: 1px;
        top: 0px;
        position: absolute;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 200px
    }
    .R1t{
        height: 44px; left: 32%; top: 23px; position: absolute; color: #F9F9F9; font-size: 26px; font-family: Montserrat; font-weight: 600; word-wrap: break-word"
    }
    .R1s{
        width: 64%; height: 152px; left: 32%; top: 123px; position: absolute; text-align: left; color: #F9F9F9; font-size: 14px; font-family: Montserrat; font-weight: 400; word-wrap: break-word
    }
    .R2{
        height: 250px; top: 0px; position: absolute; border-bottom-left-radius: 0px;border-bottom-right-radius: 200px;
        left: 1px;
        width: 30%;

    }


    .R2t{
       top: 64px;color: #F9F9F9; font-size: 36px; font-family: Montserrat; font-weight: 600; word-wrap: break-word;
        margin-left: 54%;
        width: 90%;
    }
    .R3{
        width: 90%;
        height: 250px;
    }
    .R3t{
        color: #F9F9F9; font-size: 36px; font-family: Montserrat; font-weight: 600; word-wrap: break-word
    }

    .R4{
        color: #312B4F;left: 165px; top: 64px; font-size: 36px; font-family: Montserrat; font-weight: 600;
        word-wrap: break-word;
        margin-left: 40%;
    }
    .R4t{
        color: #312B4F;text-align: justify; font-size: 14px; font-family: Montserrat; font-weight: 400;
        word-wrap: break-word;
        margin-left: 40%;
        width: 100%;
    }
    .R4s{

    }

    .a_1{
        background-color:#312b4f!important;
        text-align: left!important;
    }
    .backgroundF{
        background-color:#312b4f!important;
    }
    .icon_1{
        background-color:#312b4f!important;
    }
    .image_1{
        width: 10%;
    }
    .img_left_3{
       height: 160px!important;

    }
    .imgZwrot1{
        width: 90%; border-bottom-right-radius: 200px;
    }
    .logo_1{
        width: 30%;
    }
    .obraz4{
        width: 200px;
    }
    .podatkiszerokosc1{
        display: block!important;
        margin-left: 2%;
        margin-right: 2%;
        margin-bottom: 3%;
    }

    .title1a{
        width: 90%!important;
        margin-left: 2%;
    }
    .wysokoscHolandia1{
       /* height: 1570px;*/
    }
    .wysokosc1{

    }
    .wysokosc2{
        height: 1113px!important;
    }
    .wysokosc1b{
        height: 460px!important;
    }
    .wysokosc1c{
        height: 411px!important;
    }
    .wysokosc5{

        width: 100%;
    }
    .wysokosc6{

        width: 100%;
    }
.marginService1{
    margin-top: 7%;
}
.widthService1{
    width: 90%;
}
    .marginHolandia2 {

    }
    .marginHolandia1{
        margin-top: 22%;
    }
    .marginB1{
        margin-top: 47px;
    }
    .woj{background-color: #312b4f;font-size: 11px;line-height: 0.2}
}

@media  (max-width: 600px) {
    .blog1{
        min-height: 400px;
    }
    .kard2blog{
        padding: 2%;
        min-height: 265px;
    }


    .phonehide{
        display: none!important;
    }
    .x_img-left{
        border-bottom-right-radius: 0px
    }

    .x_img-right{
        border-bottom-left-radius: 0px
    }


    .wysokosc_1{
        height: 266px;
    }
    .astyl10{
        width: 90%!important;
    }
    .astyl9{
        font-size: 12px!important;
    }
    .astyl7{
        padding-right: 0%!important;
    }
    .astyl8{
        width: 90%!important;
        margin-top: 4%;
    }
    .astyl13{
       height: 381px!important;
    }

    .containerMargin{
        margin: 2%;
    }
    .faqpytanie{
        width:92%;
        text-align: left;
        margin-left: 2%;
        margin-top:-2.5%
    }
    .paczkidok{
        text-align: left;
        padding-left: 10%;
        background: linear-gradient(90deg,#0466B5  0%, #9AD2FF 100%);
        color: white;
        height: 128px;
        padding-top: 2%;
    }
    .tabler{
        width: 92%;
        text-align: left;
        padding-left: 10%;
    }
    .img2{
        display: none;
    }
    .kadryimg1{
        margin-top: -7%;
        width: 90%;
    }
    .star2{
        width: 21px;
        margin-left: 3%;
    }
    .staropiniebaner{
        color: white;
        font-size: 10px;
        margin-top:2%;
        color: white;
        font-family: Montserrat;
        font-weight: 300;
        word-wrap: break-word
    }
    .R1M{
        height: 390px; position: relative; background: #063779
    }


    .a_1{
        background-color:#312b4f!important;
        text-align: left!important;
    }
    .baner{
        width: 100%;
    }
    .backgroundF{
        background-color:#312b4f!important;
    }
    .doradztwo-left{
        display: none;
    }
    .dost1{
        font-size: 22px;
        left: 25px!important;
        top:6px!important;
    }
    .dost_margin_5{
        margin-left: 5%!important;
    }
    .dost_width_85{
        width: 85%!important;
    }
    .dost2{
        width: 96%!important;
        top:38px!important;
    }
    .faq1{
        height: 75px;
    }
    .height1{
        margin-top: 2%;
    }
    .icon_1{
        background-color:#312b4f!important;
    }
    .imgZwrot1{
        display: none;
        width: 100%!important;
    }
    .img_left_4{
        display: none;
    }
    .img_left_3{
        display: none;
    }

    .img_left_2{
        display: none;
        width: 400px;
        height: 372px;
        left: 0px;
        top: 0px;
        border-bottom-right-radius: 200px;
    }
    .image_1{
        width: 10%;
    }
    .logo_1{
        width: 30%;
    }
    .pomozemy{
        margin-top: 3%;

    }

    .margin1{
        margin: 1%;
    }
    .onas2{
        width: 100%!important;
        padding-top: 2%;
        padding-left: 5%;
        text-align: justify;

    }
    .onas3{
        width: 90%!important;
        padding-top: 2%;
        padding-left: 5%;
        text-align: justify;
    }
    .star1{
        width: 6%;
    }
    .paddingONE{
        padding-left:0%!important;
        padding-right: 0%;
    }
    .pracowalembelka{
        display: none;
    }
    .podatkiszerokosc1{
        width: 100%;
        padding: 2%;
    }
    .text-szerokosc{
        width: 100%!important;
        padding-top: 2%!important;;
        padding-left: 5%!important;;
        text-align: justify!important;
        left: 1px!important;
    }
    #plikicookie{
        width: 100%!important;
    }
    .kontaktformularz{
        /*display: none;*/
    }
    .title1a{
        width: 100%;
        padding: 2%;
    }
    .wysokosc1a{
        height: 354px!important;
    }
    .wysokosc1b{
        height: 340px!important;
    }
    .wysokosc1c{
        height: 320px!important;
    }
    .wysokoscHolandia1{
        height: 692px;
    }
    .marginHolandia1{
        margin-top: 22%;
    }
}

/*end


*/

.maska1{
    width: 21px;
    margin-left: 200%;
    top: 4px;
    position: absolute;
}
.maska2{
    width: 21px;
    margin-left: 400%;
    top: 4px;
    position: absolute;
}

.w3-marginleft{
    margin-left: 48%;
}

.w3-darkblue {
    background: var(--DARK-BLUE-primary, #312B4F)!important;
}
.w3-white-opac-max {
    background: rgba(255, 255, 255, 0)!important;
}
.w3-white-opac {
    background-color: #ffffffe5!important;
}

.tytul-tresc-margin{
    margin-top: 2%;
}

.vector1{
    margin-left: 3px;
}

.w3-transparent {
    background-color:rgba(255, 255, 255, 0.80)!important;
}
.w3-transparent2 {
   /* background-color:rgba(255, 255, 255, 0.1)!important;*/
    color: black;
}

.w3-lightblue{
    background: rgba(49, 43, 79, 0.70);
}
.button1{
    width: 100%;
    height: 30px;

}
.buttonTransparent{
    background-color: transparent;

}

.background1{
    background-color: rgba(49, 43, 79, 0.70)
}

.background2{
    background-color: #063779;
}

.check1{
    width: 31px;
    height: 31px;
    padding: 10px;
    background: #F9F9F9;
    border-radius: 8px;
}

.sec{
    height: 400px;
    overflow-y: auto;
}

.button3{

    background: linear-gradient(90deg, blue, green 40%, red);
    border-radius: 8px;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    display: inline-flex;
}

.placowka-menu{
    text-decoration: none;
    color: white;
}
.placowka-menu:hover{
    color:#F7A707;
}

::placeholder {
    color: black;
    opacity: 1; /* Firefox */
}

::-ms-input-placeholder { /* Edge 12 -18 */
    color: black;
}
/* aLl */
.kard1{
    width: 100%;

    padding: 7%;
    background: #063779;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
    justify-content: center;
    align-items: center;
    gap: 16px;
    display: inline-flex;color: white;
}



.dsp1{
    display: flex;
    text-decoration: none;
}

.height1{
    /*height: 80px;*/

}
.w3-gradient1{
    border-radius: 12px;
    background-image: linear-gradient(90deg, #EA6920 0%, #F7A707 100%);
    color:white;
}
.w3-gradient2{
    background-image: linear-gradient(90deg, #0466B5 0%, #312B4F 100%);
    color:white;
    border-radius: 12px;
}
.grid1{
    width: 100%;
    height: 549px;
    position: relative;
    background: #312B4F;
}



input[type=text], select {
    width: 100%;
    padding: 8px 20px;
    /*margin: 8px 0;*/
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-sizing: border-box;
    font-size: 16px;
}

.padding1{
    padding-left:4%;
    padding-right: 4%;
    padding-top: 3%;
}
.padding2{
    padding-left:2%;
    padding-right: 2%;
}

.w3-blue1{
    background-color: #312B4F;
}

.padding3{
    padding-left:1%;
    padding-right: 1%;
}
.padding4{
    padding-left:1%;
    padding-right: 16px;
}





.containerMargin2{
    margin-left: 4%;
    margin-right: 4%;
}
.containerMargin3{
    margin-left: 2%;
    margin-right: 2%;
    margin-top: 2%;
}

.selectWybierzPhone{
    width: 100%;
    height: 100%;
    padding: 18px;
    border-radius: 15px;
    justify-content: space-between;
    align-items: center;
    color: #F9F9F9!important;
    font-size: 14px;
    font-family: Montserrat;
    font-weight: 600;
    word-wrap: break-word;
}
.selectWybierzh48{
    width: 100%;
    height: 48px;
    padding: 18px;
    padding-left: 0px;
    border-radius: 15px;
    justify-content: space-between;
    align-items: center;
    display: inline-flex;
    color: #ffffff !important;
    font-size: 14px;
    font-family: Montserrat;
    font-weight: 600;
    word-wrap: break-word;
}
.selectWybierzstrzalka{
    width: 100%;
    height: 48px;
   // padding: 18px;
   // padding-left: 0px;
    border-radius: 15px;
    justify-content: space-between;
    align-items: center;
    display: inline-flex;
    color: #ffffff !important;
    font-size: 14px;
    font-family: Montserrat;
    font-weight: 600;
    word-wrap: break-word;
}
.selectWybierz{
    width: 100%;
    height: 48px;
   // padding: 18px;
    padding-left: 0px;
    border-radius: 15px;
    justify-content: space-between;
    align-items: center;
    display: inline-flex;
    color: #ffffff !important;
    font-size: 14px;
    font-family: Montserrat;
    font-weight: 600;
    word-wrap: break-word;
}
.selectWybierz2{
    width: 16%;
    height: 8%;
    padding: 10px;
    border-radius: 8px;
    justify-content: space-between;
    align-items: center;
    display: inline-flex;
    color: #F9F9F9!important;
    font-size: 14px;
    font-family: Montserrat;
    font-weight: 600;
    word-wrap: break-word;
}
.input1{
    color: black!important;
    font-size: 14px;
    font-family: Montserrat;
    font-weight: 400;
    word-wrap: break-word;
}
.vector1{
    width: 17px;
    height: 17px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: inline-flex;
}

.vectoropinie{
    width: 17px;
    height: 30px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    display: inline-flex;
}
.border-darkblue{
    border: 1px solid #312B4F;
}

.gradient1{
    background: linear-gradient(180deg, #EA6920 0%, #F7A707 100%);
}

.img1{
    flex-shrink: 0;
    padding: 8%;
}
.font1{
    color: white;
    font-size: 13px;
    font-family: Montserrat;
    font-weight: 600;
    word-wrap: break-word;
}
.img2{
    width: 40%;
}

.img3{
    width: 340px; height: 178px; border-top-left-radius: 8px; border-top-right-radius: 8px;
}

.container1{
    background: rgba(49, 43, 79, 0.70);
}
.flag1{
    width: 100%;
    height: 100%;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.20);
    height: 36px;
    width: 53px;
    border-radius: 4px;
}
.flag{
    height: 65px;
    width:110px;
    border-radius: 4px;
    border: 1px solid var(--GRAY, #D4D4D4);
    background:lightgray 50% / cover no-repeat;
    box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.20);
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 10px;
}
.navbar {
    overflow: hidden;
    background-color: transparent;
    font-family: Arial, Helvetica, sans-serif;
    margin-bottom: 2%;
}

.navbar a {
    float: left;
    font-size: 16px;
    color: white;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
}

.dropdown {
    float: left;
    overflow: hidden;
}

.dropdown .dropbtn {
    cursor: pointer;
    font-size: 13px;
    border: none;
    outline: none;
    color: white;
    padding: 14px 16px;
    background-color: inherit;
    margin: 0;
    font-family: Montserrat;
    font-weight: 600;
    word-wrap: break-word;
}

.navbar a:hover, .dropdown:hover .dropbtn, .dropbtn:focus {
    background-color: transparent;
}
.w3-border{
    border-radius: 8px;
}
.w3-border2{
    border-radius:0px 0px 8px 8px;
}

.w3-button:hover{
    background-color: transparent!important;
}

.w3-button2:hover{
    background-color: #ddd !important;
}

.td1{
    padding: 16px;
    background: linear-gradient(180deg, #0466B5 0%, #312B4F 100%);
    border-radius: 8px;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 33px; display: inline-flex;
    color: white;
}

.faq1{
    padding: 16px;
    background: linear-gradient(180deg, #0466B5 0%, #312B4F 100%);
    border-radius: 8px;
    color: white;
}

.w3-kraj{
    margin-top: 5%;
}

.td4{
    padding: 16px;
    background: linear-gradient(180deg,  #9AD2FF 0%, #0466B5 100%);
    border-radius: 8px;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    gap: 33px; display: inline-flex;
    color: white;
}

.td2:nth-child(even){
    padding: 16px;
    background: rgba(4, 102, 181, 0.10);
    border-radius: 8px;
    align-items: center;
    gap: 33px;

    color: black;
}

tr:nth-child(even) {
    padding-left: 16px;
    padding-right: 16px;
    background: rgba(4, 102, 181, 0.10);
    background-color: rgba(4, 102, 181, 0.10);
    border-bottom-left-radius: 8px;
    justify-content: space-between;
    align-items: center;
}

.rr{
    float: right;
}
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
}

.iconstar{
    width: 22px;
    color: #F7A707!important;
    filter: brightness(0) saturate(100%) invert(65%) sepia(86%) saturate(1850%) hue-rotate(0deg) brightness(102%) contrast(96%);
}

.dropdown-content a {
    float: none;
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    text-align: left;
}

.dropdown-content a:hover {
    background-color: #ddd;
}

.show {
    display:block;
    z-index: 99999999;
    position: fixed;
    border-radius: 8px;
    width: 8%;
}

.showobsluga {
    display:block;
    z-index: 99999999;
    position: fixed;
    border-radius: 8px;
    width: 20%;
}


.show2 {
    display: block;
    z-index: 9999999999;
    position: fixed;
}

.w3-image1{
    width: 37px;
    height: 25px;
    border-radius: 4px;
}
.w3-image2{
    width: 20px;
    height: 25px;
    border-radius: 4px;
    margin-left: 41%;
}

#fniemcyfirmac:hover{
    background-color: #f9f9f9!important;
}
#fniemcyc:hover{
    background-color: #f9f9f9!important;
}
#fangliac:hover{
    background-color: #f9f9f9!important;
}
#faustriac:hover{
    background-color: #f9f9f9!important;
}
#fholandiac:hover{
    background-color: #f9f9f9!important;
}
#firlandiac:hover{
    background-color: #f9f9f9!important;
}
#fpolskac:hover{
    background-color: #f9f9f9!important;
}
.attr1c{
    background-color: #f9f9f9!important;
}
.attr2c{
    background-color: #f9f9f9!important;
}
.attr3c{
    background-color: #f9f9f9!important;
}
.attr4c{
    background-color: #f9f9f9!important;
}
.attr5c{
    background-color: #f9f9f9!important;
}
.attr6c{
    background-color: #f9f9f9!important;
}
.attr7c{
    background-color: #f9f9f9!important;
}
.w3-button:hover{

}
.ikonaplacrozl{
    margin-right: 11px;
}

/* ================= HERO USLUGI ================= */

.hero {
    position: relative;
    height: 75vh;
    min-height: 600px;
    display: flex;
    align-items: center;
    padding-left: 8%;
    color: white;
    overflow: hidden;
}

/* Background image */
.hero-bg-wrapper {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.hero-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to right,
        rgba(49,43,79,0.95) 0%,
        rgba(49,43,79,0.80) 40%,
        rgba(49,43,79,0.40) 70%,
        rgba(49,43,79,0.00) 100%
    );
}


/* Content */
.hero-content {
    position: relative;
    z-index: 2;
    max-width: 690px;
}

.hero-badge {
    display: inline-flex; /* było inline-block */
    align-items: center;  /* dodane */
    gap: 10px;            /* odstęp między flagą a tekstem */

    padding: 8px 18px;
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(6px);
    border-radius: 30px;
    margin-bottom: 24px;
    font-size: 14px;
    font-weight: 500;
}
.hero-flag {
    width: 26px;
    height: 18px;
    object-fit: cover;
    border-radius: 3px;
}


.hero-title {
    font-size: 56px;
    font-weight: 700;
    margin: 0 0 10px 0;
    line-height: 1.2;
}

.hero-subtitle {
    font-size: 48px;
    font-weight: 700;
    color: #F59F0A; /* BRAND */
    margin: 0 0 24px 0;
}

.hero-description {
    font-size: 18px;
    margin-bottom: 35px;
    line-height: 1.6;
    opacity: 0.95;
}

/* Benefits */
.hero-features {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 45px;
    font-size: 15px;
}

.hero-features div {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.08);
    padding: 10px 16px;
    border-radius: 12px;
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.15);
    position: relative;
}

/* Cienkie pomarańczowe kółko */
.hero-features div::before {
    content: "✓";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 2px solid #F59F0A;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 600;
    color: #F59F0A;
    flex-shrink: 0;
}



/* Buttons */
.hero-buttons {
    display: flex;
    gap: 20px;
}

.btn-primary {
    background: #F59F0A;
    color: #063779;
    padding: 15px 28px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    transition: 0.3s;
    box-shadow: 0 10px 30px rgba(245,159,10,0.35);
}

.btn-primary:hover {
    background: #e48f08;
    transform: translateY(-2px);
}

.btn-secondary {
    border: 1px solid rgba(255,255,255,0.6);
    color: white;
    padding: 15px 28px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s;
}

.btn-secondary:hover {
    background: white;
    color: #063779;
}

.hero {
    position: relative;
}

.hero-overlay {
    position: absolute;
    z-index: 0;
}

.hero-content {
    position: relative;
    z-index: 1;
}

.w3-display-container {
    position: relative;
    z-index: 0;
}

.hero {
    position: relative;
    z-index: 0;
}

.contact-item {
    color: #000 !important;
}



.contact-item svg path,
.contact-item svg rect,
.contact-item svg circle {
    stroke: #F6A607 !important;
}

/* Partner button – wymuś czarne ikony (przebija inline style) */
.partner-btn .icon-btn,
.partner-btn .icon-btn * {
  stroke: #000 !important;
}




/* ================= MOBILE HERO FIX ================= */

@media (max-width: 768px) {

    .hero {
        height: auto;
        min-height: 520px;
        padding: 120px 20px 60px 20px; /* miejsce na header */
    }

    .hero-bg {
        object-position: center center;
    }

    /* CIEMNY overlay zamiast niebieskiego */
    .hero-overlay {
        background: linear-gradient(
            180deg,
            rgba(20, 18, 40, 0.95) 0%,
            rgba(20, 18, 40, 0.85) 40%,
            rgba(20, 18, 40, 0.65) 70%,
            rgba(20, 18, 40, 0.4) 100%
        );
    }

    .hero-content {
        max-width: 100%;
        margin-top:-100px;
    }

    .hero-badge {
        font-size: 13px;
        padding: 6px 14px;
    }

    .hero-title {
        font-size: 30px;
        line-height: 1.2;
    }

    .hero-subtitle {
        font-size: 28px;
        line-height: 1.2;
    }

    .hero-description {
        font-size: 15px;
        line-height: 1.5;
    }

    .hero-features {
        flex-direction: column;
        gap: 10px;
        font-size: 14px;
    }

    .hero-features div {
        padding: 10px 12px;
    }

    .hero-buttons {
        flex-direction: column;
        gap: 12px;
    }

    .btn-primary,
    .btn-secondary {
        width: 100%;
        text-align: center;
        padding: 14px;
    }

}
.documents-modern {
    padding: 80px 20px;
}

.documents-header {
    text-align: center;
    margin-bottom: 50px;
}

.documents-title {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 12px;
}

.documents-title span {
    color: #f59e0b;
}

.documents-subtitle {
    color: #6b7280;
    max-width: 600px;
    margin: 0 auto;
}

.documents-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    max-width: 1100px;
    margin: 0 auto;
}

.document-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 28px;
    display: flex;
    gap: 18px;
    border: 1px solid #e5e7eb;
    transition: 0.25s ease;

    height: 100%; /* ważne */
}

.document-card:hover {
    box-shadow: 0 15px 30px rgba(0,0,0,0.06);
    transform: translateY(-4px);
}

.doc-icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    background: rgba(245,158,11,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.doc-icon img {
    width: 26px;
}

.doc-content {
    display: flex;
    flex-direction: column;
    flex: 1; /* zajmuje całą wysokość */
}

.doc-title {
    font-size: 17px;
    font-weight: 600;
    color: #1f2937;
    line-height: 1.4;
    margin: 0 0 12px 0;
}

.doc-btn {
    display: inline-block;
    padding: 8px 18px;
    border: 1px solid #f59e0b;
    border-radius: 24px;
    color: #f59e0b;
    font-weight: 500;
    text-decoration: none;
    font-size: 14px;
    transition: 0.2s ease;
    width: fit-content;
        margin-top: auto;

}

.doc-btn:hover {
    background: #f59e0b;
    color: #ffffff;
}

/* MOBILE */

@media (max-width: 768px) {
    .documents-grid {
        grid-template-columns: 1fr;
    }

    .documents-title {
        font-size: 26px;
    }
}








@media (max-width: 1640px) {

    .hero {
        height: 70vh;
        padding-left: 6%;
    }

    .hero-title {
        font-size: 40px;
    }

    .hero-content {
    max-width: 790px;
}
    .hero-subtitle {
        font-size: 34px;
    }

    .hero-description {
        font-size: 15px;
    }

    .hero-features {
        font-size: 13px;
        gap: 12px;
    }

}
@media (max-width: 1280px) {

    .hero {
        height: 65vh;
        min-height: 520px;
        padding-left: 5%;
    }

    .hero-title {
        font-size: 36px;
    }
    

    
    .hero-subtitle {
        font-size: 32px;
    }

    .hero-description {
        font-size: 14px;
    }

    .hero-features {
        font-size: 13px;
        gap: 10px;
    }

    .hero-buttons {
        gap: 16px;
    }

    .btn-primary,
    .btn-secondary {
        padding: 13px 24px;
    }

}
@media (max-width: 1024px) {

    .hero {
        height: auto;
        min-height: 560px;
        padding: 140px 40px 80px 40px;
    }

    .hero-title {
        font-size: 34px;
    }

    .hero-subtitle {
        font-size: 30px;
    }

    .hero-description {
        font-size: 14px;
    }

}

/* =========================================
   HOME PAGE HERO (IZOLOWANY)
========================================= */

/* ================= HP HERO – FINAL FIX ================= */

.hp-hero {
    position: relative;
    height: 75vh;
    min-height: 600px;
    display: flex;
    align-items: center;
    padding-left: 8%;
    color: white;
    overflow: visible;     /* NIE blokuje menu */
    z-index: 0;            /* pod headerem */
}

/* ===== TŁO ===== */
.hp-hero__bg {
    position: absolute;
    inset: 0;
    z-index: -2;           /* ZAWSZE pod wszystkim */
    background: url('/image/header.png') center/cover no-repeat;
}

/* ===== OVERLAY ===== */
.hp-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: -1;           /* pod contentem */
    pointer-events: none;  /* nie blokuje kliknięć */
    background: linear-gradient(
        to right,
        rgba(49,43,79,0.95) 0%,
        rgba(49,43,79,0.80) 40%,
        rgba(49,43,79,0.40) 70%,
        rgba(49,43,79,0.00) 100%
    );
}

/* ===== CONTENT ===== */
.hp-hero__container {
    position: relative;
    z-index: 1;
    width: 100%;
}

.hp-hero__content {
    max-width: 690px;
}

/* ===== LABEL ===== */
.hp-hero__countries-label {
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 24px;
}

/* ===== FLAGI ===== */
.hp-hero__countries {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 45px;
}

.hp-hero__pill {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.12);
    backdrop-filter: blur(6px);
    padding: 8px 18px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 500;
    color: white;
    text-decoration: none;
}

.hp-hero__pill img {
    width: 26px;
    height: 18px;
    object-fit: cover;
    border-radius: 3px;
}

/* ===== TYTUŁ – IDENTYCZNE PROPORCJE ===== */
.hp-hero__title {
    font-size: 56px;
    font-weight: 700;
    margin: 0 0 10px 0;
    line-height: 1.2;
}

.hp-hero__title span {
    font-size: 48px;
    font-weight: 700;
    color: #F59F0A;
    display: block;
    margin: 0 0 24px 0;
}

/* ===== OPIS ===== */
.hp-hero__desc {
    font-size: 18px;
    margin-bottom: 35px;
    line-height: 1.6;
    opacity: 0.95;
}

/* ===== BUTTONY ===== */
.hp-hero__buttons {
    display: flex;
    gap: 20px;
}

.hp-hero__btn--primary {
    background: #F59F0A;
    color: #063779;
    padding: 15px 28px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 700;
    transition: 0.3s;
    box-shadow: 0 10px 30px rgba(245,159,10,0.35);
}

.hp-hero__btn--secondary {
    border: 1px solid rgba(255,255,255,0.6);
    color: white;
    padding: 15px 28px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
}

/* ===== SOCIALE W HERO (kolory platform, ZAWSZE wlasny rzad pod przyciskami - spojnie w kazdym jezyku) ===== */
.hp-hero__buttons { flex-wrap: wrap; align-items: center; }
.hp-hero__socials {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-basis: 100%;
    margin-top: 18px;
}
.hp-hero__socials a {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sc, #fff);
    box-shadow: 0 8px 20px -6px rgba(0,0,0,0.4);
    transition: transform .18s cubic-bezier(.23,1,.32,1), box-shadow .18s ease-out;
}
.hp-hero__socials a svg {
    width: 22px;
    height: 22px;
    fill: #fff;
}
.hp-hero__socials a:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px -8px rgba(0,0,0,0.55);
}
.hp-hero__socials a:active {
    transform: scale(.94);
}
@media (max-width: 640px) {
    .hp-hero__socials { margin-top: 16px; gap: 14px; }
    .hp-hero__socials a { width: 48px; height: 48px; }
    .hp-hero__socials a svg { width: 24px; height: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .hp-hero__socials a { transition: none; }
    .hp-hero__socials a:hover, .hp-hero__socials a:active { transform: none; }
}

/* ===== BREAKPOINTY IDENTYCZNE JAK HERO USŁUG ===== */

@media (max-width: 1640px) {
    .hp-hero__title {
        font-size: 40px;
    }

    .hp-hero__desc {
        font-size: 15px;
    }
}

@media (max-width: 1280px) {
    .hp-hero__title {
        font-size: 36px;
    }

    .hp-hero__desc {
        font-size: 14px;
    }
}

@media (max-width: 1024px) {
    .hp-hero {
        height: auto;
        min-height: 560px;
        padding: 140px 8% 80px 8%;
    }

    .hp-hero__bg {
        background-position: 55% 45% !important;
    }

    .hp-hero__title {
        font-size: 34px;
    }

    .hp-hero__desc {
        font-size: 14px;
    }
}

@media (max-width: 640px) {
    .hp-hero__bg {
        background-position: 42% 50% !important;
    }
}

/* ================= FORMULARZ ================= */
.modern-form {
    display: flex;
    justify-content: center;
    padding: 80px 20px;
    background: #312B4F; /* fioletowe tło sekcji jak na zdjęciu */
}

.form-box {
    width: 100%;
    max-width: 680px;
    background: rgba(255, 255, 255, 0.06);
    padding: 55px 45px;
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(10px);
}

/* ================= INPUTY ================= */
.form-group {
    margin-bottom: 22px;
}

.form-row {
    display: flex;
    gap: 18px;
    margin-bottom: 22px;
}

.form-input,
.form-box select {
    width: 100%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 14px;
    padding: 15px 18px;
    font-size: 15px;
    color: white;
    outline: none;
    transition: 0.25s ease;
    height: 56px; /* wyrównana wysokość jak na zdjęciu */
    box-sizing: border-box;
}

.form-input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.form-box select {
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    color: rgba(255, 255, 255, 0.5); /* placeholder kolor dla selecta */
}

.form-box select option {
    background: #2d2b55;
    color: white;
}

/* FOCUS EFFECT */
.form-input:focus,
.form-box select:focus {
    border-color: #F7A707;
    box-shadow: 0 0 0 3px rgba(247, 167, 7, 0.25);
    background: rgba(255, 255, 255, 0.12);
}

/* ================= PRZYCISK ================= */
.form-button {
    width: 100%;
    background: linear-gradient(90deg, #F7A707, #F5C046);
    border: none;
    border-radius: 16px;
    padding: 18px;
    font-size: 17px;
    font-weight: 700;
    color: #1a1830; /* ciemny tekst na złotym tle jak na zdjęciu */
    letter-spacing: 0.5px;
    margin-top: 15px;
    cursor: pointer;
    transition: 0.25s ease;
    box-shadow: 0 8px 25px rgba(247, 167, 7, 0.3);
}

.form-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 35px rgba(247, 167, 7, 0.45);
}

/* ================= CHECKBOXY ================= */
.form-checks {
    margin-top: 28px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.75);
}

.form-checks label {
    display: flex;
    align-items: flex-start; /* start zamiast center – dla długich tekstów */
    gap: 10px;
    cursor: pointer;
    line-height: 1.5;
}

.form-checks input[type="checkbox"] {
    width: 16px;
    height: 16px;
    min-width: 16px; /* zapobiega ściskaniu przy długim tekście */
    accent-color: #F7A707;
    margin-top: 2px;
}

/* ================= KOMUNIKATY ================= */
.form-success {
    max-width: 680px;
    margin: 0 auto 20px auto;
    background: #2ecc71;
    padding: 15px 18px;
    border-radius: 12px;
    color: white;
    font-size: 14px;
}

.form-error {
    max-width: 680px;
    margin: 0 auto 20px auto;
    background: #e74c3c;
    padding: 15px 18px;
    border-radius: 12px;
    color: white;
    font-size: 14px;
}

.form-error ul {
    margin: 0;
    padding-left: 18px;
}

/* ================= RESPONSIVE ================= */
@media (max-width: 768px) {
    .modern-form {
        padding: 60px 15px;
    }

    .form-box {
        padding: 35px 22px;
    }

    .form-row {
        flex-direction: column;
    }

    .form-button {
        font-size: 16px;
        padding: 16px;
    }
}
/* ===== CLEAN LANGUAGE SWITCHER ===== */

.lang-switcher {
    position: relative;
    margin-left: 25px;
}

.lang-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.4);
    padding: 8px 16px;
    border-radius: 10px;
    color: white;
    font-size: 14px;
    cursor: pointer;
    transition: 0.3s ease;
}

.lang-btn:hover {
    background: rgba(255,255,255,0.08);
}

.lang-dropdown {
    position: absolute;
    top: 48px;
    right: 0;
    width: 180px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.15);
    padding: 8px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: 0.25s ease;
    z-index: 99999; /* WAŻNE */
}

.lang-dropdown div {
    padding: 10px 18px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    transition: 0.2s ease;
}

.lang-dropdown div:hover {
    background: #f3f4f6;
}

.lang-switcher:hover .lang-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* =========================================
   DOCS + CENNIK — FULL WIDTH
/* ===== LAYOUT ===== */
.cennik-react {
    padding: 80px 80px;
}
.cennik-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
}
@media (max-width: 992px) {
    .cennik-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }
}






.rs-section {
    padding: 60px 5%;
    background: white;
    font-family: Montserrat, sans-serif;
}

.rs-section__title {
    font-family: Montserrat, sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #312B4F;
    margin: 0 0 32px 0;
    text-align: center;
}

.rs-section__title span {
    color: #F7A707;
}

.rs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

@media(max-width: 1024px) { .rs-grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width: 640px)  { .rs-grid { grid-template-columns: 1fr; } }

.rs-card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e0e0e0;
    transition: box-shadow .25s, transform .25s;
}

.rs-card:hover {
    box-shadow: 0 12px 32px rgba(49,43,79,.15);
    transform: translateY(-4px);
}

.rs-card__img {
    height: 180px;
    overflow: hidden;
}

.rs-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.rs-card:hover .rs-card__img img {
    transform: scale(1.05);
}

.rs-card__body {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
    border-top: 3px solid #F7A707;
}

.rs-card__name {
    font-family: Montserrat, sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #312B4F;
    line-height: 1.4;
    margin: 0 0 auto 0;
    padding-bottom: 14px;
}

.rs-card__arrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: Montserrat, sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #0466B5;
    border-top: 1px solid #eee;
    padding-top: 12px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.rs-card:hover .rs-card__arrow {
    color: #F7A707;
}

/* 2-kolumnowy wiersz (dla id==7, 15, 59 itd.) */
.rs-row2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
@media(max-width: 640px) { .rs-row2 { grid-template-columns: 1fr; } }


.cd-section {
    padding: 64px 5%;
    background: #fff;
}

@media(max-width: 900px) {
    .tx-block,
    .tx-block--rev {
        flex-direction: column;
        gap: 28px;
        padding: 48px 5%;
    }
    .tx-img {
        flex: unset;
        width: 100%;
        max-width: 100%;
    }
    .tx-img img {
        height: 220px;
    }
}
.cd-section {
    padding: 64px 5%;
    background: #ffffff;
    font-family: Montserrat, sans-serif;
}

.cd-header {
    text-align: center;
    margin-bottom: 48px;
}

.cd-header__eyebrow {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #0466B5;
    margin-bottom: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.cd-header__title {
    font-size: 28px;
    font-weight: 800;
    color: #312B4F;
}

.cd-flag {
    height: 39px;
    width: auto;
    vertical-align: middle;
}

/* ── BLOK ── */
.cd-block {
    max-width: none;
    margin: 0 0 48px 0;
}

/* text-2xl md:text-3xl font-bold text-[#312B4F] mb-5 */
.cd-block__heading {
    font-size: clamp(22px, 3vw, 30px);
    font-weight: 700;
    color: #312B4F;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ── TABELA: rounded-2xl overflow-hidden mb-12 border border-gray-200 ── */
.cd-table {
    overflow: hidden;
    border: 1px solid #e5e7eb;
    margin-bottom: 48px;
}

/* bg-[#312B4F] px-6 py-3.5 */
.cd-table__head {
    background: #312B4F;
    display: flex;
    justify-content: space-between;
    padding: 14px 24px;
}

/* text-xs font-bold uppercase tracking-widest text-white/60 */
.cd-table__head span {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
}

/* px-6 py-5 bg-white hover:bg-[#F9F6FF] border-b border-gray-100 */
.cd-table__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    background: #ffffff;
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.15s;
    gap: 16px;
}

.cd-table__row:last-child {
    border-bottom: none;
}

.cd-table__row:hover {
    background: #F9F6FF;
}

/* flex items-center gap-4 */
.cd-table__name {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 14px;
    font-weight: 500;
    color: #1A1A2E;
    flex: 1;
}

/* w-7 h-7 rounded bg-[#312B4F]/8 text-[#312B4F] text-xs font-extrabold
   hover: bg-[#F5A623]/15 text-[#F5A623] */
.cd-table__num {
    width: 28px;
    height: 28px;
    border-radius: 4px;
    background: rgba(49, 43, 79, 0.08);
    color: #312B4F;
    font-size: 11px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}

.cd-table__row:hover .cd-table__num {
    background: rgba(245, 166, 35, 0.15);
    color: #F5A623;
}

/* text-[#F5A623] font-extrabold text-lg ml-6 */
.cd-table__price {
    font-size: 20px;
    font-weight: 800;
    color: #F5A623;
    white-space: nowrap;
    margin-left: 24px;
}

/* ── KARTY DOKUMENTÓW ── */
/* grid sm:grid-cols-2 gap-4 */
.cd-docs-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

@media (max-width: 600px) {
    .cd-docs-grid { grid-template-columns: 1fr; }
}

/* bg-white rounded-2xl border-2 border-gray-100 p-5
   hover:border-[#312B4F]/20 hover:shadow-md */
.cd-doc-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(49, 43, 79, 0.08);
}

.cd-doc-card:hover {
    border-color: rgba(49, 43, 79, 0.35);
    box-shadow: 0 6px 20px rgba(49, 43, 79, 0.14);
}

/* flex items-start gap-4 mb-4 */
.cd-doc-card__top {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 16px;
}

.cd-doc-card__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.2s;
}

.cd-doc-card:hover .cd-doc-card__icon {
    background: rgba(245, 166, 35, 0.15);
}

.cd-doc-card__icon img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    filter: brightness(0); /* czarna ikona domyślnie */
    transition: filter 0.2s;
}

.cd-doc-card:hover .cd-doc-card__icon img {
    filter: brightness(0) saturate(100%) invert(65%) sepia(80%) saturate(600%) hue-rotate(5deg); /* pomarańczowa na hover */
}

/* text-[#312B4F] font-bold text-sm leading-snug */
.cd-doc-card__name {
    font-size: 13px;
    font-weight: 700;
    color: #312B4F;
    line-height: 1.45;
    padding-top: 4px;
}

/* flex items-center gap-2 text-[#0466B5] text-xs font-bold uppercase tracking-wider
   hover: gap-3 */
.cd-doc-card__dl {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    font-weight: 700;
    color: #0466B5;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: auto;
    transition: gap 0.2s;
}

.cd-doc-card:hover .cd-doc-card__dl {
    gap: 12px;
}

.cd-doc-card__dl img {
    width: 14px;
    height: 14px;
    filter: invert(27%) sepia(95%) saturate(600%) hue-rotate(185deg) brightness(90%);
}





/* 4. rs-grid – auto-fill, nie rozciąga kart przy małej liczbie */
.rs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

/* 5. rs-cards-auto – zastępuje rs-row2, karty mają stałą szerokość max 380px */
.rs-cards-auto {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}

.rs-cards-auto .rs-card {
    width: 360px;
    max-width: 100%;
    flex: 0 0 360px;
}

@media(max-width: 640px) {
    .rs-cards-auto .rs-card {
        flex: 1 1 100%;
        width: 100%;
    }
}

/* 6. Nowa sekcja intro-classic – zdjęcie + tekst */
.intro-classic {
    display: flex;
    align-items: center;
    gap: 64px;
    padding: 72px 7%;
    background: #fff;
    font-family: Montserrat, sans-serif;
}

.intro-classic__img {
    flex: 0 0 auto;
    width: 400px;
    max-width: 40%;
}

.intro-classic__img img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 16px 48px rgba(6,55,121,0.12);
    display: block;
}

.intro-classic__text {
    flex: 1;
}

.intro-classic__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #F7A707;
    background: rgba(247,167,7,.1);
    padding: 5px 14px;
    border-radius: 100px;
    margin-bottom: 18px;
}

.intro-classic__title {
    font-size: clamp(22px, 2.2vw, 32px);
    font-weight: 800;
    color: #312B4F;
    line-height: 1.3;
    margin: 0 0 18px 0;
}

.intro-classic__body {
    font-size: 15px;
    line-height: 1.8;
    color: #555;
    text-align: justify;
}

.intro-classic__body p {
    margin: 0 0 10px 0;
}

.intro-classic__body p:last-child {
    margin: 0;
}

@media(max-width: 900px) {
    .intro-classic {
        flex-direction: column;
        gap: 28px;
        padding: 48px 5%;
    }
    .intro-classic__img {
        width: 100%;
        max-width: 100%;
    }
    .intro-classic__img img {
        height: 220px;
    }
}


/* ikony przy nagĹĂłwkach cennik/dokumenty */
.cd-heading-icon {
    stroke: #063779 !important;
    width: 26px;
    height: 26px;
    flex-shrink: 0;
}

/* cd-block bez limitu szerokoĹci */
.cd-block {
    max-width: none;
    margin: 0 0 48px 0;
}

/* intro-classic */
.intro-classic {
    display: flex;
    align-items: center;
    gap: 64px;
    padding: 64px 7%;
    background: #fff;
    font-family: Montserrat, sans-serif;
}

.intro-classic__img {
    flex: 0 0 auto;
    width: 400px;
    max-width: 40%;
}

.intro-classic__img img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 16px 48px rgba(6,55,121,0.12);
    display: block;
}

.intro-classic__text {
    flex: 1;
}

.intro-classic__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #F7A707;
    background: rgba(247,167,7,.1);
    padding: 5px 14px;
    border-radius: 100px;
    margin-bottom: 16px;
}

.intro-classic__title {
    font-size: clamp(22px, 2.2vw, 32px);
    font-weight: 800;
    color: #312B4F;
    line-height: 1.3;
    margin: 0 0 16px 0;
}

.intro-classic__body {
    font-size: 15px;
    line-height: 1.8;
    color: #555;
    text-align: justify;
}

.intro-classic__body p { margin: 0 0 10px 0; }
.intro-classic__body p:last-child { margin: 0; }

@media(max-width: 900px) {
    .intro-classic {
        flex-direction: column;
        gap: 28px;
        padding: 40px 5%;
    }
    .intro-classic__img {
        width: 100%;
        max-width: 100%;
    }
    .intro-classic__img img { height: 220px; }
}

.faq-section {
    background: linear-gradient(180deg, #0466B5 0%, #063779 100%);
  padding: 64px 5%;
}

.faq-container {
  margin: 0 auto;
}

.faq-title {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 48px;
}

.faq-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  /* USUNIĘTE: align-items: start — to powodowało nierówne wysokości */
}

@media (max-width: 768px) {
  .faq-grid {
    grid-template-columns: 1fr;
  }
}

.faq-item {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  overflow: hidden;
  transition: background 0.2s ease;
  /* Pytanie zawsze na górze, odpowiedź rozszerza kartę w dół */
  display: flex;
  flex-direction: column;
}

.faq-item:hover {
  background: rgba(255, 255, 255, 0.11);
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  cursor: pointer;
  gap: 16px;
  /* Zajmuje całą dostępną wysokość karty gdy zamknięta */
  flex: 1;
}

.faq-text {
  font-size: 0.95rem;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.4;
}

.faq-icon {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  transition: transform 0.25s ease;
  /* POPRAWKA: kolor pomarańczowy na ikonie */
  color: #f5a623;
}

/* POPRAWKA: stroke też pomarańczowy (SVG używa stroke, nie color) */
.faq-icon path {
  stroke: #f5a623;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.875rem;
  line-height: 1.6;
  padding: 0 24px;
}

.faq-item.open .faq-answer {
  padding: 0 24px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.tx-block {
    display: flex;
    align-items: center;
    gap: 64px;
    padding: 72px 7%;
}

.tx-block--rev {
    flex-direction: row-reverse;
}

.tx-block--c1 { background: #fff; }
.tx-block--c1 .tx-text h2 { color: #312B4F; }
.tx-block--c1 .tx-body { color: #555; }

.tx-block--c2 { background: #312B4F; }
.tx-block--c2 .tx-text h2 { color: #fff; }
.tx-block--c2 .tx-body { color: rgba(255,255,255,0.85); }

.tx-block--c3 { background: #fff; }
.tx-block--c3 .tx-text h2 { color: #312B4F; }
.tx-block--c3 .tx-body { color: #555; }

/* Full-width text block (no image) - used for tables/heavy content */
.tx-block--full { display: block; }
.tx-block--full .tx-text { max-width: 900px; margin: 0 auto; }

/* Text-only blocks: keep the tx-block layout full-width when the media column has no image */
.tx-block:has(.tx-text):not(:has(.tx-img img)):not(:has(.tx-image img)):not(:has(.tx-media img)) {
    display: block;
}
.tx-block:has(.tx-text):not(:has(.tx-img img)):not(:has(.tx-image img)):not(:has(.tx-media img)) .tx-text {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}
.tx-block:has(.tx-text):not(:has(.tx-img img)):not(:has(.tx-image img)):not(:has(.tx-media img)) .tx-img,
.tx-block:has(.tx-text):not(:has(.tx-img img)):not(:has(.tx-image img)):not(:has(.tx-media img)) .tx-image,
.tx-block:has(.tx-text):not(:has(.tx-img img)):not(:has(.tx-image img)):not(:has(.tx-media img)) .tx-media {
    display: none;
}

.tx-block--full .tx-body table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 14px; }
.tx-block--full .tx-body th,
.tx-block--full .tx-body td { padding: 12px 16px; text-align: left; border-bottom: 1px solid rgba(0,0,0,0.08); }
.tx-block--full.tx-block--c2 .tx-body th,
.tx-block--full.tx-block--c2 .tx-body td { border-bottom-color: rgba(255,255,255,0.12); }
.tx-block--full .tx-body th { font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: 0.5px; }
.tx-block--full .tx-body h3 { font-size: 20px; font-weight: 700; margin: 28px 0 12px 0; }
.tx-block--full.tx-block--c1 .tx-body h3,
.tx-block--full.tx-block--c3 .tx-body h3 { color: #312B4F; }
.tx-block--full.tx-block--c2 .tx-body h3 { color: #F7A707; }

.tx-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
}

.tx-text h2 {
    font-size: clamp(22px, 2.2vw, 32px);
    font-weight: 800;
    line-height: 1.3;
    margin: 0 0 16px 0;
}

.tx-body {
    font-size: 15px;
    line-height: 1.8;
    text-align: justify;
}

.tx-body p { margin: 0 0 10px 0; }
.tx-body p:last-child { margin: 0; }

.tx-img {
    flex: 0 0 50%;
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: static;
    min-height: unset;
    overflow: visible;
}

.tx-img img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 16px 48px rgba(6,55,121,0.12);
    display: block;
}

.intro-classic {
    display: flex;
    align-items: center;
    gap: 64px;
    padding: 72px 7%;
    background: #fff;
}

.intro-classic__img {
    flex: 0 0 50%;
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.intro-classic__img img {
    width: 80%;
    height: auto;
    aspect-ratio: 4/3;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 16px 48px rgba(6,55,121,0.12);
    display: block;
}

.intro-classic__text {
    flex: 1;
}

.cd-section {
    padding: 64px 5%;
    background: #fff;
}

@media(max-width: 900px) {
    .tx-block,
    .tx-block--rev {
        flex-direction: column;
        gap: 28px;
        padding: 48px 5%;
    }
    .tx-img {
        flex: unset;
        width: 100%;
    }
    .tx-img img {
        width: 100%;
    }
    .intro-classic {
        flex-direction: column;
        gap: 28px;
        padding: 48px 5%;
    }
    .intro-classic__img {
        flex: unset;
        width: 100%;
    }
    .intro-classic__img img {
        width: 100%;
    }
}


  /* ── SECTION ─────────────────────────────────────────────── */
  .fx-reviews {
    background: linear-gradient(180deg, #0466B5 0%, #063779 100%);
    padding: 64px 5%;
    font-family: 'Montserrat', sans-serif;
    overflow: hidden;
    position: relative;
  }

  /* subtle radial glow behind content */
  .fx-reviews::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(255,255,255,.06) 0%, transparent 70%);
    pointer-events: none;
  }

  /* ── HEADING ─────────────────────────────────────────────── */
  .fx-reviews__heading {
    text-align: center;
    margin-bottom: 8px;
  }
  .fx-reviews__title {
    color: #F9F9F9;
    font-size: clamp(28px, 4vw, 36px);
    font-weight: 700;
    letter-spacing: .5px;
  }
  .fx-reviews__stars-global {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin: 10px 0 16px;
  }
  .fx-reviews__stars-global svg { width: 26px; height: 26px; }
  .fx-reviews__count {
    color: rgba(249,249,249,.7);
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 48px;
    text-align: center;
  }

  /* ── TRACK ───────────────────────────────────────────────── */
  .fx-reviews__track-wrap {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0;
  }
  .fx-reviews__track-outer {
    flex: 1;
    overflow: hidden;
    padding: 8px 0 16px;
  }
  .fx-reviews__track {
    display: flex;
    gap: 24px;
    transition: transform .5s cubic-bezier(.4,0,.2,1);
    will-change: transform;
  }

  /* ── CARD ─────────────────────────────────────────────────── */
  .fx-card {
    flex: 0 0 calc(33.333% - 16px);
    min-width: 280px;
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    padding: 32px 28px 28px;
    transition: transform .3s ease, box-shadow .3s ease;
    cursor: default;
  }
  .fx-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0,0,0,.3);
  }
  .fx-card__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
  }
  .fx-card__avatar {
    width: 46px; height: 46px;
    border-radius: 50%;
    background: rgba(255,255,255,.2);
    border: 2px solid rgba(255,255,255,.35);
    display: flex; align-items: center; justify-content: center;
    font-size: 18px; font-weight: 700; color: #fff;
    flex-shrink: 0;
    letter-spacing: 0;
  }
  .fx-card__meta { flex: 1; }
  .fx-card__name {
    color: #F9F9F9;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
  }
  .fx-card__stars {
    display: flex; gap: 3px;
  }
  .fx-card__stars svg { width: 14px; height: 14px; }
  .fx-card__date {
    color: rgba(249,249,249,.55);
    font-size: 11px;
    font-weight: 500;
    margin-left: auto;
    white-space: nowrap;
    align-self: flex-start;
    padding-top: 2px;
  }
  .fx-card__text {
    color: rgba(249,249,249,.88);
    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.65;
  }
  .fx-card__source {
    margin-top: 18px;
    display: flex;
    align-items: center;
    gap: 6px;
    color: rgba(249,249,249,.45);
    font-size: 11px;
    font-weight: 500;
  }
  .fx-card__source svg { width: 14px; height: 14px; opacity: .6; }

  /* ── ARROWS ──────────────────────────────────────────────── */
  .fx-arrow {
    width: 52px; height: 52px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.3);
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(8px);
    color: #fff;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: background .25s, border-color .25s, transform .2s;
    z-index: 2;
  }
  .fx-arrow:hover {
    background: rgba(255,255,255,.22);
    border-color: rgba(255,255,255,.55);
    transform: scale(1.08);
  }
  .fx-arrow:active { transform: scale(.96); }
  .fx-arrow--prev { margin-left: 32px; margin-right: 20px; }
  .fx-arrow--next { margin-left: 20px; margin-right: 32px; }
  .fx-arrow svg { width: 20px; height: 20px; }

  /* ── DOTS ────────────────────────────────────────────────── */
  .fx-dots {
    display: flex; justify-content: center; gap: 8px;
    margin-top: 36px;
  }
  .fx-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,.3);
    cursor: pointer;
    transition: background .3s, transform .3s;
    border: none;
  }
  .fx-dot.is-active {
    background: #fff;
    transform: scale(1.35);
  }

  /* ── RESPONSIVE ──────────────────────────────────────────── */
  @media (max-width: 900px) {
    .fx-card { flex-basis: calc(50% - 12px); }
    .fx-arrow--prev { margin-left: 16px; margin-right: 12px; }
    .fx-arrow--next { margin-left: 12px; margin-right: 16px; }
  }
  @media (max-width: 600px) {
    .fx-reviews { padding: 56px 0 64px; }
    .fx-card { flex-basis: calc(100% - 0px); min-width: 0; }
    .fx-arrow { width: 40px; height: 40px; }
    .fx-arrow--prev { margin-left: 10px; margin-right: 8px; }
    .fx-arrow--next { margin-left: 8px; margin-right: 10px; }
  }
  
  



.steps-section {
    background: linear-gradient(150deg, #FFD000 0%, #FF9200 50%, #E55000 100%);
    padding: 128px 5%;
    position: relative;
    overflow: hidden;
}
.steps-section::before {
    content: '';
    position: absolute;
    width: 500px; height: 500px;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    top: -200px; right: -100px;
    pointer-events: none;
}

.steps-title {
    font-size: clamp(24px, 3.2vw, 42px);
    font-weight: 800;
    color: #fff;
    margin-bottom: clamp(32px, 5vw, 56px);
    text-shadow: 0 2px 12px rgba(0,0,0,0.15);
    position: relative;
    z-index: 2;
}

/* ── ROW: karty + strzałki w jednej linii ── */
.steps-row {
    display: flex;
    align-items: center;
    gap: 0;
    position: relative;
    z-index: 2;
}

/* ── KARTA ── */
.step-card {
    flex: 1;
    background: rgba(255,255,255,0.22);
    border: 2px solid rgba(255,255,255,0.40);
    border-radius: 18px;
    padding: 20px 18px 18px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: transform 0.2s, background 0.2s;
    min-width: 0;
}
.step-card:hover {
    transform: translateY(-5px);
    background: rgba(255,255,255,0.32);
}

/* numer + ikona obok siebie */
.step-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
}

.step-num {
    font-size: 64px;
    font-weight: 900;
    line-height: 1;
    color: #fff;
    letter-spacing: -3px;
    font-family: Montserrat, sans-serif;
}

.step-icon {
    width: 44px;
    height: 44px;
    background: #1B3A6B;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 3px 10px rgba(0,0,0,0.22);
}
.step-icon svg {
    width: 24px;
    height: 24px;
}

.step-icon svg,
.step-icon svg * {
    stroke: #FFB300 !important;
    fill: none !important;
}

.step-sep {
    height: 2px;
    background: rgba(255,255,255,0.45);
    border-radius: 2px;
}

.step-label {
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    line-height: 1.4;
    font-family: Montserrat, sans-serif;
}

/* ── STRZAŁKA ── */
.step-arrow {
    flex-shrink: 0;
    width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.step-arrow svg {
    width: 32px;
    height: 32px;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.15));
}

/* ── TABLET ── */
@media (max-width: 860px) {
    .steps-row {
        display: grid;
        grid-template-columns: 1fr; /* było: 1fr 1fr */
        gap: 14px;
    }
    .step-arrow { display: none; }
    .step-num { font-size: 52px; }
}

@media (max-width: 480px) {
    .steps-row { gap: 10px; }
    .step-card { padding: 16px 14px; border-radius: 14px; }
    .step-num { font-size: 44px; }
    .step-icon { width: 36px; height: 36px; border-radius: 10px; }
    .step-icon svg { width: 20px; height: 20px; }
}
 footer {
    background: linear-gradient(160deg, #18132e 0%, #1e1836 60%, #16122a 100%);
    position: relative;
    overflow: hidden;
  }
  footer::before {
    content: '';
    position: absolute;
    top: -200px; left: -150px;
    width: 700px; height: 700px;
    background: radial-gradient(circle, rgba(246,166,7,0.07) 0%, transparent 65%);
    pointer-events: none;
  }
  footer::after {
    content: '';
    position: absolute;
    bottom: -100px; right: -100px;
    width: 500px; height: 500px;
    background: radial-gradient(circle, rgba(255,107,53,0.05) 0%, transparent 65%);
    pointer-events: none;
  }
  .noise {
    position: absolute; inset: 0;
    background-image: repeating-linear-gradient(
      -55deg, transparent, transparent 38px,
      rgba(255,255,255,0.013) 38px, rgba(255,255,255,0.013) 39px
    );
    pointer-events: none;
  }

  /* ── GRID ── */
  .footer-inner {
    position: relative; z-index: 2;
    max-width: 1360px;
    margin: 0 auto;
    padding: 56px 48px 48px;
    display: grid;
    grid-template-columns: 1.1fr 1fr 1fr;
    gap: 0;
  }

  .footer-col {
    padding-right: 52px;
    border-right: 1px solid rgba(246,166,7,0.1);
  }
  .footer-col:last-child {
    border-right: none;
    padding-right: 0;
  }
  .footer-col + .footer-col { padding-left: 52px; }

  /* ── COL 1: O FIRMIE ── */
  .col-logo img {
    height: 54px;
    display: block;
    margin-bottom: 18px;
  }

  .col-tagline {
    font-size: 13px;
    font-weight: 300;
    color: #7a7498;
    line-height: 1.6;
    margin-bottom: 28px;
  }

  .contact-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 28px;
  }

  .col-logo .contact-item {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 13px;
    color: #8a84aa!important;
    text-decoration: none;
    transition: color .18s;
  }
  .col-logo a.contact-item:hover { color: #d0c8f0; }

  .col-logo .ci {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    background: rgba(246,166,7,0.08);
    border: 1px solid rgba(246,166,7,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  /* force SVG inside .ci to be orange */
  .col-logo .ci svg {
    stroke: #F6A607;
    fill: none;
  }

  .fb-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: rgba(24,119,242,0.1);
    border: 1px solid rgba(24,119,242,0.22);
    border-radius: 50px;
    padding: 9px 18px;
    text-decoration: none;
    color: #88b4f6;
    font-size: 13px;
    font-weight: 500;
    transition: background .2s, color .2s;
  }
  .fb-link:hover { background: rgba(24,119,242,0.2); color: #c4d9ff; }
  .fb-link svg { fill: currentColor; flex-shrink: 0; }

  /* ── COL TITLES ── */
  .col-title {
    font-family: 'Syne', sans-serif;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #F6A607;
    margin-bottom: 20px;
    padding-bottom: 11px;
    position: relative;
  }
  .col-title::after {
    content: '';
    position: absolute;
    bottom: 0; left: 0;
    width: 20px; height: 1px;
    background: #F6A607;
    opacity: 0.4;
  }

  /* ── LINKS ── */
  .col-links { list-style: none; }
  .col-links li { margin-bottom: 8px; }
  .col-links a {
    font-size: 13px;
    color: #7a7498;
    text-decoration: none;
    display: inline-block;
    transition: color .18s, transform .18s;
  }
  .col-links a:hover { color: #e8e2f8; transform: translateX(4px); }
  .col-links a.hl:hover { color: #f0ecff; }

  /* sub-section divider */
  .col-links li.sub-section {
    margin-top: 20px;
    margin-bottom: 12px;
  }
  .sub-label {
    font-family: 'Syne', sans-serif;
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #F6A607;
    display: block;
  }

  /* ── BOTTOM BAR ── */
  .footer-bar {
    position: relative; z-index: 2;
    border-top: 1px solid rgba(246,166,7,0.08);
    max-width: 1360px;
    margin: 0 auto;
    padding: 18px 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
  }
  .footer-bar p { font-size: 12px; color: #45405e; }
  .footer-bar p strong { color: #F6A607; font-weight: 600; }
  .footer-bar-links { display: flex; gap: 18px; }
  .footer-bar-links a { font-size: 12px; color: #45405e; text-decoration: none; transition: color .18s; }
  .footer-bar-links a:hover { color: #F6A607; }

  /* ── RESPONSIVE ── */
  @media (max-width: 900px) {
    .footer-inner { grid-template-columns: 1fr 1fr; gap: 40px 0; }
    .footer-col { border-right: none !important; padding: 0 !important; }
    .footer-col:first-child { grid-column: 1 / -1; border-bottom: 1px solid rgba(246,166,7,0.1) !important; padding-bottom: 32px !important; }
    .footer-col:nth-child(2) { border-right: 1px solid rgba(246,166,7,0.1) !important; padding-right: 32px !important; }
    .footer-col:nth-child(3) { padding-left: 32px !important; }
  }
  @media (max-width: 540px) {
    .footer-inner { grid-template-columns: 1fr; gap: 32px; padding: 36px 24px; }
    .footer-col:nth-child(2) { border-right: none !important; padding-right: 0 !important; }
    .footer-col:nth-child(3) { padding-left: 0 !important; }
    .footer-bar { padding: 16px 24px; flex-direction: column; align-items: flex-start; }
  }
  
 
 
 
 
 
 
 
/* ── TRUST STRIP ── */
.trust-strip {
    background: #063779;
    padding: 22px max(5%, calc((100% - 1600px)/2 + 5%));
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    flex-wrap: wrap;
}
.trust-strip__item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255,255,255,0.85);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}
.trust-strip__item svg {
    width: 20px; height: 20px;
    flex-shrink: 0;
    stroke: #F7A707;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
@media (max-width: 640px) {
    .trust-strip { gap: 18px; flex-direction: column; text-align: center; padding: 24px 5%; }
}

/* ── HP HOME HERO ── */
.hp-home-hero {
    position: relative;
    height: 82vh;
    min-height: 640px;
    display: flex;
    align-items: center;
    padding-left: 8%;
    color: white;
    overflow: hidden;
}
.hp-home-hero__bg {
    position: absolute;
    inset: 0;
    z-index: -2;
}
.hp-home-hero__bg img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center;
}
.hp-home-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        to right,
        rgba(49,43,79,0.97) 0%,
        rgba(49,43,79,0.85) 40%,
        rgba(49,43,79,0.45) 70%,
        rgba(49,43,79,0.05) 100%
    );
}
.hp-home-hero__content {
    position: relative;
    z-index: 2;
    max-width: 720px;
}
.hp-home-hero__eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #F7A707;
    background: rgba(247,167,7,0.12);
    padding: 6px 16px;
    border-radius: 100px;
    display: inline-block;
    margin-bottom: 22px;
}
.hp-home-hero__title {
    font-size: clamp(34px, 4vw, 58px);
    font-weight: 800;
    line-height: 1.15;
    margin: 0 0 8px 0;
}
.hp-home-hero__title span {
    color: #F7A707;
    display: block;
}
.hp-home-hero__desc {
    font-size: clamp(14px, 1.5vw, 17px);
    line-height: 1.7;
    opacity: 0.9;
    margin-bottom: 32px;
    max-width: 560px;
}
.hp-home-hero__flags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 36px;
}
.hp-home-hero__pill {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,0.18);
    padding: 7px 16px;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 600;
    color: white;
    text-decoration: none;
    transition: background 0.2s;
}
.hp-home-hero__pill:hover { background: rgba(255,255,255,0.2); }
.hp-home-hero__pill img {
    width: 24px; height: 16px;
    object-fit: cover; border-radius: 3px;
}
.hp-home-hero__stats {
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
}
.hp-home-hero__stat {
    display: flex;
    flex-direction: column;
}
.hp-home-hero__stat-num {
    font-size: 28px;
    font-weight: 800;
    color: #F7A707;
    line-height: 1;
}
.hp-home-hero__stat-label {
    font-size: 11px;
    opacity: 0.7;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-top: 3px;
}
.hp-home-hero__buttons {
    display: flex;
    gap: 16px;
    margin-top: 32px;
    flex-wrap: wrap;
}
.scroll-hint {
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    opacity: 0.6;
    animation: scrollBounce 1.8s infinite;
}
.scroll-hint svg { stroke: white; fill: none; width: 24px; stroke-width: 2.5; }
@keyframes scrollBounce {
    0%,100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(6px); }
}
@media (max-width: 768px) {
    .hp-home-hero {
        height: auto;
        min-height: auto;
        padding: 130px 5% 60px;
        align-items: flex-start;
    }
    .hp-home-hero__overlay { background: rgba(20,18,40,0.88); }
    .hp-home-hero__buttons { flex-direction: column; }
    .hp-home-hero__buttons a { text-align: center; }
    .hp-home-hero__stats { gap: 20px; }
    .scroll-hint { display: none; }
}

/* ── SERVICES TILES ── */
.services-section {
    padding: 72px max(5%, calc((100% - 1600px)/2 + 5%));
    background: #f8f9fc;
    font-family: Montserrat, sans-serif;
}
.services-section__header {
    text-align: center;
    margin-bottom: 48px;
}
.services-section__eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #F7A707;
    background: rgba(247,167,7,0.1);
    padding: 5px 14px;
    border-radius: 100px;
    display: inline-block;
    margin-bottom: 14px;
}
.services-section__title {
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 800;
    color: #312B4F;
    margin: 0 0 12px 0;
}
.services-section__desc {
    font-size: 15px;
    color: #666;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}
.svc-country-group { margin-bottom: 48px; }
.svc-country-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #063779;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e0e7f0;
}
.svc-country-label img {
    width: 32px; height: 22px;
    object-fit: cover; border-radius: 3px;
}
.svc-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}
.svc-tile {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}
.svc-tile:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(49,43,79,0.13);
    border-color: #F7A707;
}
.svc-tile__img {
    height: 140px;
    overflow: hidden;
}
.svc-tile__img img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.svc-tile:hover .svc-tile__img img { transform: scale(1.07); }
.svc-tile__body {
    padding: 16px 18px 18px;
    flex: 1;
    display: flex;
    flex-direction: column;
    border-top: 3px solid #F7A707;
}
.svc-tile__name {
    font-size: 13.5px;
    font-weight: 700;
    color: #312B4F;
    line-height: 1.4;
    flex: 1;
    margin: 0 0 12px 0;
}
.svc-tile__cta {
    font-size: 11px;
    font-weight: 700;
    color: #0466B5;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    display: flex;
    align-items: center;
    gap: 5px;
}
.svc-tile:hover .svc-tile__cta { color: #F7A707; }
@media(max-width: 600px) { .svc-grid { grid-template-columns: 1fr 1fr; } }
@media(max-width: 380px) { .svc-grid { grid-template-columns: 1fr; } }

/* ── WHY US SECTION ── */
.why-section {
    background: #312B4F;
    padding: 72px max(5%, calc((100% - 1600px)/2 + 5%));
    font-family: Montserrat, sans-serif;
}
.why-section__header {
    text-align: center;
    margin-bottom: 48px;
}
.why-section__title {
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 800;
    color: #fff;
    margin: 0 0 12px 0;
}
.why-section__title span { color: #F7A707; }
.why-section__desc {
    font-size: 14px;
    color: rgba(255,255,255,0.65);
    max-width: 560px;
    margin: 0 auto;
    line-height: 1.6;
}
.why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
@media(max-width: 860px) { .why-grid { grid-template-columns: 1fr; } }
.why-card {
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 16px;
    padding: 32px 28px;
    transition: background 0.2s, transform 0.2s;
}
.why-card:hover {
    background: rgba(255,255,255,0.12);
    transform: translateY(-4px);
}
.why-card__icon {
    width: 52px; height: 52px;
    background: rgba(247,167,7,0.15);
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 20px;
}
.why-card__icon svg {
    width: 26px; height: 26px;
    stroke: #F7A707; fill: none;
    stroke-width: 2;
    stroke-linecap: round; stroke-linejoin: round;
}
.why-card__title {
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
}
.why-card__text {
    font-size: 13.5px;
    color: rgba(255,255,255,0.7);
    line-height: 1.7;
}

/* ── HOME PARTNER BADGE ── */
.home-partner-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(247,167,7,0.1);
    border: 1px solid rgba(247,167,7,0.3);
    border-radius: 100px;
    padding: 7px 16px;
    font-size: 12px;
    font-weight: 700;
    color: #F7A707;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 16px;
}

/* ── CENNIK HOME – tabbed ── */
.cennik-home {
    padding: 72px max(5%, calc((100% - 1600px)/2 + 5%));
    background: #fff;
    font-family: Montserrat, sans-serif;
}
.cennik-home__header {
    text-align: center;
    margin-bottom: 32px;
}
.cennik-home__title {
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 800;
    color: #312B4F;
    margin: 0 0 12px 0;
}
.cennik-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-bottom: 32px;
}
.cennik-tab {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px 18px;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: 1.5px solid #e0e7f0;
    background: #fff;
    color: #312B4F;
    transition: all 0.2s;
    font-family: Montserrat, sans-serif;
}
.cennik-tab img { width: 22px; height: 15px; border-radius: 2px; object-fit: cover; }
.cennik-tab.active, .cennik-tab:hover {
    background: #312B4F;
    color: #fff;
    border-color: #312B4F;
}
.cennik-panel { display: none; }
.cennik-panel.active { display: block; }

/* ── HOME FORM SECTION wrapper ── */
.home-form-section {
    background: #312B4F;
}

/* ══════════════════════════════════════════════════════════
   FIXES – naprawia błędy renderowania na stronie głównej
══════════════════════════════════════════════════════════ */

/* FIX 1: gigantyczna ikona telefonu w tx-cta-banner */
.tx-cta-banner__phone svg {
    width: 20px !important;
    height: 20px !important;
    flex-shrink: 0;
    stroke: currentColor;
    fill: none;
}

/* FIX 2: tx-block na stronie głównej – obrazki z właściwymi proporcjami */
.tx-block .tx-img img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 16px 48px rgba(6,55,121,0.12);
    display: block;
    aspect-ratio: unset;
}

/* FIX 3: tx-block layout stabilizacja */
.tx-block {
    display: flex;
    align-items: center;
    gap: 64px;
}
.tx-block .tx-img {
    flex: 0 0 48%;
    width: 48%;
    max-width: 48%;
}
@media (max-width: 900px) {
    .tx-block .tx-img {
        flex: unset;
        width: 100%;
        max-width: 100%;
    }
    .tx-block .tx-img img {
        height: 220px;
    }
}

/* FIX 4: why-section na małych ekranach */
@media (max-width: 640px) {
    .why-grid { grid-template-columns: 1fr; gap: 14px; }
}

/* FIX 5: cennik-tab obrazki nie dziedziczą złych filtrów */
.cennik-tab img {
    width: 22px !important;
    height: 15px !important;
    border-radius: 2px;
    object-fit: cover;
    filter: none !important;
}

/* FIX 6: svc-tile obrazki w kafelkach krajów (tło kolorowe + flaga) */
.svc-tile__img img[style*="width:80px"] {
    object-fit: contain !important;
    width: 80px !important;
    height: auto !important;
}

.sv1-section {
    padding-top: 72px;
    padding-bottom: 72px;
    padding-left: max(5%, calc((100% - 1600px) / 2 + 5%));
    padding-right: max(5%, calc((100% - 1600px) / 2 + 5%));
    background: #F8F9FC;
    font-family: Montserrat, sans-serif;
}
.sv1-header { text-align: center; margin-bottom: 40px; }
.sv1-header h2 {
    font-size: clamp(22px, 2.4vw, 32px);
    font-weight: 800;
    color: #312B4F;
    margin: 0 0 8px;
}
.sv1-header p {
    font-size: 15px;
    color: #666;
    margin: 0;
}
.sv1-flags-label {
    display: block;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    color: #5C5878;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-bottom: 14px;
}
.sv1-flags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 48px;
}
.sv1-pill {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 9px 20px; border-radius: 100px;
    border: 2px solid #e0e0e0; background: #fff;
    font-size: 13px; font-weight: 600; color: #444;
    cursor: pointer; transition: all .22s ease;
    white-space: nowrap; user-select: none; font-family: Montserrat, sans-serif;
}
.sv1-pill img { width: 32px; height: 22px; border-radius: 3px; object-fit: cover; box-shadow: 0 1px 4px rgba(0,0,0,.18); }
.sv1-pill:hover,
.sv1-pill.active { border-color: #063779; background: #063779; color: #fff; box-shadow: 0 6px 18px rgba(6,55,121,.22); transform: translateY(-2px); }
.sv1-pill.all.active { background: #312B4F; border-color: #312B4F; }
 
.sv1-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 1024px) { .sv1-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .sv1-grid { grid-template-columns: 1fr; } }
 
.sv1-card {
    background: #fff; border-radius: 14px; overflow: hidden;
    border: 1px solid #e8e8e8; text-decoration: none;
    display: flex; flex-direction: column;
    transition: transform .25s ease, box-shadow .25s ease;
    box-shadow: 0 2px 10px rgba(0,0,0,.06);
}
.sv1-card:hover { transform: translateY(-5px); box-shadow: 0 14px 36px rgba(49,43,79,.14); }
.sv1-card.hidden { display: none !important; }
 
.sv1-card__img { height: 185px; overflow: hidden; }
.sv1-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.sv1-card:hover .sv1-card__img img { transform: scale(1.06); }
 
.sv1-card__body { padding: 16px 20px 20px; flex: 1; display: flex; flex-direction: column; background: #063779; }
.sv1-card__flags { display: flex; gap: 5px; margin-bottom: 10px; }
.sv1-card__flags img { width: 20px; height: 13px; border-radius: 2px; object-fit: cover; opacity: .85; }
.sv1-card__name { font-size: 14px; font-weight: 700; color: #fff; line-height: 1.4; flex: 1; margin-bottom: 14px; }
.sv1-card__cta { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; color: #F7A707; text-transform: uppercase; letter-spacing: .07em; }
.sv1-card__cta svg { width: 14px; height: 14px; transition: transform .2s; }
.sv1-card:hover .sv1-card__cta svg { transform: translateX(4px); }
 
.sv1-empty { display: none; text-align: center; padding: 60px 20px; color: #888; font-size: 15px; grid-column: 1 / -1; }




.tx-block { padding-left: max(5%, calc((100% - 1600px) / 2 + 5%)); padding-right: max(5%, calc((100% - 1600px) / 2 + 5%)); }
.cd-section { padding-left: max(5%, calc((100% - 1600px) / 2 + 5%)); padding-right: max(5%, calc((100% - 1600px) / 2 + 5%)); }
.intro-classic { padding-left: max(5%, calc((100% - 1600px) / 2 + 7%)); padding-right: max(5%, calc((100% - 1600px) / 2 + 7%)); }
.faq-section { padding-left: max(5%, calc((100% - 1600px) / 2 + 5%)); padding-right: max(5%, calc((100% - 1600px) / 2 + 5%)); }
.rs-section { padding-left: max(5%, calc((100% - 1600px) / 2 + 5%)); padding-right: max(5%, calc((100% - 1600px) / 2 + 5%)); }
.steps-section { padding-left: max(5%, calc((100% - 1600px) / 2 + 5%)); padding-right: max(5%, calc((100% - 1600px) / 2 + 5%)); }
.fx-reviews { padding-left: max(5%, calc((100% - 1600px) / 2 + 5%)); padding-right: max(5%, calc((100% - 1600px) / 2 + 5%)); }

/* ── ZMIENNE ──────────────────────────────────────────── */
:root {
    --ft-violet: #312B4F;
    --ft-gold:   #F7A707;
    --ft-white:  #FFFFFF;
    --ft-offwhite: #F7F6F2;
    --ft-body:   #4A4A4A;
    --ft-muted:  rgba(255,255,255,0.72);
}
 
/* ── RESET WSPÓLNY ────────────────────────────────────── */
.ft-section { box-sizing: border-box; width: 100%; }
.ft-section *, .ft-section *::before, .ft-section *::after { box-sizing: border-box; }
.ft-section h2 { font-family: Montserrat, sans-serif; font-size: clamp(22px, 3vw, 32px); font-weight: 700; line-height: 1.25; margin: 0 0 1.25rem; }
.ft-section p  { font-family: Montserrat, sans-serif; font-size: 15px; line-height: 1.8; margin: 0 0 1rem; }
.ft-section p:last-child { margin-bottom: 0; }
.ft-inner { max-width: 1600px; margin: 0 auto; padding: 72px 5%; }
 
/* ── WARIANT BIAŁY ────────────────────────────────────── */
.ft-section--light            { background: var(--ft-white); }
.ft-section--light h2         { color: var(--ft-violet); }
.ft-section--light p          { color: var(--ft-body); }
.ft-section--offwhite         { background: var(--ft-offwhite); }
.ft-section--offwhite h2      { color: var(--ft-violet); }
.ft-section--offwhite p       { color: var(--ft-body); }
 
/* ── WARIANT FIOLETOWY ────────────────────────────────── */
.ft-section--dark             { background: var(--ft-violet); }
.ft-section--dark h2          { color: var(--ft-white); }
.ft-section--dark p           { color: var(--ft-muted); }
 
/* ── UKŁAD SPLIT (tekst + obraz) ──────────────────────── */
.ft-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 64px;
    align-items: center;
}
.ft-split--rev { direction: rtl; }
.ft-split--rev > * { direction: ltr; }
.ft-split__img img {
    width: 100%;
    height: 420px;
    object-fit: cover;
    border-radius: 12px;
    display: block;
}
.ft-section--dark .ft-split__img img { box-shadow: 0 0 0 2px rgba(247,167,7,0.25); }
 
/* ── EYEBROW ──────────────────────────────────────────── */
.ft-eyebrow {
    display: inline-block;
    font-family: Montserrat, sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ft-gold);
    margin-bottom: 14px;
}
 
/* ── AKCENT KRESECZKI PRZED H2 ────────────────────────── */
.ft-title-accent {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.ft-title-accent::before {
    content: '';
    flex-shrink: 0;
    width: 4px;
    height: 100%;
    min-height: 28px;
    background: var(--ft-gold);
    border-radius: 2px;
    margin-top: 4px;
}
 
/* ── LISTA PUNKTORÓW ZE ZŁOTĄ KRESKĄ ──────────────────── */
.ft-list {
    list-style: none;
    padding: 0;
    margin: 1.5rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.ft-list li {
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    line-height: 1.65;
    padding-left: 18px;
    position: relative;
}
.ft-section--light  .ft-list li { color: var(--ft-body); }
.ft-section--offwhite .ft-list li { color: var(--ft-body); }
.ft-section--dark   .ft-list li { color: var(--ft-muted); }
.ft-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 2px;
    background: var(--ft-gold);
    border-radius: 1px;
}
.ft-list li strong {
    font-weight: 700;
    display: block;
    margin-bottom: 2px;
}
.ft-section--light .ft-list li strong    { color: var(--ft-violet); }
.ft-section--offwhite .ft-list li strong { color: var(--ft-violet); }
.ft-section--dark .ft-list li strong     { color: var(--ft-white); }
 
/* ── SIATKA KART STATYSTYK ────────────────────────────── */
.ft-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2px;
    margin-top: 48px;
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 16px;
    overflow: hidden;
    background: rgba(255,255,255,0.05);
}
.ft-stat {
    background: rgba(255,255,255,0.04);
    padding: 40px 28px 36px;
    text-align: left;
    border-right: 1px solid rgba(255,255,255,0.08);
    position: relative;
    transition: background .2s;
}
.ft-stat:last-child { border-right: none; }
.ft-stat:hover { background: rgba(255,255,255,0.08); }
.ft-stat::after {
    content: '';
    position: absolute;
    top: 0; left: 28px;
    width: 32px; height: 3px;
    background: var(--ft-gold);
    border-radius: 0 0 3px 3px;
}
.ft-stat__num {
    font-family: Montserrat, sans-serif;
    font-size: 52px;
    font-weight: 900;
    color: var(--ft-white);
    line-height: 1;
    display: block;
    letter-spacing: -.02em;
}
.ft-stat__num span { color: var(--ft-gold); }
.ft-stat__label {
    font-family: Montserrat, sans-serif;
    font-size: 11px;
    font-weight: 700;
    color: var(--ft-gold);
    text-transform: uppercase;
    letter-spacing: .1em;
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
}
.ft-stat__desc {
    font-family: Montserrat, sans-serif;
    font-size: 13px;
    line-height: 1.65;
    color: var(--ft-muted);
    display: block;
}
 
/* ── KROKI (STEPS) ────────────────────────────────────── */
.ft-steps {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-top: 1.5rem;
}
.ft-step {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}
.ft-step__num {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--ft-gold);
    color: var(--ft-violet);
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.ft-section--light  .ft-step__num { box-shadow: 0 0 0 3px rgba(247,167,7,0.18); }
.ft-step__body { padding-top: 6px; }
.ft-step__body strong {
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    font-weight: 700;
    display: block;
    margin-bottom: 4px;
}
.ft-section--light  .ft-step__body strong { color: var(--ft-violet); }
.ft-section--offwhite .ft-step__body strong { color: var(--ft-violet); }
.ft-section--dark   .ft-step__body strong { color: var(--ft-white); }
.ft-step__body p {
    font-size: 13px;
    margin: 0;
}
 
 
/* ── METODY PODATKOWE ─────────────────────────────────── */
.ft-methods {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 1.5rem;
}
.ft-method {
    border: 1px solid rgba(49,43,79,0.12);
    border-radius: 10px;
    padding: 24px;
}
.ft-section--dark .ft-method { border-color: rgba(255,255,255,0.12); background: rgba(255,255,255,0.04); }
.ft-method__tag {
    display: inline-block;
    background: var(--ft-gold);
    color: var(--ft-violet);
    font-family: Montserrat, sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 4px;
    margin-bottom: 12px;
}
.ft-method h3 {
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 8px;
}
.ft-section--light   .ft-method h3 { color: var(--ft-violet); }
.ft-section--dark    .ft-method h3 { color: var(--ft-white); }
.ft-method p {
    font-size: 13px;
    margin: 0;
}
.ft-method__countries {
    font-family: Montserrat, sans-serif;
    font-size: 11px;
    font-weight: 600;
    color: var(--ft-gold);
    margin-top: 10px;
    display: block;
}
 
/* ── RESPONSIVE ───────────────────────────────────────── */
@media (max-width: 900px) {
    .ft-split               { grid-template-columns: 1fr; gap: 32px; }
    .ft-split--rev          { direction: ltr; }
    .ft-split__img          { order: -1; }
    .ft-split__img img      { height: 260px; }
    .ft-stats               { grid-template-columns: 1fr 1fr; }
    .ft-stat                { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.08); }
    .ft-stat:nth-child(odd) { border-right: 1px solid rgba(255,255,255,0.08); }
    .ft-methods             { grid-template-columns: 1fr; }
    .ft-cta__inner          { flex-direction: column; align-items: flex-start; }
    .ft-inner               { padding: 48px 5%; }
}
@media (max-width: 560px) {
    .ft-stats { grid-template-columns: 1fr; }
    .ft-stat  { border-right: none; }
    .ft-stat:nth-child(odd) { border-right: none; }
}
 
/* ── TABELA DOKUMENTÓW ────────────────────────────────── */
.ft-doc-table-wrap {
    overflow-x: auto;
    border-radius: 12px;
    border: 1px solid rgba(49,43,79,0.1);
    margin-bottom: 1.5rem;
}
.ft-doc-table {
    width: 100%;
    border-collapse: collapse;
    font-family: Montserrat, sans-serif;
    font-size: 14px;
}
.ft-doc-table thead tr {
    background: var(--ft-violet);
}
.ft-doc-table thead th {
    color: var(--ft-white);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    padding: 14px 20px;
    text-align: left;
    white-space: nowrap;
}
.ft-doc-table tbody tr {
    border-bottom: 1px solid rgba(49,43,79,0.08);
    transition: background .15s;
}
.ft-doc-table tbody tr:last-child { border-bottom: none; }
.ft-doc-table tbody tr:hover { background: rgba(49,43,79,0.04); }
.ft-doc-table tbody td {
    padding: 16px 20px;
    color: var(--ft-body);
    line-height: 1.55;
    vertical-align: top;
}
.ft-doc-table tbody td strong {
    font-weight: 700;
    color: var(--ft-violet);
    display: block;
    margin-bottom: 2px;
}
.ft-doc-table__country {
    white-space: nowrap;
    font-weight: 600;
    color: var(--ft-violet) !important;
}
.ft-flag { font-size: 18px; margin-right: 6px; vertical-align: middle; }
 
.ft-doc-note {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    background: rgba(49,43,79,0.05);
    border-left: 3px solid var(--ft-gold);
    border-radius: 0 8px 8px 0;
    padding: 16px 20px;
    color: var(--ft-violet);
}
.ft-doc-note svg { color: var(--ft-gold); }
.ft-doc-note p {
    font-size: 14px;
    color: var(--ft-body);
    margin: 0;
}
.ft-doc-note p strong { color: var(--ft-violet); }
 
/* ── TABELA TERMINÓW ──────────────────────────────────── */
.ft-deadline-table-wrap {
    overflow-x: auto;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.12);
    margin-bottom: 1rem;
}
.ft-deadline-table {
    width: 100%;
    border-collapse: collapse;
    font-family: Montserrat, sans-serif;
    font-size: 14px;
}
.ft-deadline-table thead tr {
    background: rgba(255,255,255,0.1);
}
.ft-deadline-table thead th {
    color: rgba(255,255,255,0.7);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    padding: 14px 20px;
    text-align: left;
    white-space: nowrap;
}
.ft-deadline-table tbody tr {
    border-bottom: 1px solid rgba(255,255,255,0.08);
    transition: background .15s;
}
.ft-deadline-table tbody tr:last-child { border-bottom: none; }
.ft-deadline-table tbody tr:hover { background: rgba(255,255,255,0.05); }
.ft-deadline-table tbody td {
    padding: 16px 20px;
    color: var(--ft-muted);
    font-weight: 500;
}
.ft-deadline-table__urgent td {
    color: var(--ft-white) !important;
    background: rgba(247,167,7,0.08);
}
.ft-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 4px;
    white-space: nowrap;
}
.ft-badge--urgent {
    background: var(--ft-gold);
    color: var(--ft-violet);
}
.ft-badge--ok {
    background: rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.6);
}
 
.ft-deadline-note {
    font-family: Montserrat, sans-serif;
    font-size: 13px;
    color: rgba(255,255,255,0.45);
    margin: 0 0 2rem;
    font-style: italic;
}
 
.ft-urgency-box {
    border: 1px solid rgba(247,167,7,0.3);
    border-radius: 12px;
    padding: 28px 32px;
    background: rgba(247,167,7,0.06);
    max-width: 720px;
}
.ft-urgency-box p {
    color: var(--ft-white);
    font-size: 15px;
    margin: 0;
}


/* ── TX-CTA BANER ── */
.tx-cta-banner {
    background: linear-gradient(135deg, #F7A707 0%, #e07b00 100%);
    padding: 48px 7%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 24px;
    position: relative;
    overflow: hidden;
}

.tx-cta-banner::before {
    content: '';
    position: absolute;
    right: -80px;
    top: -80px;
    width: 300px;
    height: 300px;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    pointer-events: none;
}

.tx-cta-banner::after {
    content: '';
    position: absolute;
    left: 30%;
    bottom: -60px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
    pointer-events: none;
}

.tx-cta-banner__text {
    position: relative;
    z-index: 1;
}

.tx-cta-banner__eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.75);
    margin-bottom: 8px;
}

.tx-cta-banner__title {
    font-size: clamp(20px, 2.2vw, 30px);
    font-weight: 800;
    color: #fff;
    line-height: 1.2;
    margin: 0;
}

.tx-cta-banner__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.tx-cta-banner__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    background: #312B4F;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 100px;
    transition: background 0.2s, transform 0.2s;
    white-space: nowrap;
}

.tx-cta-banner__btn:hover {
    background: #1a1530;
    transform: translateY(-2px);
}

.tx-cta-banner__phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s;
}

.tx-cta-banner__phone:hover {
    opacity: 0.85;
}

.tx-cta-banner__phone svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .tx-cta-banner {
        padding: 36px 5%;
    }
    .tx-cta-banner__actions {
        flex-direction: column;
        gap: 12px;
    }
}


.tx-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 24px;
    padding: 13px 28px;
    background: #F5A623;
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-decoration: none;
    border-radius: 100px;
    transition: background 0.2s, transform 0.2s;
}

.tx-btn:hover {
    background: #e09510;
    transform: translateY(-2px);
}

.tx-btn img {
    width: 16px;
    height: 16px;
    filter: brightness(0) invert(1);
}


/* ══════════════════════════════════════════
   HP BLOG – sekcja 3 ostatnich artykułów
══════════════════════════════════════════ */
.hp-blog {
    background: #312B4F;
    padding: 72px max(5%, calc((100% - 1600px) / 2 + 5%));
}

.hp-blog__inner {
    width: 100%;
}

.hp-blog__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 40px;
    gap: 16px;
}

.hp-blog__eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #F7A707;
    margin-bottom: 8px;
}

.hp-blog__title {
    font-size: clamp(22px, 2.5vw, 32px);
    font-weight: 800;
    color: #fff;
    margin: 0;
    line-height: 1.2;
}

.hp-blog__all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: #F7A707;
    text-decoration: none;
    white-space: nowrap;
    padding-bottom: 2px;
    border-bottom: 1px solid rgba(247,167,7,.35);
    transition: border-color .2s, gap .2s;
    flex-shrink: 0;
}

.hp-blog__all:hover {
    border-color: #F7A707;
    gap: 10px;
}

/* siatka: featured + sidebar */
.hp-blog__grid {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 20px;
    align-items: stretch;
}

/* ── FEATURED ── */
.hp-blog__featured {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    border-radius: 14px;
    overflow: hidden;
    background: #23203a;
    border: 1px solid rgba(247,167,7,.15);
    transition: transform .25s, border-color .25s;
}

.hp-blog__featured:hover {
    transform: translateY(-4px);
    border-color: rgba(247,167,7,.4);
}

.hp-blog__featured-img {
    position: relative;
    height: 240px;
    overflow: hidden;
    flex-shrink: 0;
    background: #1a1730;
}

.hp-blog__featured-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
    opacity: .9;
}

.hp-blog__featured:hover .hp-blog__featured-img img {
    transform: scale(1.04);
    opacity: 1;
}

.hp-blog__featured-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 50%, rgba(35,32,58,0.5) 100%);
}

.hp-blog__featured-body {
    padding: 22px 24px 26px;
    flex: 1;
    display: flex;
    flex-direction: column;
    border-top: 2px solid #F7A707;
}

/* ── MINI KARTY ── */
.hp-blog__sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.hp-blog__mini {
    display: flex;
    gap: 14px;
    text-decoration: none;
    background: #23203a;
    border: 1px solid rgba(247,167,7,.12);
    border-radius: 12px;
    padding: 14px;
    align-items: center;
    transition: border-color .2s, transform .2s;
    flex: 1;
}

.hp-blog__mini:hover {
    border-color: rgba(247,167,7,.4);
    transform: translateX(4px);
}

.hp-blog__mini-img {
    width: 100px;
    height: 72px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
    background: #1a1730;
}

.hp-blog__mini-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: .9;
    transition: transform .3s, opacity .3s;
}

.hp-blog__mini:hover .hp-blog__mini-img img {
    transform: scale(1.06);
    opacity: 1;
}

.hp-blog__mini-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* wspólne */
.hp-blog__tag {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #F7A707;
    background: rgba(247,167,7,.12);
    border: 1px solid rgba(247,167,7,.2);
    padding: 2px 8px;
    border-radius: 4px;
    width: fit-content;
    margin-bottom: 2px;
}

.hp-blog__featured-title {
    font-size: clamp(16px, 1.8vw, 21px);
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
    margin: 0 0 10px 0;
}

.hp-blog__featured-excerpt,
.hp-blog__featured-excerpt * {
    font-size: 14px;
    color: rgba(255,255,255,.85) !important;
    line-height: 1.65;
    margin: 0 0 auto 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    padding-bottom: 18px;
}

.hp-blog__mini-title {
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.hp-blog__read {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: 700;
    color: #F7A707;
    text-transform: uppercase;
    letter-spacing: .07em;
    margin-top: 2px;
    transition: gap .2s;
}

.hp-blog__featured:hover .hp-blog__read,
.hp-blog__mini:hover .hp-blog__read {
    gap: 9px;
}

/* responsive */
@media (max-width: 900px) {
    .hp-blog__grid {
        grid-template-columns: 1fr;
    }
    .hp-blog__sidebar {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .hp-blog__mini {
        flex: 1 1 calc(50% - 8px);
    }
}

@media (max-width: 580px) {
    .hp-blog__header {
        flex-direction: column;
        align-items: flex-start;
    }
    .hp-blog__sidebar {
        flex-direction: column;
    }
    .hp-blog__mini {
        flex: none;
    }
}
/* ══════════════════════════════════════════════════════════
   SYNC FROM PROD — Pakiet 2b: cennik + page-header styles
   Source: fenixtaxnewr1/public/css/style.css
══════════════════════════════════════════════════════════ */

/* --- cd-table* family (prod lines 3622-3706) --- */
.cd-table {
    border-radius: 16px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    margin-bottom: 48px;
}

/* bg-[#312B4F] px-6 py-3.5 */
.cd-table__head {
    background: #312B4F;
    display: flex;
    justify-content: space-between;
    padding: 14px 24px;
}

/* text-xs font-bold uppercase tracking-widest text-white/60 */
.cd-table__head span {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
}

/* px-6 py-5 bg-white hover:bg-[#F9F6FF] border-b border-gray-100 */
.cd-table__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    background: #ffffff;
    border-bottom: 1px solid #f3f4f6;
    transition: background 0.15s;
    gap: 16px;
}

.cd-table__row:last-child {
    border-bottom: none;
}

.cd-table__row:hover {
    background: #F9F6FF;
}

/* flex items-center gap-4 */
.cd-table__name {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: 14px;
    font-weight: 500;
    color: #1A1A2E;
    flex: 1;
}

/* w-7 h-7 rounded bg-[#312B4F]/8 text-[#312B4F] text-xs font-extrabold
   hover: bg-[#F5A623]/15 text-[#F5A623] */
.cd-table__num {
    width: 28px;
    height: 28px;
    border-radius: 4px;
    background: rgba(49, 43, 79, 0.08);
    color: #312B4F;
    font-size: 11px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: background 0.15s, color 0.15s;
}

.cd-table__row:hover .cd-table__num {
    background: rgba(245, 166, 35, 0.15);
    color: #F5A623;
}

/* text-[#F5A623] font-extrabold text-lg ml-6 */
.cd-table__price {
    font-size: 20px;
    font-weight: 800;
    color: #F5A623;
    white-space: nowrap;
    margin-left: 24px;
}

/* ── CENNIK MOBILE ── */
@media (max-width: 600px) {
    .cd-section { padding: 48px 4%; }
    .cd-header { margin-bottom: 32px; }
    .cd-header__title { font-size: 22px; }
    .cd-block__heading { font-size: 16px; }
    .cd-table__head { padding: 12px 14px; }
    .cd-table__row {
        padding: 14px 14px;
        gap: 10px;
    }
    .cd-table__name {
        font-size: 13px;
        gap: 10px;
    }
    .cd-table__num {
        width: 24px;
        height: 24px;
        font-size: 10px;
        border-radius: 3px;
    }
    .cd-table__price {
        font-size: 15px;
        margin-left: 8px;
    }
}
@media (max-width: 380px) {
    .cd-table__row { padding: 12px 10px; gap: 8px; }
    .cd-table__name { font-size: 12px; gap: 8px; }
    .cd-table__num { width: 22px; height: 22px; font-size: 9px; }
    .cd-table__price { font-size: 14px; margin-left: 6px; }
}

/* --- cennik-home, cennik-tab*, cennik-panel, home-form-section (prod lines 4968-5019) --- */
/* ── CENNIK HOME – tabbed ── */
.cennik-home {
    padding: 72px max(5%, calc((100% - 1600px)/2 + 5%));
    background: #fff;
    font-family: Montserrat, sans-serif;
    margin-top: 96px;
}
.cennik-home__header {
    text-align: center;
    margin-bottom: 32px;
}
.cennik-home__title {
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 800;
    color: #312B4F;
    margin: 0 0 12px 0;
}
.cennik-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-bottom: 32px;
}
.cennik-tab {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px 18px;
    border-radius: 100px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: 1.5px solid #e0e7f0;
    background: #fff;
    color: #312B4F;
    transition: all 0.2s;
    font-family: Montserrat, sans-serif;
}
.cennik-tab img { width: 22px; height: 15px; border-radius: 2px; object-fit: cover; }
.cennik-tab.active, .cennik-tab:hover {
    background: #312B4F;
    color: #fff;
    border-color: #312B4F;
}
.cennik-panel { display: none; }
.cennik-panel.active { display: block; }

/* ── HOME FORM SECTION wrapper ── */
.home-form-section {
    background: #312B4F;
}

/* --- cennik-tab image fix (prod lines 5072-5079) --- */
/* FIX 5: cennik-tab obrazki nie dziedziczą złych filtrów */
.cennik-tab img {
    width: 22px !important;
    height: 15px !important;
    border-radius: 2px;
    object-fit: cover;
    filter: none !important;
}

/* --- page-header* family (prod lines 5765-5865) --- */
.page-header {
    background: white;
    padding: 52px max(5%, calc((100% - 1600px) / 2 + 5%)) 0;
    font-family: Montserrat, sans-serif;
    position: relative;
}

.page-header::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: #F7A707;
}

.page-header__inner {
    position: relative;
    padding-bottom: 44px;
    max-width: 800px;
}

.page-header__breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #999;
    margin-bottom: 16px;
    font-weight: 500;
}

.page-header__breadcrumb a {
    color: #999;
    text-decoration: none;
    transition: color .2s;
}

.page-header__breadcrumb a:hover { color: #F7A707; }
.page-header__breadcrumb span:last-child { color: #312B4F; font-weight: 600; }

.page-header__title {
    font-size: clamp(30px, 4vw, 52px);
    font-weight: 800;
    color: #312B4F;
    line-height: 1.1;
    margin: 0 0 12px 0;
    letter-spacing: -.02em;
}

.page-header__sub {
    font-size: 15px;
    color: #666;
    margin: 0 0 28px 0;
    font-weight: 400;
    line-height: 1.5;
}

.page-header__flags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.page-header__flags span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 14px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 100px;
    font-size: 12px;
    font-weight: 600;
    color: #444;
    transition: border-color .2s, color .2s;
}

.page-header__flags span:hover {
    border-color: #F7A707;
    color: #312B4F;
}

.page-header__flags img {
    width: 20px;
    height: 14px;
    border-radius: 2px;
    object-fit: cover;
}

.page-header__bar {
    height: 3px;
    background: white;
}

@media (max-width: 768px) {
    .page-header { padding-top: 32px; }
    .page-header__title { font-size: 26px; }
    .page-header__sub { font-size: 13px; }
}

/* --- cennik-panel.active override (prod lines 5867-5870) --- */
.cennik-panel.active {
    background-color: transparent !important;
    color: inherit !important;
}

/* ══════════════════════════════════════════
   WP – strona współpracy
══════════════════════════════════════════ */

/* benefit bar */
.wp-bar {
    background: #063779;
    padding: 32px max(5%, calc((100% - 1600px) / 2 + 5%));
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    flex-wrap: wrap;
}

.wp-bar__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8px 48px;
    text-align: center;
}

.wp-bar__num {
    font-size: 42px;
    font-weight: 900;
    color: #fff;
    line-height: 1;
    letter-spacing: -.02em;
}

.wp-bar__num span {
    color: #F7A707;
}

.wp-bar__label {
    font-size: 12px;
    font-weight: 600;
    color: #7a9cc8;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-top: 6px;
}

.wp-bar__sep {
    width: 1px;
    height: 48px;
    background: #1e4a8a;
}

/* karty korzyści */
.wp-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-top: 48px;
}

.wp-card {
    background: #3d3660;
    border: 1px solid #4d4670;
    border-radius: 14px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transition: border-color .2s, transform .2s;
}

.wp-card:hover {
    border-color: #F7A707;
    transform: translateY(-4px);
}

.wp-card__icon {
    width: 52px;
    height: 52px;
    background: #2e2a4e;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.wp-card h3 {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    margin: 0;
    line-height: 1.3;
}

.wp-card p {
    font-size: 13px;
    color: #b0a8c8;
    line-height: 1.65;
    margin: 0;
}

@media (max-width: 1024px) {
    .wp-cards { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 580px) {
    .wp-cards { grid-template-columns: 1fr; }
    .wp-bar { flex-direction: column; gap: 24px; }
    .wp-bar__sep { width: 48px; height: 1px; }
    .wp-bar__item { padding: 0; }
}
@media (max-width: 420px) {
    .wp-bar { padding: 24px 4%; gap: 18px; }
    .wp-bar__num { font-size: 32px; }
    .wp-bar__label { font-size: 11px; }
    .wp-card { padding: 20px 18px; }
    .wp-card h3 { font-size: 15px; }
    .wp-card p { font-size: 12px; }
}

/* i18n: dluzsze tlumaczenia - tabela dokumentow + przyciski hero na mobile */
@media (max-width: 640px) {
  .ft-doc-table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .ft-doc-table { table-layout: fixed; width: 100%; font-size: 11px; }
  .ft-doc-table th, .ft-doc-table td { word-break: break-word; overflow-wrap: anywhere; padding: 6px 8px; }
  .hp-hero__buttons { flex-direction: column; align-items: stretch; }
  .hp-hero__btn { white-space: normal; text-align: center; width: 100%; height: auto; min-height: 46px; }
  html, body { overflow-x: hidden; max-width: 100%; }
}

/* ===== i18n ROBUSTNESS: rozne dlugosci tekstu w jezykach nie rozwalaja layoutu ===== */
/* Naglowki nigdy nie wystaja - lamia dlugie slowa */
.hero-title, .hero-subtitle, .hero-description, .hp-hero__title, .hp-hero__desc,
.cd-header__title, .fx-reviews__title, .rs-section__title, .tx-cta-banner__title,
.steps-title, .mega-desc__title, .ft-section__title, .ft-split__title,
.cennik-home__title, .knt-form__title, .page-header__title,
h1, h2, h3, h4 {
  overflow-wrap: break-word;
  /* hyphens:auto usuniete (feedback klienta: UA dzielilo "wid-pustku" w hero);
     break-word nadal lamie awaryjnie dlugie slowa, tylko bez lacznika */
  hyphens: none;
  min-width: 0;
}
/* Rzedy przyciskow zawijaja sie zamiast wychodzic poza ekran */
.hero-buttons, .hp-hero__buttons, .tx-cta-banner__actions, .hero-features {
  flex-wrap: wrap;
  min-width: 0;
}
/* Przyciski: tekst sie zawija, max szerokosc ekranu */
.btn-primary, .btn-secondary, .hp-hero__btn, .tx-cta-banner__btn, .nav-cta-btn {
  white-space: normal;
  max-width: 100%;
  overflow-wrap: break-word;
}
/* Media nie rozpychaja */
img, table, video, iframe { max-width: 100%; }
/* Na waskich ekranach przyciski hero stackuja sie pelna szerokoscia */
@media (max-width: 768px) {
  .hero-buttons, .hp-hero__buttons { flex-direction: column; align-items: stretch; }
  .hero-buttons .btn-primary, .hero-buttons .btn-secondary,
  .hp-hero__buttons .hp-hero__btn { width: 100%; text-align: center; }
}
/* Tabele w tresci (t1_X) - przewijalne na mobile zamiast rozpychac strone */
@media (max-width: 640px) {
  .tx-body table, .tx-text table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .tx-body table th, .tx-body table td { white-space: normal; }
}

/* i18n: hero naglowek - zlota czesc proporcjonalna (PL ratio 0.85) */
.hero-title .hero-subtitle { font-size: 0.85em !important; }
/* rozsadny rozmiar bialej per jezyk (blisko PL); za dlugie naglowki skracane w tresci */
html[lang="de"] .hero-title { font-size: 40px; }
html[lang="lt"] .hero-title { font-size: 42px; }
html[lang="nl"] .hero-title { font-size: 42px; }
html[lang="en"] .hero-title { font-size: 44px; }
html[lang="ro"] .hero-title { font-size: 42px; }
html[lang="bg"] .hero-title { font-size: 42px; }
html[lang="uk"] .hero-title { font-size: 42px; }
@media (max-width: 1280px) {
  html[lang="de"] .hero-title { font-size: 34px; }
  html[lang="lt"] .hero-title, html[lang="nl"] .hero-title, html[lang="ro"] .hero-title, html[lang="bg"] .hero-title, html[lang="uk"] .hero-title { font-size: 36px; }
  html[lang="en"] .hero-title { font-size: 38px; }
}
@media (max-width: 1024px) {
  html[lang="de"] .hero-title { font-size: 30px; }
  html[lang="lt"] .hero-title, html[lang="nl"] .hero-title, html[lang="ro"] .hero-title, html[lang="bg"] .hero-title, html[lang="uk"] .hero-title { font-size: 32px; }
  html[lang="en"] .hero-title { font-size: 34px; }
}

/* i18n: mniejszy opis + features w jezykach (zwalnia pion -> naglowek nie musi byc malutki) */
html:not([lang="pl"]) .hero-description { font-size: 14px !important; margin-bottom: 22px !important; line-height: 1.45 !important; }
html:not([lang="pl"]) .hero-features { font-size: 12px !important; gap: 10px !important; }

/* ===== Sociale w stopce (FB/IG/TG/WA) - 2026-07-02 ===== */
.ft-socials { display: flex; gap: 10px; margin-top: 16px; }
.ft-socials a {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14);
  color: #c9cede; transition: background .2s, color .2s, transform .15s;
}
.ft-socials a:hover { background: #F7A707; border-color: #F7A707; color: #2b2410; transform: translateY(-2px); }
.ft-socials svg { width: 17px; height: 17px; fill: currentColor; }


/* ── Hero z mapa: na waskich ekranach osobny, pionowy kadr ─────────────────
   Poziomy kadr mapy przy skalowaniu do wysokosci pokazywal na telefonie
   przypadkowy fragment konturu bez kontekstu. Pionowa wersja trzyma mape
   jako pas u gory, a pod tekstem zostaje granat marki. */
/* Kraje obslugi leza w pasie 26-54% wysokosci obrazu. Przy domyslnym 20% na szerokich
   ekranach Austria i Szwajcaria wypadaly poza kadr, wiec schodzimy nizej. */
.hp-hero--mapa .hp-hero__bg { background: linear-gradient(120deg,#1B1836 0%,#0C1024 60%,#0A0E1E 100%) !important; }

/* Na telefonie i tablecie zaslona hero kryla 95% i gasila swiatla miast na mapie. */
@media (max-width: 1024px) {
    .hp-hero--mapa .hp-hero__overlay {
        background: linear-gradient(180deg, rgba(18,16,38,.42) 0%, rgba(20,18,42,.78) 14%,
                    rgba(22,20,46,.82) 32%, rgba(30,27,58,.60) 46%,
                    rgba(49,43,79,.90) 66%, rgba(49,43,79,.95) 100%) !important;
    }

    .hp-hero--mapa .hp-hero__bg {
        background-image: url('/image/hero-mapa-mobile-dzien.webp?v=1') !important;
        background-position: center top !important;
        background-size: cover !important;
    }
}


/* Wersja ze znakiem: na telefonie naglowek lezal na jasnym niebie i mial kontrast 1,76
   przy wymaganych 3,0. Ciemniejszy pas w gornej czesci to naprawia. */
@media (max-width: 640px) {
    /* Na telefonie kadr pokazywal sama droge, wiec tabliczki z nazwami krajow znikaly.
       Osobny pionowy plik trzyma je w gornej czesci ekranu. */
    .hp-hero:not(.hp-hero--mapa) .hp-hero__bg {
        background-image: url('/image/hero-znak-mobile.webp?v=2') !important;
        background-position: center top !important;
        background-size: cover !important;
    }

    .hp-hero:not(.hp-hero--mapa) .hp-hero__overlay {
        background: linear-gradient(180deg, rgba(30,26,58,.58) 0%, rgba(32,28,62,.72) 20%,
                    rgba(38,33,70,.74) 42%, rgba(49,43,79,.86) 64%,
                    rgba(49,43,79,.93) 100%) !important;
    }
}


/* ── Hero z mapa: zaslona konczy sie tam, gdzie konczy sie tekst ───────────
   Domyslny gradient hero kryl 80% jeszcze na 40% szerokosci, czyli dokladnie tam,
   gdzie lezy Wielka Brytania, i 0% przy Polsce. Kraje po lewej wygladaly przez to
   na przygaszone i rozmyte. Tu krycie spada gwaltownie zaraz za kolumna tekstu. */
@media (min-width: 1025px) {
    .hp-hero--mapa .hp-hero__overlay, .hp-hero--znak .hp-hero__overlay {
        background: linear-gradient(to right,
            rgba(49,43,79,0.96) 0%,
            rgba(49,43,79,0.94) 28%,
            rgba(49,43,79,0.78) 40%,
            rgba(49,43,79,0.34) 50%,
            rgba(49,43,79,0.14) 62%,
            rgba(49,43,79,0.06) 100%) !important;
    }
}


/* ══ KLIKALNA MAPA KRAJOW W HERO ══════════════════════════════════════════
   Jeden styl dla wszystkich krajow: cienka, przerywana linia w kolorze kraju,
   bez ciemnej otoczki i bez poswiaty. Zdjecie satelitarne ma byc bohaterem,
   granice tylko je porzadkuja. Podpis z flaga siedzi w srodku kraju. */
.mk-warstwa { position: absolute; inset: 0; z-index: -2; pointer-events: none; }
.mk-svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.mk-obce path { fill: rgba(255,255,255,.012); stroke: rgba(160,195,255,.10); stroke-width: 1.4; }

.mk-kraj { pointer-events: auto; cursor: pointer; }
.mk-halo { fill: none; stroke: rgba(6,8,20,.85); stroke-width: 7; }
.mk-ksztalt { fill: rgba(255,255,255,.06); stroke: #FFC53D; stroke-width: 3;
              stroke-dasharray: 9 6; stroke-linecap: butt;
              transition: fill 220ms cubic-bezier(.23,1,.32,1),
                          stroke-width 220ms cubic-bezier(.23,1,.32,1); }

.mk-kraj--polska path { fill: rgba(255,255,255,.045); stroke: #9CC4FF; stroke-width: 3;
                        stroke-dasharray: 9 6; stroke-linecap: butt;
                        transition: fill 220ms cubic-bezier(.23,1,.32,1); }

.mk-kraj:focus-visible { outline: none; }
.mk-kraj:focus-visible .mk-ksztalt,
.mk-kraj--polska:focus-visible path { stroke-width: 4.5; fill: rgba(255,255,255,.14); }

/* Jedyna nitka na mapie: Holandia jest za mala na podpis obok Niemiec i Wielkiej Brytanii. */
@media (hover: hover) and (pointer: fine) {
    .mk-kraj:hover .mk-ksztalt { fill: rgba(255,255,255,.14); stroke-width: 3.6; }
    .mk-kraj--polska:hover path { fill: rgba(156,196,255,.12); }
    .mk-etykieta-usunieta {
                         border-color: rgba(255,255,255,.7); }
}
@media (prefers-reduced-motion: reduce) { .mk-ksztalt, .mk-etykieta { transition: none; } }
@media (max-width: 1024px) { .mk-warstwa { display: none; } }


/* Kontener tresci ma 1325 px szerokosci i przykrywal mape, wiec klikniecia w kraje
   nie dochodzily. Przepuszczamy je przez puste miejsca, zostawiajac klikalna sama kolumne. */
.hp-hero--mapa .hp-hero__container, .hp-hero--znak .hp-hero__container { pointer-events: none; }
.hp-hero--mapa .hp-hero__content, .hp-hero--znak .hp-hero__content,
.hp-hero--mapa .hp-hero__content *, .hp-hero--znak .hp-hero__content * { pointer-events: auto; }






/* ══ FLAGI W KRAJACH ══════════════════════════════════════════════════════
   W kraju stoi sama flaga (miesci sie nawet w Szwajcarii), nazwa wysuwa sie
   po najechaniu. Pelna lista nazw jest w pigulkach pod naglowkiem.
   Kraje maja wypelnienie w swoim kolorze, zeby roznily sie od siebie i od tla. */
.mk-fl { pointer-events: auto; cursor: pointer; }
.mk-fl__tlo { fill: rgba(8,11,26,.92); stroke: var(--kol); stroke-width: 4; }
.mk-fl__podpis { opacity: 0; pointer-events: none;
                 transition: opacity 180ms cubic-bezier(.23,1,.32,1); }
.mk-fl__podpis rect { fill: rgba(8,11,26,.92); stroke: var(--kol); stroke-width: 2.5; }
.mk-fl__podpis text { font: 700 34px Montserrat, sans-serif; fill: #fff; }
.mk-fl:focus-visible { outline: none; }
.mk-fl:focus-visible .mk-fl__tlo { stroke: #fff; stroke-width: 6; }
.mk-fl:focus-visible .mk-fl__podpis { opacity: 1; }
@media (hover: hover) and (pointer: fine) {
    .mk-fl:hover .mk-fl__podpis { opacity: 1; }
    .mk-fl:hover .mk-fl__tlo { stroke: #fff; }
}
@media (prefers-reduced-motion: reduce) { .mk-fl__podpis { transition: none; } }

/* ══ HUD MAPY ═════════════════════════════════════════════════════════════
   Warstwa "taktyczna": siatka geograficzna co 5 stopni pod krajami, luki
   zwrotu z kazdego kraju do Polski (przeplyw animowany dashem), na markerach
   pulsujacy ping, kod ISO w monospace i celownik z narozników po najechaniu.
   Animowane tylko transform, opacity i stroke-dashoffset. */
.mk-siatka { fill: none; stroke: rgba(170,200,255,.15); stroke-width: 1; }
.mk-luk { fill: none; stroke: rgba(255,178,61,.30); stroke-width: 1.6; stroke-linecap: round; }
.mk-luk--impuls { stroke: rgba(255,205,110,.95); stroke-width: 2.6; stroke-dasharray: 34 300;
                  animation: mk-plyn 2.8s linear infinite; }
@keyframes mk-plyn { from { stroke-dashoffset: 334; } to { stroke-dashoffset: 0; } }
.mk-fl__ping { pointer-events: none; fill: none; stroke: var(--kol); stroke-width: 2.5; opacity: 0;
               transform-box: fill-box; transform-origin: center;
               animation: mk-ping 3.2s cubic-bezier(.23,1,.32,1) infinite; animation-delay: var(--op, 0s); }
@keyframes mk-ping { 0% { transform: scale(1); opacity: .75; } 70%, 100% { transform: scale(2.3); opacity: 0; } }
.mk-fl__kod text { font: 600 17px/1 ui-monospace, "SF Mono", Menlo, Consolas, monospace; letter-spacing: 3px;
              fill: #E4ECFF; text-anchor: middle; paint-order: stroke; stroke: rgba(8,11,26,.9); stroke-width: 6px;
              stroke-linejoin: round; }
.mk-fl__cel { fill: none; stroke: #fff; stroke-width: 3; stroke-linecap: square; opacity: 0;
              transform-box: fill-box; transform-origin: center; transform: scale(1.25);
              transition: opacity 180ms cubic-bezier(.23,1,.32,1), transform 180ms cubic-bezier(.23,1,.32,1); }
.mk-fl:focus-visible .mk-fl__cel { opacity: 1; transform: scale(1); }
@media (hover: hover) and (pointer: fine) {
    .mk-fl:hover .mk-fl__cel { opacity: 1; transform: scale(1); }
    .mk-fl:hover .mk-fl__ping { animation-play-state: paused; opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
    .mk-luk, .mk-fl__ping { animation: none; }
    .mk-luk--impuls { display: none; }
    .mk-fl__cel { transition: none; }
}
/* narozniki ekranu w prawych rogach mapy */
.mk-warstwa::before, .mk-warstwa::after { content: ""; position: absolute; right: 28px; width: 34px; height: 34px;
    border-right: 2px solid rgba(228,236,255,.32); }
.mk-warstwa::before { top: 28px; border-top: 2px solid rgba(228,236,255,.32); }
.mk-warstwa::after { bottom: 28px; border-bottom: 2px solid rgba(228,236,255,.32); }
/* markery: pozycja z --cx/--cy (jednostki mapy), skala --mk-k z JS, zeby kolko mialo ~40px na kazdym ekranie */
.mk-fl { transform: translate(calc(var(--cx) * 1px), calc(var(--cy) * 1px)) scale(var(--mk-k, 1)); }

/* kontury, luki i siatka o stalej grubosci w pikselach ekranu, niezaleznie od skali mapy */
.mk-ksztalt { vector-effect: non-scaling-stroke; stroke-width: 1.7px; stroke-dasharray: 5 3.4; }
.mk-halo { vector-effect: non-scaling-stroke; stroke-width: 4px; }
.mk-kraj--polska path { vector-effect: non-scaling-stroke; stroke-width: 1.7px; }
.mk-obce path { vector-effect: non-scaling-stroke; stroke-width: .8px; }
.mk-siatka { vector-effect: non-scaling-stroke; stroke-width: .6px; }
.mk-luk { vector-effect: non-scaling-stroke; stroke-width: 1px; }
.mk-luk--impuls { stroke-width: 1.6px; }
.mk-kraj--polska path { stroke-dasharray: 5 3.4; }
.mk-kraj:focus-visible .mk-ksztalt, .mk-kraj--polska:focus-visible path { stroke-width: 2.6px; }
@media (hover: hover) and (pointer: fine) { .mk-kraj:hover .mk-ksztalt { stroke-width: 2.4px; } }
/* monochrom: reszta Europy przyciemniona maska, nasze kraje jasne, kontury w jednym kolorze */
.mk-reszta { fill: rgba(6,8,24,.55); pointer-events: none; }
.mk-ksztalt, .mk-kraj--polska path { stroke: #BFD4FF; fill: rgba(191,212,255,.05); }
.mk-fl__kod rect { fill: rgba(8,11,26,.96); stroke: rgba(228,236,255,.55); stroke-width: 1.5; }
.mk-fl__kod text { text-anchor: middle; fill: #E4ECFF; letter-spacing: 2px; paint-order: normal; stroke: none; }
.mk-fl__cel { stroke: #FFB13D; }
.mk-fl:focus-visible .mk-fl__tlo { stroke: #FFB13D; }
@media (hover: hover) and (pointer: fine) {
    .mk-fl:hover .mk-fl__tlo { stroke: #FFB13D; }
    .mk-kraj:hover .mk-ksztalt, .mk-kraj--polska:hover path { fill: rgba(255,177,61,.16); stroke: #FFD08A; }
}
.mk-fl__kod--bok { transition: opacity 180ms cubic-bezier(.23,1,.32,1); }
.mk-fl:hover .mk-fl__kod--bok, .mk-fl:focus-visible .mk-fl__kod--bok { opacity: 0; }
/* wejscie markerow po zaladowaniu: kolejno, tylko opacity */
.mk-fl { animation: mk-wejscie .7s cubic-bezier(.23,1,.32,1) both; animation-delay: calc(var(--op, 0s) * .4 + .2s); }
@keyframes mk-wejscie { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .mk-fl { animation: none; } .mk-fl__kod--bok { transition: none; } }
/* klikniecie myszka nie rysuje ramki fokusu po obrysie kraju; klawiatura ma wskaznik przez stroke */
.mk-kraj:focus, .mk-fl:focus { outline: none; -webkit-tap-highlight-color: transparent; }
/* cienkie, delikatne kontury */
.mk-ksztalt, .mk-kraj--polska path { stroke-width: 1.2px; stroke-dasharray: 4 3; stroke: rgba(191,212,255,.9); }
.mk-halo { stroke-width: 3px; stroke: rgba(6,8,20,.7); }
.mk-kraj:focus-visible .mk-ksztalt, .mk-kraj--polska:focus-visible path { stroke-width: 2px; }
@media (hover: hover) and (pointer: fine) { .mk-kraj:hover .mk-ksztalt, .mk-kraj--polska:hover path { stroke-width: 1.8px; } }

/* ══ DROGOWSKAZ W HERO (?hero=znak) ═══════════════════════════════════════
   Zdjecie ze slupem jako plansza 2048x1152 skalowana skryptem; napisy to linki polozone
   w plaszczyznie tabliczek (matrix3d) z mieszaniem multiply, wiec przejmuja ziarno i swiatlo
   blachy. Warstwa lezy pod zaslona hero (z-index -2), tak jak mapa. */
.hp-hero--znak { overflow: hidden; }
.zn { position: absolute; inset: 0; z-index: -2; overflow: hidden; pointer-events: none; }
.zn__plansza { position: absolute; left: 0; top: 0; width: 2048px; height: 1152px; transform-origin: 0 0; }
.zn__plansza img { position: absolute; inset: 0; width: 2048px; height: 1152px; display: block; }
.zn__tab { position: absolute; left: 0; top: 0; transform-origin: 0 0; display: flex; align-items: center; justify-content: center;
           padding: 0 8px; box-sizing: border-box; pointer-events: auto; text-decoration: none; cursor: pointer;
           transition: background-color 180ms cubic-bezier(.23,1,.32,1); }
.zn__tab span { font: 700 34px/1 Overpass, "Arial Narrow", Arial, sans-serif; letter-spacing: .01em; text-transform: uppercase; color: #17171C; white-space: nowrap;
                mix-blend-mode: multiply; opacity: .9; text-shadow: .4px .5px 0 rgba(255,255,255,.22), -.3px -.3px 0 rgba(0,0,0,.25); filter: blur(.35px); }
.zn__tab--holandia span { font-size: 22px; } .zn__tab--austria span { font-size: 18px; } .zn__tab--szwajcaria span { font-size: 24px; }
.zn__tab--anglia span { font-size: 24px; line-height: .92; white-space: normal; text-align: center; }
.zn__tab:hover { background: rgba(255,255,255,.16); }
.zn__tab:focus-visible { outline: 3px solid var(--ft-gold); outline-offset: 2px; }
@media (max-width: 1024px) {
    .hp-hero--znak { padding-top: 400px !important; }
    .hp-hero--znak .hp-hero__bg { background-image: none !important; }
    .hp-hero--znak .hp-hero__overlay { background: linear-gradient(180deg, rgba(30,26,58,.18) 0%, rgba(30,26,58,.22) 34%, rgba(38,33,70,.8) 46%, rgba(49,43,79,.93) 100%) !important; }
}
/* ══ ZALETY ROZLICZEN (strona glowna i strony uslug) ═════════════════════
   Granatowy pas marki, cztery pola 2x2 widoczne od razu. W kazdym polu duzy konturowy
   numer, ikona w zlotej ramce, tytul i punkty jako plakietki z odhaczeniem (kazda wartosc
   osobno, bez sciany tekstu). Pola wjezdzaja kolejno, plakietki z lekkim opoznieniem. */
.zl { position: relative; overflow: hidden; }
.zl::before { content: ""; position: absolute; right: -180px; top: -220px; width: 640px; height: 640px; border-radius: 50%;
              background: radial-gradient(circle, rgba(247,167,7,.16), rgba(247,167,7,0) 62%); pointer-events: none; }
.zl .ft-inner { position: relative; }
.zl__glowa { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.zl__glowa > div { max-width: 680px; }
.zl__lead { font-size: 16px !important; line-height: 1.7 !important; }
.zl__cta { flex: none; display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px; border-radius: 100px; margin-bottom: 4px;
           background: var(--ft-gold); color: var(--ft-violet); font: 700 15px/1 Montserrat, sans-serif; text-decoration: none;
           box-shadow: 0 18px 32px -20px rgba(247,167,7,.9);
           transition: transform 160ms cubic-bezier(.23,1,.32,1), box-shadow 160ms cubic-bezier(.23,1,.32,1); }
.zl__cta svg { width: 18px; height: 18px; transition: transform 160ms cubic-bezier(.23,1,.32,1); }
.zl__cta:hover { transform: translateY(-2px); box-shadow: 0 24px 36px -20px rgba(247,167,7,.95); }
.zl__cta:hover svg { transform: translateX(3px); }
.zl__cta:active { transform: translateY(0) scale(.98); }
.zl__cta:focus-visible { outline: 3px solid var(--ft-white); outline-offset: 3px; }
.zl__siatka { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 44px; }
.zl__pole { position: relative; overflow: hidden; padding: 34px 34px 34px; border-radius: 20px;
            background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
            opacity: 0; transform: translateY(16px);
            transition: opacity .55s cubic-bezier(.23,1,.32,1), transform .55s cubic-bezier(.23,1,.32,1), border-color 200ms, background-color 200ms;
            transition-delay: calc(var(--i) * 90ms), calc(var(--i) * 90ms), 0s, 0s; }
.zl__pole--widoczne { opacity: 1; transform: none; }
.zl__pole:hover { border-color: rgba(247,167,7,.45); background: rgba(255,255,255,.075); }
.zl__nr { position: absolute; right: 30px; top: 24px; font: 800 64px/1 Montserrat, sans-serif; letter-spacing: -.03em;
          color: rgba(247,167,7,.22); pointer-events: none; }
.zl__tytul { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.zl__ikona { flex: none; width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; color: var(--ft-violet);
             background: var(--ft-gold); box-shadow: 0 14px 24px -16px rgba(247,167,7,.9); }
.zl__ikona svg { width: 26px; height: 26px; }
.zl__tytul h3 { font: 700 24px/1.2 Montserrat, sans-serif; color: var(--ft-white); margin: 0; }
.zl__punkty { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.zl__punkty li { display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px 10px 10px; border-radius: 100px;
                 background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
                 font: 500 14.5px/1.35 Montserrat, sans-serif; color: rgba(255,255,255,.92);
                 opacity: 0; transform: translateY(6px); transition: opacity .45s cubic-bezier(.23,1,.32,1), transform .45s cubic-bezier(.23,1,.32,1);
                 transition-delay: calc(var(--i) * 90ms + 160ms + var(--j) * 60ms); }
.zl__pole--widoczne .zl__punkty li { opacity: 1; transform: none; }
.zl__punkty svg { flex: none; width: 22px; height: 22px; border-radius: 50%; padding: 5px; background: var(--ft-gold);
                  fill: none; stroke: var(--ft-violet); stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 1024px) {
    .zl__glowa { flex-direction: column; align-items: flex-start; }
    .zl__siatka { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 640px) {
    .zl__pole { padding: 24px 20px 24px; }
    .zl__nr { font-size: 44px; right: 20px; top: 18px; }
    .zl__tytul h3 { font-size: 20px; }
    .zl__ikona { width: 44px; height: 44px; } .zl__ikona svg { width: 22px; height: 22px; }
    .zl__punkty li { font-size: 14px; padding: 9px 14px 9px 9px; }
}
@media (prefers-reduced-motion: reduce) {
    .zl__pole, .zl__punkty li { opacity: 1; transform: none; transition: none; } .zl__cta, .zl__cta svg { transition: none; }
}

/* ══ MAPA: WERSJA DZIENNA (wybor klienta, 8.09.2026) ═══════════════════════
   Tlo: NASA Blue Marble w tej samej projekcji. Bez elementow "wojskowych": siatka,
   narozniki, pingi i celownik wylaczone. Reszta Europy w lekkiej mgle, nasze kraje
   w pelnym kolorze z granatowym konturem i bialym halo, markery biale, luki statyczne. */
.mk-siatka, .mk-warstwa::before, .mk-warstwa::after, .mk-fl__ping, .mk-fl__cel, .mk-luk--impuls { display: none; }
.mk-reszta { fill: rgba(236,240,248,.42); }
.mk-obce path { stroke: rgba(49,43,79,.18); fill: none; }
.mk-ksztalt, .mk-kraj--polska path { stroke: rgba(49,43,79,.85); stroke-width: 1.3px; stroke-dasharray: 5 3; fill: rgba(247,167,7,.10); }
.mk-halo { stroke: rgba(255,255,255,.75); stroke-width: 3.5px; }
.mk-luk { stroke: rgba(238,117,38,.55); stroke-width: 1.4px; stroke-dasharray: none; }
.mk-fl__tlo { fill: #FFFFFF; stroke: rgba(49,43,79,.55); stroke-width: 3; }
.mk-fl__kod rect { fill: #FFFFFF; stroke: rgba(49,43,79,.35); stroke-width: 1.5; }
.mk-fl__kod text { font: 700 16px/1 Montserrat, sans-serif; letter-spacing: 1.5px; fill: var(--ft-violet); }
.mk-fl__podpis rect { fill: #FFFFFF; stroke: rgba(49,43,79,.35); }
.mk-fl__podpis text { fill: var(--ft-violet); }
.mk-fl:focus-visible .mk-fl__tlo { stroke: var(--ft-gold); stroke-width: 5; }
@media (hover: hover) and (pointer: fine) {
    .mk-fl:hover .mk-fl__tlo { stroke: var(--ft-gold); stroke-width: 5; }
    .mk-kraj:hover .mk-ksztalt, .mk-kraj--polska:hover path { fill: rgba(247,167,7,.28); stroke: var(--ft-violet); stroke-width: 1.8px; }
}
.hp-hero--mapa .hp-hero__bg { background: linear-gradient(120deg, #312B4F 0%, #2A2650 60%, #22305A 100%) !important; }
@media (min-width: 1025px) {
    .hp-hero--mapa .hp-hero__overlay {
        background: linear-gradient(to right,
            rgba(49,43,79,0.97) 0%, rgba(49,43,79,0.95) 36%, rgba(49,43,79,0.88) 50%,
            rgba(49,43,79,0.42) 58%, rgba(49,43,79,0.14) 68%, rgba(49,43,79,0.06) 100%) !important;
    }
}
.mk-reszta { fill: rgba(236,240,248,.34); }
.mk-ksztalt, .mk-kraj--polska path { fill: rgba(255,214,110,.22); }
.mk-luk { stroke: rgba(238,117,38,.42); stroke-width: 1.2px; }
@media (min-width: 1025px) {
    .hp-hero--mapa .hp-hero__overlay {
        background: linear-gradient(to right,
            rgba(49,43,79,0.97) 0%, rgba(49,43,79,0.95) 34%, rgba(49,43,79,0.86) 45%,
            rgba(49,43,79,0.55) 52%, rgba(49,43,79,0.24) 60%, rgba(49,43,79,0.1) 70%, rgba(49,43,79,0.06) 100%) !important;
    }
}
/* mapa dzienna: infografika zamiast mapy sztabowej. Kraje w kolorach marki na pastelowym tle,
   granice ciagle biale, bez lukow. Polska w zlocie (punkt wyjscia), kraje uslug w niebieskim. */
.mk-luki { display: none; }
.mk-reszta { fill: rgba(240,243,250,.6); }
.mk-obce path { stroke: rgba(255,255,255,.55); }
.mk-ksztalt { fill: rgba(4,102,181,.52); stroke: #FFFFFF; stroke-dasharray: none; stroke-width: 1.6px; }
.mk-kraj--polska path { fill: rgba(247,167,7,.6); stroke: #FFFFFF; stroke-dasharray: none; stroke-width: 1.6px; }
.mk-halo { stroke: rgba(49,43,79,.25); stroke-width: 3.5px; }
.mk-fl__tlo { stroke: rgba(49,43,79,.35); }
@media (hover: hover) and (pointer: fine) {
    .mk-kraj:hover .mk-ksztalt { fill: rgba(4,102,181,.72); stroke: #FFFFFF; stroke-width: 2px; }
    .mk-kraj--polska:hover path { fill: rgba(247,167,7,.78); stroke: #FFFFFF; stroke-width: 2px; }
}
@media (max-width: 1024px) {
    /* mapa dzienna na telefonie: gora tylko lekko przyciemniona, tekst nizej na pelnym granacie */
    .hp-hero--mapa .hp-hero__overlay {
        background: linear-gradient(180deg, rgba(49,43,79,.18) 0%, rgba(49,43,79,.22) 26%,
                    rgba(49,43,79,.72) 40%, rgba(49,43,79,.94) 52%, rgba(49,43,79,.96) 100%) !important;
    }
    .hp-hero--mapa { padding-top: 360px !important; }
}
@media (max-width: 1024px) {
    
}
@media (max-width: 1024px) {
    
    .hp-hero--mapa { padding-top: 330px !important; }
    .hp-hero--mapa .hp-hero__overlay {
        background: linear-gradient(180deg, rgba(49,43,79,.1) 0, rgba(49,43,79,.14) 200px,
                    rgba(49,43,79,.86) 300px, rgba(49,43,79,.96) 380px, rgba(49,43,79,.96) 100%) !important;
    }
}
@media (max-width: 1024px) {
    /* Pasmo zywej mapy ma wysokosc 88vw + 20px, wiec zaslona przyciemnia dopiero jego dolna krawedz.
       Wczesniej zaczynala sie przy 58vw i zjadala pigulke Szwajcarii. */
    .hp-hero--mapa { padding-top: calc(88vw + 20px) !important; }
    .hp-hero--mapa .hp-hero__overlay {
        background: linear-gradient(180deg, rgba(49,43,79,.06) 0, rgba(49,43,79,.08) 78vw,
                    rgba(49,43,79,.5) 90vw, rgba(49,43,79,.94) 97vw, rgba(49,43,79,.96) 100%) !important;
    }
    /* Szwajcaria: linia prowadzaca skrocona, zeby pigulka nie schodzila w wygaszany dol pasma.
       Grupa ma transform w atrybucie translate(-30,125), CSS go nadpisuje; linia skalowana tak samo. */
    .mk-fl[data-kraj="szwajcaria"] > g:not(.mk-fl__pig) { transform: translate(-17px, 72px); }
    .mk-fl[data-kraj="szwajcaria"] .mk-fl__lider { transform-box: view-box; transform-origin: 0 0; transform: scale(0.575); }
}
@media (max-width: 640px) {
    /* Na telefonie pigulki maja stala wielkosc w pikselach, wiec szeroka pigulka Wielkiej Brytanii
       naklada sie na maly kafel Holandii i przechwytuje dotkniecia. Schodzi nizej, na Kanal La Manche,
       a pigulka Niemiec odsuwa sie w prawo. Zmierzone dotknieciami na 360, 390 i 414 px. */
    .mk-fl[data-kraj="anglia"] > g:not(.mk-fl__pig) { transform: translate(0, 80px); }
    .mk-fl[data-kraj="niemcy"] > g:not(.mk-fl__pig) { transform: translate(30px, 0); }
}


/* ══ MAPA: warianty tla do porownania (?tlo=esa|duotone|carto|wektor) ═══════ */
/* ESA: ostry satelita, kraje jak w wersji dziennej, mgla lzejsza */
.hp-hero--tlo-esa .mk-reszta { fill: rgba(240,243,250,.5); }
/* duotone: tlo juz jest w kolorach strony, wiec mgla minimalna, kraje mocniejsze */
.hp-hero--tlo-duotone .mk-reszta { fill: rgba(255,255,255,.18); }
.hp-hero--tlo-duotone .mk-obce path { stroke: rgba(49,43,79,.22); }
.hp-hero--tlo-duotone .mk-ksztalt { fill: rgba(4,102,181,.78); }
.hp-hero--tlo-duotone .mk-kraj--polska path { fill: rgba(247,167,7,.85); }
/* carto: jasna mapa wektorowa, kraje pelnym kolorem, cien pod krajami */
.hp-hero--tlo-carto .mk-reszta { fill: rgba(255,255,255,.22); }
.hp-hero--tlo-carto .mk-obce path { stroke: rgba(49,43,79,.16); }
.hp-hero--tlo-carto .mk-ksztalt { fill: rgba(4,102,181,.82); }
.hp-hero--tlo-carto .mk-kraj--polska path { fill: rgba(247,167,7,.9); }
.hp-hero--tlo-carto .mk-halo { stroke: rgba(49,43,79,.18); stroke-width: 6px; }
/* wektor: bez zdjecia, ksztalty na gradiencie strony */
.hp-hero--tlo-wektor .hp-hero__bg { background: linear-gradient(115deg, #312B4F 0%, #2B2A5A 45%, #23406F 100%) !important; }
.hp-hero--tlo-wektor .mk-reszta { display: none; }
.hp-hero--tlo-wektor .mk-obce path { fill: rgba(255,255,255,.10); stroke: rgba(255,255,255,.28); stroke-width: .8px; }
.hp-hero--tlo-wektor .mk-ksztalt { fill: rgba(4,102,181,.9); stroke: rgba(255,255,255,.9); }
.hp-hero--tlo-wektor .mk-kraj--polska path { fill: rgba(247,167,7,.95); stroke: rgba(255,255,255,.9); }
.hp-hero--tlo-wektor .mk-halo { stroke: rgba(10,12,40,.45); stroke-width: 7px; }
@media (min-width: 1025px) {
    .hp-hero--tlo-wektor .hp-hero__overlay { background: linear-gradient(to right, rgba(49,43,79,.9) 0%, rgba(49,43,79,.8) 40%, rgba(49,43,79,.3) 55%, rgba(49,43,79,0) 70%) !important; }
}

/* ══ MAPA: 10 wariantow do wyboru dla klienta (?tlo=d1..d10, w1..w3) ═══════ */
/* d1 duotone z gladka woda, d2 duotone + chmury: tlo w kolorach strony, mgla minimalna */
.hp-hero--tlo-d1 .mk-reszta, .hp-hero--tlo-d2 .mk-reszta { fill: rgba(255,255,255,.16); }
.hp-hero--tlo-d1 .mk-obce path, .hp-hero--tlo-d2 .mk-obce path { stroke: rgba(49,43,79,.22); }
.hp-hero--tlo-d1 .mk-ksztalt, .hp-hero--tlo-d2 .mk-ksztalt { fill: rgba(4,102,181,.8); }
.hp-hero--tlo-d1 .mk-kraj--polska path, .hp-hero--tlo-d2 .mk-kraj--polska path { fill: rgba(247,167,7,.88); }
/* d3 granat ciemny */
.hp-hero--tlo-d3 .mk-reszta { display: none; }
.hp-hero--tlo-d3 .mk-obce path { stroke: rgba(255,255,255,.2); }
.hp-hero--tlo-d3 .mk-ksztalt { fill: rgba(4,102,181,.88); stroke: rgba(255,255,255,.85); }
.hp-hero--tlo-d3 .mk-kraj--polska path { fill: rgba(247,167,7,.92); stroke: rgba(255,255,255,.85); }
.hp-hero--tlo-d3 .mk-halo { stroke: rgba(10,10,30,.5); stroke-width: 6px; }
@media (min-width: 1025px) { .hp-hero--tlo-d3 .hp-hero__overlay { background: linear-gradient(to right, rgba(49,43,79,.9) 0%, rgba(49,43,79,.8) 40%, rgba(49,43,79,.3) 55%, rgba(49,43,79,0) 70%) !important; } }
/* d4 papier jasny */
.hp-hero--tlo-d4 .mk-reszta { display: none; }
.hp-hero--tlo-d4 .mk-obce path { stroke: rgba(49,43,79,.2); }
.hp-hero--tlo-d4 .mk-ksztalt { fill: rgba(4,102,181,.82); }
.hp-hero--tlo-d4 .mk-kraj--polska path { fill: rgba(247,167,7,.9); }
.hp-hero--tlo-d4 .mk-halo { stroke: rgba(49,43,79,.2); stroke-width: 6px; }
/* d5 foto filmowe, d10 satelita z chmurami: jak wersja dzienna */
.hp-hero--tlo-d5 .mk-reszta, .hp-hero--tlo-d10 .mk-reszta { fill: rgba(240,243,250,.36); }
/* d6 blueprint: tlo niebieskie, wiec nasze kraje biale, Polska zlota */
.hp-hero--tlo-d6 .mk-reszta { display: none; }
.hp-hero--tlo-d6 .mk-obce path { stroke: rgba(255,255,255,.35); }
.hp-hero--tlo-d6 .mk-ksztalt { fill: rgba(255,255,255,.86); stroke: rgba(4,102,181,.9); }
.hp-hero--tlo-d6 .mk-kraj--polska path { fill: rgba(247,167,7,.92); stroke: rgba(255,255,255,.9); }
.hp-hero--tlo-d6 .mk-halo { stroke: rgba(4,40,90,.45); stroke-width: 6px; }
.hp-hero--tlo-d6 .mk-fl__tlo { stroke: rgba(4,102,181,.7); }
/* w1 wektor z cieniem i poswiata, w2 wektor na siatce kropek, w3 wektor jasny */
.hp-hero--tlo-w1 .hp-hero__bg, .hp-hero--tlo-w2 .hp-hero__bg { background: linear-gradient(115deg, #312B4F 0%, #2B2A5A 45%, #23406F 100%) !important; }
.hp-hero--tlo-w1 .mk-reszta, .hp-hero--tlo-w2 .mk-reszta, .hp-hero--tlo-w3 .mk-reszta { display: none; }
.hp-hero--tlo-w1 .mk-obce path, .hp-hero--tlo-w2 .mk-obce path { fill: rgba(255,255,255,.09); stroke: rgba(255,255,255,.26); stroke-width: .8px; }
.hp-hero--tlo-w1 .mk-ksztalt, .hp-hero--tlo-w2 .mk-ksztalt { fill: rgba(4,102,181,.92); stroke: rgba(255,255,255,.9); }
.hp-hero--tlo-w1 .mk-kraj--polska path, .hp-hero--tlo-w2 .mk-kraj--polska path { fill: rgba(247,167,7,.95); stroke: rgba(255,255,255,.9); }
.hp-hero--tlo-w1 .mk-halo, .hp-hero--tlo-w2 .mk-halo { stroke: rgba(10,12,40,.45); stroke-width: 7px; }
.hp-hero--tlo-w1 .mk-kraj { filter: drop-shadow(0 18px 22px rgba(5,8,30,.55)); }
.hp-hero--tlo-w1 .mk-kraj--polska { filter: drop-shadow(0 18px 22px rgba(5,8,30,.55)) drop-shadow(0 0 28px rgba(247,167,7,.35)); }
.hp-hero--tlo-w2 .hp-hero__bg { background: radial-gradient(rgba(255,255,255,.16) 1.2px, transparent 1.3px) 0 0 / 26px 26px, linear-gradient(115deg, #312B4F 0%, #2B2A5A 45%, #23406F 100%) !important; }
.hp-hero--tlo-w3 .hp-hero__bg { background: linear-gradient(115deg, #312B4F 0%, #E9EEF8 55%, #DCE4F2 100%) !important; }
.hp-hero--tlo-w3 .mk-obce path { fill: rgba(255,255,255,.75); stroke: rgba(49,43,79,.18); stroke-width: .8px; }
.hp-hero--tlo-w3 .mk-ksztalt { fill: rgba(4,102,181,.85); stroke: #fff; }
.hp-hero--tlo-w3 .mk-kraj--polska path { fill: rgba(247,167,7,.92); stroke: #fff; }
.hp-hero--tlo-w3 .mk-halo { stroke: rgba(49,43,79,.18); stroke-width: 6px; }
.hp-hero--tlo-w3 .mk-kraj { filter: drop-shadow(0 12px 16px rgba(49,43,79,.25)); }
@media (min-width: 1025px) {
    .hp-hero--tlo-w1 .hp-hero__overlay, .hp-hero--tlo-w2 .hp-hero__overlay { background: linear-gradient(to right, rgba(49,43,79,.9) 0%, rgba(49,43,79,.8) 40%, rgba(49,43,79,.3) 55%, rgba(49,43,79,0) 70%) !important; }
    .hp-hero--tlo-w3 .hp-hero__overlay { background: linear-gradient(to right, rgba(49,43,79,.97) 0%, rgba(49,43,79,.95) 38%, rgba(49,43,79,.7) 50%, rgba(49,43,79,.2) 60%, rgba(49,43,79,0) 70%) !important; }
}

/* ══ MAPA: efekt "wow" (8.09.2026) ═════════════════════════════════════════
   Kraje jako wyniesione kafle z gradientem i miekkim cieniem, wejscie od Polski na zachod,
   dymek z nazwa i akcja, marker "dom" dla Polski, paralaksa za kursorem (JS). */
.mk-kraj { transform-box: fill-box; transform-origin: center; filter: drop-shadow(0 10px 10px rgba(10,14,40,.28)) drop-shadow(0 1px 0 rgba(255,255,255,.35));
           transition: transform 260ms cubic-bezier(.23,1,.32,1), filter 260ms cubic-bezier(.23,1,.32,1);
           animation: mk-kraj-wejscie .9s cubic-bezier(.23,1,.32,1) both; animation-delay: calc(.2s + var(--i, 0) * .14s); }
@keyframes mk-kraj-wejscie { from { opacity: 0; transform: translateY(22px) scale(.97); } 45% { opacity: 1; } to { opacity: 1; transform: none; } }
.mk-fl { animation-delay: calc(.75s + var(--op, 0s)); }
.hp-hero--mapa .mk-ksztalt { fill: url(#mk-grad-nieb); fill-opacity: .94; stroke: rgba(255,255,255,.95); stroke-width: 1.4px; stroke-dasharray: none; }
.hp-hero--mapa .mk-kraj--polska path { fill: url(#mk-grad-zloto); fill-opacity: .96; stroke: rgba(255,255,255,.95); stroke-width: 1.4px; stroke-dasharray: none; }
.hp-hero--mapa .mk-halo { stroke: rgba(10,14,40,.14); stroke-width: 5px; }
.mk-fl__tlo--dom { fill: var(--ft-gold); stroke: #fff; stroke-width: 4; }
.mk-fl__dom { fill: none; stroke: #fff; stroke-width: 3.2; stroke-linejoin: round; stroke-linecap: round; }
.mk-fl__podpis { transform-box: fill-box; transform-origin: left center; transform: translateY(6px) scale(.97); transition: opacity 200ms cubic-bezier(.23,1,.32,1), transform 200ms cubic-bezier(.23,1,.32,1); }
.mk-fl:hover .mk-fl__podpis, .mk-fl:focus-visible .mk-fl__podpis { transform: none; }
.mk-fl__podpis rect { fill: #fff; stroke: none; filter: drop-shadow(0 16px 20px rgba(10,14,40,.35)); }
.mk-fl__nazwa { font: 800 32px Montserrat, sans-serif; fill: var(--ft-violet); }
.mk-fl__akcja { font: 700 22px Montserrat, sans-serif; fill: #0466B5; }
@media (hover: hover) and (pointer: fine) {
    .mk-kraj:hover { transform: translateY(-6px); filter: drop-shadow(0 22px 22px rgba(10,14,40,.4)) drop-shadow(0 1px 0 rgba(255,255,255,.4)); }
    .hp-hero--mapa .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-nieb); fill-opacity: 1; stroke: #fff; stroke-width: 1.8px; }
    .hp-hero--mapa .mk-kraj--polska:hover path { fill: url(#mk-grad-zloto); fill-opacity: 1; stroke: #fff; stroke-width: 1.8px; }
}
.mk-svg { will-change: transform; }
@media (prefers-reduced-motion: reduce) { .mk-kraj { animation: none; transition: none; } .mk-fl__podpis { transition: none; transform: none; } }

/* ══ MAPA: 10 schematow kolorow (tlo + kraje + Polska + akcent) ═══════════════ */
.hp-hero--tlo-d1 .mk-ksztalt, .hp-hero--tlo-d1 .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-nieb) !important; }
.hp-hero--tlo-d1 .mk-kraj--polska path, .hp-hero--tlo-d1 .mk-kraj--polska:hover path { fill: url(#mk-grad-zloto) !important; }
.hp-hero--tlo-d1 .mk-fl__tlo--dom { fill: #F7A707; } .hp-hero--tlo-d1 .mk-fl__dom { stroke: #fff; } .hp-hero--tlo-d1 .mk-fl__akcja { fill: #0466B5; }
.hp-hero--tlo-d2 .mk-ksztalt, .hp-hero--tlo-d2 .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-pomar) !important; }
.hp-hero--tlo-d2 .mk-kraj--polska path, .hp-hero--tlo-d2 .mk-kraj--polska:hover path { fill: url(#mk-grad-nieb) !important; }
.hp-hero--tlo-d2 .mk-fl__tlo--dom { fill: #0466B5; } .hp-hero--tlo-d2 .mk-fl__dom { stroke: #fff; } .hp-hero--tlo-d2 .mk-fl__akcja { fill: #EE7526; }
.hp-hero--tlo-d3 .mk-ksztalt, .hp-hero--tlo-d3 .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-zloto) !important; }
.hp-hero--tlo-d3 .mk-kraj--polska path, .hp-hero--tlo-d3 .mk-kraj--polska:hover path { fill: url(#mk-grad-bialy) !important; }
.hp-hero--tlo-d3 .mk-fl__tlo--dom { fill: #FFFFFF; } .hp-hero--tlo-d3 .mk-fl__dom { stroke: #312B4F; } .hp-hero--tlo-d3 .mk-fl__akcja { fill: #F7A707; }
.hp-hero--tlo-d4 .mk-ksztalt, .hp-hero--tlo-d4 .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-pomar) !important; }
.hp-hero--tlo-d4 .mk-kraj--polska path, .hp-hero--tlo-d4 .mk-kraj--polska:hover path { fill: url(#mk-grad-granat) !important; }
.hp-hero--tlo-d4 .mk-fl__tlo--dom { fill: #312B4F; } .hp-hero--tlo-d4 .mk-fl__dom { stroke: #fff; } .hp-hero--tlo-d4 .mk-fl__akcja { fill: #EE7526; }
.hp-hero--tlo-d5 .mk-ksztalt, .hp-hero--tlo-d5 .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-zloto) !important; }
.hp-hero--tlo-d5 .mk-kraj--polska path, .hp-hero--tlo-d5 .mk-kraj--polska:hover path { fill: url(#mk-grad-nieb) !important; }
.hp-hero--tlo-d5 .mk-fl__tlo--dom { fill: #0466B5; } .hp-hero--tlo-d5 .mk-fl__dom { stroke: #fff; } .hp-hero--tlo-d5 .mk-fl__akcja { fill: #EE7526; }
.hp-hero--tlo-d10 .mk-ksztalt, .hp-hero--tlo-d10 .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-nieb) !important; }
.hp-hero--tlo-d10 .mk-kraj--polska path, .hp-hero--tlo-d10 .mk-kraj--polska:hover path { fill: url(#mk-grad-pomar) !important; }
.hp-hero--tlo-d10 .mk-fl__tlo--dom { fill: #EE7526; } .hp-hero--tlo-d10 .mk-fl__dom { stroke: #fff; } .hp-hero--tlo-d10 .mk-fl__akcja { fill: #0466B5; }
.hp-hero--tlo-d6 .mk-ksztalt, .hp-hero--tlo-d6 .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-bialy) !important; }
.hp-hero--tlo-d6 .mk-kraj--polska path, .hp-hero--tlo-d6 .mk-kraj--polska:hover path { fill: url(#mk-grad-zloto) !important; }
.hp-hero--tlo-d6 .mk-fl__tlo--dom { fill: #F7A707; } .hp-hero--tlo-d6 .mk-fl__dom { stroke: #fff; } .hp-hero--tlo-d6 .mk-fl__akcja { fill: #0466B5; }
.hp-hero--tlo-w1 .mk-ksztalt, .hp-hero--tlo-w1 .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-fiolet) !important; }
.hp-hero--tlo-w1 .mk-kraj--polska path, .hp-hero--tlo-w1 .mk-kraj--polska:hover path { fill: url(#mk-grad-zloto) !important; }
.hp-hero--tlo-w1 .mk-fl__tlo--dom { fill: #F7A707; } .hp-hero--tlo-w1 .mk-fl__dom { stroke: #fff; } .hp-hero--tlo-w1 .mk-fl__akcja { fill: #5D4EC9; }
.hp-hero--tlo-w2 .mk-ksztalt, .hp-hero--tlo-w2 .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-jasnonieb) !important; }
.hp-hero--tlo-w2 .mk-kraj--polska path, .hp-hero--tlo-w2 .mk-kraj--polska:hover path { fill: url(#mk-grad-pomar) !important; }
.hp-hero--tlo-w2 .mk-fl__tlo--dom { fill: #EE7526; } .hp-hero--tlo-w2 .mk-fl__dom { stroke: #fff; } .hp-hero--tlo-w2 .mk-fl__akcja { fill: #2E8BE0; }
.hp-hero--tlo-w3 .mk-ksztalt, .hp-hero--tlo-w3 .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-granat) !important; }
.hp-hero--tlo-w3 .mk-kraj--polska path, .hp-hero--tlo-w3 .mk-kraj--polska:hover path { fill: url(#mk-grad-pomar) !important; }
.hp-hero--tlo-w3 .mk-fl__tlo--dom { fill: #EE7526; } .hp-hero--tlo-w3 .mk-fl__dom { stroke: #fff; } .hp-hero--tlo-w3 .mk-fl__akcja { fill: #312B4F; }
.hp-hero--tlo-d3 .mk-kraj--polska path { stroke: rgba(49,43,79,.35) !important; }
.hp-hero--tlo-d6 .mk-ksztalt { stroke: rgba(4,102,181,.9) !important; }
.hp-hero--tlo-d3 .mk-fl__tlo, .hp-hero--tlo-w1 .mk-fl__tlo, .hp-hero--tlo-w2 .mk-fl__tlo { stroke: rgba(255,255,255,.7); }

/* ══ MAPA: kafle 3D, blysk, wejscie tekstu ═════════════════════════════════════ */
.hp-hero--mapa .mk-halo { fill: url(#mk-grad-nieb); stroke: none; stroke-width: 0; filter: brightness(.55) saturate(1.1); transform: translateY(7px); }
.hp-hero--mapa .mk-kraj--polska .mk-halo { fill: url(#mk-grad-zloto); }
.hp-hero--tlo-d1 .mk-halo { fill: url(#mk-grad-nieb) !important; } .hp-hero--tlo-d1 .mk-kraj--polska .mk-halo { fill: url(#mk-grad-zloto) !important; }
.hp-hero--tlo-d2 .mk-halo { fill: url(#mk-grad-pomar) !important; } .hp-hero--tlo-d2 .mk-kraj--polska .mk-halo { fill: url(#mk-grad-nieb) !important; }
.hp-hero--tlo-d3 .mk-halo { fill: url(#mk-grad-zloto) !important; } .hp-hero--tlo-d3 .mk-kraj--polska .mk-halo { fill: url(#mk-grad-bialy) !important; }
.hp-hero--tlo-d4 .mk-halo { fill: url(#mk-grad-pomar) !important; } .hp-hero--tlo-d4 .mk-kraj--polska .mk-halo { fill: url(#mk-grad-granat) !important; }
.hp-hero--tlo-d5 .mk-halo { fill: url(#mk-grad-zloto) !important; } .hp-hero--tlo-d5 .mk-kraj--polska .mk-halo { fill: url(#mk-grad-nieb) !important; }
.hp-hero--tlo-d10 .mk-halo { fill: url(#mk-grad-nieb) !important; } .hp-hero--tlo-d10 .mk-kraj--polska .mk-halo { fill: url(#mk-grad-pomar) !important; }
.hp-hero--tlo-d6 .mk-halo { fill: url(#mk-grad-bialy) !important; } .hp-hero--tlo-d6 .mk-kraj--polska .mk-halo { fill: url(#mk-grad-zloto) !important; }
.hp-hero--tlo-w1 .mk-halo { fill: url(#mk-grad-fiolet) !important; } .hp-hero--tlo-w1 .mk-kraj--polska .mk-halo { fill: url(#mk-grad-zloto) !important; }
.hp-hero--tlo-w2 .mk-halo { fill: url(#mk-grad-jasnonieb) !important; } .hp-hero--tlo-w2 .mk-kraj--polska .mk-halo { fill: url(#mk-grad-pomar) !important; }
.hp-hero--tlo-w3 .mk-halo { fill: url(#mk-grad-granat) !important; } .hp-hero--tlo-w3 .mk-kraj--polska .mk-halo { fill: url(#mk-grad-pomar) !important; }
.mk-blysk { pointer-events: none; opacity: 0; animation: mk-blysk 1.6s cubic-bezier(.4,0,.2,1) 1.35s both; }
@keyframes mk-blysk { 0% { opacity: 1; transform: skewX(-18deg) translateX(0); } 100% { opacity: 1; transform: skewX(-18deg) translateX(4600px); } }
/* wejscie tekstu w hero w rytmie mapy */
.hp-hero__content > * { animation: hp-wejscie .7s cubic-bezier(.23,1,.32,1) both; }
.hp-hero__content > :nth-child(1) { animation-delay: .05s; } .hp-hero__content > :nth-child(2) { animation-delay: .17s; }
.hp-hero__content > :nth-child(3) { animation-delay: .29s; } .hp-hero__content > :nth-child(4) { animation-delay: .41s; }
.hp-hero__content > :nth-child(5) { animation-delay: .53s; } .hp-hero__content > :nth-child(n+6) { animation-delay: .65s; }
@keyframes hp-wejscie { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.mk-warstwa { transition: opacity 120ms linear; }
@media (prefers-reduced-motion: reduce) { .mk-blysk { display: none; } .hp-hero__content > * { animation: none; } }

/* ══ MAPA: swiatlo, winieta, pop markerow, latarka za kursorem ═══════════════ */
.mk-swiatlo, .mk-winieta { pointer-events: none; }
.mk-latarka { position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity 400ms cubic-bezier(.23,1,.32,1); z-index: 1;
              background: radial-gradient(150px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.07), rgba(255,255,255,.025) 45%, rgba(255,255,255,0) 72%); }
.mk-latarka--on { opacity: 1; }
.mk-fl__tlo { filter: drop-shadow(0 6px 8px rgba(10,14,40,.35)); }
.mk-fl__tlo, .mk-fl > image, .mk-fl__dom, .mk-fl__kod { transform-box: fill-box; transform-origin: center; animation: mk-pop .7s cubic-bezier(.34,1.56,.64,1) both; animation-delay: calc(.8s + var(--op, 0s)); }
@keyframes mk-pop { from { transform: scale(.35); } to { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .mk-fl__tlo, .mk-fl > image, .mk-fl__dom, .mk-fl__kod { animation: none; } .mk-latarka { display: none; } }

/* ══ MAPA: sprzezenie pigulek z krajami, przyciecie warstwy ══════════════════ */
.mk-warstwa { overflow: hidden; }
.mk-kraj--akt { transform: translateY(-6px); filter: drop-shadow(0 22px 22px rgba(10,14,40,.4)) drop-shadow(0 1px 0 rgba(255,255,255,.4)); }
.mk-kraj--akt .mk-ksztalt, .mk-kraj--akt.mk-kraj--polska path { fill-opacity: 1; stroke: #fff; stroke-width: 1.8px; }
.mk-fl--akt .mk-fl__podpis { opacity: 1; transform: none; }
.mk-fl--akt .mk-fl__tlo { stroke: var(--ft-gold); stroke-width: 5; }
.hp-hero__pill { transition: background-color 180ms cubic-bezier(.23,1,.32,1), box-shadow 180ms cubic-bezier(.23,1,.32,1), transform 180ms cubic-bezier(.23,1,.32,1); }
.hp-hero__pill:hover, .hp-hero__pill--akt { background: rgba(255,255,255,.22) !important; box-shadow: 0 0 0 1.5px var(--ft-gold); transform: translateY(-1px); }

/* ══ MAPA: trzy koncepcje alternatywne (?tlo=kropki|szostka|izo) ══════════════ */
.mk-kropki { display: none; }
/* kropki: kontynent z kropek (obraz), nasze kraje z kropek w kolorach marki (wektor), bez kafli i konturow */
.hp-hero--tlo-kropki .mk-kropki { display: block; }
.hp-hero--tlo-kropki .mk-reszta, .hp-hero--tlo-kropki .mk-obce, .hp-hero--tlo-kropki .mk-swiatlo, .hp-hero--tlo-kropki .mk-winieta, .hp-hero--tlo-kropki .mk-blysk { display: none; }
.hp-hero--tlo-kropki .mk-halo { display: none; }
.hp-hero--tlo-kropki .mk-ksztalt, .hp-hero--tlo-kropki .mk-kraj--polska path { fill: transparent !important; stroke: none !important; }
.hp-hero--tlo-kropki .mk-kraj { filter: none; }
.hp-hero--tlo-kropki .mk-kraj:hover, .hp-hero--tlo-kropki .mk-kraj--akt { transform: none; filter: drop-shadow(0 0 18px rgba(79,163,240,.6)); }
.hp-hero--tlo-kropki .mk-kraj:hover .mk-ksztalt, .hp-hero--tlo-kropki .mk-kraj--akt .mk-ksztalt { fill: rgba(79,163,240,.18) !important; }
.hp-hero--tlo-kropki .mk-kraj--polska:hover path, .hp-hero--tlo-kropki .mk-kraj--polska.mk-kraj--akt path { fill: rgba(247,167,7,.18) !important; }
.hp-hero--tlo-kropki .mk-fl__tlo { fill: #1E1A3A; stroke: rgba(255,255,255,.85); }
.hp-hero--tlo-kropki .mk-fl__kod rect { fill: #1E1A3A; stroke: rgba(255,255,255,.4); } .hp-hero--tlo-kropki .mk-fl__kod text { fill: #fff; }
.hp-hero--tlo-kropki .hp-hero__bg { background: linear-gradient(115deg, #312B4F 0%, #2B2A5A 45%, #23406F 100%) !important; }
@media (min-width: 1025px) { .hp-hero--tlo-kropki .hp-hero__overlay { background: linear-gradient(to right, rgba(49,43,79,.92) 0%, rgba(49,43,79,.82) 40%, rgba(49,43,79,.3) 55%, rgba(49,43,79,0) 70%) !important; } }
/* szostka: tylko nasze kraje na czystym gradiencie, z poswiata pod nimi */
.hp-hero--tlo-szostka .mk-reszta, .hp-hero--tlo-szostka .mk-obce, .hp-hero--tlo-szostka .mk-winieta { display: none; }
.hp-hero--tlo-szostka .hp-hero__bg { background: radial-gradient(900px 600px at 72% 42%, rgba(4,102,181,.35), rgba(4,102,181,0) 70%), linear-gradient(115deg, #312B4F 0%, #2B2A5A 45%, #1F2F5C 100%) !important; }
.hp-hero--tlo-szostka .mk-kraj { filter: drop-shadow(0 26px 30px rgba(5,8,30,.6)) drop-shadow(0 1px 0 rgba(255,255,255,.35)); }
.hp-hero--tlo-szostka .mk-halo { transform: translateY(12px); }
@media (min-width: 1025px) { .hp-hero--tlo-szostka .hp-hero__overlay { background: linear-gradient(to right, rgba(49,43,79,.9) 0%, rgba(49,43,79,.8) 40%, rgba(49,43,79,.25) 55%, rgba(49,43,79,0) 68%) !important; } }
/* izo: cala mapa przechylona jak makieta; markery rozciagniete w pionie, zeby po przechyleniu wygladaly proporcjonalnie */
.hp-hero--tlo-izo .mk-svg { transform: perspective(1700px) rotateX(26deg) translateY(70px) scale(1.04); transform-origin: 50% 40%; }
.hp-hero--tlo-izo .mk-halo { transform: translateY(16px); }
.hp-hero--tlo-izo .mk-kraj { filter: drop-shadow(0 30px 26px rgba(5,8,30,.55)) drop-shadow(0 1px 0 rgba(255,255,255,.35)); }
.hp-hero--tlo-izo .mk-fl { transform: translate(calc(var(--cx) * 1px), calc(var(--cy) * 1px)) scale(var(--mk-k, 1)) scaleY(1.11); }
.hp-hero--tlo-izo .mk-winieta { display: none; }

/* ══ MAPA: szlif 11-13 i koncepcje 14-16 (szklo, neon, wycinanka) ═══════════ */
.mk-kk circle { fill: #4FA3F0; transition: fill 200ms cubic-bezier(.23,1,.32,1); } .mk-kk--polska circle { fill: #F7A707; }
.hp-hero--tlo-kropki .mk-kraj:hover ~ .mk-kropki .mk-kk, .hp-hero--tlo-kropki .mk-kk--akt circle { fill: #fff; }
.hp-hero--tlo-szostka .mk-obce { display: block; } .hp-hero--tlo-szostka .mk-obce path { fill: none; stroke: rgba(255,255,255,.07); }
/* szklo: kraje jak polprzezroczyste plytki na duotone, refleks z gradientu, jasny obrys */
.hp-hero--tlo-szklo .mk-ksztalt, .hp-hero--tlo-szklo .mk-kraj--polska path { fill: url(#mk-grad-szklo) !important; stroke: rgba(255,255,255,.95); stroke-width: 1.6px; }
.hp-hero--tlo-szklo .mk-kraj--polska path { fill: url(#mk-grad-zloto) !important; fill-opacity: .8; }
.hp-hero--tlo-szklo .mk-halo { fill: rgba(30,26,58,.55) !important; filter: none; transform: translateY(6px); }
.hp-hero--tlo-szklo .mk-reszta { fill: rgba(30,26,58,.28); }
.hp-hero--tlo-szklo .mk-kraj { filter: drop-shadow(0 14px 16px rgba(10,14,40,.4)); }
.hp-hero--tlo-szklo .mk-kraj:hover .mk-ksztalt, .hp-hero--tlo-szklo .mk-kraj--akt .mk-ksztalt { fill: url(#mk-grad-nieb) !important; fill-opacity: .9; }
/* neon: bez zdjecia, swiecace kontury, wypelnienie prawie zadne */
.hp-hero--tlo-neon .hp-hero__bg { background: radial-gradient(1000px 700px at 72% 45%, rgba(4,102,181,.22), rgba(4,102,181,0) 70%), linear-gradient(115deg, #221E3D 0%, #1B1A3A 50%, #141B3A 100%) !important; }
.hp-hero--tlo-neon .mk-reszta, .hp-hero--tlo-neon .mk-winieta, .hp-hero--tlo-neon .mk-swiatlo { display: none; }
.hp-hero--tlo-neon .mk-obce path { fill: none; stroke: rgba(255,255,255,.1); stroke-width: .8px; }
.hp-hero--tlo-neon .mk-halo { display: none; }
.hp-hero--tlo-neon .mk-ksztalt { fill: rgba(79,163,240,.08) !important; stroke: #6FC1FF; stroke-width: 2px; }
.hp-hero--tlo-neon .mk-kraj--polska path { fill: rgba(247,167,7,.1) !important; stroke: #FFC94F; stroke-width: 2px; }
.hp-hero--tlo-neon .mk-kraj { filter: drop-shadow(0 0 6px rgba(111,193,255,.9)) drop-shadow(0 0 22px rgba(79,163,240,.55)); }
.hp-hero--tlo-neon .mk-kraj--polska { filter: drop-shadow(0 0 6px rgba(255,201,79,.9)) drop-shadow(0 0 22px rgba(247,167,7,.55)); }
.hp-hero--tlo-neon .mk-kraj:hover .mk-ksztalt, .hp-hero--tlo-neon .mk-kraj--akt .mk-ksztalt { fill: rgba(79,163,240,.28) !important; }
.hp-hero--tlo-neon .mk-kraj--polska:hover path, .hp-hero--tlo-neon .mk-kraj--polska.mk-kraj--akt path { fill: rgba(247,167,7,.3) !important; }
.hp-hero--tlo-neon .mk-fl__tlo { fill: #1E1A3A; stroke: rgba(255,255,255,.85); } .hp-hero--tlo-neon .mk-fl__kod rect { fill: #1E1A3A; stroke: rgba(255,255,255,.4); } .hp-hero--tlo-neon .mk-fl__kod text { fill: #fff; }
@media (min-width: 1025px) { .hp-hero--tlo-neon .hp-hero__overlay { background: linear-gradient(to right, rgba(34,30,61,.92) 0%, rgba(34,30,61,.8) 40%, rgba(34,30,61,.25) 55%, rgba(34,30,61,0) 68%) !important; } }
/* wycinanka: w ksztalcie kraju prawdziwy teren satelitarny, reszta w duotone */
.hp-hero--tlo-wycinanka .mk-ksztalt, .hp-hero--tlo-wycinanka .mk-kraj--polska path { fill: url(#mk-teren) !important; fill-opacity: 1; stroke: #fff; stroke-width: 2px; }
.hp-hero--tlo-wycinanka .mk-halo { fill: #1E1A3A !important; filter: none; transform: translateY(8px); }
.hp-hero--tlo-wycinanka .mk-kraj--polska path { stroke: var(--ft-gold); stroke-width: 2.4px; }
.hp-hero--tlo-wycinanka .mk-kraj { filter: drop-shadow(0 16px 18px rgba(10,14,40,.45)); }
.hp-hero--tlo-wycinanka .mk-kraj:hover .mk-ksztalt, .hp-hero--tlo-wycinanka .mk-kraj--akt .mk-ksztalt { stroke: var(--ft-gold); }
/* szlif: szklo jasniejsze i bardziej "mleczne", wycinanka z rozjasnionym terenem (bez oliwki) */
.hp-hero--tlo-szklo .mk-ksztalt { fill: rgba(255,255,255,.62) !important; }
.hp-hero--tlo-szklo .mk-reszta { fill: rgba(30,26,58,.36); }
.hp-hero--tlo-szklo .mk-kraj:hover .mk-ksztalt, .hp-hero--tlo-szklo .mk-kraj--akt .mk-ksztalt { fill: rgba(255,255,255,.85) !important; }
.hp-hero--tlo-wycinanka .mk-ksztalt, .hp-hero--tlo-wycinanka .mk-kraj--polska path { filter: brightness(1.35) saturate(.85) contrast(.95); }

/* ══ MAPA: koncepcje 17-20 (pomarancz marki, aurora, a la timetax, nowoczesny urzad) ═══ */
/* wspolne dla wersji jasnych: ciemny tekst w hero */
.hp-hero--jasny .hp-hero__title { color: var(--ft-violet) !important; } .hp-hero--jasny .hp-hero__desc, .hp-hero--jasny .hp-hero__countries-label { color: #3C3852 !important; }
.hp-hero--jasny .hp-hero__pill { background: rgba(49,43,79,.07) !important; color: var(--ft-violet) !important; }
.hp-hero--jasny .hp-hero__btn--secondary { color: var(--ft-violet) !important; border-color: rgba(49,43,79,.45) !important; }
/* 17 pomarancz: tlo w gradiencie marki jak sekcja krokow, kraje biale, Polska granatowa */
.hp-hero--tlo-pomarancz .hp-hero__bg { background: linear-gradient(115deg, #EE7526 0%, #F39A1E 55%, #F7A707 100%) !important; }
.hp-hero--tlo-pomarancz .mk-reszta, .hp-hero--tlo-pomarancz .mk-winieta, .hp-hero--tlo-pomarancz .mk-swiatlo { display: none; }
.hp-hero--tlo-pomarancz .mk-obce path { fill: rgba(255,255,255,.12); stroke: rgba(255,255,255,.35); stroke-width: .8px; }
.hp-hero--tlo-pomarancz .mk-ksztalt, .hp-hero--tlo-pomarancz .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-bialy) !important; stroke: rgba(49,43,79,.25); }
.hp-hero--tlo-pomarancz .mk-kraj--polska path, .hp-hero--tlo-pomarancz .mk-kraj--polska:hover path { fill: url(#mk-grad-granat) !important; stroke: #fff; }
.hp-hero--tlo-pomarancz .mk-halo { fill: url(#mk-grad-bialy) !important; filter: brightness(.7); } .hp-hero--tlo-pomarancz .mk-kraj--polska .mk-halo { fill: url(#mk-grad-granat) !important; }
.hp-hero--tlo-pomarancz .mk-kraj { filter: drop-shadow(0 16px 18px rgba(120,50,0,.35)); }
.hp-hero--tlo-pomarancz .mk-fl__tlo--dom { fill: var(--ft-violet); } .hp-hero--tlo-pomarancz .mk-fl__akcja { fill: #EE7526; }
@media (min-width: 1025px) { .hp-hero--tlo-pomarancz .hp-hero__overlay { background: linear-gradient(to right, rgba(160,58,10,.9) 0%, rgba(170,66,12,.78) 40%, rgba(190,80,14,.25) 55%, rgba(190,80,14,0) 68%) !important; } }
/* 18 aurora: mesh gradient w kolorach marki, kraje jak mleczne szklo */
.hp-hero--tlo-aurora .hp-hero__bg { background:
    radial-gradient(700px 500px at 78% 22%, rgba(4,102,181,.55), rgba(4,102,181,0) 70%),
    radial-gradient(600px 460px at 92% 78%, rgba(247,167,7,.38), rgba(247,167,7,0) 70%),
    radial-gradient(800px 600px at 55% 70%, rgba(120,90,220,.4), rgba(120,90,220,0) 70%),
    linear-gradient(115deg, #2A2450 0%, #23234F 50%, #1E2A55 100%) !important; }
.hp-hero--tlo-aurora .mk-reszta, .hp-hero--tlo-aurora .mk-winieta { display: none; }
.hp-hero--tlo-aurora .mk-obce path { fill: rgba(255,255,255,.06); stroke: rgba(255,255,255,.22); stroke-width: .8px; }
.hp-hero--tlo-aurora .mk-ksztalt, .hp-hero--tlo-aurora .mk-kraj:hover .mk-ksztalt { fill: rgba(255,255,255,.72) !important; stroke: #fff; stroke-width: 1.6px; }
.hp-hero--tlo-aurora .mk-kraj--polska path, .hp-hero--tlo-aurora .mk-kraj--polska:hover path { fill: url(#mk-grad-zloto) !important; stroke: #fff; }
.hp-hero--tlo-aurora .mk-halo { fill: rgba(20,18,50,.5) !important; filter: none; }
.hp-hero--tlo-aurora .mk-kraj { filter: drop-shadow(0 18px 22px rgba(10,14,40,.45)); }
@media (min-width: 1025px) { .hp-hero--tlo-aurora .hp-hero__overlay { background: linear-gradient(to right, rgba(42,36,80,.9) 0%, rgba(42,36,80,.78) 40%, rgba(42,36,80,.2) 55%, rgba(42,36,80,0) 68%) !important; } }
/* 19 a la timetax: jasne tlo, siatka kropek, mapa w szarosciach, kraje pomaranczowe, ciemny tekst */
.hp-hero--tlo-timetax .hp-hero__bg { background: radial-gradient(rgba(49,43,79,.16) 1.3px, transparent 1.4px) 0 0 / 22px 22px, linear-gradient(180deg, #F6F7FB 0%, #EEF0F6 100%) !important; }
.hp-hero--tlo-timetax .mk-reszta, .hp-hero--tlo-timetax .mk-winieta, .hp-hero--tlo-timetax .mk-swiatlo { display: none; }
.hp-hero--tlo-timetax .mk-obce path { fill: rgba(255,255,255,.9); stroke: rgba(49,43,79,.14); stroke-width: .8px; }
.hp-hero--tlo-timetax .mk-ksztalt, .hp-hero--tlo-timetax .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-pomar) !important; stroke: #fff; }
.hp-hero--tlo-timetax .mk-kraj--polska path, .hp-hero--tlo-timetax .mk-kraj--polska:hover path { fill: url(#mk-grad-granat) !important; stroke: #fff; }
.hp-hero--tlo-timetax .mk-halo { fill: url(#mk-grad-pomar) !important; filter: brightness(.6); } .hp-hero--tlo-timetax .mk-kraj--polska .mk-halo { fill: url(#mk-grad-granat) !important; }
.hp-hero--tlo-timetax .mk-kraj { filter: drop-shadow(0 14px 16px rgba(49,43,79,.22)); }
.hp-hero--tlo-timetax .mk-fl__tlo--dom { fill: var(--ft-violet); } .hp-hero--tlo-timetax .mk-fl__akcja { fill: #EE7526; }
@media (min-width: 1025px) { .hp-hero--tlo-timetax .hp-hero__overlay { background: linear-gradient(to right, rgba(246,247,251,.96) 0%, rgba(246,247,251,.9) 40%, rgba(246,247,251,.3) 55%, rgba(246,247,251,0) 68%) !important; } }
/* 20 nowoczesny urzad: biel, plaskie kolory bez gradientow i cieni, wyrazne biale obrysy, ciemny tekst */
.hp-hero--tlo-urzad .hp-hero__bg { background: #FFFFFF !important; }
.hp-hero--tlo-urzad .mk-reszta, .hp-hero--tlo-urzad .mk-winieta, .hp-hero--tlo-urzad .mk-swiatlo, .hp-hero--tlo-urzad .mk-blysk { display: none; }
.hp-hero--tlo-urzad .mk-obce path { fill: #E9ECF3; stroke: #fff; stroke-width: 1.2px; }
.hp-hero--tlo-urzad .mk-ksztalt, .hp-hero--tlo-urzad .mk-kraj:hover .mk-ksztalt { fill: var(--ft-violet) !important; stroke: #fff; stroke-width: 2px; }
.hp-hero--tlo-urzad .mk-kraj--polska path, .hp-hero--tlo-urzad .mk-kraj--polska:hover path { fill: #EE7526 !important; stroke: #fff; stroke-width: 2px; }
.hp-hero--tlo-urzad .mk-halo { display: none; }
.hp-hero--tlo-urzad .mk-kraj { filter: none; } .hp-hero--tlo-urzad .mk-kraj:hover, .hp-hero--tlo-urzad .mk-kraj--akt { transform: none; filter: none; }
.hp-hero--tlo-urzad .mk-kraj:hover .mk-ksztalt, .hp-hero--tlo-urzad .mk-kraj--akt .mk-ksztalt { fill: #0466B5 !important; }
.hp-hero--tlo-urzad .mk-fl__tlo { stroke: var(--ft-violet); stroke-width: 3; filter: none; } .hp-hero--tlo-urzad .mk-fl__tlo--dom { fill: #EE7526; }
.hp-hero--tlo-urzad .mk-fl__kod rect { stroke: var(--ft-violet); } .hp-hero--tlo-urzad .mk-fl__akcja { fill: #EE7526; }
.hp-hero--tlo-urzad .mk-fl__podpis rect { rx: 4; }
@media (min-width: 1025px) { .hp-hero--tlo-urzad .hp-hero__overlay { background: linear-gradient(to right, rgba(255,255,255,.97) 0%, rgba(255,255,255,.92) 40%, rgba(255,255,255,.35) 55%, rgba(255,255,255,0) 68%) !important; } }
/* pomarancz: na pomaranczowym tle podtytul kremowy, glowny przycisk granatowy */
.hp-hero--tlo-pomarancz .hp-hero__title span { color: #FFF1D6 !important; }
.hp-hero--tlo-pomarancz .hp-hero__btn--primary { background: var(--ft-violet) !important; color: #fff !important; box-shadow: 0 18px 32px -20px rgba(49,43,79,.9) !important; }
.hp-hero--tlo-pomarancz .hp-hero__pill { background: rgba(255,255,255,.18) !important; }

/* ══ HERO: pasek zaufania, social w monochromie, skala naglowka, dymek z dokumentem,
   pelne nazwy od 1600 px, sygnal przewijania, ziarno, oddech Polski ══════════════ */
.hp-hero__zaufanie { list-style: none; margin: 26px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 28px; }
.hp-hero__zaufanie li { display: flex; align-items: baseline; gap: 8px; font-family: Montserrat, sans-serif; color: rgba(255,255,255,.82); font-size: 13px; }
.hp-hero__zaufanie strong { font-size: 22px; font-weight: 800; color: #fff; letter-spacing: -.02em; }
.hp-hero__zaufanie li:not(:first-child) { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.18); }
.hp-hero--jasny .hp-hero__zaufanie li { color: #3C3852; } .hp-hero--jasny .hp-hero__zaufanie strong { color: var(--ft-violet); } .hp-hero--jasny .hp-hero__zaufanie li:not(:first-child) { border-color: rgba(49,43,79,.18); }
.hp-hero--mapa .hp-hero__socials a { background: rgba(255,255,255,.12); box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); transition: background-color 180ms cubic-bezier(.23,1,.32,1), transform 180ms cubic-bezier(.23,1,.32,1), box-shadow 180ms cubic-bezier(.23,1,.32,1); }
.hp-hero--mapa .hp-hero__socials a:hover { background: var(--sc, #fff); box-shadow: 0 14px 28px -8px rgba(0,0,0,.55); }
.hp-hero--jasny .hp-hero__socials a { background: rgba(49,43,79,.08); box-shadow: inset 0 0 0 1px rgba(49,43,79,.15); } .hp-hero--jasny .hp-hero__socials a svg { fill: var(--ft-violet); } .hp-hero--jasny .hp-hero__socials a:hover svg { fill: #fff; }
@media (min-width: 1900px) { .hp-hero--mapa .hp-hero__title { font-size: 68px; } .hp-hero--mapa .hp-hero__title span { font-size: 58px; } .hp-hero--mapa .hp-hero__desc { font-size: 19px; } .hp-hero--mapa .hp-hero__content { max-width: 880px; } }
.mk-fl__dok { font: 500 22px Montserrat, sans-serif; fill: #5A5570; }
.mk-fl__kod--nazwa { display: none; }
@media (min-width: 1600px) { .mk-fl__kod--skrot { display: none; } .mk-fl__kod--nazwa { display: block; } .mk-fl__kod--nazwa text { font-size: 15px; letter-spacing: .3px; } }
.hp-hero--mapa .hp-hero__overlay { overflow: hidden; }
.hp-hero--mapa .hp-hero__overlay::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .05; mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.mk-fl[data-kraj="polska"] .mk-fl__tlo--dom { animation: mk-pop .7s cubic-bezier(.34,1.56,.64,1) both, mk-oddech 4.5s ease-in-out 3.4s infinite; animation-delay: calc(.8s + var(--op, 0s)), 3.4s; }
@keyframes mk-oddech { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.07); } }
@media (max-width: 1024px) { .hp-hero__zaufanie { gap: 8px 18px; } .hp-hero__zaufanie li:not(:first-child) { padding-left: 18px; } }
@media (prefers-reduced-motion: reduce) { .mk-fl[data-kraj="polska"] .mk-fl__tlo--dom { animation: none; } }
.mk-fl__dok { font-size: 21px; }
/* dymek: wiersze z wlasna specyficznoscia (ogolna regula .mk-fl__podpis text nadpisywala rozmiar) */
.mk-fl__podpis .mk-fl__nazwa { font: 800 32px Montserrat, sans-serif; fill: var(--ft-violet); }
.mk-fl__podpis .mk-fl__dok { font: 500 20px Montserrat, sans-serif; fill: #5A5570; }
.mk-fl__podpis .mk-fl__akcja { font: 700 22px Montserrat, sans-serif; fill: #0466B5; }
@media (max-width: 1024px) { .hp-hero__zaufanie { flex-direction: column; gap: 8px; margin-top: 22px; } .hp-hero__zaufanie li:not(:first-child) { padding-left: 0; border-left: none; } }

/* 21 kontury: reszta Europy tylko liniami, nasze kraje pelne kafle 3D, tlo w granacie strony */
.hp-hero--tlo-kontury .hp-hero__bg { background: radial-gradient(900px 600px at 72% 42%, rgba(4,102,181,.22), rgba(4,102,181,0) 70%), linear-gradient(115deg, #312B4F 0%, #2B2A5A 45%, #23406F 100%) !important; }
.hp-hero--tlo-kontury .mk-reszta, .hp-hero--tlo-kontury .mk-winieta, .hp-hero--tlo-kontury .mk-swiatlo { display: none; }
.hp-hero--tlo-kontury .mk-obce path { fill: none; stroke: rgba(255,255,255,.42); stroke-width: 1px; }
.hp-hero--tlo-kontury .mk-kraj { filter: drop-shadow(0 22px 26px rgba(5,8,30,.6)) drop-shadow(0 1px 0 rgba(255,255,255,.35)); }
.hp-hero--tlo-kontury .mk-halo { transform: translateY(9px); }
@media (min-width: 1025px) { .hp-hero--tlo-kontury .hp-hero__overlay { background: linear-gradient(to right, rgba(49,43,79,.9) 0%, rgba(49,43,79,.8) 40%, rgba(49,43,79,.25) 55%, rgba(49,43,79,0) 68%) !important; } }
.hp-hero--tlo-szostka .mk-obce path { stroke: rgba(255,255,255,.24); stroke-width: .9px; }

/* urzad: mniej jasny (szaro-niebieskie tlo, biale lady) */
.hp-hero--tlo-urzad .hp-hero__bg { background: linear-gradient(180deg, #E4E8F1 0%, #D6DCE9 100%) !important; }
.hp-hero--tlo-urzad .mk-obce path { fill: #F7F8FB; stroke: rgba(49,43,79,.22); stroke-width: 1px; }
@media (min-width: 1025px) { .hp-hero--tlo-urzad .hp-hero__overlay { background: linear-gradient(to right, rgba(228,232,241,.97) 0%, rgba(228,232,241,.92) 40%, rgba(228,232,241,.35) 55%, rgba(228,232,241,0) 68%) !important; } }
/* 22 urzad ciemny: granat, plaskie kolory bez gradientow i cieni, wyrazne obrysy */
.hp-hero--tlo-urzadciemny .hp-hero__bg { background: #312B4F !important; }
.hp-hero--tlo-urzadciemny .mk-reszta, .hp-hero--tlo-urzadciemny .mk-winieta, .hp-hero--tlo-urzadciemny .mk-swiatlo, .hp-hero--tlo-urzadciemny .mk-blysk, .hp-hero--tlo-urzadciemny .mk-halo { display: none; }
.hp-hero--tlo-urzadciemny .mk-obce path { fill: #3D3762; stroke: rgba(255,255,255,.35); stroke-width: 1px; }
.hp-hero--tlo-urzadciemny .mk-ksztalt, .hp-hero--tlo-urzadciemny .mk-kraj:hover .mk-ksztalt { fill: #0466B5 !important; stroke: #fff; stroke-width: 2px; }
.hp-hero--tlo-urzadciemny .mk-kraj--polska path, .hp-hero--tlo-urzadciemny .mk-kraj--polska:hover path { fill: #EE7526 !important; stroke: #fff; stroke-width: 2px; }
.hp-hero--tlo-urzadciemny .mk-kraj { filter: none; } .hp-hero--tlo-urzadciemny .mk-kraj:hover, .hp-hero--tlo-urzadciemny .mk-kraj--akt { transform: none; filter: none; }
.hp-hero--tlo-urzadciemny .mk-kraj:hover .mk-ksztalt, .hp-hero--tlo-urzadciemny .mk-kraj--akt .mk-ksztalt { fill: #2E8BE0 !important; }
.hp-hero--tlo-urzadciemny .mk-fl__tlo { stroke: #fff; stroke-width: 3; filter: none; } .hp-hero--tlo-urzadciemny .mk-fl__tlo--dom { fill: #EE7526; }
.hp-hero--tlo-urzadciemny .mk-fl__podpis rect { rx: 4; } .hp-hero--tlo-urzadciemny .mk-fl__akcja { fill: #EE7526; }
@media (min-width: 1025px) { .hp-hero--tlo-urzadciemny .hp-hero__overlay { background: linear-gradient(to right, rgba(49,43,79,.96) 0%, rgba(49,43,79,.9) 40%, rgba(49,43,79,.3) 55%, rgba(49,43,79,0) 68%) !important; } }

/* ══ HERO: apetyczniej. Przycisk glowny w gradiencie marki (jak "Rozlicz sie online" w menu) ═══ */
.hp-hero--mapa .hp-hero__btn--primary { background: linear-gradient(135deg, #EE7526 0%, #F7A707 100%) !important; color: #fff !important;
    box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 18px 34px -16px rgba(238,117,38,.75) !important; }
.hp-hero--mapa .hp-hero__btn--primary:hover { box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 24px 40px -16px rgba(238,117,38,.9) !important; transform: translateY(-2px); }
/* 23 cieply duotone: kremowe lady, cieply granat morza, pomaranczowa poswiata przy naglowku */
.hp-hero--tlo-cieply .mk-reszta { fill: rgba(255,250,240,.16); }
.hp-hero--tlo-cieply .mk-obce path { stroke: rgba(80,60,40,.2); }
.hp-hero--tlo-cieply .hp-hero__bg { background: linear-gradient(120deg, #3A2E55 0%, #2C2A55 60%, #26365E 100%) !important; }
@media (min-width: 1025px) { .hp-hero--tlo-cieply .hp-hero__overlay { background:
    radial-gradient(640px 420px at 10% 18%, rgba(238,117,38,.28), rgba(238,117,38,0) 70%),
    linear-gradient(to right, rgba(52,40,80,.96) 0%, rgba(52,40,80,.94) 34%, rgba(52,40,80,.84) 45%, rgba(52,40,80,.5) 52%, rgba(52,40,80,.2) 60%, rgba(52,40,80,.08) 70%, rgba(52,40,80,.04) 100%) !important; } }
/* 24 zmierzch: granat przechodzacy w pomarancz przy horyzoncie, lady polprzezroczyste */
.hp-hero--tlo-zmierzch .hp-hero__bg { background:
    radial-gradient(1100px 700px at 88% 95%, rgba(238,117,38,.55), rgba(238,117,38,0) 65%),
    radial-gradient(900px 600px at 70% 30%, rgba(4,102,181,.35), rgba(4,102,181,0) 70%),
    linear-gradient(160deg, #2A2450 0%, #2E2A5C 45%, #4A3560 80%, #7A3E3A 100%) !important; }
.hp-hero--tlo-zmierzch .mk-reszta, .hp-hero--tlo-zmierzch .mk-winieta { display: none; }
.hp-hero--tlo-zmierzch .mk-obce path { fill: rgba(255,244,230,.14); stroke: rgba(255,244,230,.3); stroke-width: .8px; }
.hp-hero--tlo-zmierzch .mk-kraj { filter: drop-shadow(0 20px 24px rgba(20,10,30,.55)) drop-shadow(0 1px 0 rgba(255,255,255,.35)); }
@media (min-width: 1025px) { .hp-hero--tlo-zmierzch .hp-hero__overlay { background: linear-gradient(to right, rgba(42,36,80,.9) 0%, rgba(42,36,80,.78) 40%, rgba(42,36,80,.2) 55%, rgba(42,36,80,0) 68%) !important; } }
/* 25 krem: jasny, cieply hero z ciemnym tekstem */
.hp-hero--tlo-krem .mk-reszta { display: none; }
.hp-hero--tlo-krem .mk-obce path { stroke: rgba(49,43,79,.16); }
.hp-hero--tlo-krem .hp-hero__bg { background: linear-gradient(120deg, #FBF6EC 0%, #F6F1E6 100%) !important; }
.hp-hero--tlo-krem .mk-kraj { filter: drop-shadow(0 16px 20px rgba(80,60,40,.28)) drop-shadow(0 1px 0 rgba(255,255,255,.6)); }
.hp-hero--tlo-krem .mk-kraj--polska path, .hp-hero--tlo-krem .mk-kraj--polska:hover path { fill: url(#mk-grad-pomar) !important; }
.hp-hero--tlo-krem .mk-kraj--polska .mk-halo { fill: url(#mk-grad-pomar) !important; }
.hp-hero--tlo-krem .mk-fl__tlo--dom { fill: #EE7526; } .hp-hero--tlo-krem .mk-fl__akcja { fill: #EE7526; }
.hp-hero--tlo-krem .hp-hero__pill { background: rgba(238,117,38,.1) !important; }
@media (min-width: 1025px) { .hp-hero--tlo-krem .hp-hero__overlay { background:
    radial-gradient(640px 420px at 10% 18%, rgba(247,167,7,.22), rgba(247,167,7,0) 70%),
    linear-gradient(to right, rgba(251,246,236,.97) 0%, rgba(251,246,236,.92) 40%, rgba(251,246,236,.35) 55%, rgba(251,246,236,0) 68%) !important; } }

/* boki 3D w osobnej warstwie pod kaflami: sasiad nie rysuje juz paska na sasiedzie; halo w grupach ukryte */
.mk-halo--w { display: none !important; }
.hp-hero--mapa .mk-boki .mk-halo { transform: translateY(calc(9px * var(--mk-k, 1))); }
.hp-hero--mapa .mk-boki { filter: drop-shadow(0 10px 12px rgba(10,14,40,.3)); }
.hp-hero--mapa .mk-boki .mk-bok { animation: mk-bok-wejscie .9s cubic-bezier(.23,1,.32,1) both; animation-delay: calc(.2s + var(--i, 0) * .14s); }
@keyframes mk-bok-wejscie { from { opacity: 0; } 45% { opacity: 1; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .hp-hero--mapa .mk-boki .mk-bok { animation: none; } }
/* cieply: glebszy niebieski krajow na kremowym tle, cienszy obrys */
.hp-hero--tlo-cieply .mk-ksztalt, .hp-hero--tlo-cieply .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-nieb) !important; }
.hp-hero--tlo-cieply .mk-ksztalt, .hp-hero--tlo-cieply .mk-kraj--polska path { stroke-width: 1.2px; }

/* szlif: dymek przerzucany na lewo (--dx z JS), mgla reszty 10%, nazwy NL/CH z boku takze przy hover */
.mk-fl__podpis { transform: translate(var(--dx, 0px), 6px) scale(.97); }
.mk-fl:hover .mk-fl__podpis, .mk-fl:focus-visible .mk-fl__podpis, .mk-fl--akt .mk-fl__podpis { transform: translate(var(--dx, 0px), 0); }
.hp-hero--tlo-cieply .mk-reszta { fill: rgba(255,250,240,.10); }
@media (min-width: 1600px) { .mk-fl__kod--nazwa text { font-size: 24px; letter-spacing: .2px; } .mk-fl__kod--nazwa rect { stroke-width: 1.8; } }

/* ══ MARKERY JAKO PIGULKI (flaga + nazwa), linie prowadzace dla malych krajow ══════ */
.mk-fl__pig-tlo { fill: #fff; stroke: rgba(49,43,79,.22); stroke-width: 1.5; filter: drop-shadow(0 8px 14px rgba(10,14,40,.35)); }
.mk-fl__ikona-tlo { fill: #EEF1F7; }
.mk-fl__tlo--dom { fill: var(--ft-gold); }
.mk-fl__dom { fill: none; stroke: #fff; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.mk-fl__etykieta { font: 700 22px Montserrat, sans-serif; fill: var(--ft-violet); letter-spacing: -.01em; }
.mk-fl__lider { stroke: rgba(255,255,255,.9); stroke-width: 3; stroke-linecap: round; }
.mk-fl__punkt { fill: #fff; stroke: rgba(49,43,79,.45); stroke-width: 2; }
.mk-fl__pig { transform-box: fill-box; transform-origin: center; animation: mk-pop .7s cubic-bezier(.34,1.56,.64,1) both; animation-delay: calc(.8s + var(--op, 0s)); }
.mk-fl__pig-tlo, .mk-fl > image, .mk-fl__kod { animation: none; }
.mk-fl:hover .mk-fl__pig-tlo, .mk-fl:focus-visible .mk-fl__pig-tlo, .mk-fl--akt .mk-fl__pig-tlo { stroke: var(--ft-gold); stroke-width: 2.5; }
.mk-fl[data-kraj="polska"] .mk-fl__tlo--dom { animation: none; }
@media (prefers-reduced-motion: reduce) { .mk-fl__pig { animation: none; } }
/* tlo cieple: reszta Europy bez granic wewnetrznych, mgla zdjeta (lad jest juz kremowy) */
.hp-hero--tlo-cieply .mk-obce path { stroke: rgba(80,60,40,.08); stroke-width: .8px; }
.hp-hero--tlo-cieply .mk-reszta { display: none; }
/* telefon: tlo mapy wygrywa z kazda regula wariantu (wyzsza specyficznosc), niezaleznie od kolejnosci w pliku */
@media (max-width: 1024px) {
    
}
@media (max-width: 1024px) {
    .hp-hero--mapa { padding-top: calc(62vw + 40px) !important; }
}
/* cieply: zaslona pod tekstem w granacie marki (ciemniejsza niz morze), zeby woda wokol wysp byla widoczna */
@media (min-width: 1025px) { .hp-hero--tlo-cieply .hp-hero__overlay { background:
    radial-gradient(640px 420px at 10% 18%, rgba(238,117,38,.26), rgba(238,117,38,0) 70%),
    linear-gradient(to right, rgba(44,36,70,.97) 0%, rgba(44,36,70,.95) 34%, rgba(44,36,70,.86) 45%, rgba(44,36,70,.5) 52%, rgba(44,36,70,.16) 60%, rgba(44,36,70,.05) 70%, rgba(44,36,70,.02) 100%) !important; } }

/* wezsza kolumna tekstu na ekranach do 1640 px: mapa dostaje wiecej miejsca, kraje sa wieksze */
@media (min-width: 1025px) and (max-width: 1640px) { .hp-hero__zaufanie { gap: 8px 22px; } .hp-hero__zaufanie li:not(:first-child) { padding-left: 22px; } }

/* ══ PREMIUM: jedna dominanta, dwa akcenty ═══════════════════════════════════════ */
/* ciemna: wszystko w granacie, kraje niebieskie, Polska zlota */
.hp-hero--tlo-premium .hp-hero__bg { background: #1E1C3A !important; }
.hp-hero--tlo-premium .mk-reszta, .hp-hero--tlo-premium .mk-winieta { display: none; }
.hp-hero--tlo-premium .mk-swiatlo { display: block; opacity: .7; }
.hp-hero--tlo-premium .mk-obce path { stroke: rgba(255,255,255,.07); stroke-width: .8px; }
.hp-hero--tlo-premium .mk-ksztalt, .hp-hero--tlo-premium .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-nieb) !important; stroke: rgba(255,255,255,.92); stroke-width: 1.3px; }
.hp-hero--tlo-premium .mk-kraj--polska path, .hp-hero--tlo-premium .mk-kraj--polska:hover path { fill: url(#mk-grad-zloto) !important; stroke: rgba(255,255,255,.92); stroke-width: 1.3px; }
.hp-hero--tlo-premium .mk-boki .mk-halo { filter: brightness(.45) saturate(1.1); }
.hp-hero--tlo-premium .mk-kraj { filter: drop-shadow(0 18px 22px rgba(5,6,24,.6)) drop-shadow(0 1px 0 rgba(255,255,255,.25)); }
.hp-hero--tlo-premium .mk-fl__pig-tlo { stroke: rgba(30,28,58,.15); }
.hp-hero--tlo-premium .mk-fl__lider { stroke: rgba(255,255,255,.7); }
@media (min-width: 1025px) { .hp-hero--tlo-premium .hp-hero__overlay { background:
    radial-gradient(640px 420px at 10% 18%, rgba(238,117,38,.22), rgba(238,117,38,0) 70%),
    linear-gradient(to right, rgba(30,28,58,.96) 0%, rgba(30,28,58,.94) 34%, rgba(30,28,58,.8) 45%, rgba(30,28,58,.4) 52%, rgba(30,28,58,.1) 60%, rgba(30,28,58,0) 70%) !important; } }
/* jasna: biel i chlodny blekit, kraje niebieskie, Polska pomaranczowa, tekst granatowy */
.hp-hero--tlo-premiumjasna .hp-hero__bg { background: #FBFBFD !important; }
.hp-hero--tlo-premiumjasna .mk-reszta, .hp-hero--tlo-premiumjasna .mk-winieta, .hp-hero--tlo-premiumjasna .mk-swiatlo { display: none; }
.hp-hero--tlo-premiumjasna .mk-obce path { stroke: rgba(49,43,79,.12); stroke-width: .8px; }
.hp-hero--tlo-premiumjasna .mk-ksztalt, .hp-hero--tlo-premiumjasna .mk-kraj:hover .mk-ksztalt { fill: url(#mk-grad-nieb) !important; stroke: #fff; stroke-width: 1.4px; }
.hp-hero--tlo-premiumjasna .mk-kraj--polska path, .hp-hero--tlo-premiumjasna .mk-kraj--polska:hover path { fill: url(#mk-grad-pomar) !important; stroke: #fff; stroke-width: 1.4px; }
.hp-hero--tlo-premiumjasna .mk-kraj--polska .mk-halo { fill: url(#mk-grad-pomar) !important; }
.hp-hero--tlo-premiumjasna .mk-kraj { filter: drop-shadow(0 16px 20px rgba(49,43,79,.26)) drop-shadow(0 1px 0 rgba(255,255,255,.7)); }
.hp-hero--tlo-premiumjasna .mk-fl__tlo--dom { fill: #EE7526; } .hp-hero--tlo-premiumjasna .mk-fl__akcja { fill: #EE7526; }
.hp-hero--tlo-premiumjasna .mk-fl__lider { stroke: rgba(49,43,79,.45); } .hp-hero--tlo-premiumjasna .mk-fl__punkt { stroke: rgba(49,43,79,.6); }
.hp-hero--tlo-premiumjasna .hp-hero__pill { background: rgba(4,102,181,.08) !important; }
@media (min-width: 1025px) { .hp-hero--tlo-premiumjasna .hp-hero__overlay { background:
    radial-gradient(640px 420px at 10% 18%, rgba(247,167,7,.16), rgba(247,167,7,0) 70%),
    linear-gradient(to right, rgba(251,251,253,.97) 0%, rgba(251,251,253,.94) 36%, rgba(251,251,253,.7) 48%, rgba(251,251,253,.2) 58%, rgba(251,251,253,0) 68%) !important; } }
/* zalety: semantyka h3/h4 (sekcja pomocnicza), wyglad jak wczesniej */
.zl .zl__naglowek { font: 700 clamp(22px, 3vw, 32px)/1.25 Montserrat, sans-serif; color: var(--ft-white); margin: 0 0 1.25rem; }
.zl__tytul h4 { font: 700 24px/1.2 Montserrat, sans-serif; color: var(--ft-white); margin: 0; }
@media (max-width: 640px) { .zl__tytul h4 { font-size: 20px; } }
/* zalety na podstronach uslug: linia oddzielajaca od granatowego formularza pod spodem */
.zl + .home-form-section, .zl + form { border-top: 1px solid rgba(255,255,255,.12); }
.zl { box-shadow: inset 0 -1px 0 rgba(255,255,255,.1); }

/* zalety, odmiana jasna (miedzy dwoma granatowymi pasami tresci): ten sam uklad, kolory odwrocone */
.zl--jasna::before { background: radial-gradient(circle, rgba(247,167,7,.14), rgba(247,167,7,0) 62%); }
.zl--jasna .zl__naglowek { color: var(--ft-violet); } .zl--jasna .zl__lead { color: #4A4A4A !important; }
.zl--jasna .zl__pole { background: rgba(49,43,79,.04); border-color: rgba(49,43,79,.1); }
.zl--jasna .zl__pole:hover { background: rgba(49,43,79,.07); border-color: rgba(247,167,7,.5); }
.zl--jasna .zl__nr { color: rgba(247,167,7,.3); }
.zl--jasna .zl__tytul h4 { color: var(--ft-violet); }
.zl--jasna .zl__punkty li { background: #fff; border-color: rgba(49,43,79,.12); color: #2F2A45; box-shadow: 0 1px 0 rgba(49,43,79,.04); }
.zl--jasna { box-shadow: none; }
/* hero: kolumna 660 px, naglowek w jednej linii, pigulki w jednym rzedzie; mapa dostaje wiecej miejsca */
@media (min-width: 1025px) and (max-width: 1899px) {
    .hp-hero--mapa .hp-hero__content { max-width: 660px; }
    .hp-hero--mapa .hp-hero__title { font-size: 50px; } .hp-hero--mapa .hp-hero__title span { font-size: 42px; }
    .hp-hero--mapa .hp-hero__desc { font-size: 16px; }
    .hp-hero--mapa .hp-hero__countries { gap: 10px; }
    .hp-hero--mapa .hp-hero__pill { padding: 7px 13px; font-size: 13px; gap: 8px; } .hp-hero--mapa .hp-hero__pill img { width: 22px; height: 15px; }
}

/* premium: lad reszty Europy jako wektor (ostry na kazdym ekranie), morze z gradientu; bez rastra */
.hp-hero--tlo-premium .hp-hero__bg { background: radial-gradient(1200px 800px at 74% 40%, rgba(60,56,110,.55), rgba(60,56,110,0) 70%), linear-gradient(115deg, #1E1C3A 0%, #201E40 50%, #1B2242 100%) !important; }
.hp-hero--tlo-premium .mk-obce path { fill: rgba(255,255,255,.13); stroke: rgba(255,255,255,.10); stroke-width: .8px; }
.hp-hero--tlo-premium .mk-swiatlo { display: none; }
.hp-hero--tlo-premiumjasna .hp-hero__bg { background: radial-gradient(1200px 800px at 74% 40%, rgba(214,222,238,.9), rgba(214,222,238,0) 70%), linear-gradient(115deg, #FBFBFD 0%, #F3F5FA 100%) !important; }
.hp-hero--tlo-premiumjasna .mk-obce path { fill: #FFFFFF; stroke: rgba(49,43,79,.14); stroke-width: .8px; }
/* zalety mobile: tytul nie wchodzi pod numer */
@media (max-width: 640px) { .zl__tytul h4 { padding-right: 58px; } .zl__nr { opacity: .8; } }

/* ══ DOKUMENTY USLUGI: zestaw ═══ (przepisane 10.09.2026: kartka PDF, segmenty, znaczniki) */
/* Zmienne na :root, bo te same komponenty (karta pliku, okragly przycisk, pigulki spraw)
   uzywane sa takze poza blokiem uslug: na stronach rodzin drukow i na hubie. */
:root { --dz-granat: #312B4F; --dz-niebieski: #0466B5; --dz-zloto: #F7A707; --dz-mut: #5C5878; --dz-mut2: #6E6A86;
        --dz-ramka: rgba(49,43,79,.10); --dz-ease: cubic-bezier(.23,1,.32,1); }
.dz-zestaw { font-family: Montserrat, sans-serif; color: var(--dz-granat); }
.dz-zestaw > * + * { margin-top: 26px; }
.dz-zestaw__brak { margin: 0 0 14px; font-size: 14.5px; color: var(--dz-mut); }
.dz-eyebrow { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #B97B00; }
.dz-sekcja__tytul { display: flex; align-items: center; gap: 14px; margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dz-mut2); }
.dz-sekcja__tytul::after { content: ""; flex: 1 1 auto; height: 1px; background: rgba(49,43,79,.12); }

/* pytania: segmented control */
.dz-wybor { display: flex; flex-wrap: wrap; gap: 18px 28px; margin: 0; }
.dz-wybor__grupa { min-width: 0; margin: 0; padding: 0; border: 0; }
.dz-wybor__grupa legend { margin: 0 0 8px; padding: 0; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--dz-mut2); }
.dz-wybor__opcje { display: inline-flex; padding: 3px; border-radius: 999px; background: #EEF0F6; }
.dz-wybor__opcja { position: relative; display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 18px; border-radius: 999px; cursor: pointer;
                   font-size: 14px; font-weight: 600; color: var(--dz-mut); white-space: nowrap; transition: color .18s var(--dz-ease); }
.dz-wybor__opcja input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.dz-wybor__opcja span { position: relative; z-index: 1; }
.dz-wybor__opcja::before { content: ""; position: absolute; inset: 0; border-radius: 999px; background: #fff; opacity: 0; transform: scale(.92);
                           box-shadow: 0 1px 2px rgba(5,10,48,.12), 0 6px 16px -8px rgba(5,10,48,.35); transition: opacity .18s var(--dz-ease), transform .18s var(--dz-ease); }
.dz-wybor__opcja:hover { color: var(--dz-granat); }
.dz-wybor__opcja:has(input:checked) { color: var(--dz-granat); font-weight: 700; }
.dz-wybor__opcja:has(input:checked)::before { opacity: 1; transform: scale(1); }
.dz-wybor__opcja:has(input:focus-visible) { outline: 2px solid var(--dz-niebieski); outline-offset: 2px; }

/* karta glowna: kartka + tresc + akcje */
.dz-glowne { display: grid; gap: 14px; }
.dz-karta { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: center; gap: 22px; padding: 22px 26px 22px 22px;
            border: 1px solid var(--dz-ramka); border-radius: 18px; background: #fff;
            box-shadow: 0 1px 0 rgba(5,10,48,.04), 0 30px 60px -36px rgba(5,10,48,.45); transition: box-shadow .22s var(--dz-ease), transform .22s var(--dz-ease); }
.dz-karta:hover { box-shadow: 0 1px 0 rgba(5,10,48,.04), 0 36px 64px -34px rgba(5,10,48,.5); }
.dz-karta__kartka { display: block; width: 132px; margin: 8px 0 8px 6px; text-decoration: none; }
.dz-kartka { position: relative; display: block; border-radius: 6px; transform: rotate(-1.5deg); transition: transform .22s var(--dz-ease); }
.dz-kartka::before { content: ""; position: absolute; inset: 0; transform: translate(7px, 7px); border-radius: 6px; background: #fff; border: 1px solid rgba(49,43,79,.14); box-shadow: 0 1px 2px rgba(5,10,48,.08); z-index: 0; }
.dz-kartka img, .dz-kartka__pusta { position: relative; z-index: 1; display: block; width: 100%; height: auto; aspect-ratio: 1 / 1.414; border-radius: 6px; border: 1px solid rgba(49,43,79,.12); background: #fff;
                                    box-shadow: 0 1px 2px rgba(5,10,48,.15), 0 14px 28px -14px rgba(5,10,48,.5); object-fit: cover; object-position: top; }
.dz-kartka__pusta { display: grid; place-items: center; color: var(--dz-niebieski); }
.dz-kartka__pusta svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.dz-karta:hover .dz-kartka { transform: rotate(0) translateY(-2px); }
.dz-karta__tresc { min-width: 0; }
.dz-karta__tresc h4 { margin: 0 0 6px; font-size: 20px; line-height: 1.3; font-weight: 700; color: var(--dz-granat); }
.dz-karta__opis { margin: 0 0 12px; font-size: 14.5px; line-height: 1.55; color: var(--dz-mut); }
.dz-meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.dz-meta li { padding: 4px 8px; border-radius: 6px; background: #F4F5FA; font-size: 12px; font-weight: 600; color: var(--dz-mut2); }
.dz-karta__akcje { display: flex; flex-direction: column; align-items: stretch; gap: 8px; min-width: 220px; }
.dz-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 22px; border-radius: 12px;
          background: linear-gradient(135deg, #F7A707, #F59E0B); color: var(--dz-granat); font-size: 15px; font-weight: 700; text-decoration: none;
          box-shadow: 0 1px 0 rgba(5,10,48,.04), 0 10px 20px -14px rgba(247,167,7,.6); transition: transform .18s var(--dz-ease), box-shadow .18s var(--dz-ease); }
.dz-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.dz-btn:hover { transform: translateY(-1px); box-shadow: 0 12px 24px -12px rgba(247,167,7,.7); color: var(--dz-granat); }
.dz-btn:active { transform: translateY(0); }
.dz-btn:focus-visible { outline: 2px solid var(--dz-niebieski); outline-offset: 3px; }
.dz-karta__podglad { align-self: center; font-size: 13px; font-weight: 600; color: var(--dz-niebieski); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(4,102,181,.35); transition: text-decoration-color .18s var(--dz-ease); }
.dz-karta__podglad:hover { text-decoration-color: currentColor; color: var(--dz-niebieski); }
.dz-karta__podglad:focus-visible { outline: 2px solid var(--dz-niebieski); outline-offset: 3px; border-radius: 4px; }

/* dodatki: lista w jednej ramce */
.dz-dodatkowe { margin: 0; padding: 0; list-style: none; border: 1px solid var(--dz-ramka); border-radius: 14px; background: #fff; overflow: hidden; }
.dz-dodatkowe__wiersz { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; align-items: center; gap: 16px; padding: 14px 18px; transition: background-color .18s var(--dz-ease); }
.dz-dodatkowe__wiersz + .dz-dodatkowe__wiersz { border-top: 1px solid rgba(49,43,79,.08); }
.dz-dodatkowe__wiersz:hover { background: #FAFAFD; }
.dz-mini { display: block; width: 40px; height: 57px; border-radius: 3px; background: #F4F5FA; overflow: hidden; box-shadow: 0 1px 2px rgba(5,10,48,.2); }
.dz-mini img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.dz-dodatkowe__tresc { min-width: 0; }
.dz-dodatkowe__tresc h4 { margin: 0 0 3px; font-size: 15px; line-height: 1.35; font-weight: 700; color: var(--dz-granat); }
.dz-dodatkowe__tresc p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--dz-mut); }
.dz-dodatkowe__meta { display: inline-block; margin-top: 6px; font-size: 12px; font-weight: 600; color: var(--dz-mut2); }
.dz-ikona-pobierz { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1.5px solid var(--dz-niebieski); color: var(--dz-niebieski); background: #fff;
                    transition: background-color .18s var(--dz-ease), color .18s var(--dz-ease), transform .18s var(--dz-ease); }
.dz-ikona-pobierz svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.dz-ikona-pobierz:hover { background: var(--dz-niebieski); color: #fff; }
.dz-ikona-pobierz:active { transform: scale(.96); }
.dz-ikona-pobierz:focus-visible { outline: 2px solid var(--dz-niebieski); outline-offset: 3px; }

/* inne sprawy: karty z flaga */
.dz-powiazane__naglowek { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.dz-powiazane__naglowek .dz-sekcja__tytul { flex: 1 1 auto; margin: 0; }
.dz-powiazane__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.dz-sprawa { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 14px; border-radius: 12px; border: 1px solid rgba(49,43,79,.08); background: #F8F9FC;
             color: var(--dz-granat); font-size: 14px; font-weight: 600; text-decoration: none;
             transition: background-color .18s var(--dz-ease), border-color .18s var(--dz-ease), transform .18s var(--dz-ease), box-shadow .18s var(--dz-ease); }
.dz-sprawa img { width: 20px; height: 14px; border-radius: 2px; object-fit: cover; box-shadow: 0 0 0 1px rgba(49,43,79,.12); }
.dz-sprawa span { flex: 1 1 auto; min-width: 0; }
.dz-sprawa svg { flex: 0 0 auto; width: 18px; height: 18px; fill: none; stroke: var(--dz-niebieski); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s var(--dz-ease); }
.dz-sprawa:hover { background: #fff; border-color: rgba(4,102,181,.35); transform: translateY(-1px); box-shadow: 0 10px 20px -14px rgba(5,10,48,.35); color: var(--dz-granat); }
.dz-sprawa:hover svg { transform: translateX(3px); }
.dz-sprawa:active { transform: translateY(0); }
.dz-sprawa:focus-visible { outline: 2px solid var(--dz-niebieski); outline-offset: 2px; }
.dz-wszystkie { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--dz-niebieski); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(4,102,181,.35); white-space: nowrap; }
.dz-wszystkie svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .18s var(--dz-ease); }
.dz-wszystkie:hover { color: var(--dz-niebieski); text-decoration-color: currentColor; }
.dz-wszystkie:hover svg { transform: translateX(3px); }
.dz-wszystkie:focus-visible { outline: 2px solid var(--dz-niebieski); outline-offset: 3px; border-radius: 4px; }

/* motyw dokleja inline stroke:white do kazdej sciezki SVG, wiec kolor ikon na path z !important */
.dz-zestaw svg path, .dh-sprawa__ikona svg path,
.dz-ikona-pobierz svg path, .dz-btn svg path, .dz-sprawa svg path, .dz-wszystkie svg path { stroke: currentColor !important; fill: none !important; }

/* filtrowanie po wariancie (JS dodaje klase js) */
.dz-zestaw.js [data-dz-filtered]:not(.is-visible) { display: none; }

@media (max-width: 900px) {
    .dz-karta { grid-template-columns: 110px minmax(0, 1fr); }
    .dz-karta__kartka { width: 96px; }
    .dz-karta__akcje { grid-column: 1 / -1; min-width: 0; }
}
/* Cele dotykowe min. 44 px na kazdym urzadzeniu bez kursora (telefon i tablet). */
@media (hover: none), (max-width: 640px) {
    .dz-karta__podglad, .dz-wszystkie { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
    .dz-ikona-pobierz { width: 44px; height: 44px; }
    .dz-dodatkowe__wiersz { grid-template-columns: 40px minmax(0, 1fr) 44px; }
    .dz-wybor__opcja { min-height: 44px; }
    .dz-wybor__opcje { padding: 4px; }
}
@media (max-width: 640px) {
    .dz-wybor { flex-direction: column; gap: 14px; }
    .dz-wybor__opcje { display: flex; width: 100%; }
    .dz-wybor__opcja { flex: 1 1 0; min-height: 44px; padding: 0 10px; }
    .dz-karta { gap: 16px; padding: 18px; grid-template-columns: 96px minmax(0, 1fr); }
    .dz-karta__kartka { margin: 4px 0 4px 2px; }
    /* dlugie niemieckie nazwy (Freistellungsbescheinigung) musza sie zlamac z lacznikiem */
    .dz-karta__tresc h4, .dz-dodatkowe__tresc h4 { font-size: 17px; hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
    .dz-dodatkowe__wiersz { padding: 14px; gap: 12px; }
    .dz-powiazane__naglowek { flex-direction: column; align-items: flex-start; }
    .dz-powiazane__lista { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .dz-zestaw * { transition: none !important; }
}

/* ══ TABELE W CIEMNYCH BLOKACH (poprawka kontrastu, 10.09.2026) ═════════════════
   Tresc z CMS ma style inline pod biale tlo: paski #f7f6fb, tekst #312B4F, naglowek #312B4F.
   W granatowym bloku (.tx-block--c2) parzyste wiersze byly niewidoczne (bialy tekst na jasnym
   pasku), a tekst #312B4F zlewal sie z tlem. Nadpisanie musi byc !important, bo bije inline. */
.tx-block--c2 table th { background: rgba(255,255,255,.14) !important; color: #fff !important; border-bottom-color: rgba(255,255,255,.14) !important; }
.tx-block--c2 table tr { background: transparent !important; }
.tx-block--c2 table tbody tr:nth-child(even), .tx-block--c2 table tr[style*="background"] { background: rgba(255,255,255,.07) !important; }
.tx-block--c2 table td { color: rgba(255,255,255,.9) !important; background: transparent !important; border-bottom-color: rgba(255,255,255,.1) !important; }
.tx-block--c2 table td strong, .tx-block--c2 table td b { color: #fff !important; }
.tx-block--c2 table a { color: #F7A707 !important; }

/* ══ HUB DOKUMENTOW: wybor sprawy ═══ */
.dh-hero,
.dh-hub {
    --violet: #312B4F;
    --blue: #0466B5;
    --gold: #F7A707;
    color: var(--violet);
    font-family: Montserrat, sans-serif;
}

.dh-w {
    width: min(1180px, calc(100% - 48px));
    margin: 0 auto;
}

.dh-hero {
    padding: 42px 0 38px;
    background: linear-gradient(180deg, #F4F6FA 0%, #FFFFFF 100%);
}

.dh-okruszki {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 15px;
    color: #77738D;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.4;
}

.dh-okruszki a {
    color: var(--blue);
    text-decoration: none;
}

.dh-okruszki a:hover {
    color: var(--violet);
}

.dh-okruszki a:focus-visible {
    border-radius: 3px;
    outline: 3px solid rgba(4, 102, 181, .28);
    outline-offset: 3px;
}

.dh-hero__title {
    margin: 0 0 13px;
    color: var(--violet);
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.dh-hero__lead {
    max-width: 760px;
    margin: 0;
    color: #504C69;
    font-size: 16px;
    font-weight: 450;
    line-height: 1.7;
}

.dh-hub {
    padding: 28px 0 64px;
    background: #FFFFFF;
}

.dh-krok {
    margin: 0 0 9px;
    color: var(--blue);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.dh-wybor > h2,
.dh-wynik > h2 {
    margin: 0;
    color: var(--violet);
    font-size: clamp(23px, 3vw, 32px);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: -.02em;
}

.dh-kraje {
    display: grid;
    gap: 30px;
    margin-top: 32px;
}

.dh-kraj {
    min-width: 0;
}

.dh-kraj__tytul {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 13px;
    color: var(--violet);
    font-size: 16px;
    font-weight: 750;
    line-height: 1.35;
}

.dh-kraj__tytul img {
    width: 28px;
    height: 19px;
    border-radius: 2px;
    object-fit: cover;
    box-shadow: 0 0 0 1px rgba(49, 43, 79, .12), 0 5px 12px -8px rgba(6, 55, 121, .6);
}

.dh-sprawy {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.dh-sprawa {
    display: flex;
    min-width: 0;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 16px;
    border: 2px solid rgba(49, 43, 79, .12);
    border-radius: 14px;
    background: #FFFFFF;
    color: var(--violet);
    font: inherit;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 1px 0 rgba(6, 55, 121, .04), 0 12px 22px -18px rgba(6, 55, 121, .42), 0 28px 42px -34px rgba(49, 43, 79, .38);
    transition: opacity 200ms cubic-bezier(.23, 1, .32, 1), transform 200ms cubic-bezier(.23, 1, .32, 1);
}

.dh-sprawa:hover {
    border-color: rgba(4, 102, 181, .5);
    background: #F4F8FC;
    transform: translateY(-2px);
}

.dh-sprawa:focus-visible {
    border-color: var(--blue);
    outline: 3px solid rgba(4, 102, 181, .25);
    outline-offset: 3px;
}

.dh-sprawa:active {
    transform: translateY(1px);
}

.dh-sprawa.is-selected {
    border-color: var(--gold);
    background: var(--violet);
    color: #FFFFFF;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .13) inset, 0 16px 28px -20px rgba(6, 55, 121, .72), 0 30px 46px -34px rgba(49, 43, 79, .68);
}

.dh-sprawa__nazwa {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

.dh-sprawa__licznik {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 999px;
    background: #EEF3F9;
    color: #5C5878;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.2;
    white-space: nowrap;
}

.dh-sprawa.is-selected .dh-sprawa__licznik {
    background: rgba(255, 255, 255, .13);
    color: #FFFFFF;
}

.dh-pusty {
    display: none;
    margin: 36px 0 0;
    padding: 22px;
    border: 1px dashed rgba(49, 43, 79, .24);
    border-radius: 14px;
    background: #F8F9FC;
    color: #656079;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}

.dh-hub.js .dh-pusty {
    display: block;
}

.dh-hub.js .dh-pusty[hidden],
.dh-hub.js .dh-wynik.is-hidden {
    display: none;
}

.dh-wynik {
    margin-top: 52px;
    padding-top: 34px;
    border-top: 1px solid rgba(49, 43, 79, .12);
    scroll-margin-top: 88px;
}

.dh-hub.js .dh-wynik:not(.is-hidden) {
    animation: dh-wynik-wejscie 200ms cubic-bezier(.23, 1, .32, 1) both;
}

@keyframes dh-wynik-wejscie {
    from { opacity: 0; transform: translateY(7px); }
    to { opacity: 1; transform: translateY(0); }
}

.dh-wynik > .dz-zestaw {
    margin: 24px 0 0;
}

.dh-opis {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-top: 18px;
    color: var(--blue);
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: underline;
    text-decoration-color: rgba(4, 102, 181, .3);
    text-underline-offset: 4px;
    transition: opacity 200ms cubic-bezier(.23, 1, .32, 1), transform 200ms cubic-bezier(.23, 1, .32, 1);
}

.dh-opis:hover {
    color: var(--violet);
    transform: translateY(-1px);
}

.dh-opis:focus-visible,
.dh-wszystkie:focus-visible,
.dh-dostepnosc a:focus-visible {
    border-radius: 3px;
    outline: 3px solid rgba(4, 102, 181, .28);
    outline-offset: 3px;
}

.dh-opis:active {
    transform: translateY(1px);
}

.dh-stopka {
    display: grid;
    gap: 18px;
    margin-top: 56px;
    padding-top: 26px;
    border-top: 1px solid rgba(49, 43, 79, .1);
}

.dh-wszystkie {
    width: fit-content;
    min-height: 44px;
    color: #6A667E;
    font-size: 12.5px;
    font-weight: 650;
    line-height: 44px;
    text-decoration: underline;
    text-decoration-color: rgba(106, 102, 126, .35);
    text-underline-offset: 4px;
    transition: opacity 200ms cubic-bezier(.23, 1, .32, 1), transform 200ms cubic-bezier(.23, 1, .32, 1);
}

.dh-wszystkie:hover {
    color: var(--blue);
    transform: translateY(-1px);
}

.dh-wszystkie:active {
    transform: translateY(1px);
}

.dh-dostepnosc {
    max-width: 760px;
    margin: 0;
    color: #77738D;
    font-size: 12.5px;
    font-weight: 500;
    line-height: 1.65;
}

.dh-dostepnosc a {
    color: var(--blue);
    font-weight: 650;
}

@media (max-width: 920px) {
    .dh-sprawy {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .dh-w {
        width: min(100% - 32px, 1180px);
    }

    .dh-hero {
        padding: 30px 0 28px;
    }

    .dh-hub {
        padding: 20px 0 48px;
    }

    .dh-sprawy {
        grid-template-columns: minmax(0, 1fr);
    }

    .dh-sprawa {
        min-height: 62px;
    }

    .dh-wynik {
        margin-top: 40px;
        padding-top: 28px;
        scroll-margin-top: 78px;
    }

    .dh-stopka {
        margin-top: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dh-sprawa,
    .dh-opis,
    .dh-wszystkie {
        transition: none;
    }

    .dh-hub.js .dh-wynik:not(.is-hidden) {
        animation: none;
    }
}

/* ══ HUB DOKUMENTOW: szlif wizualny (10.09.2026, nadpisania) ═══ */
.dh-krok { color: #B97B00; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.dh-kraj__tytul { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #312B4F; }
.dh-kraj__tytul img { width: 22px; height: 16px; border-radius: 2px; object-fit: cover; box-shadow: 0 0 0 1px rgba(49,43,79,.12); }
.dh-kraj__tytul::after { content: ""; flex: 1 1 auto; height: 1px; background: rgba(49,43,79,.12); }
.dh-sprawa { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 28px; grid-template-rows: auto auto; column-gap: 12px; align-items: start; padding: 16px 16px 14px 18px;
             border: 1px solid rgba(49,43,79,.10); border-radius: 14px; background: #fff; text-align: left; cursor: pointer;
             box-shadow: 0 1px 0 rgba(5,10,48,.04), 0 14px 28px -24px rgba(5,10,48,.4);
             transition: transform .2s cubic-bezier(.23,1,.32,1), box-shadow .2s cubic-bezier(.23,1,.32,1), border-color .2s cubic-bezier(.23,1,.32,1), background-color .2s cubic-bezier(.23,1,.32,1); }
.dh-sprawa__nazwa { grid-column: 1; font-size: 15px; font-weight: 700; line-height: 1.35; color: #312B4F; }
.dh-sprawa__licznik { grid-column: 1; margin-top: 6px; padding: 0; background: none; border-radius: 0; font-size: 12.5px; font-weight: 600; color: #6E6A86; display: inline-flex; align-items: center; gap: 6px; }
/* Kartka z zagietym rogiem. Wczesniej byl to pusty prostokat z obramowaniem,
   ktory obok tekstu "7 plikow" czytalo sie jak niezaznaczony checkbox. */
.dh-sprawa__licznik::before { content: ""; width: 11px; height: 14px; background: currentColor; opacity: .5;
    clip-path: polygon(0 0, 64% 0, 100% 30%, 100% 100%, 0 100%); }
.dh-sprawa__ikona { grid-column: 2; grid-row: 1 / span 2; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #EEF3FA; color: #0466B5; transition: background-color .2s, color .2s; }
.dh-sprawa__ikona svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.dh-sprawa__ikona svg + svg { display: none; }
.dh-sprawa:hover { transform: translateY(-2px); border-color: rgba(4,102,181,.35); box-shadow: 0 16px 30px -18px rgba(5,10,48,.4); }
.dh-sprawa:active { transform: translateY(0); }
.dh-sprawa:focus-visible { outline: 2px solid #0466B5; outline-offset: 3px; }
.dh-sprawa.is-selected { background: #312B4F; border-color: #312B4F; }
.dh-sprawa.is-selected .dh-sprawa__nazwa { color: #fff; }
.dh-sprawa.is-selected .dh-sprawa__licznik { color: rgba(255,255,255,.72); background: none; }
.dh-sprawa.is-selected .dh-sprawa__ikona { background: #F7A707; color: #312B4F; }
.dh-sprawa.is-selected .dh-sprawa__ikona svg { display: none; }
.dh-sprawa.is-selected .dh-sprawa__ikona svg + svg { display: block; }
.dh-pusty { padding: 18px; border: 0; border-radius: 12px; background: #F8F9FC; font-size: 14px; color: #6E6A86; text-align: center; }
@keyframes dh-wjazd { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.dh-hub.js .dh-wynik:not(.is-hidden) { animation: dh-wjazd .22s cubic-bezier(.23,1,.32,1) both; }
@media (prefers-reduced-motion: reduce) { .dh-hub.js .dh-wynik:not(.is-hidden) { animation: none; } .dh-sprawa { transition: none; } }

/* ══ MAPA NA TELEFONIE: zywa, nie obrazek (10.09.2026) ═══════════════════════
   Kod SVG i tak jest w HTML na kazdym urzadzeniu, wiec pokazanie go zamiast wypalonego
   obrazka nic nie kosztuje w pobieraniu, a kraje staja sie klikalne. Warstwa zajmuje tylko
   gorne pasmo hero (tyle, ile wczesniej obrazek), tekst siedzi pod nia. */
@media (max-width: 1024px) {
    .hp-hero--mapa .mk-warstwa { display: block; top: 0; bottom: auto; height: calc(88vw + 20px); }
    .hp-hero--mapa .mk-svg { width: 100%; height: 100%; }
    /* miekkie przejscie pasma mapy w tekst zamiast twardej krawedzi */
    .hp-hero--mapa .mk-warstwa { -webkit-mask-image: linear-gradient(180deg, #000 96%, transparent 100%); mask-image: linear-gradient(180deg, #000 96%, transparent 100%); }
    .hp-hero--mapa .mk-latarka, .hp-hero--mapa .hp-hero__overlay::after { display: none; }
}

/* ══ reCAPTCHA: odznaka w rogu ekranu ukryta (polecenie Marcina 10.09.2026) ════════
   UWAGA: regulamin Google pozwala schowac znaczek tylko wtedy, gdy marka reCAPTCHA jest
   widoczna gdzies przy akcji uzytkownika. Marcin nie chce zadnego napisu, wiec zostaje
   samo ukrycie. Ryzyko po stronie klienta, do decyzji przy okazji polityki prywatnosci. */
.grecaptcha-badge { visibility: hidden !important; }

/* ══ STRONY RODZIN DRUKOW: lista plikow w tym samym wygladzie co bloki na uslugach ══ */
.dz-dodatkowe__tresc h3 { margin: 0 0 3px; font-size: 15px; line-height: 1.35; font-weight: 700; color: #312B4F; }
.dk-pliki-nowe { margin: 0 0 18px; }
.dk-pliki-nowe .dz-dodatkowe__meta { margin-top: 4px; }

/* Odnosnik do strony rodziny druku: wyrozniona karta (20.10.2026, makieta klienta). */
.dz-rodzina { display: flex; align-items: center; gap: 18px; margin: 14px 0 16px; padding: 18px 20px; border-radius: 14px;
              border: 2px solid var(--gold, #F7A707); background: #FFF7EA; text-decoration: none; color: var(--dz-granat);
              box-shadow: 0 1px 0 rgba(247,167,7,.10), 0 18px 36px -26px rgba(49,43,79,.35);
              transition: transform .2s var(--dz-ease), box-shadow .2s var(--dz-ease), background-color .2s var(--dz-ease); }
.dz-rodzina__ikona { flex: 0 0 auto; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--gold, #F7A707); }
.dz-rodzina__ikona svg { width: 24px; height: 24px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.dz-rodzina__ikona svg path, .dz-rodzina__ikona svg rect { stroke: #fff !important; fill: none !important; }
.dz-rodzina__tekst { display: block; flex: 1 1 auto; min-width: 0; }
.dz-rodzina strong { display: block; font-size: 17px; font-weight: 700; line-height: 1.3; color: var(--dz-granat); }
.dz-rodzina em { display: block; margin-top: 3px; font-style: normal; font-size: 14px; line-height: 1.45; color: #5B5672; }
.dz-rodzina__btn { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px; border-radius: 10px;
                   background: var(--gold, #F7A707); color: #312B4F; font-size: 15px; font-weight: 700; line-height: 1;
                   transition: background-color .2s var(--dz-ease); }
.dz-rodzina__btn svg { width: 18px; height: 18px; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s var(--dz-ease); }
.dz-rodzina__btn svg path { stroke: #312B4F !important; }
.dz-rodzina:hover { transform: translateY(-2px); background: #FFF2DA; box-shadow: 0 1px 0 rgba(247,167,7,.12), 0 24px 44px -26px rgba(49,43,79,.45); color: var(--dz-granat); }
.dz-rodzina:hover .dz-rodzina__btn { background: #FFB733; }
.dz-rodzina:hover .dz-rodzina__btn svg { transform: translateX(3px); }
.dz-rodzina:focus-visible { outline: 3px solid var(--dz-niebieski); outline-offset: 3px; }
@media (max-width: 640px) {
    .dz-rodzina { flex-wrap: wrap; gap: 12px 14px; padding: 16px; }
    .dz-rodzina__ikona { width: 42px; height: 42px; }
    .dz-rodzina__tekst { flex: 1 1 calc(100% - 60px); }
    .dz-rodzina strong { font-size: 16px; }
    .dz-rodzina__btn { flex: 1 1 100%; justify-content: center; padding: 12px 16px; }
}

/* ══ HUB DOKUMENTOW: tresc pod narzedziem (jak korzystac, kraje, pytania) ═══════ */
.dh-tekst { padding: 8px 0 34px; background: #fff; }
.dh-tekst h2 { margin: 34px 0 12px; font-size: 24px; line-height: 1.3; font-weight: 700; color: var(--dz-granat); }
.dh-tekst h2:first-child { margin-top: 0; }
.dh-tekst p { margin: 0 0 12px; font-size: 15.5px; line-height: 1.7; color: #453F63; max-width: 74ch; }
.dh-kraje-tekst { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 4px 0 8px; }
@media (max-width: 900px) { .dh-kraje-tekst { grid-template-columns: 1fr; } }
.dh-kraje-tekst article { padding: 20px 22px; border: 1px solid var(--dz-ramka); border-radius: 14px; background: #FBFBFD; }
.dh-kraje-tekst h3 { display: flex; align-items: center; gap: 9px; margin: 0 0 8px; font-size: 16px; font-weight: 700; color: var(--dz-granat); }
.dh-kraje-tekst h3 img { width: 22px; height: 16px; border-radius: 2px; object-fit: cover; box-shadow: 0 0 0 1px rgba(49,43,79,.12); }
.dh-kraje-tekst p { margin: 0; font-size: 14.5px; line-height: 1.65; }
.dh-faq { display: grid; gap: 8px; max-width: 900px; }
.dh-faq details { border: 1px solid var(--dz-ramka); border-radius: 12px; background: #fff; }
.dh-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 56px; padding: 12px 18px;
                  font-size: 15.5px; font-weight: 600; color: var(--dz-granat); cursor: pointer; list-style: none;
                  transition: color .18s var(--dz-ease); }
.dh-faq summary::-webkit-details-marker { display: none; }
.dh-faq summary::after { content: ""; flex: 0 0 auto; width: 11px; height: 11px; border-right: 2px solid var(--dz-niebieski); border-bottom: 2px solid var(--dz-niebieski);
                         transform: rotate(45deg) translate(-2px, -2px); transition: transform .2s var(--dz-ease); }
.dh-faq details[open] summary::after { transform: rotate(-135deg) translate(-2px, -2px); }
.dh-faq summary:hover { color: var(--dz-niebieski); }
.dh-faq summary:focus-visible { outline: 2px solid var(--dz-niebieski); outline-offset: -2px; border-radius: 12px; }
.dh-faq details p { margin: 0; padding: 0 18px 16px; font-size: 15px; line-height: 1.65; color: #453F63; }
.dh-hub--dol { padding-top: 0; }
@media (max-width: 640px) {
    .dh-tekst h2 { font-size: 20px; margin-top: 26px; }
    .dh-tekst p, .dh-faq details p { font-size: 15px; }
    .dh-kraje-tekst { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .dh-faq summary, .dh-faq summary::after { transition: none; } }


/* ---- Wyrozniony komplet glowny na stronie rodziny (11.09.2026) --------------
   Powod: na stronie Holandii szesc pozycji stalo w jednej plaskiej liscie, a trzy
   z nich nazywaly sie prawie tak samo. Pierwsza pozycja to plik wskazany przez
   zestaw uslugi, wiec dostaje wlasna karte, a reszta zostaje lista ponizej.     */
.dz-glowny {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 20px;
    margin: 0 0 8px;
    padding: 20px 22px;
    border: 1px solid rgba(4, 102, 181, .18);
    border-radius: 18px;
    background: linear-gradient(180deg, #FFFFFF 0%, #F7FAFD 100%);
    box-shadow: 0 1px 0 rgba(6, 55, 121, .04), 0 26px 44px -32px rgba(6, 55, 121, .42);
}
.dz-glowny__mini {
    display: grid;
    place-items: center;
    width: 86px;
    height: 122px;
    overflow: hidden;
    border: 1px solid rgba(49, 43, 79, .14);
    border-radius: 8px;
    background: #FFFFFF;
    box-shadow: 0 10px 20px -14px rgba(6, 55, 121, .55);
}
.dz-glowny__mini img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.dz-glowny__tresc h2 { margin: 0 0 6px; font-size: 19px; font-weight: 700; line-height: 1.3; color: #312B4F; }
.dz-glowny__tresc p { margin: 0 0 8px; font-size: 14px; line-height: 1.55; color: #5C5878; }
.dz-glowny__meta { display: inline-block; font-size: 12.5px; font-weight: 600; color: #6E6A86; }
.dz-glowny__cta {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 13px 20px;
    border-radius: 999px;
    background: #F7A707;
    color: #312B4F;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: 0 1px 0 rgba(49, 43, 79, .06), 0 18px 30px -20px rgba(247, 167, 7, .9);
    transition: transform .2s cubic-bezier(.23, 1, .32, 1), box-shadow .2s;
}
.dz-glowny__cta svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.dz-glowny__cta:hover { transform: translateY(-2px); box-shadow: 0 1px 0 rgba(49, 43, 79, .06), 0 22px 34px -18px rgba(247, 167, 7, .95); }
.dz-glowny__cta:focus-visible { outline: 3px solid #0466B5; outline-offset: 3px; }
.dz-glowny__cta:active { transform: translateY(0); }
.dk-rail__label--dalsze { margin-top: 38px; }

@media (max-width: 640px) {
    .dz-glowny { grid-template-columns: auto 1fr; gap: 14px; padding: 16px; }
    .dz-glowny__mini { width: 62px; height: 88px; }
    .dz-glowny__tresc h2 { font-size: 17px; }
    .dz-glowny__cta { grid-column: 1 / -1; justify-content: center; }
}

/* Pusty krok 2 na hubie: wczesniej sam szary pasek bez etykiety kroku. */
.dh-pusty { text-align: left; }
.dh-pusty__tekst { margin: 6px 0 0; font-size: 14.5px; font-weight: 600; line-height: 1.5; color: #656079; }
.dh-pusty .dh-krok { margin: 0; }


/* Wejscie do drukow w kazdym rozwijanym menu (11.09.2026), bo w gornym pasku
   osobna pozycja "Dokumenty" nie miescila sie przy 1200-1439 px. */
.mega-desc__druki { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(49, 43, 79, .14); font-size: 13.5px; font-weight: 600; }
.mega-desc__druki a { color: #F7A707; text-decoration: none; transition: color .2s; }
.mega-desc__druki a:hover { color: #312B4F; text-decoration: underline; }
.mega-desc__druki a:focus-visible { outline: 2px solid #F7A707; outline-offset: 3px; }

/* Link do hubu pod blokiem drukow na stronie miasta (11.09.2026). */
.cx-doc__wiecej { margin: 26px 0 0; font-size: 15px; font-weight: 600; }
.cx-doc__wiecej a { color: #0466B5; text-decoration: none; border-bottom: 1px solid rgba(4,102,181,.3); transition: color .2s, border-color .2s; }
.cx-doc__wiecej a:hover { color: #063779; border-color: #063779; }
.cx-doc__wiecej a:focus-visible { outline: 3px solid #0466B5; outline-offset: 3px; }

/* Usluga bez wlasnych plikow: sam pasek z wejsciem do drukow (11.09.2026). */
.cd-docs--sam-link { padding: 26px 0; }

/* Wejscie do drukow uzywane takze poza serwice.blade.php (np. dashboard/kadry-niemcy).
   Tam nie ma lokalnego <style>, wiec SVG renderowal sie jako czarny trojkat na pol ekranu.
   Style trzymamy globalnie, zeby klasa dzialala wszedzie. 11.09.2026. */
.cd-docs-wszystkie { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px;
    min-height: 48px; padding: 0 20px; border-radius: 12px; background: #F1F3F9; color: #312B4F;
    text-decoration: none; font: 700 14.5px/1 Montserrat, sans-serif;
    transition: background .18s cubic-bezier(.23, 1, .32, 1); }
.cd-docs-wszystkie:hover { background: #E2E7F3; }
.cd-docs-wszystkie:focus-visible { outline: 2px solid #0466B5; outline-offset: 3px; }
.cd-docs-wszystkie svg { width: 17px; height: 17px; flex: 0 0 auto; }
.cd-docs-wszystkie svg path { fill: none; stroke: currentColor; stroke-width: 2.1;
    stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 560px) { .cd-docs-wszystkie { width: 100%; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .cd-docs-wszystkie { transition: none; } }

/* Reakcja na wcisniecie tam, gdzie jej brakowalo (13.09.2026).
   Karta kompletu na stronie uslugi to glowny cel klikniecia, a nie dawala zadnego
   sygnalu, ze interfejs zareagowal. Ruch tylko na transform, krotki, bez odbicia. */
.dz-karta__kartka { transition: transform 160ms cubic-bezier(.23, 1, .32, 1); }
.dz-karta__kartka:active { transform: scale(.985); }
.cd-docs-wszystkie:active { transform: scale(.98); }
.dz-rodzina:active { transform: translateY(0) scale(.995); }
.dz-wszystkie:active { transform: scale(.97); }

@media (prefers-reduced-motion: reduce) {
    .dz-karta__kartka, .cd-docs-wszystkie, .dz-rodzina, .dz-wszystkie { transition: none; }
    .dz-karta__kartka:active, .cd-docs-wszystkie:active,
    .dz-rodzina:active, .dz-wszystkie:active { transform: none; }
}

/* Znacznik "Instrukcja na 1. stronie" przy glownym komplecie na stronie drukow (13.09.2026). */
.dz-glowny__instr { display: inline-block; margin-left: 8px; padding: 3px 9px; border-radius: 999px;
    background: #EEF3F9; color: #0466B5; font-size: 11.5px; font-weight: 700; vertical-align: middle; }

/* Domkniecie strony drukow: wyrazne wejscie w usluge obok zdania pomocniczego (13.09.2026). */
.dk-domkniecie { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; margin-top: 26px; }
.dk-domkniecie .dk-tresc__cta { margin: 0; flex: 1 1 320px; }
.dk-domkniecie__cta { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto;
    min-height: 50px; padding: 0 24px; border-radius: 999px; background: #F7A707; color: #312B4F;
    font-size: 15px; font-weight: 700; text-decoration: none; white-space: nowrap;
    box-shadow: 0 1px 0 rgba(49,43,79,.06), 0 18px 30px -20px rgba(247,167,7,.9);
    transition: transform .2s cubic-bezier(.23,1,.32,1), box-shadow .2s; }
.dk-domkniecie__cta:hover { transform: translateY(-2px); box-shadow: 0 1px 0 rgba(49,43,79,.06), 0 22px 34px -18px rgba(247,167,7,.95); }
.dk-domkniecie__cta:active { transform: translateY(0) scale(.98); }
.dk-domkniecie__cta:focus-visible { outline: 3px solid #0466B5; outline-offset: 3px; }
@media (max-width: 560px) { .dk-domkniecie__cta { width: 100%; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .dk-domkniecie__cta { transition: none; } .dk-domkniecie__cta:hover, .dk-domkniecie__cta:active { transform: none; } }

/* Kafle drukow na stronie miasta (13.09.2026): bez ikony PDF, bo prowadza do stron,
   nie do plikow. Uklad spojny z kaflami spraw w module. */
.cx-doc__item { display: flex; align-items: center; gap: 10px; text-decoration: none; color: #312B4F;
    font-size: 14.5px; font-weight: 600; line-height: 1.35;
    transition: border-color .2s, box-shadow .2s, transform .2s cubic-bezier(.23,1,.32,1); }
.cx-doc__item span { flex: 1 1 auto; }
.cx-doc__item svg { flex: 0 0 auto; color: #0466B5; opacity: .75; transition: transform .2s cubic-bezier(.23,1,.32,1); }
.cx-doc__item:hover svg { transform: translateX(3px); opacity: 1; }
.cx-doc__item:active { transform: scale(.99); }
.cx-doc__item:focus-visible { outline: 3px solid #0466B5; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .cx-doc__item, .cx-doc__item svg { transition: none; } }
/* Kolor tekstu kafla: motyw koloruje wszystkie <a> na niebiesko, wiec potrzebna
   wyzsza specyficznosc, zeby kafle byly spojne z modulem drukow. */
.cx-doc .cx-doc__grid a.cx-doc__item,
.cx-doc .cx-doc__grid a.cx-doc__item:visited { color: #312B4F; text-decoration: none; }
.cx-doc .cx-doc__grid a.cx-doc__item:hover { color: #063779; }


/* ---- Caly wiersz klikalny (14.09.2026) --------------------------------------
   Pomiar: w wierszu dokumentu klikalne bylo 40x40 px na 1260x92, czyli 1 procent
   powierzchni. W karcie glownego kompletu 4 procent. Czlowiek klikal w tytul i nic
   sie nie dzialo, bo trafic trzeba bylo w mala ikone po prawej.
   Rozwiazanie: link rozciagniety pseudo-elementem na caly wiersz. HTML bez zmian,
   dalej jest jeden link z opisem dla czytnika ekranu.                           */
.dz-dodatkowe__wiersz { position: relative; cursor: pointer; }
.dz-dodatkowe__wiersz .dz-ikona-pobierz::after {
    content: "";
    position: absolute;
    inset: 0;
}
.dz-dodatkowe__wiersz:hover { background: #F7FAFD; }
.dz-dodatkowe__wiersz:hover .dz-ikona-pobierz { background: #DCE9F7; color: #063779; }
.dz-dodatkowe__wiersz:active { background: #EEF3F9; }

.dz-glowny { position: relative; }
.dz-glowny .dz-glowny__cta::after {
    content: "";
    position: absolute;
    inset: 0;
}

@media (prefers-reduced-motion: reduce) {
    .dz-dodatkowe__wiersz, .dz-dodatkowe__wiersz .dz-ikona-pobierz { transition: none; }
}


/* ══════════ HERO Z MAPA W WERSJACH JEZYKOWYCH (28.09.2026) ══════════
   Naglowek DE, NL i RO ma trzy linie i nie miescil sie w 75vh: tresc wychodzila pod menu.
   Hero rosnie z trescia (wersja PL bez zmian, zatwierdzona przez klienta). Pasek zaufania EN
   ("commission on the refund") nie miescil sie w 660 px i lamal sie na dwa rzedy. */
@media (min-width: 1025px) {
    .hp-hero--mapa:not([data-jezyk="pl"]) { height: auto; min-height: max(600px, 75vh); padding-top: 40px; padding-bottom: 40px; }
    .hp-hero--mapa:not([data-jezyk="pl"]) .hp-hero__zaufanie { width: max-content; flex-wrap: nowrap; }
}
