/*
Theme Name: IMPACT
Theme URI: https://impactekspertyzy.pl
Author: Kamil Senger
Description: Custom WordPress theme for IMPACT – Dolnośląskie Centrum Ekspertyz Sądowych
Version: 2.2
Requires at least: 5.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: impact
*/


/* ==========================================================
   RESET
========================================================== */

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:'Montserrat',sans-serif;
    font-size:16px;
    line-height:1.7;

    color:#2b2b2b;

    background:#f5f7fa;

    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;

}

img{

    max-width:100%;
    display:block;
    height:auto;

}

a{

    text-decoration:none;

    transition:.25s ease;

}

ul{

    list-style:none;

}

button,
input,
textarea{

    font-family:inherit;

}

section{

    position:relative;

}


/* ==========================================================
   VARIABLES
========================================================== */

:root{

    --primary:#0b3d91;
    --primary-dark:#082d69;

    --secondary:#00a86b;
    --secondary-dark:#00915c;

    --white:#ffffff;
    --black:#111111;

    --text:#2b2b2b;

    --gray:#6b7280;
    --light:#f5f7fa;

    --border:#e6e9ef;

    --shadow-sm:0 4px 10px rgba(0,0,0,.05);

    --shadow:
    0 10px 30px rgba(0,0,0,.08);

    --shadow-lg:
    0 18px 45px rgba(0,0,0,.12);

    --radius:10px;

    --radius-lg:18px;

    --transition:.30s ease;

}


/* ==========================================================
   CONTAINER
========================================================== */

.container{

    width:92%;
    max-width:1280px;
    margin:auto;

}

.container-small{

    width:90%;
    max-width:900px;
    margin:auto;

}


/* ==========================================================
   TYPOGRAPHY
========================================================== */

h1,
h2,
h3,
h4{

    color:var(--primary);

    font-weight:800;

    line-height:1.2;

}

h1{

    font-size:clamp(40px,5vw,68px);

}

h2{

    font-size:clamp(32px,4vw,48px);

}

h3{

    font-size:28px;

}

h4{

    font-size:22px;

}

p{

    margin-bottom:18px;

}

strong{

    color:var(--primary);

}


/* ==========================================================
   BUTTONS
========================================================== */

.btn-primary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    background:var(--secondary);

    color:#fff !important;

    font-weight:700;

    border-radius:8px;

    transition:var(--transition);

    box-shadow:var(--shadow);

}

.btn-primary:hover{

    background:var(--secondary-dark);

    transform:translateY(-4px);

}

.btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    border:2px solid #fff;

    color:#fff;

    border-radius:8px;

    transition:var(--transition);

}

.btn-secondary:hover{

    background:#fff;

    color:var(--primary);

}


/* ==========================================================
   HEADER
========================================================== */

.site-header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:999;

    background:rgba(11,61,145,.96);

    backdrop-filter:blur(8px);

    box-shadow:var(--shadow);

}

.header-inner{

    height:110px;

    display:flex;

    align-items:center;

    justify-content:space-between;

}


/* ==========================================================
   LOGO
========================================================== */

.site-logo{

    display:flex;

    align-items:center;

}

.site-logo img{

    height:100px;
    width:auto;
    max-height:none;
    object-fit:contain;

}


/* ==========================================================
   DESKTOP MENU
========================================================== */

.primary-navigation{

    display:flex;

    align-items:center;

}

.primary-menu{

    display:flex;

    align-items:center;

    gap:34px;

}

.primary-menu li{

    position:relative;

}

.primary-menu li a{

    color:#fff;

    font-size:17px;

    font-weight:600;

    position:relative;

}

.primary-menu li a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:3px;

    background:var(--secondary);

    transition:.25s;

}

.primary-menu li:hover a::after{

    width:100%;

}

.primary-menu li.current-menu-item a{

    color:#fff;

}

.header-phone{

    margin-left:40px;

}

.header-phone a{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:14px 24px;

    border-radius:8px;

    background:var(--secondary);

    color:#fff;

    font-weight:700;

    box-shadow:var(--shadow);

}

.header-phone a:hover{

    background:var(--secondary-dark);

}


/* ==========================================================
   MOBILE TOGGLE
========================================================== */

.mobile-toggle{

    display:none;

    width:48px;

    height:48px;

    border:none;

    background:none;

    cursor:pointer;

    flex-direction:column;

    justify-content:center;

    gap:6px;

}

.mobile-toggle span{

    width:28px;

    height:3px;

    background:#fff;

    transition:.30s;

}


/* ==========================================================
   MOBILE MENU
========================================================== */

.mobile-menu{

    position:absolute;

    top:95px;

    left:0;

    width:100%;

    background:var(--primary);

    overflow:hidden;

    max-height:0;

    transition:max-height .35s ease;

}

.mobile-menu.active{

    max-height:700px;

}

.mobile-menu-list{

    padding:25px;

    display:flex;

    flex-direction:column;

    gap:22px;

}

.mobile-menu-list a{

    color:#fff;

    font-size:20px;

    font-weight:600;

}

.mobile-menu-list a:hover{

    color:var(--secondary);

}


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

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    color:#fff;

    background-image:url('assets/img/hero-bg.png');

    background-size:cover;

    background-position:center;

    overflow:hidden;

}

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        90deg,
        rgba(0,0,0,.70),
        rgba(0,0,0,.55),
        rgba(0,0,0,.45)
    );

}

.hero .container{

    position:relative;

    z-index:2;

}

.hero-content{

    max-width:760px;

    padding-top:95px;

}

.hero-subtitle{

    display:inline-block;

    margin-bottom:20px;

    color:var(--secondary);

    font-weight:700;

    text-transform:uppercase;

    letter-spacing:2px;

}

.hero h1{

    color:#fff;

    margin-bottom:25px;

}

.hero p{

    font-size:20px;

    color:#f0f0f0;

    margin-bottom:40px;

    max-width:640px;

}

.hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}


/* ==========================================================
   UTILITIES
========================================================== */

.text-center{

    text-align:center;

}

.mt-20{

    margin-top:20px;

}

.mt-40{

    margin-top:40px;

}

.mb-20{

    margin-bottom:20px;

}

.mb-40{

    margin-bottom:40px;

}

.py-100{

    padding:100px 0;

}

/* ==========================================================
   PART 2
   COMMON SECTIONS + ABOUT + SERVICES
========================================================== */


/* ==========================================================
   SECTION DEFAULTS
========================================================== */

section{

    position:relative;

    padding:100px 0;

}

.section-header{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.section-header.left{

    margin:0 0 60px;

    text-align:left;

}

.section-subtitle{

    display:inline-block;

    margin-bottom:16px;

    color:var(--secondary);

    font-weight:700;

    font-size:14px;

    text-transform:uppercase;

    letter-spacing:2px;

}

.section-title{

    margin-bottom:20px;

}

.section-description{

    color:var(--gray);

    font-size:18px;

    line-height:1.8;

}


/* ==========================================================
   ABOUT
========================================================== */

.about{

    background:#ffffff;

}

.about-grid{

    display:grid;

    grid-template-columns:1.2fr .8fr;

    gap:70px;

    align-items:center;

}

.about-content h2{

    margin-bottom:25px;

}

.about-content p{

    color:var(--gray);

    font-size:17px;

    margin-bottom:20px;

}

.about-list{

    margin:35px 0;

}

.about-list li{

    display:flex;

    align-items:flex-start;

    gap:16px;

    margin-bottom:18px;

    color:var(--text);

    font-weight:500;

}

.about-list li::before{

    content:"✓";

    display:flex;

    justify-content:center;

    align-items:center;

    width:28px;

    height:28px;

    flex-shrink:0;

    border-radius:50%;

    background:var(--secondary);

    color:#fff;

    font-size:15px;

    font-weight:700;

}

.about-image{

    position:relative;

    display:flex;

    justify-content:center;

}

.about-image img{

    width:100%;

    max-width:420px;

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow-lg);

}

.about-image::before{

    content:"";

    position:absolute;

    width:100%;

    height:100%;

    border:3px solid var(--secondary);

    border-radius:var(--radius-lg);

    top:20px;

    left:20px;

    z-index:-1;

}


/* ==========================================================
   SERVICES
========================================================== */

.services{

    background-image:url("assets/img/car-analysis.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    overflow:hidden;

}

.services::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(5,18,45,.72);

}

.services .container{

    position:relative;

    z-index:2;

}

.services h2{

    color:#fff;

}

.services .section-description{

    color:#d9d9d9;

}

.services-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:32px;

}


/* ==========================================================
   SERVICE CARD
========================================================== */

.service-card{

    background:#fff;

    border-radius:16px;

    padding:38px 34px;

    box-shadow:var(--shadow);

    transition:.35s ease;

    position:relative;

    overflow:hidden;

}

.service-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:var(--secondary);

}

.service-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

.service-icon{

    width:74px;

    height:74px;

    border-radius:18px;

    background:rgba(0,168,107,.08);

    display:flex;

    justify-content:center;

    align-items:center;

    margin-bottom:28px;

}

.service-icon img{

    width:42px;

}

.service-card h3{

    margin-bottom:18px;

    color:var(--primary);

}

.service-card p{

    color:var(--gray);

    margin-bottom:28px;

}

.service-link{

    display:inline-flex;

    align-items:center;

    gap:10px;

    color:var(--primary);

    font-weight:700;

}

.service-link:hover{

    color:var(--secondary);

}

.service-link::after{

    content:"→";

    transition:.25s;

}

.service-link:hover::after{

    transform:translateX(6px);

}


/* ==========================================================
   FEATURE BOXES
========================================================== */

.feature-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:24px;

    margin-top:45px;

}

.feature-box{

    background:#fff;

    border-radius:14px;

    padding:28px;

    box-shadow:var(--shadow-sm);

    transition:.30s;

}

.feature-box:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow);

}

.feature-box h4{

    margin-bottom:12px;

}

.feature-box p{

    color:var(--gray);

    margin:0;

}


/* ==========================================================
   DIVIDERS
========================================================== */

.divider{

    width:90px;

    height:4px;

    background:var(--secondary);

    border-radius:20px;

    margin:24px 0;

}

.section-header .divider{

    margin:24px auto;

}


/* ==========================================================
   SIMPLE FADE ANIMATION
========================================================== */

.fade-up{

    opacity:0;

    transform:translateY(30px);

    transition:.6s ease;

}

.fade-up.active{

    opacity:1;

    transform:none;

}


/* ==========================================================
   RESPONSIVE (ABOUT + SERVICES)
========================================================== */

@media (max-width:1100px){

    .services-grid{

        grid-template-columns:repeat(2,1fr);

    }

    .about-grid{

        grid-template-columns:1fr;

    }

    .about-image{

        order:-1;

    }

    .about-image::before{

        display:none;

    }

}

@media (max-width:768px){

    .services-grid{

        grid-template-columns:1fr;

    }

    .feature-grid{

        grid-template-columns:1fr;

    }

    .section-header{

        margin-bottom:45px;

    }

    .service-card{

        padding:30px;

    }

    .about{

        padding:80px 0;

    }

    .services{

        padding:80px 0;

    }

}

/* ==========================================================
   PART 3
   STATISTICS + REVIEWS + NEWS
========================================================== */


/* ==========================================================
   STATISTICS
========================================================== */

.statistics{

    background-image:url("assets/img/stats-bg.png");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    padding:100px 0;

}

.statistics::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(11,61,145,.90);

}

.statistics .container{

    position:relative;

    z-index:2;

}

.statistics .section-title{

    color:#fff;

}

.statistics .section-description{

    color:rgba(255,255,255,.85);

}


.stats-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

    margin-top:60px;

}


.stat-card{

    background:#fff;

    padding:38px 25px;

    border-radius:16px;

    text-align:center;

    box-shadow:var(--shadow);

    transition:.35s ease;

    position:relative;

    overflow:hidden;

}


.stat-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:var(--secondary);

}


.stat-card:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}


.stat-number{

    display:block;

    font-size:48px;

    line-height:1;

    color:var(--primary);

    font-weight:800;

    margin-bottom:15px;

}


.stat-card p{

    color:var(--gray);

    font-weight:600;

    margin:0;

}


/* ==========================================================
   REVIEWS
========================================================== */

.reviews{

    background:#fff;

}


.reviews-slider{

    position:relative;

}


.review-card{

    background:#f8fafc;

    padding:38px;

    border-radius:16px;

    box-shadow:var(--shadow-sm);

    height:100%;

    transition:.3s ease;

}


.review-card:hover{

    box-shadow:var(--shadow);

}


.review-content{

    position:relative;

}


.review-content::before{

    content:"“";

    position:absolute;

    top:-35px;

    left:-5px;

    font-size:90px;

    font-family:serif;

    color:var(--secondary);

    opacity:.25;

}


.review-content p{

    color:#4b5563;

    font-size:17px;

    line-height:1.8;

}


.review-author{

    display:flex;

    align-items:center;

    gap:18px;

    margin-top:25px;

}


.review-author img{

    width:60px;

    height:60px;

    border-radius:50%;

    object-fit:cover;

}


.review-author h4{

    font-size:18px;

    margin:0;

}


.review-author span{

    color:var(--gray);

    font-size:14px;

}


/* ==========================================================
   REVIEW STARS
========================================================== */

.review-stars{

    color:#fbbf24;

    font-size:20px;

    margin-bottom:20px;

    letter-spacing:3px;

}


/* ==========================================================
   SWIPER
========================================================== */

.swiper{

    width:100%;

}


.swiper-slide{

    height:auto;

}


.swiper-pagination-bullet{

    width:12px;

    height:12px;

    background:var(--primary);

    opacity:.3;

}


.swiper-pagination-bullet-active{

    opacity:1;

    background:var(--secondary);

}


.swiper-button-next,
.swiper-button-prev{

    color:var(--primary);

}


/* ==========================================================
   NEWS / BLOG
========================================================== */

.news{

    background-image:url("assets/img/office.png");

    background-size:cover;

    background-position:center;

    padding:100px 0;

}


.news::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(245,247,250,.92);

}


.news .container{

    position:relative;

    z-index:2;

}



.news-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:32px;

}



/* ==========================================================
   POST CARD
========================================================== */


.post-card{

    background:#fff;

    border-radius:16px;

    overflow:hidden;

    box-shadow:var(--shadow);

    transition:.35s ease;

}


.post-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}



.post-thumbnail{

    height:240px;

    overflow:hidden;

}


.post-thumbnail img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.5s ease;

}



.post-card:hover .post-thumbnail img{

    transform:scale(1.08);

}



.post-content{

    padding:30px;

}


.post-meta{

    display:flex;

    gap:15px;

    flex-wrap:wrap;

    margin-bottom:15px;

    color:var(--gray);

    font-size:14px;

}



.post-content h3{

    font-size:24px;

    margin-bottom:15px;

}


.post-content h3 a{

    color:var(--primary);

}


.post-content h3 a:hover{

    color:var(--secondary);

}


.post-content p{

    color:var(--gray);

}



.read-more{

    display:inline-flex;

    align-items:center;

    gap:8px;

    font-weight:700;

    color:var(--primary);

}


.read-more:hover{

    color:var(--secondary);

}


.read-more::after{

    content:"→";

}


/* ==========================================================
   SINGLE POST ELEMENTS
========================================================== */

.article-header{

    margin-bottom:50px;

}


.article-title{

    font-size:clamp(32px,4vw,52px);

}


.article-image{

    margin-bottom:40px;

}


.article-image img{

    border-radius:16px;

    box-shadow:var(--shadow);

}


.article-content{

    font-size:18px;

    line-height:1.9;

}


.article-content h2,
.article-content h3{

    margin-top:40px;

    margin-bottom:20px;

}


.article-content img{

    border-radius:12px;

}


/* ==========================================================
   PAGINATION
========================================================== */

.pagination{

    display:flex;

    justify-content:center;

    gap:10px;

    margin-top:50px;

}


.pagination a,
.pagination span{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:8px;

    background:#fff;

    color:var(--primary);

    box-shadow:var(--shadow-sm);

    font-weight:700;

}


.pagination .current{

    background:var(--secondary);

    color:#fff;

}



/* ==========================================================
   RESPONSIVE
========================================================== */


@media(max-width:1100px){


    .stats-grid{

        grid-template-columns:repeat(2,1fr);

    }


    .news-grid{

        grid-template-columns:repeat(2,1fr);

    }


}



@media(max-width:768px){


    .stats-grid{

        grid-template-columns:1fr;

    }


    .news-grid{

        grid-template-columns:1fr;

    }


    .stat-number{

        font-size:40px;

    }


    .review-card{

        padding:28px;

    }


}

/* ==========================================================
   PART 4
   CONTACT + FOOTER + FINAL RESPONSIVE
========================================================== */


/* ==========================================================
   CONTACT
========================================================== */

.contact{

    background-image:url("assets/img/contact-bg.png");

    background-size:cover;

    background-position:center;

    padding:100px 0;

}


.contact::before{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(11,61,145,.88);

}


.contact .container{

    position:relative;

    z-index:2;

}


.contact .section-title{

    color:#fff;

}


.contact .section-description{

    color:rgba(255,255,255,.85);

}



.contact-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:50px;

    align-items:start;

    margin-top:60px;

}



/* ==========================================================
   CONTACT INFO
========================================================== */


.contact-info{

    background:#fff;

    padding:40px;

    border-radius:16px;

    box-shadow:var(--shadow-lg);

}


.contact-info h3{

    margin-bottom:25px;

}



.contact-item{

    display:flex;

    align-items:flex-start;

    gap:18px;

    margin-bottom:25px;

}



.contact-icon{

    width:48px;

    height:48px;

    flex-shrink:0;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:rgba(0,168,107,.12);

    color:var(--secondary);

    font-size:22px;

}



.contact-item h4{

    font-size:17px;

    margin-bottom:5px;

}



.contact-item p{

    color:var(--gray);

    margin:0;

}



.contact-item a{

    color:var(--primary);

    font-weight:600;

}


.contact-item a:hover{

    color:var(--secondary);

}


/* ==========================================================
   CONTACT FORM
========================================================== */


.contact-form{

    background:#fff;

    padding:40px;

    border-radius:16px;

    box-shadow:var(--shadow-lg);

}



.contact-form h3{

    margin-bottom:25px;

}



.contact-form label{

    display:block;

    margin-bottom:8px;

    color:var(--primary);

    font-weight:600;

}



.contact-form input,
.contact-form textarea,
.contact-form select{

    width:100%;

    padding:15px 18px;

    border:1px solid var(--border);

    border-radius:8px;

    outline:none;

    background:#fff;

    color:var(--text);

    font-size:16px;

    transition:.25s ease;

}



.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{

    border-color:var(--secondary);

    box-shadow:0 0 0 3px rgba(0,168,107,.12);

}



.contact-form textarea{

    min-height:160px;

    resize:vertical;

}



.contact-form input[type="submit"]{

    background:var(--secondary);

    color:#fff;

    border:none;

    cursor:pointer;

    font-weight:700;

    margin-top:15px;

}



.contact-form input[type="submit"]:hover{

    background:var(--secondary-dark);

}



/* ==========================================================
   CONTACT FORM 7 COMPATIBILITY
========================================================== */


.wpcf7-form p{

    margin-bottom:20px;

}


.wpcf7-not-valid-tip{

    color:#dc2626;

    font-size:14px;

}


.wpcf7-response-output{

    border-radius:8px;

    padding:15px!important;

}



/* ==========================================================
   MAP
========================================================== */


.contact-map{

    margin-top:50px;

    border-radius:16px;

    overflow:hidden;

    box-shadow:var(--shadow);

}


.contact-map iframe{

    width:100%;

    height:450px;

    border:0;

    display:block;

}



/* ==========================================================
   FOOTER
========================================================== */


.site-footer{

    background:#071f4d;

    color:#fff;

    padding:70px 0 25px;

}



.footer-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:40px;

    margin-bottom:50px;

}



.footer-widget h3{

    color:#fff;

    font-size:22px;

    margin-bottom:20px;

}



.footer-widget p{

    color:rgba(255,255,255,.75);

}



.footer-menu{

    display:flex;

    flex-direction:column;

    gap:12px;

}



.footer-menu a{

    color:rgba(255,255,255,.8);

}



.footer-menu a:hover{

    color:var(--secondary);

}



.footer-social{

    display:flex;

    gap:12px;

}



.footer-social a{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    background:rgba(255,255,255,.1);

    color:#fff;

}



.footer-social a:hover{

    background:var(--secondary);

}



.footer-bottom{

    border-top:1px solid rgba(255,255,255,.15);

    padding-top:25px;

    text-align:center;

}



.footer-bottom p{

    color:rgba(255,255,255,.65);

    margin:0;

    font-size:14px;

}



/* ==========================================================
   BACK TO TOP
========================================================== */


.back-to-top{

    position:fixed;

    right:30px;

    bottom:30px;

    width:50px;

    height:50px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:var(--secondary);

    color:#fff;

    border-radius:50%;

    opacity:0;

    visibility:hidden;

    transition:.3s ease;

    z-index:999;

    box-shadow:var(--shadow);

}



.back-to-top.active{

    opacity:1;

    visibility:visible;

}



.back-to-top:hover{

    background:var(--primary);

}



/* ==========================================================
   WORDPRESS ELEMENTS
========================================================== */


.aligncenter{

    display:block;

    margin-left:auto;

    margin-right:auto;

}



.alignleft{

    float:left;

    margin-right:25px;

}



.alignright{

    float:right;

    margin-left:25px;

}



.wp-caption{

    max-width:100%;

}



.gallery{

    display:grid;

    gap:20px;

}



blockquote{

    padding:25px;

    border-left:5px solid var(--secondary);

    background:#f8fafc;

    font-style:italic;

}



/* ==========================================================
   FINAL RESPONSIVE
========================================================== */


@media(max-width:1100px){


    .header-phone{

        display:none;

    }


    .contact-grid{

        gap:30px;

    }


    .footer-grid{

        grid-template-columns:repeat(2,1fr);

    }


}



@media(max-width:900px){


    .primary-navigation{

        display:none;

    }


    .mobile-toggle{

        display:flex;

    }


    .contact-grid{

        grid-template-columns:1fr;

    }


}



@media(max-width:768px){


    section{

        padding:70px 0;

    }


    .header-inner{

        height:80px;

    }


    .site-logo img{

        max-height:60px;

    }


    .mobile-menu{

        top:80px;

    }


    .hero{

        min-height:750px;

    }


    .hero p{

        font-size:17px;

    }


    .hero-buttons{

        flex-direction:column;

        align-items:flex-start;

    }


    .contact-info,
    .contact-form{

        padding:28px;

    }


    .footer-grid{

        grid-template-columns:1fr;

    }


    .contact-map iframe{

        height:300px;

    }


    .back-to-top{

        right:20px;

        bottom:20px;

    }


}



@media(max-width:480px){


    .container{

        width:94%;

    }


    .btn-primary,
    .btn-secondary{

        width:100%;

        justify-content:center;

    }


    .hero h1{

        font-size:36px;

    }


    .contact-item{

        flex-direction:column;

        gap:10px;

    }


}

/* FIX MENU DESKTOP */

.primary-navigation{
    display:flex !important;
    align-items:center;
}


.primary-menu{

    display:flex !important;
    flex-direction:row !important;
    align-items:center;

    gap:40px;

    margin:0;

    padding:0;

}


.primary-menu li{

    display:block;

}


.primary-menu li a{

    white-space:nowrap;

}

/* FIX BACKGROUNDS */

.hero,
.services,
.statistics,
.news,
.contact{

    background-repeat:no-repeat;
    background-size:cover;
    background-position:center;

}


.hero{

    background-image:url("assets/img/hero-bg.png") !important;

}


.services{

    background-image:url("assets/img/car-analysis.png") !important;

}


.statistics{

    background-image:url("assets/img/stats-bg.png") !important;

}


.news{

    background-image:url("assets/img/office.png") !important;

}


.contact{

    background-image:url("assets/img/contact-bg.png") !important;

}

/* ==========================================================
   FINAL FIXES - IMPACT LAYOUT
========================================================== */


/* ==========================================================
   HEADER + MENU POZIOME
========================================================== */

.site-header{
    height:110px;
}


.header-inner{

    height:110px;

    display:flex;

    flex-direction:row;

    justify-content:space-between;

    align-items:center;

}


.site-logo{

    flex:0 0 auto;

}


.site-logo img{

    height:95px;

    width:auto;

    max-width:none;

}


/* wymuszenie poziomego menu */

.primary-navigation{

    display:flex !important;

    flex-direction:row !important;

    align-items:center;

}


.primary-menu{

    display:flex !important;

    flex-direction:row !important;

    flex-wrap:nowrap !important;

    align-items:center;

    gap:35px;

    margin:0;

    padding:0;

}


.primary-menu li{

    display:flex !important;

    align-items:center;

}


.primary-menu li a{

    display:block;

    white-space:nowrap;

    font-size:18px;

}



/* telefon obok menu */

.header-phone{

    display:block;

    margin-left:30px;

    flex-shrink:0;

}



/* ==========================================================
   OGÓLNE ZMNIEJSZENIE SEKCJI
========================================================== */


section{

    padding:70px 0;

}


/* ==========================================================
   STATYSTYKI - RÓWNE KAFELKI
========================================================== */


.stats-grid{

    align-items:stretch;

}


.stat-card{

    min-height:170px;

    height:170px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:25px 15px;

}


.stat-number{

    font-size:38px;

    margin-bottom:12px;

}


.stat-card p{

    font-size:15px;

    line-height:1.4;

    display:-webkit-box;

    -webkit-line-clamp:3;

    -webkit-box-orient:vertical;

    overflow:hidden;

}



/* ==========================================================
   O NAS - MNIEJSZA WYSOKOŚĆ
========================================================== */


.about{

    padding:60px 0;

}


.about-grid{

    gap:40px;

}


.about-content p{

    font-size:16px;

    line-height:1.6;

}


.about-list{

    margin:20px 0;

}


.about-list li{

    margin-bottom:12px;

}


.about-image img{

    max-width:280px;

}



/* ==========================================================
   USŁUGI - MNIEJSZE KAFELKI
========================================================== */


.service-card{

    padding:28px 25px;

}


.service-card h3{

    font-size:22px;

}


.service-card p{

    font-size:15px;

    line-height:1.5;

}



/* ==========================================================
   STOPKA - MNIEJSZA
========================================================== */


.site-footer{

    padding:35px 0 15px;

}


.footer-grid{

    margin-bottom:25px;

    gap:25px;

}


.footer-widget h3{

    font-size:19px;

    margin-bottom:12px;

}


.footer-widget p{

    font-size:15px;

    line-height:1.5;

}


.footer-bottom{

    padding-top:15px;

}


.footer-bottom p{

    font-size:13px;

}



/* ==========================================================
   MOBILE
========================================================== */


@media(max-width:1100px){

    .primary-menu{

        gap:20px;

    }


    .primary-menu li a{

        font-size:16px;

    }


}



@media(max-width:900px){


    .primary-navigation,
    .header-phone{

        display:none !important;

    }


    .mobile-toggle{

        display:flex;

    }


}



@media(max-width:768px){


    .site-header,
    .header-inner{

        height:80px;

    }


    .site-logo img{

        height:65px;

    }


    section{

        padding:50px 0;

    }


    .stat-card{

        height:auto;

        min-height:150px;

    }


}

/* =====================================================
   HEADER FINAL FIX
===================================================== */


.header-inner {

    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;

}


/* LOGO */

.site-logo {

    display:flex;

    align-items:center;

    flex-shrink:0;

}


.site-logo img {

    height:120px !important;

    width:auto !important;

    max-height:none !important;

}



/* MENU */

.primary-navigation {

    display:flex !important;

    align-items:center !important;

    flex:1;

    justify-content:center;

}


.primary-navigation ul.primary-menu {

    display:flex !important;

    flex-direction:row !important;

    flex-wrap:nowrap !important;

    align-items:center !important;

    justify-content:center;

    gap:35px;

    margin:0 !important;

    padding:0 !important;

    list-style:none !important;

}



.primary-navigation ul.primary-menu li {

    display:flex !important;

    flex-direction:row !important;

    align-items:center !important;

    width:auto !important;

}



.primary-navigation ul.primary-menu li a {

    display:inline-block !important;

    white-space:nowrap !important;

    font-size:18px;

}



/* TELEFON */

.header-phone {

    flex-shrink:0;

    margin-left:25px;

}


.header-phone a {

    white-space:nowrap;

}


/* poprawka kontenera */

.site-header .container {

    max-width:1400px;

}

/* =====================================================
   FINAL MENU SEPARATION FIX
===================================================== */


/* DESKTOP - tylko menu główne */

.primary-navigation{
    display:flex !important;
}


.primary-navigation .primary-menu{

    display:flex !important;

    flex-direction:row !important;

    align-items:center !important;

    gap:35px;

    margin:0;

    padding:0;

}


.primary-navigation .primary-menu li{

    display:inline-flex !important;

    width:auto !important;

}


.primary-navigation .primary-menu li a{

    display:block;

    white-space:nowrap;

}



/* MOBILNE MENU UKRYTE NA KOMPUTERZE */

.mobile-menu{

    display:none !important;

}


/* HAMBURGER UKRYTY NA DESKTOPIE */

.mobile-toggle{

    display:none;

}



/* =====================================================
   MOBILE
===================================================== */


@media(max-width:900px){


    /* chowamy desktop */


    .primary-navigation,
    .header-phone{

        display:none !important;

    }


    /* pokazujemy hamburger */


    .mobile-toggle{

        display:flex !important;

    }


    /* pokazujemy menu mobilne */


    .mobile-menu{

        display:block !important;

        max-height:0;

        overflow:hidden;

        transition:max-height .35s ease;

    }


    .mobile-menu.active{

        max-height:600px;

    }


    .mobile-menu-list{

        display:flex !important;

        flex-direction:column !important;

        gap:20px;

        padding:25px;

    }


}

/* =====================================================
   HEADER PREMIUM IMPACT
===================================================== */


/* większy i bardziej elegancki header */

.site-header{

    background:linear-gradient(
        90deg,
        #082d69 0%,
        #0b3d91 55%,
        #0a357e 100%
    );

}


.header-inner{

    height:125px !important;

}



/* =====================================================
   LOGO PREMIUM
===================================================== */


.site-logo{

    position:relative;

    background:rgba(255,255,255,.96);

    padding:8px 18px;

    border-radius:12px;

    box-shadow:
    0 8px 25px rgba(0,0,0,.18);

}


.site-logo img{

    height:105px !important;

    width:auto;

}



/* delikatny efekt odklejenia */

.site-logo::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:12px;

    box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.7);

    pointer-events:none;

}



/* =====================================================
   MENU DESKTOP
===================================================== */


.primary-navigation{

    flex:1;

    justify-content:center;

}


.primary-navigation .primary-menu{

    gap:0 !important;

    background:rgba(255,255,255,.08);

    padding:8px 18px !important;

    border-radius:50px;

}



.primary-navigation .primary-menu li{

    position:relative;

    padding:0 25px;

}



/* separatory */

.primary-navigation .primary-menu li:not(:last-child)::after{

    content:"";

    position:absolute;

    right:0;

    top:50%;

    transform:translateY(-50%);

    height:28px;

    width:1px;

    background:rgba(255,255,255,.35);

}



.primary-navigation .primary-menu li a{

    font-size:19px !important;

    font-weight:600;

    letter-spacing:.3px;

    color:#fff;

    padding:15px 0;

}



/* hover */

.primary-navigation .primary-menu li a:hover{

    color:#00d084;

}



/* aktywna pozycja */

.primary-navigation .current-menu-item a{

    color:#00d084 !important;

}



/* =====================================================
   TELEFON
===================================================== */


.header-phone a{

    font-size:19px;

    padding:15px 26px;

    border-radius:50px;

    box-shadow:
    0 8px 20px rgba(0,168,107,.35);

}



/* =====================================================
   DESKTOP ODSTĘPY
===================================================== */


@media(min-width:1200px){

    .header-inner{

        gap:35px;

    }


    .primary-navigation .primary-menu li{

        padding:0 30px;

    }

}



/* =====================================================
   MOBILE - NIE DOTYKAĆ
===================================================== */


@media(max-width:900px){

    .header-inner{

        height:85px !important;

    }


    .site-logo{

        padding:5px 12px;

    }


    .site-logo img{

        height:70px !important;

    }

}

/* =====================================================
   HEADER - FINAL BALANCE LOGO + MENU
===================================================== */


/* pasek headera */

.site-header{

    height:120px;

}


.header-inner{

    height:120px !important;

    display:flex;

    align-items:center;

}


/* =====================================================
   LOGO GLASS EFFECT
===================================================== */


.site-logo{

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(8px);

    -webkit-backdrop-filter:blur(8px);

    padding:8px 18px;

    border-radius:18px;

    box-shadow:
        0 8px 25px rgba(0,0,0,.18),
        inset 0 0 0 1px rgba(255,255,255,.18);

    display:flex;

    align-items:center;

}


.site-logo img{

    height:90px !important;

    width:auto;

    max-height:90px !important;

}



/* =====================================================
   MENU GLASS EFFECT
===================================================== */


.primary-navigation .primary-menu{

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(8px);

    -webkit-backdrop-filter:blur(8px);

    border-radius:50px;

    padding:6px 14px !important;

    box-shadow:

        0 8px 25px rgba(0,0,0,.15),

        inset 0 0 0 1px rgba(255,255,255,.12);

}



/* elementy menu */

.primary-navigation .primary-menu li a{

    padding:12px 0;

}



/* telefon */

.header-phone a{

    padding:13px 24px;

}



/* =====================================================
   WYRÓWNANIE CAŁEGO HEADERA
===================================================== */


.header-inner{

    gap:25px;

}


.primary-navigation{

    flex:1;

    justify-content:center;

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:900px){

    .site-header,
    .header-inner{

        height:85px !important;

    }


    .site-logo{

        padding:5px 12px;

        border-radius:12px;

    }


    .site-logo img{

        height:65px !important;

    }

}

/* =====================================================
   LOGO FINAL - BEZ TŁA, WIĘKSZE
===================================================== */


.site-logo{

    background:none !important;

    backdrop-filter:none !important;

    -webkit-backdrop-filter:none !important;

    padding:0 !important;

    border-radius:0 !important;

    box-shadow:none !important;

    display:flex;

    align-items:center;

}


.site-logo img{

    height:115px !important;

    width:auto !important;

    max-height:115px !important;

    object-fit:contain;

}


/* większy header dla dużego logo */

.site-header,
.header-inner{

    height:135px !important;

}


.header-inner{

    align-items:center !important;

}


/* menu i telefon nadal wycentrowane */

.primary-navigation,
.header-phone{

    display:flex;

    align-items:center;

}


@media(max-width:900px){

    .site-header,
    .header-inner{

        height:85px !important;

    }


    .site-logo img{

        height:70px !important;

        max-height:70px !important;

    }

}

/* =====================================================
   PAGE LAYOUT FIX
===================================================== */


body{

    min-height:100vh;

    display:flex;

    flex-direction:column;

}


.site-header{

    flex-shrink:0;

}


.site-main,
main{

    flex:1;

}


.site-footer{

    margin-top:auto;

    flex-shrink:0;

}

/* ==========================================================
   v2.1 – UWAGI DO STRONY RESPONSYWNEJ
   (blok końcowy – nadpisuje wcześniejsze reguły)
========================================================== */

:root{
    --light-blue:#8fd0ff;       /* jasny niebieski – teksty, kreski */
    --navy:#0a2a66;             /* granat – paski, pola, przyciski */
    --navy-dark:#071f4d;
    --header-h:135px;
}

@media(max-width:900px){
    :root{ --header-h:85px; }
}

/* kotwice – nagłówek jest przypięty (fixed), więc sekcje nie mogą chować się pod nim */
section[id],
.anchor-fallback{
    scroll-margin-top:calc(var(--header-h) + 10px);
}

/* ---------- LOGO NA CZARNYM TLE ---------- */
.site-logo{
    background:#000 !important;
    padding:6px 10px !important;
    border-radius:14px !important;
    border:1px solid rgba(143,208,255,.55);
}

.site-logo a{
    display:flex;
    align-items:center;
}

.site-logo img{
    height:calc(var(--header-h) - 35px) !important;
    max-height:calc(var(--header-h) - 35px) !important;
    background:#000;
    border-radius:8px;
}

/* ---------- PRZYCISKI: granatowe pole, jasnoniebieski tekst ---------- */
.btn-primary.btn-navy,
.contact-form input[type="submit"],
.contact-form .wpcf7-submit,
.wpcf7-form input[type="submit"]{
    background:var(--navy) !important;
    color:var(--light-blue) !important;
    border:2px solid var(--light-blue);
    text-transform:uppercase;
    letter-spacing:1.5px;
    font-weight:700;
}

.btn-primary.btn-navy:hover,
.contact-form input[type="submit"]:hover,
.wpcf7-form input[type="submit"]:hover{
    background:var(--navy-dark) !important;
    color:#fff !important;
}

/* ---------- HERO ---------- */
.hero-content{
    max-width:820px;
    padding-top:calc(var(--header-h) + 20px);
    padding-bottom:60px;
}

.hero h1{
    color:var(--light-blue);
    font-size:clamp(26px,4.6vw,52px);
    line-height:1.15;
    letter-spacing:.5px;
    text-transform:uppercase;
    margin-bottom:22px;
}

.hero .hero-lead{
    color:#fff;
    font-size:clamp(17px,2.2vw,22px);
    line-height:1.6;
    margin-bottom:26px;
}

.hero-list{
    list-style:none;
    margin:0 0 38px;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.hero-list li{
    position:relative;
    padding-left:34px;
    color:#fff;
    font-size:18px;
    font-weight:600;
}

/* jasnoniebieska kreska */
.hero-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:22px;
    height:3px;
    background:var(--light-blue);
    border-radius:2px;
    transform:translateY(-50%);
}

/* ---------- OFERTA: 3 sekcje × 2 pozycje ---------- */
.services h2{
    color:var(--light-blue) !important;
}

.services .offer-group{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:28px;
    margin-top:0;
    margin-bottom:28px;
    align-items:stretch;
}

.services .offer-group:first-of-type{
    margin-top:40px;
}

.service-card{
    display:flex;
    flex-direction:column;
}

.service-card::before{
    background:var(--navy) !important;      /* było zielone */
}

.service-card h3{
    color:var(--navy);
    font-size:22px;
    line-height:1.3;
    margin-bottom:14px;
}

.service-card p{
    font-size:16px;
    line-height:1.6;
    margin-bottom:12px;
}

.service-card .service-lead{
    font-weight:700;
    color:var(--navy);
}

.service-list{
    list-style:none;
    margin:0;
    padding:0;
}

.service-list li{
    position:relative;
    padding-left:26px;
    margin-bottom:10px;
    font-size:15.5px;
    line-height:1.55;
    color:var(--text);
}

.service-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:.7em;
    width:14px;
    height:3px;
    background:var(--navy);
    border-radius:2px;
}

/* ---------- STATYSTYKI ---------- */
.stats-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.stat-card::before{
    background:var(--navy) !important;
}

.stat-card.stat-quote{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.stat-quote-text{
    font-size:22px;
    line-height:1.4;
    font-style:italic;
    font-weight:700;
    color:var(--navy);
    margin-bottom:12px;
}

/* ---------- O MNIE ---------- */
.about .about-grid{
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
    gap:50px;
    align-items:start;
}

.about-text h2{
    margin-bottom:10px;
}

.about-text h3{
    color:var(--navy);
    font-size:22px;
    margin:28px 0 12px;
}

.about-text p{
    font-size:17px;
    line-height:1.75;
    margin-bottom:16px;
}

.about-text .about-list{
    list-style:none;
    margin:0 0 18px;
    padding:0;
}

.about-text .about-list li{
    position:relative;
    padding-left:28px;
    margin-bottom:10px;
    line-height:1.6;
}

.about-photo{
    position:sticky;
    top:calc(var(--header-h) + 20px);
}

.about-photo img{
    width:100%;
    height:auto;
    display:block;
    border-radius:18px;
}

/* ---------- KONTAKT ---------- */
.contact-info,
.contact-info p{
    font-size:19px;
    line-height:1.7;
}

.contact-info a{
    color:inherit;
}

.contact-info strong{
    color:var(--navy);
}

.contact-form .form-group{
    margin-bottom:20px;
}

.contact-form label,
.contact-form .form-label{
    display:block;
    font-weight:700;
    color:var(--navy);
    font-size:17px;
    margin-bottom:8px;
}

.contact-form .form-label small,
.contact-form .form-group > small{
    display:block;
    font-weight:400;
    color:var(--gray);
    font-size:14px;
    margin-top:6px;
}

.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form select,
.contact-form textarea{
    width:100%;
    font-size:16px;
    margin-top:6px;
}

.contact-form textarea{
    min-height:140px;
}

.contact-form input[type="file"]{
    width:100%;
    padding:12px;
    border:2px dashed var(--border);
    border-radius:10px;
    background:#fff;
    font-size:15px;
}

.contact-form .wpcf7-list-item{
    display:block;
    margin:0 0 8px;
}

.contact-form .wpcf7-list-item label{
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:400;
    color:var(--text);
    font-size:16px;
    margin:0;
}

.contact-form input[type="checkbox"]{
    width:20px;
    height:20px;
    accent-color:var(--navy);
}

.contact-form input[type="submit"]{
    width:100%;
    padding:16px 34px;
    border-radius:8px;
    cursor:pointer;
    font-size:17px;
}

/* ---------- STOPKA ---------- */
.site-footer{
    background:var(--navy-dark);
    color:var(--light-blue);
    padding:40px 0 30px !important;
    font-size:18px;                 /* większa czcionka */
}

.site-footer .footer-simple p{
    color:var(--light-blue);
    font-size:18px;
    line-height:1.5;
    margin:0 0 10px;
}

.site-footer .footer-title,
.site-footer .footer-title strong{
    color:var(--light-blue);
    font-size:20px;
    margin-bottom:14px;
}

.site-footer a{
    color:var(--light-blue);
    text-decoration:none;
}

.site-footer .footer-copy{
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid rgba(143,208,255,.25);
    font-size:15px;
    overflow-wrap:anywhere;
}

/* ---------- DOSTĘPNOŚĆ ---------- */
.mobile-toggle:focus-visible,
.btn-primary:focus-visible,
.site-footer a:focus-visible{
    outline:3px solid var(--light-blue);
    outline-offset:3px;
}

/* ==========================================================
   v2.1 – RESPONSYWNOŚĆ
========================================================== */

@media(max-width:1100px){
    .stats-grid{ grid-template-columns:repeat(3,1fr); gap:20px; }
    .about .about-grid{ gap:34px; }
}

@media(max-width:900px){

    .services .offer-group{
        grid-template-columns:1fr;
        gap:22px;
        margin-bottom:22px;
    }

    .stats-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .about .about-grid{
        grid-template-columns:1fr;
        gap:30px;
    }

    .about-photo{
        position:static;
        max-width:420px;
        margin:0 auto;
    }

    .hero{
        min-height:auto;
    }

    .hero-content{
        padding-top:calc(var(--header-h) + 40px);
        padding-bottom:50px;
    }

    .hero-list{
        margin-bottom:34px;            /* odstęp listy od przycisku */
    }

    .btn-primary.btn-navy{
        width:100%;
        padding:16px 20px;
    }

    .site-logo{
        padding:4px 8px !important;
        border-radius:12px !important;
    }

    .site-logo img{
        height:60px !important;
        max-height:60px !important;
    }

    .contact-info,
    .contact-info p{
        font-size:18px;
    }

    .stat-card{
        padding:30px 20px;
    }

    .service-card{
        padding:30px 22px;
    }

    .site-footer .footer-simple p{
        font-size:17px;
        margin-bottom:8px;
    }
}

@media(max-width:480px){

    .container{
        width:92%;
    }

    .hero h1{
        font-size:26px;
    }

    .service-card h3{
        font-size:20px;
    }

    .about-text h3{
        font-size:20px;
    }

    .about-text p{
        font-size:16px;
    }
}

/* lista w „O mnie” – granatowe kreski zamiast zielonych ikon */
.about-text .about-list li::before{
    content:"" !important;
    position:absolute;
    left:0;
    top:.8em;
    width:14px;
    height:3px;
    background:var(--navy) !important;
    border-radius:2px;
    box-shadow:none;
    transform:none;
}

/* przycisk z numerem telefonu w nagłówku – granat zamiast zieleni */
.header-phone a{
    background:var(--navy) !important;
    color:var(--light-blue) !important;
    border:2px solid var(--light-blue);
    box-shadow:0 8px 20px rgba(10,42,102,.45) !important;
    font-weight:700;
}

.header-phone a:hover{
    background:var(--navy-dark) !important;
    color:#fff !important;
}

/* podkreślenia i akcenty – ciemnoniebieskie zamiast zielonych */
.primary-menu li a::after,
.primary-navigation .primary-menu li a::after{
    background:var(--navy) !important;
    height:3px;
}

.primary-menu li.current-menu-item a::after,
.primary-menu li.current_page_item a::after{
    width:100%;
}

.divider,
.section-divider{
    background:var(--navy) !important;
}

.service-link,
.read-more,
.news-card .content a{
    color:var(--navy) !important;
}

.service-link::after,
.read-more::after{
    background:var(--navy) !important;
}

.pagination .current,
.swiper-pagination-bullet-active,
.back-to-top,
.footer-social a:hover{
    background:var(--navy) !important;
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{
    border-color:var(--navy) !important;
    box-shadow:0 0 0 3px rgba(10,42,102,.15) !important;
}

/* menu: hover/aktywna pozycja w jasnym niebieskim, podkreślenie grubsze (lepiej widoczne) */
.primary-menu li a:hover,
.primary-menu li:hover > a,
.primary-menu li.current-menu-item > a,
.primary-navigation .primary-menu li a:hover{
    color:var(--light-blue) !important;
}

.primary-menu li a::after,
.primary-navigation .primary-menu li a::after{
    height:4px;
    border-radius:2px;
    bottom:-9px;
}

.mobile-menu a:hover,
.mobile-menu a:focus{
    color:var(--light-blue) !important;
}

/* Aktualności – brak wpisów */
.news-empty{
    background:#fff;
    border-radius:16px;
    border-top:5px solid var(--navy);
    box-shadow:var(--shadow);
    padding:34px 28px;
    text-align:center;
    font-size:18px;
    color:var(--navy);
    font-weight:600;
    max-width:640px;
    margin:30px auto 0;
}


/* ==========================================================
   v2.2 – UWAGI Z 1.11.2026
========================================================== */

:root{
    --logo-size:100px;     /* bok kwadratu z logo */
    --logo-zoom:1.35;      /* powiększenie logo wewnątrz kwadratu (1 = bez zmian) */
}

@media(max-width:900px){
    :root{ --logo-size:62px; }
}

/* ---------- I.1 LOGO – wypełnia cały czarny kwadrat ---------- */
.site-logo{
    width:var(--logo-size);
    height:var(--logo-size);
    padding:0 !important;
    overflow:hidden;
    flex-shrink:0;
    border-radius:14px !important;
    background:#000 !important;
}

.site-logo a,
.site-logo .custom-logo-link{
    display:block;
    width:100%;
    height:100%;
}

.site-logo img,
.site-logo .custom-logo{
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    object-fit:cover !important;
    border-radius:0 !important;
    transform:scale(var(--logo-zoom));
    transform-origin:center;
}

.site-logo .site-logo-text{
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--light-blue);
    font-weight:800;
    letter-spacing:2px;
    font-size:14px;
}

/* ---------- I.2 TELEFON – czarne tło ---------- */
.header-phone a{
    background:#000 !important;
    color:var(--light-blue) !important;
    box-shadow:0 8px 20px rgba(0,0,0,.45) !important;
}

.header-phone a:hover{
    background:#111 !important;
    color:#fff !important;
}

/* ---------- II. HERO – punkt kolizyjny na środku ekranu ---------- */
@media(min-width:901px){
    .hero{
        --hero-bgw:max(125vw, 150vh);                 /* szerokość zdjęcia */
        background-size:var(--hero-bgw) auto !important;
        /* punkt kolizyjny leży na ok. 42% szerokości zdjęcia -> ustawiamy go na 50vw */
        background-position:calc(50vw - 0.42 * var(--hero-bgw)) 50% !important;
    }
}

@media(max-width:900px){
    .hero{
        background-position:37% center !important;
    }
}

/* ---------- III. PUNKTORY – trójkąt Δ zamiast kresek ---------- */
.hero-list li::before,
.service-list li::before,
.about-text .about-list li::before{
    content:"" !important;
    height:auto !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background-color:transparent !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:contain !important;
}

.hero-list li::before{
    width:18px !important;
    aspect-ratio:24 / 22;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M12 2.5 L21.5 19.5 H2.5 Z' fill='none' stroke='%238fd0ff' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.service-list li::before,
.about-text .about-list li::before{
    width:13px !important;
    aspect-ratio:24 / 22;
    top:.55em !important;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M12 2.5 L21.5 19.5 H2.5 Z' fill='none' stroke='%230a2a66' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.hero-list li{ padding-left:32px; }
.service-list li,
.about-text .about-list li{ padding-left:26px; }

/* ---------- O MNIE – zdjęcie ---------- */
.about-photo img{
    aspect-ratio:3 / 4;
    object-fit:cover;
    object-position:center top;
    box-shadow:var(--shadow-lg);
}

/* ---------- VII. FORMULARZ KONTAKTOWY ---------- */
.impact-form .hp{
    position:absolute;
    left:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
}

.impact-form .form-section{
    color:var(--navy);
    font-size:20px;
    margin:6px 0 18px;
    padding-bottom:8px;
    border-bottom:2px solid var(--navy);
}

.impact-form .form-section:not(:first-of-type){
    margin-top:30px;
}

.impact-form .form-group{
    margin-bottom:20px;
    border:0;
    padding:0;
}

.impact-form label,
.impact-form legend{
    display:block;
    font-weight:700;
    color:var(--navy);
    font-size:17px;
    margin-bottom:6px;
}

.impact-form .form-hint{
    display:block;
    margin-top:6px;
    font-size:14px;
    line-height:1.45;
    font-style:italic;
    color:var(--gray);
}

.impact-form input[type="text"],
.impact-form input[type="email"],
.impact-form input[type="tel"],
.impact-form select,
.impact-form textarea{
    width:100%;
    font-size:16px;
    padding:14px 16px;
    border:1px solid var(--border);
    border-radius:10px;
    background:#fff;
    color:var(--text);
    font-family:inherit;
}

.impact-form input:focus,
.impact-form select:focus,
.impact-form textarea:focus{
    outline:none;
    border-color:var(--navy);
    box-shadow:0 0 0 3px rgba(10,42,102,.15);
}

.impact-form input[type="file"]{
    width:100%;
    padding:12px;
    border:2px dashed var(--border);
    border-radius:10px;
    background:#fff;
    font-size:15px;
}

.impact-form .check{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-weight:400;
    color:var(--text);
    font-size:16px;
    margin:8px 0;
    cursor:pointer;
}

.impact-form .check input{
    width:20px;
    height:20px;
    margin-top:2px;
    flex-shrink:0;
    accent-color:var(--navy);
}

.impact-form .consent{
    font-size:14px;
    line-height:1.5;
    margin:6px 0 22px;
}

.impact-form .form-submit{
    width:100%;
    padding:16px 34px;
    border:2px solid var(--light-blue);
    border-radius:8px;
    background:var(--navy);
    color:var(--light-blue);
    font-size:17px;
    font-weight:700;
    letter-spacing:1.5px;
    text-transform:uppercase;
    cursor:pointer;
    transition:var(--transition);
}

.impact-form .form-submit:hover{
    background:var(--navy-dark);
    color:#fff;
}

.form-notice{
    padding:14px 18px;
    border-radius:10px;
    margin-bottom:22px;
    font-weight:600;
    line-height:1.5;
}

.form-notice--ok{
    background:#e8f1ff;
    border-left:5px solid var(--navy);
    color:var(--navy);
}

.form-notice--error{
    background:#fdecec;
    border-left:5px solid #b3261e;
    color:#7a1712;
}

/* hero – zdanie „Ekspertyzy…” w nowym wierszu; reszta tekstu w jednej linii na dużych ekranach */
@media(min-width:1100px){
    .hero-content{ max-width:1000px; }
    .hero h1{ max-width:820px; }
    .hero .hero-lead{ max-width:none; }
}
