/************ WYCIECZKI *******/

@media (min-width:0px) and (max-width:576px) {
    .docs {
        flex-direction: column;
    }

    .mastheader .mh-main .mh-contact {
        display: block;
        position: absolute !important;
        right: 1rem;
    }

    .trip-gallery__item {
        flex: 1 1 50%;
        max-width: 50%;
        margin: 0;
    }
}

@media (min-width:577px) and (max-width:991px) {
    .mastheader .mh-main .mh-contact {
        display: block;
        position: absolute !important;
        right: 1rem;
    }

    .mastheader .mh-main .mh-contact .mhm-btn a {
        border: 2px solid #208251;
        background-color: transparent;
        padding: .7rem 1rem;
        font-size: 1rem;
        width: 1.25rem;
        height: 1.25rem;
        position: relative;
    }

    .mastheader .mh-main .mh-contact .mhm-btn a::before {
        content: none;
    }

    .trip-gallery__item {
        flex: 1 1 33.333333%;
        max-width: 33.333333%;
        margin: 0;
    }
}

@media (max-width: 991px) {

    /* --- PAGE TITLE --- */
    body.single .mastheader,
    body.page-id-2 .mastheader {
        padding: 1rem 0;
    }

    .mastheader .container-fluid {
        padding: 0;
    }

    body.single-post .page-title h1 {
        font-size: 1.6rem;
        max-width: 90%;
        text-align: center;
        margin: 0 auto;
    }

    .mastheader .mh-main .mh-logo {
        padding-top: .25rem;
        padding-bottom: .25rem;
    }

    .page-title {
        padding: 10rem 0 3rem;
    }

    .container-mid {
        width: 92%;
        margin: 0 auto;
    }

    .trip-section ul li,
    p {
        margin-bottom: .75rem;
        font-size: .9rem;
    }

    #najwazniejsze_informacje {
        font-size: 1.4rem;
        margin-top: 1rem;
    }

    /* --- TRIP SECTION --- */
    .trip-section {
        padding: 1.5rem 0;
    }

    #galeria h2,
    .trip-content h2 {
        font-size: 1.4rem;
        margin-bottom: 1.2rem;
    }

    /* --- ITINERARY --- */
    #plan_podrozy .itinerary-item {
        padding: 1.4rem;
        border-radius: 18px;
    }

    #plan_podrozy .itinerary-item h3 {
        font-size: 1.15rem;
        margin-bottom: .8rem;
    }

    /* --- WP GALERIA W PLANIE --- */
    #plan_podrozy .gallery figure {
        width: 50% !important;
        padding-bottom: 50% !important;
    }

    /* --- TABELA ZWROTÓW --- */
    .phrases table {
        font-size: .85rem;
    }

    .phrases th,
    .phrases td {
        padding: .3rem;
        font-size: .75rem;
    }

    /* --- DOKUMENTY --- */

    .docs a {
        padding: .9rem;
        font-size: 1rem;
    }

    /* --- GALERIA TRIP --- */
    .trip-gallery {
        gap: 0;
    }


    .footer-widget h2 {
        font-size: 1.4rem;
        margin: 0 0 1rem;
    }

    .footer-widget #block-11 h3,
    .footer-widget #block-12 h3 {
        font-size: .9rem;
    }

    .footer-widget #block-11,
    .footer-widget #block-12 {
        padding: .75rem;
        border-radius: 18px;
    }

    .footer-widget #block-11 h3 a,
    .footer-widget #block-12 h3 a {
        color: #208251;
        font-size: .8rem;
    }

    #block-10 {
        margin-top: 2rem;
        text-align: left
    }

    #block-10 a {
        font-size: 1rem;
        margin-left: 0;
        margin-right: .5rem;
        color: #333;
    }

    #footer-wrapper {
        margin-top: 0;
        padding-bottom: 3.75rem;
    }

    .footer-bottom {
        padding: 1.75rem 0rem 0 0;
        font-size: .65rem;
    }

    .scroll-top {
        right: 2rem;
    }

    .scroll-top a {
        padding: .5rem .7rem;
    }

    .gallery {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0 !important;
    }

    .gallery .gallery-item {
        width: 50% !important;
        /* 2 w rzędzie */
        max-width: 50% !important;
        margin: 0 !important;
        padding: 0 !important;
        position: relative !important;
    }

    .gallery .gallery-icon {
        width: 100% !important;
        height: 0 !important;
        padding-bottom: 100% !important;
        /* kwadrat */
        position: relative !important;
        overflow: hidden !important;
    }

    .gallery .gallery-icon img {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

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

    .trip-navigation {
        display: none !important;
        /* ukryta nawigacja desktopowa */
    }

    /* FAB przycisk */
    .trip-nav-toggle-btn {
        position: fixed;
        bottom: 20px;
        right: 20px;
        left: auto;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background: #208251;
        color: #fff;
        font-size: 28px;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 99999;
        box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
        cursor: pointer;
    }

    /* Overlay */
    .trip-nav-mobile-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.55);
        backdrop-filter: blur(6px);
        display: none;
        /* pokazywane JS-em */
        justify-content: center;
        align-items: flex-start;
        padding-top: 90px;
        /* żeby box był poniżej headera */
        z-index: 999999;
    }

    /* Wewnętrzne pudełko – lista sekcji */
    .trip-nav-mobile-inner {
        background: #fff;
        width: 92%;
        max-width: 420px;
        border-radius: 18px;
        padding: 2rem 1.4rem;
        max-height: 75vh;
        overflow-y: auto;
        box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
    }

    /* Lista */
    .trip-nav-mobile-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .trip-nav-mobile-list li {
        margin-bottom: 1rem;
    }

    /* Linki */
    .trip-nav-mobile-list a {
        display: block;
        padding: 1rem;
        background: #e9f3ec;
        border-radius: 10px;
        color: #208251;
        font-weight: 600;
        text-align: center;
        border: 1px solid #cfe4d8;
        font-size: 1.05rem;
    }

    /* Przyciski – hover */
    .trip-nav-mobile-list a:active {
        background: #d4eadb;
    }

    /* Zamknij */
    .trip-nav-mobile-close {
        margin-top: 1.5rem;
        text-align: center;
        color: #208251;
        font-weight: 700;
        font-size: 1.2rem;
        cursor: pointer;
    }

    /* Blokada scrolla gdy menu otwarte */
    body.nav-open {
        overflow: hidden;
    }

    /* --- LIGHTBOX NA MOBILE --- */
    .lb-img {
        max-width: 94vw;
        max-height: 80vh;
    }

    .lb-prev,
    .lb-next {
        font-size: 2.3rem;
        padding: 0 .6rem;
    }

    .lb-close {
        top: 15px;
        right: 20px;
        font-size: 2.5rem;
    }

    /* --- PIN MODAL --- */
    .trip-pin-modal {
        width: 92%;
        padding: 2rem;
    }

    .trip-pin-modal h2 {
        font-size: 1.3rem;
    }

    .trip-pin-modal input {
        font-size: .95rem;
    }

    .trip-pin-modal button {
        padding: .9rem;
        font-size: 1rem;
    }

}

@media (min-width:991px) {

    .trip-nav-mobile-overlay,
    .trip-nav-toggle-btn {
        display: none
    }
}

@media (min-width:991px) and (max-width:1200px) {
    body.single-post .page-title h1 {
        font-size: 3rem;
        max-width: 95%;
    }

    .page-title {
        padding: 16rem 0 8rem;
    }

    .footer-widget #block-11 h3,
    .footer-widget #block-12 h3 {
        font-size: 1.2rem;
    }

    .trip-nav-list a {
        font-size: 0.8rem;
        padding: .5rem 0;
    }

    .trip-navigation.scrolled .trip-nav-list a {
        padding: .3rem;
        font-size: .85rem;
        text-transform: none;
    }

    .trip-nav-list li {
        flex: 1 1 20%;
    }

    .trip-gallery__item {
        flex: 1 1 25%;
        max-width: 25%;
        margin: 0;

    }

    .trip-nav-list {
        gap: 5px;
    }
}

@media (min-width:1200px) and (max-width:1381px) {
    .page-title {
        padding: 16rem 0 8rem;
    }

    body.single-post .page-title h1 {
        font-size: 3rem;
        max-width: 95%;
    }


    .trip-nav-list a {
        font-size: 0.65rem;
        padding: .5rem 0;
    }

    .trip-navigation.scrolled .trip-nav-list a {
        padding: .3rem;
        font-size: .8rem;
        text-transform: none;
    }
}

@media (min-width:1381px) and (max-width:1656px) {
    .trip-navigation.scrolled .trip-nav-list a {
        padding: 0.7rem .35rem;
        font-size: 0.85rem;
    }

    .trip-nav-list a {
        font-size: 0.75rem;
    }

    body.single-post .page-title h1 {
        font-size: 4rem;
        max-width: 95%;
    }
}