
/* ============================================================
   PD-LOKUM – HEADER MENU FIX
   Naprawa menu przy dłuższych nazwach pozycji.
   ============================================================ */

/* Desktop */
@media (min-width: 1181px) {
    .site-header {
        overflow: visible !important;
    }

    .site-header__inner {
        width: min(100%, 1536px) !important;
        max-width: 1536px !important;
        height: 82px !important;
        margin: 0 auto !important;
        padding: 0 24px !important;

        display: grid !important;
        grid-template-columns: 220px 1px minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 20px !important;
    }

    .site-header__brand {
        width: 220px !important;
        min-width: 0 !important;
        max-width: 220px !important;
        overflow: visible !important;
    }

    .site-header__brand img {
        display: block !important;
        width: auto !important;
        max-width: 214px !important;
        max-height: 54px !important;
        object-fit: contain !important;
        object-position: left center !important;
    }

    .site-header__divider--left {
        display: block !important;
        height: 30px !important;
    }

    .primary-nav {
        min-width: 0 !important;
        width: 100% !important;
        overflow: visible !important;
    }

    .primary-nav__list {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-wrap: nowrap !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: clamp(10px, 1.25vw, 20px) !important;
    }

    .primary-nav__item {
        flex: 0 0 auto !important;
        min-width: 0 !important;
    }

    .primary-nav__item > a {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        padding: 10px 0 !important;
        font-size: 13px !important;
        line-height: 1.2 !important;
        font-weight: 500 !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
    }

    .primary-nav__item .chevron {
        width: 6px !important;
        height: 6px !important;
        flex: 0 0 6px !important;
    }

    .site-header__actions {
        position: relative !important;
        z-index: 3 !important;
        display: flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        gap: 16px !important;
        white-space: nowrap !important;
    }

    .header-cta {
        width: auto !important;
        min-width: 138px !important;
        height: 48px !important;
        padding: 0 17px 0 20px !important;
        gap: 14px !important;
        font-size: 11px !important;
        letter-spacing: .12em !important;
    }

    .header-cta svg {
        width: 18px !important;
        height: 18px !important;
        flex: 0 0 18px !important;
    }

    .site-header__divider--right {
        display: block !important;
        height: 30px !important;
    }

    .header-phone {
        gap: 9px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
    }

    .header-phone svg {
        width: 20px !important;
        height: 20px !important;
        flex: 0 0 20px !important;
    }

    .nav-toggle {
        display: none !important;
    }
}

/* Gdy miejsca zaczyna być mało, zostawiamy ikonę telefonu.
   Dzięki temu KONTAKT i menu nigdy na siebie nie nachodzą. */
@media (min-width: 1181px) and (max-width: 1490px) {
    .site-header__inner {
        grid-template-columns: 205px 1px minmax(0, 1fr) auto !important;
        column-gap: 16px !important;
        padding-inline: 20px !important;
    }

    .site-header__brand {
        width: 205px !important;
        max-width: 205px !important;
    }

    .site-header__brand img {
        max-width: 198px !important;
    }

    .primary-nav__list {
        gap: 11px !important;
    }

    .primary-nav__item > a {
        font-size: 12px !important;
    }

    .header-phone span {
        display: none !important;
    }

    .site-header__actions {
        gap: 13px !important;
    }

    .header-cta {
        min-width: 128px !important;
        padding-inline: 16px !important;
    }
}

/* Od 1180 px w dół przechodzimy na hamburger zamiast ściskać menu. */
@media (max-width: 1180px) {
    .site-header {
        position: relative !important;
        overflow: visible !important;
    }

    .site-header__inner {
        position: relative !important;
        width: 100% !important;
        max-width: none !important;
        height: 78px !important;
        margin: 0 !important;
        padding: 0 22px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 18px !important;
    }

    .site-header__brand {
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 250px !important;
    }

    .site-header__brand img {
        display: block !important;
        width: auto !important;
        max-width: 230px !important;
        max-height: 52px !important;
        object-fit: contain !important;
        object-position: left center !important;
    }

    .site-header__divider,
    .site-header__actions {
        display: none !important;
    }

    .nav-toggle {
        display: inline-flex !important;
        width: 46px !important;
        height: 46px !important;
        margin: 0 !important;
        padding: 10px !important;
        border: 0 !important;
        background: transparent !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: center !important;
        gap: 5px !important;
        cursor: pointer !important;
    }

    .nav-toggle__line {
        display: block !important;
        width: 100% !important;
        height: 2px !important;
        background: #111b27 !important;
    }

    .primary-nav {
        position: absolute !important;
        z-index: 999 !important;
        top: 78px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        background: #fff !important;
        border-top: 1px solid #eee7df !important;
        box-shadow: 0 18px 40px rgba(0,0,0,.08) !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;
    }

    body.nav-open .primary-nav {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }

    .primary-nav__list {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 12px 22px 22px !important;
    }

    .primary-nav__item {
        display: block !important;
        width: 100% !important;
    }

    .primary-nav__item > a {
        display: flex !important;
        width: 100% !important;
        min-height: 46px !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 12px 2px !important;
        font-size: 15px !important;
        line-height: 1.35 !important;
        white-space: normal !important;
    }

    .primary-nav__submenu {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 6px !important;
        padding: 8px !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        box-shadow: none !important;
        border: 0 !important;
        background: #f8f5f1 !important;
        display: none !important;
    }

    .primary-nav__item:hover > .primary-nav__submenu,
    .primary-nav__item:focus-within > .primary-nav__submenu {
        display: block !important;
    }
}

@media (max-width: 640px) {
    .site-header__inner {
        padding-inline: 16px !important;
    }

    .site-header__brand {
        max-width: 220px !important;
    }

    .site-header__brand img {
        max-width: 205px !important;
    }
}
