@media (max-width: 991px) {

    body {
        font-size: 14px;
    }

    p {
        font-size: .85rem;
    }

    .container-big,
    .container-mid {
        padding-left: 15px;
        padding-right: 15px;
    }

    .shop-cat-content {
        padding: 1.75rem 1.25rem;
        margin: 2rem auto .5rem;
        border-radius: 10px;
    }
    .shop-cat-content::before {
        left: 1.25rem;
        width: 40px;
    }
    .shop-cat-content h2 { font-size: 1.2rem; }
    .shop-cat-content h3 { font-size: 1.05rem; }

    .btn,
    .btn-main a,
    .btn-black a {
        padding: 0 1.25rem;
        font-size: .95rem;
    }

    /* HERO */
    .hero-bg::after {
        background: linear-gradient(180deg, rgba(15, 23, 42, .88) 0%, rgba(15, 23, 42, .6) 55%, rgba(15, 23, 42, .35) 100%);
    }

    .hero-subtitle {
        margin-bottom: 1.5rem;
    }

    .hero-box {
        padding: 0 .25rem;
    }

    .hero-title {
        font-size: 1.85rem;
        line-height: 1.15;
        margin-bottom: .75rem;
    }

    .hero-text {
        font-size: .85rem;
        margin-top: 1rem;
    }

    .btn-main {
        margin-top: 1.5rem;
    }

    .hero .swiper-pagination {
        bottom: 3.25rem !important;
    }

    .hero .swiper-pagination-bullet {
        width: 18px;
    }

    .hero .swiper-pagination-bullet-active {
        width: 32px;
    }

    /* SEKCJE HOMEPAGE */
    .service,
    .bestsellers,
    .blog {
        padding: 3.5rem 0;
    }

    .shop {
        padding: 1rem 0 3.5rem;
    }

    .shop .section-title {
        gap: .5rem;
    }

    .shop .section-title .btn-main {
        margin-top: .25rem;
    }

    .shop .shop-filters {
        margin-top: 2rem;
    }

    .section-title {
        gap: 1rem;
    }

    .section-title__left h2 {
        font-size: 1.7rem;
        margin-bottom: .5rem;
    }

    .section-title__left p {
        font-size: .9rem;
    }

    .blog__cta {
        margin-top: 2rem;
    }

    /* ABOUT */
    .about {
        padding: 3.5rem 0;
    }

    .about .about-title {
        font-size: 1.7rem;
    }

    .about-title {
        max-width: 100%;
    }

    .about-text {
        font-size: .95rem;
    }

    .about .about-content {
        font-size: .85rem;
    }

    .about-image-box {
        padding: 1rem 1.25rem;
    }

    .about-image-box h4 {
        font-size: 1.5rem;
    }

    /* REALIZATIONS */
    .realizations {
        padding: 3.5rem 0;
    }

    .realizations .row {
        row-gap: 0.5rem;
    }

    /* PAGE */
    .page-bg {
        height: 300px;
    }

    .page-title {
        padding: 3rem 0 2.25rem;
    }

    .page-title h1 {
        font-size: 2.1rem;
    }

    .page-title h3 {
        font-size: .65rem;
        letter-spacing: .15em;
    }

    .page-content {
        padding: 1.5rem 0 3.5rem;
    }

    .entry-content p {
        font-size: .9rem;
    }

    .entry-content h2 {
        font-size: 1.7rem;
    }

    .entry-content h3 {
        font-size: 1.35rem;
    }

    /* CONTACT FORM */
    .wpcf7 label {
        font-size: .6rem;
    }

    .wpcf7 input.form-control,
    .wpcf7 textarea.form-control {
        font-size: .85rem;
    }

    .wpcf7 input[type="submit"] {
        padding: .65rem 1.75rem;
        font-size: .6rem;
    }

    /* FOOTER */
    #footer-wrapper {
        padding: 3.5rem 0 1rem
    }

    .footer-widget {
        padding: 0;
    }

    .footer-widget img {
        max-width: 180px;
    }

    .site-footer h2,
    .footer-widget h2 {
        margin: 2rem 0 1rem;
        font-size: 1.5rem;
    }

    .site-footer h3 {
        font-size: 1rem;
        margin-top: 2rem;
    }

    .footer-widget p,
    .footer-widget ul li a {
        font-size: .8rem;
    }

    #block-4 p {
        max-width: 100%;
    }

    #block-5 {
        margin-top: 1.5rem;
        padding-top: 1.25rem;
    }

    #block-5 p {
        font-size: 1.35rem;
        margin-bottom: .5rem;
    }

    #block-6 p {
        font-size: 1rem;
        word-break: break-word;
    }

    .footer-bottom {
        font-size: .65rem;
        margin-top: 2rem;
        padding: 1.5rem 0;
    }
}

body.menu-open {
    overflow: hidden;
    height: 100vh;
    touch-action: none;
}

@media (min-width: 992px) and (max-width: 1200px) {

    body {
        font-size: 15px;
    }

    p {
        font-size: .95rem;
    }

    .container-big {
        max-width: 1200px;
    }

    .container-mid {
        max-width: 1080px;
    }

    .btn,
    .btn-main a,
    .btn-black a {
        padding: .65rem 1.6rem;
        font-size: .7rem;
    }

    /* HERO */
    .hero {
        height: 85vh;
    }

    .hero-title {
        font-size: 3.1rem;
    }

    .hero-text {
        font-size: .95rem;
    }

    .hero .swiper-pagination {
        bottom: 4rem;
    }

    /* ABOUT */
    .about {
        padding: 4.5rem 0;
    }

    .about .about-title {
        font-size: 2.1rem;
    }

    .about .about-content {
        font-size: .95rem;
    }

    /* REALIZATIONS */
    .realizations {
        padding: 4.5rem 0;
    }

    .realizations .row {
        row-gap: 1.75rem;
    }

    /* PAGE */
    .page-bg {
        height: 380px;
    }

    .page-title {
        padding: 4.5rem 0 3rem;
    }

    .page-title h1 {
        font-size: 2.6rem;
    }

    .page-title h3 {
        font-size: .75rem;
    }

    .page-content {
        padding: 2.5rem 0 4.5rem;
    }

    .entry-content p {
        font-size: .95rem;
    }

    .entry-content h2 {
        font-size: 2rem;
    }

    .entry-content h3 {
        font-size: 1.55rem;
    }

    /* FOOTER */
    #footer-wrapper {
        padding: 4.5rem 0 2rem;
    }

    .footer-widget {
        padding: 0
    }

    .footer-widget img {
        max-width: 200px;
    }

    .footer-widget h2 {
        font-size: 1.25rem;
    }

    .footer-widget p,
    .footer-widget ul li a {
        font-size: .85rem;
    }

    .footer-bottom {
        font-size: .7rem;
    }
}

/* ========================================
   GALERIA REALIZACJI — RWD
======================================== */

@media (max-width: 1200px) {
    .nf-gal__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 991px) {
    .nf-gal__filters {
        gap: .75rem;
    }

    .nf-gal__group {
        flex: 1 1 calc(33.333% - .5rem);
    }

    .nf-gal__select {
        min-width: 0;
        width: 100%;
    }

    .nf-gal__status {
        flex: 1 0 100%;
        margin: 0;
        padding-bottom: 0;
    }
}

@media (max-width: 767px) {
    .nf-gal__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem .75rem;
    }

    .nf-gal__group {
        flex: 1 1 100%;
    }

    .nf-gal__caption {
        font-size: .72rem;
    }
}
