/* =========================================================
   MOBILE HEADER - STICKY OD SAMEJ GÓRY
   ========================================================= */

@media (max-width: 980px) {

    /* cały header przyklejony */
    .site-header {
        position: sticky !important;
        top: 0 !important;

        width: 100% !important;

        z-index: 99999 !important;
    }


    /* na mobile topbar jest ukryty,
       więc main header jest dokładnie przy suficie */
    .topbar {
        display: none !important;
    }


    .main-header {
        position: relative !important;

        top: auto !important;

        width: 100% !important;

        background: #ffffff !important;

        z-index: 99999 !important;

        box-shadow:
            0 4px 18px rgba(5, 25, 45, .10) !important;
    }


    .main-header-inner {
        position: relative !important;

        min-height: 68px !important;
    }


    /* =====================================================
       MENU POD HEADEREM
       ===================================================== */

    .main-nav {
        position: absolute !important;

        top: 100% !important;
        left: 0 !important;
        right: 0 !important;

        width: 100% !important;

        margin: 0 !important;

        padding:
            8px
            20px
            18px !important;

        display: flex !important;
        flex-direction: column !important;

        align-items: stretch !important;

        gap: 0 !important;

        background: #ffffff !important;

        border-top:
            1px solid #eeeeee !important;

        border-radius:
            0
            0
            12px
            12px !important;

        box-shadow:
            0 15px 30px rgba(0,0,0,.12) !important;


        opacity: 0 !important;
        visibility: hidden !important;

        transform:
            translateY(-8px) !important;

        pointer-events: none !important;

        transition:
            opacity .2s ease,
            transform .2s ease,
            visibility .2s ease !important;
    }


    .main-nav.is-open {
        opacity: 1 !important;
        visibility: visible !important;

        transform:
            translateY(0) !important;

        pointer-events: auto !important;
    }


    .main-nav a {
        width: 100% !important;

        padding:
            14px
            4px !important;

        color: #07182e !important;

        font-size: 14px !important;
        line-height: 1.2 !important;

        font-weight: 500 !important;

        border-bottom:
            1px solid #eeeeee !important;
    }


    .main-nav a:last-child {
        border-bottom: 0 !important;
    }


    /* nie zostawiamy desktopowych paddingów */
    .main-nav a::after {
        bottom: 5px !important;
    }

}


/* =========================================================
   MAŁY TELEFON
   ========================================================= */

@media (max-width: 600px) {

    .site-header {
        position: sticky !important;
        top: 0 !important;
    }


    .main-header-inner {
        min-height: 67px !important;
    }


    .header-logo img {
        width: 118px !important;
        max-height: 58px !important;

        object-fit: contain !important;
    }


    .header-phone {
        margin-left: auto !important;

        width: auto !important;
        min-width: 0 !important;

        height: 40px !important;

        padding:
            0
            11px !important;

        gap: 6px !important;

        border-radius: 7px !important;
    }


    /* numer MA być widoczny */
    .header-phone span {
        display: inline !important;

        font-size: 10px !important;
        font-weight: 700 !important;

        white-space: nowrap !important;
    }


    .header-phone svg {
        width: 16px !important;
        height: 16px !important;
    }


    .mobile-menu-toggle {
        width: 38px !important;
        height: 38px !important;

        padding: 7px !important;

        flex-shrink: 0 !important;
    }


    .main-nav {
        left: 0 !important;
        right: 0 !important;

        width: 100% !important;

        border-radius:
            0
            0
            10px
            10px !important;
    }

}
/* =========================================================
   MAPA - POLSKIE ETYKIETY
   ========================================================= */

#serviceAreaMap .map-pl-label-wrap {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    pointer-events: none !important;
}

#serviceAreaMap .map-pl-city {
    display: inline-block !important;
    padding: 3px 7px !important;
    color: #354052 !important;
    background: rgba(255, 255, 255, .82) !important;
    border-radius: 5px !important;
    box-shadow: 0 1px 4px rgba(6, 24, 46, .08) !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    text-align: center !important;
}

#serviceAreaMap .map-pl-city.is-main {
    padding: 4px 9px !important;
    color: #061b34 !important;
    background: #ffc400 !important;
    border: 1px solid #061b34 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    box-shadow: 0 3px 10px rgba(6, 24, 46, .18) !important;
}

#serviceAreaMap .map-pl-region {
    display: block !important;
    width: 150px !important;
    color: rgba(65, 77, 94, .58) !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
    letter-spacing: .55px !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-shadow: 0 1px 0 rgba(255,255,255,.9) !important;
    white-space: nowrap !important;
}

@media (max-width: 700px) {
    #serviceAreaMap .map-pl-city {
        font-size: 9px !important;
        padding: 2px 5px !important;
    }

    #serviceAreaMap .map-pl-city.is-main {
        font-size: 10px !important;
    }

    #serviceAreaMap .map-pl-region {
        font-size: 8px !important;
        opacity: .85 !important;
    }
}

/* =========================================================
   REALIZACJE / GALERIA Z PANELU
   ========================================================= */
.realizations-gallery{background:#fff;padding:76px 0 82px}.realizations-gallery-inner{max-width:1200px}.realizations-gallery-head{text-align:center;max-width:720px;margin:0 auto 38px}.realizations-gallery-eyebrow{color:#e9aa00;font-size:12px;font-weight:700;letter-spacing:3px;margin-bottom:12px}.realizations-gallery-head h2{margin:0;color:#07182e;font-size:42px;line-height:1.08;font-weight:700;letter-spacing:-.7px}.realizations-gallery-head h2 span{color:#f4b000}.realizations-gallery-head p{max-width:640px;margin:16px auto 0;color:#6e7682;font-size:14px;line-height:1.7}.realizations-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.realization-card{position:relative;display:block;overflow:hidden;border-radius:14px;background:#eef1f4;aspect-ratio:1/1;border:1px solid #e3e7eb;box-shadow:0 8px 22px rgba(5,25,47,.05)}.realization-card img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;display:block!important;transition:transform .35s ease,filter .35s ease}.realization-card::after{content:"Powiększ";position:absolute;left:12px;bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(4,24,45,.82);color:#fff;font:500 10px/1 Poppins,sans-serif;opacity:0;transform:translateY(5px);transition:.25s ease}.realization-card:hover img{transform:scale(1.045);filter:brightness(.93)}.realization-card:hover::after{opacity:1;transform:none}.realizations-empty{min-height:180px;border:1px dashed #d8dee5;border-radius:16px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;color:#7b8593;background:#fafbfc;font-size:13px}.realizations-empty iconify-icon{font-size:40px;color:#f4b000}.gallery-lightbox{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(2,12,24,.92);backdrop-filter:blur(5px)}.gallery-lightbox.is-open{display:flex}.gallery-lightbox img{display:block;max-width:min(1100px,92vw)!important;max-height:88vh!important;width:auto!important;height:auto!important;object-fit:contain;border-radius:12px;box-shadow:0 20px 70px rgba(0,0,0,.35)}.gallery-lightbox-close{position:absolute;top:18px;right:20px;width:44px;height:44px;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:28px;line-height:1;cursor:pointer}
@media(max-width:950px){.realizations-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.realizations-gallery-head h2{font-size:36px}}
@media(max-width:650px){.realizations-gallery{padding:52px 0 58px}.realizations-gallery-head{margin-bottom:26px}.realizations-gallery-head h2{font-size:31px}.realizations-gallery-head p{font-size:12px;line-height:1.65}.realizations-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.realization-card{border-radius:11px}.realization-card::after{display:none}.gallery-lightbox{padding:14px}.gallery-lightbox img{max-width:96vw!important}}

/* =========================================================
   GALERIA REALIZACJI — LIGHTBOX SLIDER FIX
   ========================================================= */
body.gallery-lightbox-open{overflow:hidden!important}
.gallery-lightbox{
    position:fixed!important;inset:0!important;z-index:100000!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:36px 92px!important;background:rgba(2,12,24,.94)!important;
    backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transition:opacity .22s ease,visibility .22s ease!important
}
.gallery-lightbox.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.gallery-lightbox-stage{
    position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;
    width:min(1120px,calc(100vw - 190px))!important;height:min(88vh,900px)!important
}
.gallery-lightbox-stage img,.gallery-lightbox #galleryLightboxImage{
    display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:88vh!important;
    object-fit:contain!important;border-radius:12px!important;box-shadow:0 20px 70px rgba(0,0,0,.38)!important;
    opacity:1!important;transform:scale(1)!important;transition:opacity .14s ease,transform .14s ease!important
}
.gallery-lightbox-stage img.is-changing{opacity:.25!important;transform:scale(.985)!important}
.gallery-lightbox-close{
    position:fixed!important;top:18px!important;right:20px!important;z-index:10!important;
    width:46px!important;height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;
    border:1px solid rgba(255,255,255,.26)!important;border-radius:50%!important;background:rgba(255,255,255,.08)!important;
    color:#fff!important;font:400 29px/1 Arial,sans-serif!important;cursor:pointer!important
}
.gallery-lightbox-close:hover{background:#ffc400!important;color:#06182e!important;border-color:#ffc400!important}
.gallery-lightbox-nav{
    position:fixed!important;top:50%!important;z-index:8!important;transform:translateY(-50%)!important;
    width:58px!important;height:58px!important;display:flex!important;align-items:center!important;justify-content:center!important;
    padding:0!important;border:1px solid rgba(255,255,255,.25)!important;border-radius:50%!important;
    background:rgba(6,26,49,.90)!important;color:#fff!important;cursor:pointer!important;
    transition:background .18s ease,color .18s ease,border-color .18s ease!important
}
.gallery-lightbox-nav:hover{background:#ffc400!important;color:#06182e!important;border-color:#ffc400!important}
.gallery-lightbox-nav iconify-icon{font-size:30px!important}
.gallery-lightbox-prev{left:26px!important}.gallery-lightbox-next{right:26px!important}
.gallery-lightbox-counter{
    position:absolute!important;left:50%!important;bottom:14px!important;transform:translateX(-50%)!important;z-index:5!important;
    min-width:64px!important;padding:7px 12px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:999px!important;
    background:rgba(5,20,38,.80)!important;color:#fff!important;text-align:center!important;
    font:500 11px/1.2 Poppins,sans-serif!important;pointer-events:none!important
}
.gallery-lightbox-nav[hidden],.gallery-lightbox-counter[hidden]{display:none!important}

@media(max-width:700px){
    .gallery-lightbox{padding:58px 12px 74px!important}
    .gallery-lightbox-stage{width:100%!important;height:100%!important}
    .gallery-lightbox-stage img,.gallery-lightbox #galleryLightboxImage{
        max-width:calc(100vw - 24px)!important;max-height:calc(100vh - 132px)!important;border-radius:9px!important
    }
    .gallery-lightbox-close{top:12px!important;right:12px!important;width:42px!important;height:42px!important;font-size:25px!important}
    .gallery-lightbox-nav{top:auto!important;bottom:14px!important;width:46px!important;height:46px!important;transform:none!important;background:#ffc400!important;color:#06182e!important;border-color:#ffc400!important}
    .gallery-lightbox-prev{left:calc(50% - 82px)!important}.gallery-lightbox-next{right:calc(50% - 82px)!important}
    .gallery-lightbox-nav iconify-icon{font-size:25px!important}
    .gallery-lightbox-counter{bottom:20px!important}
}

/* =========================================================
   VIDEO — POMOC DROGOWA W PRAKTYCE
   ========================================================= */
.roadside-video-section{
    background:#fff;
    padding:24px 0 86px;
}
.roadside-video-inner{
    max-width:1200px;
}
.roadside-video-head{
    max-width:760px;
    margin:0 auto 30px;
    text-align:center;
}
.roadside-video-eyebrow{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-bottom:12px;
    color:#e9aa00;
    font-size:12px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:2.2px;
}
.roadside-video-eyebrow span{
    width:26px;
    height:2px;
    flex:0 0 auto;
    background:#f4b000;
}
.roadside-video-head h2{
    margin:0;
    color:#07182e;
    font-size:42px;
    line-height:1.12;
    font-weight:700;
    letter-spacing:-.7px;
}
.roadside-video-head h2 strong{
    color:#f4b000;
    font-weight:700;
}
.roadside-video-head p{
    max-width:690px;
    margin:16px auto 0;
    color:#68717d;
    font-size:14px;
    line-height:1.75;
}
.roadside-video-frame{
    position:relative;
    overflow:hidden;
    width:100%;
    border-radius:18px;
    background:#06182e;
    box-shadow:0 20px 55px rgba(5,25,47,.14);
}
.roadside-video-frame::before{
    content:"";
    display:block;
    padding-top:56.25%;
}
.roadside-video-frame video{
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    background:#06182e;
}
@media(max-width:700px){
    .roadside-video-section{padding:10px 0 58px}
    .roadside-video-head{margin-bottom:22px;padding:0 4px}
    .roadside-video-eyebrow{font-size:10px;letter-spacing:1.6px}
    .roadside-video-head h2{font-size:31px}
    .roadside-video-head p{font-size:12px;line-height:1.65}
    .roadside-video-frame{border-radius:12px;box-shadow:0 12px 34px rgba(5,25,47,.13)}
}
