/* =========================================================
   OtoLider - mobile home v29
   Plik docelowy: /web/lidermoto/assets/mobile/otolider-mobile.css

   Cel:
   - osobna warstwa mobilna bez ruszania lidermoto-search.css,
   - mobilny nagłówek z menu, żeby po ukryciu topbara dało się logować,
   - topbar desktopowy chowany na telefonie,
   - promowania strony głównej pokazane jako lekkie poziome listy:
     Oferta dnia do 10, Basic do 40, Light do 80; etykieta Oferta dnia tylko przy prawdziwej płatnej Ofercie dnia,
   - bez ciężkiego slidera i bez ingerencji w logikę desktopową.
   ========================================================= */

@media (max-width: 760px) {
    html,
    body {
        max-width: 100% !important;
        overflow-x: hidden !important;
        background: #eef3f7 !important;
    }

    /* Fallback: jeśli JS mobilnego nagłówka nie wystartuje, topbar nie znika całkiem,
       tylko jest mocno odchudzony, żeby logowanie dalej było dostępne.
       Gdy JS utworzy mobilny nagłówek, doda body.lm-mobile-header-ready i wtedy
       desktopowy topbar chowamy. */
    .lm-sticky-userbar {
        display: block !important;
        position: static !important;
        background: #ffffff !important;
        border-bottom: 1px solid #dce4ec !important;
        box-shadow: none !important;
    }

    .lm-sticky-userbar .lm-userbar-inner {
        width: min(100%, 430px) !important;
        min-height: 56px !important;
        margin: 0 auto !important;
        padding: 8px 10px !important;
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        align-items: center !important;
    }

    .lm-sticky-userbar .lm-userbar-logo {
        justify-content: center !important;
        min-height: 38px !important;
    }

    .lm-sticky-userbar .lm-topbar-logo-img {
        max-height: 44px !important;
        width: auto !important;
        object-fit: contain !important;
    }

    .lm-sticky-userbar .lm-userbar-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        overflow-x: auto !important;
        padding-bottom: 3px !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .lm-sticky-userbar .lm-userbar-actions::-webkit-scrollbar {
        display: none !important;
    }

    .lm-sticky-userbar .lm-userbar-actions > * {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    .lm-sticky-userbar .lm-userbar-add {
        min-height: 36px !important;
        padding: 0 12px !important;
        border-radius: 9px !important;
        font-size: 13px !important;
    }

    body.lm-mobile-header-ready .lm-sticky-userbar,
    body.lm-mobile-header-ready .lm-business-public-topbar {
        display: none !important;
    }

    body.lm-home-modern {
        padding-top: 0 !important;
    }

    body.lm-home-modern .hero,
    body.lm-home-modern .hero-section,
    body.lm-home-modern .lm-hero,
    body.lm-home-modern .home-hero {
        margin-top: 0 !important;
    }


    /* Mobilny nagłówek zastępujący ciężki topbar desktopowy. */
    .lm-mobile-topbar {
        position: sticky !important;
        top: 0 !important;
        z-index: 9000 !important;
        width: 100% !important;
        background: #ffffff !important;
        border-bottom: 1px solid #dce4ec !important;
        box-shadow: 0 4px 12px rgba(21, 41, 65, 0.06) !important;
    }

    .lm-mobile-topbar-inner {
        width: min(100%, 430px) !important;
        min-height: 58px !important;
        margin: 0 auto !important;
        padding: 8px 12px !important;
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: 1fr auto auto !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .lm-mobile-logo {
        display: inline-flex !important;
        align-items: center !important;
        min-width: 0 !important;
        text-decoration: none !important;
    }

    .lm-mobile-logo img {
        max-height: 42px !important;
        width: auto !important;
        display: block !important;
        object-fit: contain !important;
    }

    .lm-mobile-logo-fallback {
        color: #12263d !important;
        font-size: 22px !important;
        line-height: 1 !important;
        font-weight: 950 !important;
        letter-spacing: -0.02em !important;
    }

    .lm-mobile-logo-fallback strong {
        color: #3164e6 !important;
    }

    .lm-mobile-add {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 38px !important;
        padding: 0 12px !important;
        border-radius: 10px !important;
        background: #c91f2f !important;
        color: #ffffff !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
    }

    .lm-mobile-menu-btn {
        width: 42px !important;
        height: 38px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid #ccd8e4 !important;
        border-radius: 10px !important;
        background: #f7fafc !important;
        color: #15304c !important;
        font-size: 22px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        cursor: pointer !important;
    }

    .lm-mobile-drawer-backdrop {
        position: fixed !important;
        inset: 0 !important;
        z-index: 9100 !important;
        display: none !important;
        background: rgba(7, 23, 39, 0.45) !important;
    }

    .lm-mobile-drawer-backdrop.is-open {
        display: block !important;
    }

    .lm-mobile-drawer {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 9200 !important;
        width: min(84vw, 330px) !important;
        display: flex !important;
        flex-direction: column !important;
        background: #ffffff !important;
        transform: translateX(105%) !important;
        transition: transform .18s ease !important;
        box-shadow: -14px 0 30px rgba(18, 38, 61, 0.22) !important;
    }

    .lm-mobile-drawer.is-open {
        transform: translateX(0) !important;
    }

    .lm-mobile-drawer-head {
        min-height: 58px !important;
        padding: 10px 14px !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        border-bottom: 1px solid #e0e7ef !important;
        color: #142940 !important;
        font-size: 17px !important;
        font-weight: 950 !important;
    }

    .lm-mobile-drawer-close {
        width: 38px !important;
        height: 36px !important;
        border: 1px solid #d5e0ea !important;
        border-radius: 10px !important;
        background: #f7fafc !important;
        color: #142940 !important;
        font-size: 22px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        cursor: pointer !important;
    }

    .lm-mobile-drawer-links {
        padding: 8px 12px 18px !important;
        overflow-y: auto !important;
    }

    .lm-mobile-drawer-links a {
        min-height: 44px !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 0 10px !important;
        border-bottom: 1px solid #edf1f5 !important;
        color: #15304c !important;
        font-size: 15px !important;
        font-weight: 800 !important;
        text-decoration: none !important;
    }

    .lm-mobile-drawer-links a.lm-mobile-drawer-add {
        margin: 10px 0 !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 12px !important;
        background: #c91f2f !important;
        color: #ffffff !important;
    }

    /* Główne kategorie jako przesuwany pasek mobilny. */
    .lm-mobile-category-rail {
        display: block !important;
        width: 100% !important;
        background: #ffffff !important;
        border-bottom: 1px solid #dce4ec !important;
    }

    .lm-mobile-category-scroller {
        width: min(100%, 430px) !important;
        margin: 0 auto !important;
        padding: 8px 10px !important;
        box-sizing: border-box !important;
        display: flex !important;
        gap: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-snap-type: x proximity !important;
        scrollbar-width: none !important;
    }

    .lm-mobile-category-scroller::-webkit-scrollbar {
        display: none !important;
    }

    .lm-mobile-category-chip {
        flex: 0 0 auto !important;
        min-height: 36px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 14px !important;
        border: 1px solid #d4dfeb !important;
        border-radius: 999px !important;
        background: #f7fafc !important;
        color: #17314f !important;
        font-size: 13px !important;
        font-weight: 900 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        scroll-snap-align: start !important;
    }

    .lm-mobile-category-chip.is-active {
        border-color: #2f63e6 !important;
        background: #2f63e6 !important;
        color: #ffffff !important;
    }

    /* Desktopową belkę kategorii w wyszukiwarce chowamy dopiero wtedy,
       gdy JS utworzy nowy pasek mobilny. Dzięki temu w razie problemu
       oryginalne kategorie nadal są dostępne. */
    body.lm-mobile-category-ready .search-zone .container > .tabs,
    body.lm-mobile-category-ready .lm-home-search-shell .tabs,
    body.lm-mobile-category-ready .lm-home-search-shell .lm-category-tabs,
    body.lm-mobile-category-ready .lm-home-search-shell .lm-search-categories,
    body.lm-mobile-category-ready .lm-home-search-shell .lm-filter-categories,
    body.lm-mobile-category-ready .lm-home-search-shell .lm-category-strip {
        display: none !important;
    }



    /* V5: Na mobile ma być tylko jeden pasek kategorii — górny, przesuwany.
       Drugi rząd kategorii wewnątrz wyszukiwarki, skracany do O... M... D...,
       chowamy dopiero po utworzeniu paska mobilnego. */
    body.lm-mobile-category-ready .search-zone .tabs,
    body.lm-mobile-category-ready .search-zone .category-tabs,
    body.lm-mobile-category-ready .search-zone .category-row,
    body.lm-mobile-category-ready .search-zone .category-switch,
    body.lm-mobile-category-ready .search-zone .lm-category-tabs,
    body.lm-mobile-category-ready .search-zone .lm-search-category-tabs,
    body.lm-mobile-category-ready .search-zone .lm-search-categories,
    body.lm-mobile-category-ready .search-zone .lm-filter-categories,
    body.lm-mobile-category-ready .search-zone .lm-category-strip,
    body.lm-mobile-category-ready .search-zone .lm-main-categories,
    body.lm-mobile-category-ready .lm-home-search-shell .tabs,
    body.lm-mobile-category-ready .lm-home-search-shell .category-tabs,
    body.lm-mobile-category-ready .lm-home-search-shell .category-row,
    body.lm-mobile-category-ready .lm-home-search-shell .category-switch,
    body.lm-mobile-category-ready .lm-home-search-shell .lm-category-tabs,
    body.lm-mobile-category-ready .lm-home-search-shell .lm-search-category-tabs,
    body.lm-mobile-category-ready .lm-home-search-shell .lm-search-categories,
    body.lm-mobile-category-ready .lm-home-search-shell .lm-filter-categories,
    body.lm-mobile-category-ready .lm-home-search-shell .lm-category-strip,
    body.lm-mobile-category-ready .lm-home-search-shell .lm-main-categories {
        display: none !important;
    }

    /* Nie chowamy przełącznika Wszystkie / Nowe / Używane. */
    body.lm-mobile-category-ready .search-zone .type-switch,
    body.lm-mobile-category-ready .search-zone .search-bottom,
    body.lm-mobile-category-ready .lm-home-search-shell .type-switch,
    body.lm-mobile-category-ready .lm-home-search-shell .search-bottom {
        display: flex !important;
    }

    /* Promowania mobilne - osobna sekcja generowana przez /assets/js/otolider-mobile-home.js. */
    .lm-mobile-promotions {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 12px 0 4px !important;
        background: #eef3f7 !important;
    }

    .lm-mobile-promo-section {
        width: min(100%, 430px) !important;
        margin: 0 auto 14px !important;
        box-sizing: border-box !important;
        padding: 0 10px !important;
    }

    .lm-mobile-promo-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        margin: 0 0 8px !important;
    }

    .lm-mobile-promo-title {
        margin: 0 !important;
        color: #152941 !important;
        font-size: 18px !important;
        line-height: 1.15 !important;
        font-weight: 900 !important;
        letter-spacing: -0.01em !important;
    }

    .lm-mobile-promo-counter {
        flex: 0 0 auto !important;
        color: #5d7086 !important;
        font-size: 12px !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
    }

    .lm-mobile-promo-scroller {
        display: flex !important;
        gap: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x proximity !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 2px 10px 10px !important;
        margin: 0 -10px !important;
        scrollbar-width: none !important;
    }

    .lm-mobile-promo-scroller::-webkit-scrollbar {
        display: none !important;
    }

    .lm-mobile-promo-card {
        flex: 0 0 78% !important;
        max-width: 310px !important;
        min-width: 250px !important;
        scroll-snap-align: start !important;
        display: grid !important;
        grid-template-rows: 150px auto !important;
        background: #ffffff !important;
        border: 1px solid #d5e0eb !important;
        border-radius: 14px !important;
        overflow: hidden !important;
        color: #10243b !important;
        text-decoration: none !important;
        box-shadow: 0 8px 20px rgba(25, 48, 76, 0.10) !important;
    }

    .lm-mobile-promo-card:visited,
    .lm-mobile-promo-card:hover,
    .lm-mobile-promo-card:active {
        color: #10243b !important;
        text-decoration: none !important;
    }

    .lm-mobile-promo-card--offer {
        flex-basis: 86% !important;
        max-width: 340px !important;
        grid-template-rows: 178px auto !important;
        border-color: #c9d8e7 !important;
    }

    .lm-mobile-promo-photo {
        position: relative !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        background: linear-gradient(135deg, #dce6f0, #f6f8fb) !important;
        overflow: hidden !important;
    }

    .lm-mobile-promo-photo img {
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        object-fit: cover !important;
    }

    .lm-mobile-promo-no-photo {
        width: 100% !important;
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 12px !important;
        box-sizing: border-box !important;
        color: #6e7f91 !important;
        font-weight: 900 !important;
        font-size: 13px !important;
        text-align: center !important;
    }

    .lm-mobile-promo-badge {
        position: absolute !important;
        left: 9px !important;
        top: 9px !important;
        display: inline-flex !important;
        align-items: center !important;
        min-height: 24px !important;
        padding: 0 9px !important;
        border-radius: 999px !important;
        background: #0f2a44 !important;
        color: #fff !important;
        font-size: 11px !important;
        font-weight: 900 !important;
        box-shadow: 0 4px 10px rgba(15, 42, 68, 0.20) !important;
    }

    .lm-mobile-promo-card--offer .lm-mobile-promo-badge {
        background: #e0ad1f !important;
        color: #162438 !important;
    }

    .lm-mobile-promo-body {
        min-width: 0 !important;
        padding: 10px 11px 11px !important;
        display: grid !important;
        gap: 7px !important;
    }

    .lm-mobile-promo-name {
        min-width: 0 !important;
        color: #0b559c !important;
        font-size: 15px !important;
        line-height: 1.18 !important;
        font-weight: 900 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    .lm-mobile-promo-meta {
        min-height: 16px !important;
        color: #5f7084 !important;
        font-size: 12px !important;
        line-height: 1.25 !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .lm-mobile-promo-bottom {
        display: flex !important;
        align-items: baseline !important;
        justify-content: space-between !important;
        gap: 8px !important;
    }

    .lm-mobile-promo-price {
        min-width: 0 !important;
        color: #0d1724 !important;
        font-size: 18px !important;
        line-height: 1.1 !important;
        font-weight: 950 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .lm-mobile-promo-details {
        flex: 0 0 auto !important;
        color: #0b559c !important;
        font-size: 12px !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
    }

    /* Desktopowe sekcje promowań zostają w DOM i dalej działają, ale na telefonie zastępuje je lekka lista pozioma. */
    body.lm-mobile-promos-ready #lm-basic-rotator,
    body.lm-mobile-promos-ready .lm-light-stage1-section,
    body.lm-mobile-promos-ready .lm-home-promoted-topline,
    body.lm-mobile-promos-ready .lm-home-promoted-over-ads-links {
        display: none !important;
    }

    /* Pierwsze odchudzenie góry strony bez zmiany logiki filtrów. */
    .search-zone {
        border-top: 0 !important;
    }

    .search-zone .container,
    .lm-home-search-shell .search-zone .container {
        width: 100% !important;
        max-width: 430px !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
    }

    .lm-search-submit-main {
        min-height: 48px !important;
        border-radius: 16px !important;
        font-size: 15px !important;
    }

    /* Asystent zostaje, ale na bardzo wąskim ekranie nie powinien nachodzić na krawędź. */
    .ol-assistant-launcher,
    .ol-assistant-widget .ol-assistant-launcher {
        right: 12px !important;
        bottom: 12px !important;
    }
}

@media (min-width: 761px) {
    .lm-mobile-promotions {
        display: none !important;
    }
}


/* =========================================================
   OtoLider - mobile home v29
   Stały górny pasek kategorii mobile.
   Nie zależy od struktury kategorii w wyszukiwarce.
   ========================================================= */

@media (max-width: 760px) {
    html body .lm-mobile-category-rail {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
        pointer-events: auto !important;
        background: #ffffff !important;
        border-bottom: 1px solid #dce4ec !important;
        position: relative !important;
        z-index: 50 !important;
    }

    html body .lm-mobile-category-scroller {
        width: min(100%, 430px) !important;
        margin: 0 auto !important;
        padding: 8px 10px !important;
        box-sizing: border-box !important;
        display: flex !important;
        visibility: visible !important;
        gap: 8px !important;
        height: auto !important;
        min-height: 52px !important;
        max-height: none !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-snap-type: x proximity !important;
        scrollbar-width: none !important;
        pointer-events: auto !important;
    }

    html body .lm-mobile-category-scroller::-webkit-scrollbar {
        display: none !important;
    }

    html body .lm-mobile-category-chip {
        flex: 0 0 auto !important;
        min-height: 36px !important;
        height: 36px !important;
        max-height: 36px !important;
        display: inline-flex !important;
        visibility: visible !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 14px !important;
        border: 1px solid #d4dfeb !important;
        border-radius: 999px !important;
        background: #f7fafc !important;
        color: #17314f !important;
        font-size: 13px !important;
        line-height: 1 !important;
        font-weight: 900 !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        scroll-snap-align: start !important;
        pointer-events: auto !important;
    }

    html body .lm-mobile-category-chip.is-active {
        border-color: #2f63e6 !important;
        background: #2f63e6 !important;
        color: #ffffff !important;
    }

    /* Oryginalny rząd kategorii z wyszukiwarki chowamy dopiero po utworzeniu paska v9. */
    body.lm-mobile-static-category-ready .search-zone .container > nav.tabs.lm-category-tabs,
    body.lm-mobile-static-category-ready .search-zone .container > .tabs.lm-category-tabs,
    body.lm-mobile-static-category-ready .lm-home-search-shell .search-zone .container > nav.tabs.lm-category-tabs,
    body.lm-mobile-static-category-ready .lm-home-search-shell .search-zone .container > .tabs.lm-category-tabs {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    /* Pasek Wszystkie / Nowe / Używane zostaje. */
    body.lm-mobile-static-category-ready .search-zone .search-bottom,
    body.lm-mobile-static-category-ready .search-zone .type-switch,
    body.lm-mobile-static-category-ready .lm-home-search-shell .search-bottom,
    body.lm-mobile-static-category-ready .lm-home-search-shell .type-switch {
        display: flex !important;
        visibility: visible !important;
        height: auto !important;
        max-height: none !important;
        pointer-events: auto !important;
    }
}


/* =========================================================
   OtoLider - mobile home v29
   Czytelne filtry mobile: Marka / Model / Generacja / Więcej filtrów.

   Ważne:
   - logika formularza zostaje bez zmian,
   - hidden selecty name="marka/model/generacja" zostają,
   - autocomplete inputy zostają,
   - JS dodaje tylko klasy wyglądu i synchronizuje stan otwarcia.
   ========================================================= */

@media (max-width: 760px) {
    html body #mainSearchForm .search-grid.lm-search-grid-collapsible.lm-mobile-filter-layout-v12 {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 10px !important;
        margin: 0 !important;
        border-radius: 14px !important;
        background: #0f2a44 !important;
    }

    /* Stan zwinięty: chowamy wszystko poza Marka / Model / Generacja / Więcej filtrów. */
    html body #mainSearchForm .search-grid.lm-search-grid-collapsible.lm-mobile-filter-layout-v12 > * {
        display: none !important;
    }

    html body #mainSearchForm .search-grid.lm-search-grid-collapsible.lm-mobile-filter-layout-v12 > #filterMarkaWrap,
    html body #mainSearchForm .search-grid.lm-search-grid-collapsible.lm-mobile-filter-layout-v12 > #filterModelWrap,
    html body #mainSearchForm .search-grid.lm-search-grid-collapsible.lm-mobile-filter-layout-v12 > #filterGeneracjaWrap,
    html body #mainSearchForm .search-grid.lm-search-grid-collapsible.lm-mobile-filter-layout-v12 > .lm-more-filters-toggle {
        display: block !important;
    }

    html body #mainSearchForm .search-grid.lm-search-grid-collapsible.lm-mobile-filter-layout-v12 > .lm-more-filters-toggle {
        display: flex !important;
    }

    /* Po otwarciu Więcej filtrów pokazujemy pozostałe obecne elementy. */
    html body #mainSearchForm .search-grid.lm-search-grid-collapsible.lm-mobile-filter-layout-v12.lm-mobile-filters-open-v12 > * {
        display: block !important;
    }

    html body #mainSearchForm .search-grid.lm-search-grid-collapsible.lm-mobile-filter-layout-v12.lm-mobile-filters-open-v12 > .lm-extra-filters-panel {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        max-height: 960px !important;
        opacity: 1 !important;
        overflow: visible !important;
        pointer-events: auto !important;
        transform: none !important;
    }

    /* Pierwsze trzy pola jako czytelne wiersze. */
    html body #mainSearchForm #filterMarkaWrap,
    html body #mainSearchForm #filterModelWrap,
    html body #mainSearchForm #filterGeneracjaWrap,
    html body #mainSearchForm .lm-mobile-filter-primary-v12 {
        position: relative !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 54px !important;
        height: 54px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid rgba(205, 216, 229, .92) !important;
        border-radius: 12px !important;
        background: rgba(248, 251, 255, .98) !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.78) !important;
        overflow: hidden !important;
    }

    html body #mainSearchForm #filterMarkaWrap .lm-filter-label,
    html body #mainSearchForm #filterModelWrap .lm-filter-label,
    html body #mainSearchForm #filterGeneracjaWrap .lm-filter-label {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute !important;
        left: 16px !important;
        right: 44px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 9 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        color: #142941 !important;
        font-size: 15px !important;
        line-height: 1.1 !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        pointer-events: none !important;
    }

    html body #mainSearchForm #filterMarkaWrap.has-value .lm-filter-label,
    html body #mainSearchForm #filterModelWrap.has-value .lm-filter-label,
    html body #mainSearchForm #filterGeneracjaWrap.has-value .lm-filter-label,
    html body #mainSearchForm #filterMarkaWrap.lm-mobile-has-value-v12 .lm-filter-label,
    html body #mainSearchForm #filterModelWrap.lm-mobile-has-value-v12 .lm-filter-label,
    html body #mainSearchForm #filterGeneracjaWrap.lm-mobile-has-value-v12 .lm-filter-label {
        top: 8px !important;
        transform: none !important;
        color: #6a7d92 !important;
        font-size: 11px !important;
        font-weight: 850 !important;
    }

    html body #mainSearchForm #filterMarkaWrap.is-typing .lm-filter-label,
    html body #mainSearchForm #filterModelWrap.is-typing .lm-filter-label,
    html body #mainSearchForm #filterGeneracjaWrap.is-typing .lm-filter-label {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

    html body #mainSearchForm #filterMarkaWrap.is-disabled,
    html body #mainSearchForm #filterModelWrap.is-disabled,
    html body #mainSearchForm #filterGeneracjaWrap.is-disabled,
    html body #mainSearchForm #filterMarkaWrap.lm-mobile-disabled-v12,
    html body #mainSearchForm #filterModelWrap.lm-mobile-disabled-v12,
    html body #mainSearchForm #filterGeneracjaWrap.lm-mobile-disabled-v12 {
        opacity: .62 !important;
    }

    html body #mainSearchForm #filterMarkaWrap.is-disabled .lm-filter-label,
    html body #mainSearchForm #filterModelWrap.is-disabled .lm-filter-label,
    html body #mainSearchForm #filterGeneracjaWrap.is-disabled .lm-filter-label,
    html body #mainSearchForm #filterMarkaWrap.lm-mobile-disabled-v12 .lm-filter-label,
    html body #mainSearchForm #filterModelWrap.lm-mobile-disabled-v12 .lm-filter-label,
    html body #mainSearchForm #filterGeneracjaWrap.lm-mobile-disabled-v12 .lm-filter-label {
        color: #7d8b9a !important;
    }

    html body #mainSearchForm #filterMarkaWrap .lm-vehicle-autocomplete-input,
    html body #mainSearchForm #filterModelWrap .lm-vehicle-autocomplete-input,
    html body #mainSearchForm #filterGeneracjaWrap .lm-vehicle-autocomplete-input {
        position: relative !important;
        z-index: 5 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 54px !important;
        height: 54px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background-color: transparent !important;
        box-shadow: none !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        padding: 18px 46px 6px 16px !important;
        text-align: left !important;
    }

    html body #mainSearchForm #filterMarkaWrap:not(.has-value):not(.is-typing) .lm-vehicle-autocomplete-input,
    html body #mainSearchForm #filterModelWrap:not(.has-value):not(.is-typing) .lm-vehicle-autocomplete-input,
    html body #mainSearchForm #filterGeneracjaWrap:not(.has-value):not(.is-typing) .lm-vehicle-autocomplete-input {
        color: transparent !important;
        font-size: 0 !important;
        text-shadow: none !important;
    }

    html body #mainSearchForm #filterMarkaWrap.has-value .lm-vehicle-autocomplete-input,
    html body #mainSearchForm #filterModelWrap.has-value .lm-vehicle-autocomplete-input,
    html body #mainSearchForm #filterGeneracjaWrap.has-value .lm-vehicle-autocomplete-input,
    html body #mainSearchForm #filterMarkaWrap.is-typing .lm-vehicle-autocomplete-input,
    html body #mainSearchForm #filterModelWrap.is-typing .lm-vehicle-autocomplete-input,
    html body #mainSearchForm #filterGeneracjaWrap.is-typing .lm-vehicle-autocomplete-input {
        color: #102742 !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        line-height: 1.15 !important;
        text-shadow: none !important;
    }

    html body #mainSearchForm #filterMarkaWrap .lm-vehicle-autocomplete-input::placeholder,
    html body #mainSearchForm #filterModelWrap .lm-vehicle-autocomplete-input::placeholder,
    html body #mainSearchForm #filterGeneracjaWrap .lm-vehicle-autocomplete-input::placeholder {
        color: transparent !important;
        opacity: 0 !important;
    }

    html body #mainSearchForm #filterMarkaWrap.is-typing .lm-vehicle-autocomplete-input::placeholder,
    html body #mainSearchForm #filterModelWrap.is-typing .lm-vehicle-autocomplete-input::placeholder,
    html body #mainSearchForm #filterGeneracjaWrap.is-typing .lm-vehicle-autocomplete-input::placeholder {
        color: #718197 !important;
        opacity: 1 !important;
    }

    html body #mainSearchForm #filterModelWrap::after,
    html body #mainSearchForm #filterGeneracjaWrap::after {
        display: none !important;
        content: none !important;
    }

    html body #mainSearchForm #filterMarkaWrap .year-clear,
    html body #mainSearchForm #filterModelWrap .year-clear,
    html body #mainSearchForm #filterGeneracjaWrap .year-clear {
        z-index: 15 !important;
    }

    html body #mainSearchForm .search-grid.lm-search-grid-collapsible.lm-mobile-filter-layout-v12 > .lm-more-filters-toggle {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 54px !important;
        height: 54px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        border-radius: 12px !important;
        border: 1px solid rgba(210,226,242,.78) !important;
        background: rgba(255,255,255,.08) !important;
        color: #ffffff !important;
        font-size: 15px !important;
        line-height: 1 !important;
        font-weight: 950 !important;
        padding: 0 16px !important;
        cursor: pointer !important;
    }

    html body #mainSearchForm .search-grid.lm-search-grid-collapsible.lm-mobile-filter-layout-v12 > .lm-search-phrase-row {
        grid-column: 1 / -1 !important;
    }

    html body #mainSearchForm .search-grid.lm-search-grid-collapsible.lm-mobile-filter-layout-v12:not(.lm-mobile-filters-open-v12) > .lm-search-phrase-row {
        display: none !important;
    }
}


/* =========================================================
   OtoLider - mobile home v29
   Pełnoekranowy wybór Marki pojazdu na mobile.

   Tylko warstwa mobilna:
   - nie zmienia PHP,
   - nie zmienia name/id pól,
   - nie zmienia logiki zależności marka -> model,
   - wybór ustawia istniejący select #filterMarka i input #filterMarkaSearch.
   ========================================================= */

@media (max-width: 760px) {
    html.lm-mobile-brand-picker-open,
    html.lm-mobile-brand-picker-open body {
        overflow: hidden !important;
        touch-action: none !important;
    }

    html body .lm-mobile-brand-picker {
        position: fixed !important;
        inset: 0 !important;
        z-index: 98000 !important;
        display: none !important;
        background: #eef3f7 !important;
        color: #102742 !important;
    }

    html body .lm-mobile-brand-picker.is-open {
        display: flex !important;
        flex-direction: column !important;
    }

    .lm-mobile-brand-picker__header {
        flex: 0 0 auto !important;
        min-height: 58px !important;
        display: grid !important;
        grid-template-columns: 42px 1fr 42px !important;
        align-items: center !important;
        gap: 8px !important;
        padding: calc(8px + env(safe-area-inset-top, 0px)) 12px 8px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        border-bottom: 1px solid #dce4ec !important;
        box-shadow: 0 4px 12px rgba(21, 41, 65, 0.06) !important;
    }

    .lm-mobile-brand-picker__back,
    .lm-mobile-brand-picker__close {
        width: 40px !important;
        height: 38px !important;
        border: 1px solid #ccd8e4 !important;
        border-radius: 10px !important;
        background: #f7fafc !important;
        color: #15304c !important;
        font-size: 22px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
    }

    .lm-mobile-brand-picker__title {
        min-width: 0 !important;
        color: #142940 !important;
        font-size: 17px !important;
        line-height: 1.15 !important;
        font-weight: 950 !important;
        text-align: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .lm-mobile-brand-picker__search-wrap {
        flex: 0 0 auto !important;
        padding: 10px 12px !important;
        box-sizing: border-box !important;
        background: #ffffff !important;
        border-bottom: 1px solid #dce4ec !important;
    }

    .lm-mobile-brand-picker__search {
        width: 100% !important;
        height: 46px !important;
        box-sizing: border-box !important;
        border: 1px solid #cfdbe7 !important;
        border-radius: 12px !important;
        background: #f7fafc !important;
        color: #102742 !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        padding: 0 14px !important;
        outline: none !important;
    }

    .lm-mobile-brand-picker__search::placeholder {
        color: #728197 !important;
        opacity: 1 !important;
    }

    .lm-mobile-brand-picker__list {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 8px 12px 88px !important;
        box-sizing: border-box !important;
    }

    .lm-mobile-brand-picker__item {
        width: 100% !important;
        min-height: 48px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        box-sizing: border-box !important;
        margin: 0 0 7px !important;
        padding: 0 14px !important;
        border: 1px solid #d4dfeb !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        color: #142940 !important;
        font-size: 15px !important;
        line-height: 1.15 !important;
        font-weight: 900 !important;
        text-align: left !important;
        cursor: pointer !important;
        box-shadow: 0 3px 10px rgba(21, 41, 65, 0.04) !important;
    }

    .lm-mobile-brand-picker__item.is-selected {
        border-color: #2f63e6 !important;
        background: #eef4ff !important;
        color: #123f8f !important;
    }

    .lm-mobile-brand-picker__item.is-selected::after {
        content: "✓" !important;
        flex: 0 0 auto !important;
        width: 24px !important;
        height: 24px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 999px !important;
        background: #2f63e6 !important;
        color: #ffffff !important;
        font-size: 14px !important;
        font-weight: 950 !important;
    }

    .lm-mobile-brand-picker__empty {
        margin: 18px 4px !important;
        padding: 18px 12px !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        border: 1px solid #dce4ec !important;
        color: #62738a !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        text-align: center !important;
    }

    .lm-mobile-brand-picker__footer {
        flex: 0 0 auto !important;
        position: fixed !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 98010 !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        box-sizing: border-box !important;
        background: rgba(255,255,255,.96) !important;
        border-top: 1px solid #dce4ec !important;
        box-shadow: 0 -8px 22px rgba(21, 41, 65, 0.12) !important;
        backdrop-filter: blur(10px) !important;
    }

    .lm-mobile-brand-picker__cancel,
    .lm-mobile-brand-picker__choose {
        min-height: 48px !important;
        border-radius: 13px !important;
        font-size: 15px !important;
        font-weight: 950 !important;
        cursor: pointer !important;
    }

    .lm-mobile-brand-picker__cancel {
        border: 1px solid #cfdbe7 !important;
        background: #ffffff !important;
        color: #15304c !important;
    }

    .lm-mobile-brand-picker__choose {
        border: 1px solid #2f63e6 !important;
        background: #2f63e6 !important;
        color: #ffffff !important;
    }

    .lm-mobile-brand-picker__choose:disabled {
        opacity: .45 !important;
        cursor: not-allowed !important;
    }
}


/* =========================================================
   OtoLider - mobile home v29
   Model pojazdu + ukrycie Asystenta w ekranach wyboru.

   - używa tego samego wyglądu co wybór Marki,
   - dymek Pomoc/Asystent jest ukryty, gdy otwarty jest wybór Marki/Modelu,
   - nie zmienia PHP ani logiki zależności.
   ========================================================= */

@media (max-width: 760px) {
    html.lm-mobile-brand-picker-open .ol-assistant-launcher,
    html.lm-mobile-brand-picker-open .ol-assistant-panel,
    html.lm-mobile-brand-picker-open .ol-assistant-widget,
    html.lm-mobile-brand-picker-open .ol-assistant-widget .ol-assistant-launcher,
    html.lm-mobile-vehicle-picker-open .ol-assistant-launcher,
    html.lm-mobile-vehicle-picker-open .ol-assistant-panel,
    html.lm-mobile-vehicle-picker-open .ol-assistant-widget,
    html.lm-mobile-vehicle-picker-open .ol-assistant-widget .ol-assistant-launcher {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html.lm-mobile-vehicle-picker-open,
    html.lm-mobile-vehicle-picker-open body {
        overflow: hidden !important;
        touch-action: none !important;
    }

    .lm-mobile-brand-picker__notice {
        margin: 18px 4px !important;
        padding: 18px 12px !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        border: 1px solid #dce4ec !important;
        color: #62738a !important;
        font-size: 14px !important;
        font-weight: 850 !important;
        line-height: 1.35 !important;
        text-align: center !important;
    }
}


/* =========================================================
   OtoLider - mobile home v29
   Generacja pojazdu korzysta z tego samego pełnoekranowego widoku
   co Marka i Model.
   ========================================================= */

@media (max-width: 760px) {
    .lm-mobile-generation-picker .lm-mobile-brand-picker__title {
        color: #142940 !important;
    }
}


/* =========================================================
   OtoLider - mobile home v29
   Naprawa po kliknięciu + Więcej filtrów.

   Przyczyna:
   W polach Marka / Model / Generacja istnieją lokalne znaczniki <style>
   i <script>. Po rozwinięciu filtrów wcześniejsza reguła mobilna
   pokazywała wszystkie bezpośrednie dzieci siatki, więc przeglądarka
   zaczynała wizualnie pokazywać treść CSS/JS jako tekst.

   Cel:
   - nigdy nie pokazuj <style>, <script>, <noscript>, <template> w formularzu,
   - nie ruszaj PHP, logiki filtrów, name/id, AJAX ani SQL.
   ========================================================= */

@media (max-width: 760px) {
    html body #mainSearchForm style,
    html body #mainSearchForm script,
    html body #mainSearchForm noscript,
    html body #mainSearchForm template,
    html body #mainSearchForm .search-grid style,
    html body #mainSearchForm .search-grid script,
    html body #mainSearchForm .search-grid noscript,
    html body #mainSearchForm .search-grid template,
    html body #mainSearchForm .search-grid.lm-mobile-filter-layout-v12 > style,
    html body #mainSearchForm .search-grid.lm-mobile-filter-layout-v12 > script,
    html body #mainSearchForm .search-grid.lm-mobile-filter-layout-v12 > noscript,
    html body #mainSearchForm .search-grid.lm-mobile-filter-layout-v12 > template,
    html body #mainSearchForm .search-grid.lm-mobile-filter-layout-v13 > style,
    html body #mainSearchForm .search-grid.lm-mobile-filter-layout-v13 > script,
    html body #mainSearchForm .search-grid.lm-mobile-filter-layout-v13 > noscript,
    html body #mainSearchForm .search-grid.lm-mobile-filter-layout-v13 > template {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        position: absolute !important;
        left: -99999px !important;
        top: auto !important;
    }

    /* Dodatkowe zabezpieczenie: nawet po rozwinięciu + Więcej filtrów
       techniczne znaczniki nie mogą dostać display:block. */
    html body #mainSearchForm .search-grid.lm-mobile-filter-layout-v12.lm-mobile-filters-open-v12 > style,
    html body #mainSearchForm .search-grid.lm-mobile-filter-layout-v12.lm-mobile-filters-open-v12 > script,
    html body #mainSearchForm .search-grid.lm-mobile-filter-layout-v13.lm-mobile-filters-open-v13 > style,
    html body #mainSearchForm .search-grid.lm-mobile-filter-layout-v13.lm-mobile-filters-open-v13 > script {
        display: none !important;
    }
}


/* =========================================================
   OtoLider - mobile home v29
   Popupy filtrów na mobile bez stałego paska na górze.

   Problem:
   Przy otwartym filtrze typu Nadwozie na ekranie nadal zostawał
   mobilny topbar i pasek kategorii. W ekranie wyboru filtra mają
   zniknąć tak jak przy Markach / Modelach / Generacjach.
   ========================================================= */

@media (max-width: 760px) {
    html.lm-mobile-filter-modal-open .lm-mobile-topbar,
    html.lm-mobile-filter-modal-open .lm-mobile-category-rail,
    html.lm-mobile-filter-modal-open .ol-assistant-launcher,
    html.lm-mobile-filter-modal-open .ol-assistant-panel,
    html.lm-mobile-filter-modal-open .ol-assistant-widget,
    html.lm-mobile-filter-modal-open .ol-assistant-widget .ol-assistant-launcher,
    body.lm-mobile-filter-modal-open .lm-mobile-topbar,
    body.lm-mobile-filter-modal-open .lm-mobile-category-rail,
    body.lm-mobile-filter-modal-open .ol-assistant-launcher,
    body.lm-mobile-filter-modal-open .ol-assistant-panel,
    body.lm-mobile-filter-modal-open .ol-assistant-widget,
    body.lm-mobile-filter-modal-open .ol-assistant-widget .ol-assistant-launcher {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    html.lm-mobile-filter-modal-open,
    html.lm-mobile-filter-modal-open body {
        overflow: hidden !important;
    }

    /* Awaryjnie dla przeglądarek wspierających :has — gdyby JS nie zdążył dodać klasy. */
    html:has(.filter-modal.is-open) .lm-mobile-topbar,
    html:has(.filter-modal.is-open) .lm-mobile-category-rail,
    html:has(.filter-modal[aria-hidden="false"]) .lm-mobile-topbar,
    html:has(.filter-modal[aria-hidden="false"]) .lm-mobile-category-rail,
    html:has(.lm-filter-modal.is-open) .lm-mobile-topbar,
    html:has(.lm-filter-modal.is-open) .lm-mobile-category-rail,
    html:has([data-filter-modal].is-open) .lm-mobile-topbar,
    html:has([data-filter-modal].is-open) .lm-mobile-category-rail,
    html:has([data-lm-filter-modal].is-open) .lm-mobile-topbar,
    html:has([data-lm-filter-modal].is-open) .lm-mobile-category-rail {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}


/* =========================================================
   OtoLider - mobile home v29 SAFE
   Główne filtry na górze po rozwinięciu + Więcej filtrów.

   Nie przenosimy istniejących pól formularza.
   Tworzymy tylko mobilny blok-kopię na górze rozwiniętych filtrów:
   Marka / Model / Generacja / Mniej filtrów.
   Oryginalne pola na dole są wtedy ukryte wizualnie, ale zostają w DOM.
   ========================================================= */

@media (max-width: 760px) {
    html body #mainSearchForm .lm-mobile-expanded-primary-v20 {
        display: none !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
        order: 0 !important;
        grid-column: 1 / -1 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body #mainSearchForm .search-grid.lm-mobile-expanded-primary-open-v20 > .lm-mobile-expanded-primary-v20 {
        display: grid !important;
    }

    html body #mainSearchForm .lm-mobile-expanded-primary-v20__button {
        position: relative !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 54px !important;
        height: 54px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 8px 44px 8px 16px !important;
        border: 1px solid rgba(205, 216, 229, .92) !important;
        border-radius: 12px !important;
        background: rgba(248, 251, 255, .98) !important;
        color: #142941 !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.78) !important;
        overflow: hidden !important;
        text-align: left !important;
        cursor: pointer !important;
    }

    html body #mainSearchForm .lm-mobile-expanded-primary-v20__button::after {
        content: "›" !important;
        position: absolute !important;
        right: 16px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 5 !important;
        color: #62738a !important;
        font-size: 24px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        pointer-events: none !important;
    }

    html body #mainSearchForm .lm-mobile-expanded-primary-v20__label {
        display: block !important;
        color: #142941 !important;
        font-size: 15px !important;
        line-height: 1.1 !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    html body #mainSearchForm .lm-mobile-expanded-primary-v20__value {
        display: none !important;
        margin-top: 3px !important;
        color: #102742 !important;
        font-size: 14px !important;
        line-height: 1.1 !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    html body #mainSearchForm .lm-mobile-expanded-primary-v20__button.has-value {
        padding-top: 7px !important;
        padding-bottom: 7px !important;
    }

    html body #mainSearchForm .lm-mobile-expanded-primary-v20__button.has-value .lm-mobile-expanded-primary-v20__label {
        color: #6a7d92 !important;
        font-size: 11px !important;
        font-weight: 850 !important;
    }

    html body #mainSearchForm .lm-mobile-expanded-primary-v20__button.has-value .lm-mobile-expanded-primary-v20__value {
        display: block !important;
    }

    html body #mainSearchForm .lm-mobile-expanded-primary-v20__button.is-disabled {
        opacity: .62 !important;
    }

    html body #mainSearchForm .lm-mobile-expanded-primary-v20__less {
        width: 100% !important;
        min-height: 54px !important;
        height: 54px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        border-radius: 12px !important;
        border: 1px solid rgba(210,226,242,.78) !important;
        background: rgba(255,255,255,.08) !important;
        color: #ffffff !important;
        font-size: 15px !important;
        line-height: 1 !important;
        font-weight: 950 !important;
        padding: 0 16px !important;
        cursor: pointer !important;
    }

    /*
       W rozwiniętym widoku ukrywamy oryginalne pola, które spadały na dół.
       Zostają w DOM, zachowują id/name/wartości i logikę, ale użytkownik widzi je tylko raz:
       w bloku proxy na górze.
    */
    html body #mainSearchForm .search-grid.lm-mobile-expanded-primary-open-v20 > #filterMarkaWrap,
    html body #mainSearchForm .search-grid.lm-mobile-expanded-primary-open-v20 > #filterModelWrap,
    html body #mainSearchForm .search-grid.lm-mobile-expanded-primary-open-v20 > #filterGeneracjaWrap,
    html body #mainSearchForm .search-grid.lm-mobile-expanded-primary-open-v20 > .lm-more-filters-toggle {
        display: none !important;
    }

    /* Techniczne znaczniki nadal nie mogą być widoczne po rozwinięciu. */
    html body #mainSearchForm .search-grid.lm-mobile-expanded-primary-open-v20 > style,
    html body #mainSearchForm .search-grid.lm-mobile-expanded-primary-open-v20 > script,
    html body #mainSearchForm .search-grid.lm-mobile-expanded-primary-open-v20 > noscript,
    html body #mainSearchForm .search-grid.lm-mobile-expanded-primary-open-v20 > template {
        display: none !important;
    }
}


/* =========================================================
   OtoLider - mobile home v31
   Stabilizacja pierwszych trzech kafelków mobile.

   Zakres:
   - tylko CSS,
   - bez zmiany wysokości i szerokości kafelków,
   - JS zostaje bez zmian,
   - techniczne strzałki i natywne selecty są ukryte,
   - jedna stała strzałka › dla Marka / Model / Generacja,
   - taki sam wygląd napisów i strzałek w stanie zwiniętym i rozwiniętym.
   ========================================================= */

@media (max-width: 760px) {
    /* Natywne selecty chowamy, ale element strzałki autocomplete zostaje jako jedyne źródło
       strzałki w zwiniętym widoku. Dzięki temu Model i Generacja nie dostają drugiej strzałki
       z ::after na wrapperze. */
    html body #mainSearchForm #filterMarkaWrap select,
    html body #mainSearchForm #filterModelWrap select,
    html body #mainSearchForm #filterGeneracjaWrap select,
    html body #mainSearchForm #filterMarka,
    html body #mainSearchForm #filterModel,
    html body #mainSearchForm #filterGeneracja {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        background: none !important;
        background-image: none !important;
    }

    html body #mainSearchForm #filterMarkaWrap .lm-vehicle-autocomplete-arrow,
    html body #mainSearchForm #filterModelWrap .lm-vehicle-autocomplete-arrow,
    html body #mainSearchForm #filterGeneracjaWrap .lm-vehicle-autocomplete-arrow {
        display: inline-flex !important;
        position: absolute !important;
        right: 16px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 30 !important;
        width: 18px !important;
        height: 24px !important;
        align-items: center !important;
        justify-content: center !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 1 !important;
        pointer-events: none !important;
    }

    html body #mainSearchForm #filterMarkaWrap .lm-vehicle-autocomplete-arrow::before,
    html body #mainSearchForm #filterModelWrap .lm-vehicle-autocomplete-arrow::before,
    html body #mainSearchForm #filterGeneracjaWrap .lm-vehicle-autocomplete-arrow::before {
        content: "›" !important;
        color: #62738a !important;
        font-size: 24px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
    }

    html body #mainSearchForm #filterMarkaWrap::after,
    html body #mainSearchForm #filterModelWrap::after,
    html body #mainSearchForm #filterGeneracjaWrap::after {
        display: none !important;
        content: none !important;
    }

    /* Rozwinięty widok proxy: ta sama pozycja i wygląd strzałki,
       żeby po kliknięciu + Więcej filtrów strona wyglądała statycznie. */
    html body #mainSearchForm .lm-mobile-expanded-primary-v20__button::after {
        right: 16px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        color: #62738a !important;
        font-size: 24px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    /* Teksty w zwiniętym i rozwiniętym widoku mają ten sam styl.
       Nie ruszamy wymiarów kafelków. */
    html body #mainSearchForm #filterMarkaWrap .lm-filter-label,
    html body #mainSearchForm #filterModelWrap .lm-filter-label,
    html body #mainSearchForm #filterGeneracjaWrap .lm-filter-label,
    html body #mainSearchForm .lm-mobile-expanded-primary-v20__label {
        color: #142941 !important;
        font-size: 15px !important;
        line-height: 1.1 !important;
        font-weight: 900 !important;
        letter-spacing: 0 !important;
    }

    /* W stanie bez wpisywania label ma zostać w pionowym środku, jak przy proxy. */
    html body #mainSearchForm #filterMarkaWrap:not(.has-value):not(.lm-mobile-has-value-v12):not(.is-typing) .lm-filter-label,
    html body #mainSearchForm #filterModelWrap:not(.has-value):not(.lm-mobile-has-value-v12):not(.is-typing) .lm-filter-label,
    html body #mainSearchForm #filterGeneracjaWrap:not(.has-value):not(.lm-mobile-has-value-v12):not(.is-typing) .lm-filter-label {
        top: 50% !important;
        transform: translateY(-50%) !important;
    }
}

/* =========================================================
   OtoLider - mobile vehicle modal actions v33
   Tylko mobile: przyklejony dolny pasek Czyść / Wybierz
   w popupie Nadwozie / Kolor / Lakier.
   Desktop pozostaje bez zmian.
   ========================================================= */
@media (max-width: 760px) {
    html body #vehicleFilterModal.lm-vehicle-modern-modal .filter-modal-panel {
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        max-height: calc(100vh - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
        overflow: hidden !important;
    }

    html body #vehicleFilterModal.lm-vehicle-modern-modal .filter-modal-head {
        flex: 0 0 auto !important;
    }

    html body #vehicleFilterModal.lm-vehicle-modern-modal .filter-modal-panel .filter-modal-body.lm-vehicle-modern-body {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-bottom: 92px !important;
        -webkit-overflow-scrolling: touch !important;
    }

    html body #vehicleFilterModal.lm-vehicle-modern-modal .filter-modal-panel .filter-modal-body.lm-vehicle-modern-body .lm-vehicle-actions {
        position: absolute !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 20 !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        align-items: center !important;
        gap: 10px !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px)) !important;
        border-top: 1px solid #dce5ef !important;
        background: rgba(246, 248, 251, .98) !important;
        box-shadow: 0 -8px 22px rgba(21, 41, 65, .10) !important;
        backdrop-filter: blur(10px) !important;
    }

    html body #vehicleFilterModal.lm-vehicle-modern-modal .filter-modal-panel .filter-modal-body.lm-vehicle-modern-body .lm-vehicle-actions .filter-btn {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 48px !important;
        border-radius: 13px !important;
        font-size: 15px !important;
        font-weight: 950 !important;
    }
}

/* =========================================================
   OtoLider - mobile range year row v35
   Tylko mobile: Rok od / Rok do w jednej linii.
   Wersja odporna na brak klasy lm-filter-year-combined:
   łapie rodzica po dzieciach #filterRokOdWrap i #filterRokDoWrap.
   Desktop bez zmian.
   ========================================================= */
@media (max-width: 760px) {
    html body #mainSearchForm .search-grid.lm-mobile-filters-open-v12 > .field-double:has(> #filterRokOdWrap):has(> #filterRokDoWrap),
    html body #mainSearchForm .search-grid.lm-mobile-filters-open-v13 > .field-double:has(> #filterRokOdWrap):has(> #filterRokDoWrap),
    html body #mainSearchForm .search-grid .lm-extra-filters-panel > .field-double:has(> #filterRokOdWrap):has(> #filterRokDoWrap),
    html body #mainSearchForm .search-grid .field-double.lm-filter-year-combined,
    html body #mainSearchForm .search-grid .lm-filter-year-combined {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
        align-items: stretch !important;
        overflow: hidden !important;
        border-radius: 12px !important;
    }

    html body #mainSearchForm .field-double:has(> #filterRokOdWrap):has(> #filterRokDoWrap) > #filterRokOdWrap,
    html body #mainSearchForm .field-double:has(> #filterRokOdWrap):has(> #filterRokDoWrap) > #filterRokDoWrap,
    html body #mainSearchForm .lm-filter-year-combined > #filterRokOdWrap,
    html body #mainSearchForm .lm-filter-year-combined > #filterRokDoWrap {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    html body #mainSearchForm .field-double:has(> #filterRokOdWrap):has(> #filterRokDoWrap) > #filterRokOdWrap,
    html body #mainSearchForm .lm-filter-year-combined > #filterRokOdWrap {
        border-radius: 12px 0 0 12px !important;
        border-right: 1px solid rgba(205, 216, 229, .72) !important;
    }

    html body #mainSearchForm .field-double:has(> #filterRokOdWrap):has(> #filterRokDoWrap) > #filterRokDoWrap,
    html body #mainSearchForm .lm-filter-year-combined > #filterRokDoWrap {
        border-radius: 0 12px 12px 0 !important;
    }

    html body #mainSearchForm #filterRokOdWrap select,
    html body #mainSearchForm #filterRokDoWrap select,
    html body #mainSearchForm #filterRokOdWrap .ctrl,
    html body #mainSearchForm #filterRokDoWrap .ctrl {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}


/* =========================================================
   OtoLider - mobile range price row v36
   Tylko mobile: Cena od / Cena do w jednej linii,
   tak samo jak Rok od / Rok do. Desktop bez zmian.
   ========================================================= */
@media (max-width: 760px) {
    html body #mainSearchForm .search-grid.lm-mobile-filters-open-v12 > .field-double:has(> #filterCenaOdWrap):has(> #filterCenaDoWrap),
    html body #mainSearchForm .search-grid.lm-mobile-filters-open-v13 > .field-double:has(> #filterCenaOdWrap):has(> #filterCenaDoWrap),
    html body #mainSearchForm .search-grid .lm-extra-filters-panel > .field-double:has(> #filterCenaOdWrap):has(> #filterCenaDoWrap),
    html body #mainSearchForm .search-grid .field-double.lm-filter-price-combined,
    html body #mainSearchForm .search-grid .lm-filter-price-combined {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
        align-items: stretch !important;
        overflow: hidden !important;
        border-radius: 12px !important;
    }

    html body #mainSearchForm .field-double:has(> #filterCenaOdWrap):has(> #filterCenaDoWrap) > #filterCenaOdWrap,
    html body #mainSearchForm .field-double:has(> #filterCenaOdWrap):has(> #filterCenaDoWrap) > #filterCenaDoWrap,
    html body #mainSearchForm .lm-filter-price-combined > #filterCenaOdWrap,
    html body #mainSearchForm .lm-filter-price-combined > #filterCenaDoWrap {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    html body #mainSearchForm .field-double:has(> #filterCenaOdWrap):has(> #filterCenaDoWrap) > #filterCenaOdWrap,
    html body #mainSearchForm .lm-filter-price-combined > #filterCenaOdWrap {
        border-radius: 12px 0 0 12px !important;
        border-right: 1px solid rgba(205, 216, 229, .72) !important;
    }

    html body #mainSearchForm .field-double:has(> #filterCenaOdWrap):has(> #filterCenaDoWrap) > #filterCenaDoWrap,
    html body #mainSearchForm .lm-filter-price-combined > #filterCenaDoWrap {
        border-radius: 0 12px 12px 0 !important;
    }

    html body #mainSearchForm #filterCenaOdWrap select,
    html body #mainSearchForm #filterCenaDoWrap select,
    html body #mainSearchForm #filterCenaOdWrap .ctrl,
    html body #mainSearchForm #filterCenaDoWrap .ctrl {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}

/* =========================================================
   OtoLider - mobile range mileage row v37
   Tylko mobile: Przebieg od / Przebieg do w jednej linii,
   tak samo jak Rok od / Rok do oraz Cena od / Cena do.
   Desktop bez zmian.
   ========================================================= */
@media (max-width: 760px) {
    html body #mainSearchForm .search-grid.lm-mobile-filters-open-v12 > .field-double:has(> #filterPrzebiegOdWrap):has(> #filterPrzebiegDoWrap),
    html body #mainSearchForm .search-grid.lm-mobile-filters-open-v13 > .field-double:has(> #filterPrzebiegOdWrap):has(> #filterPrzebiegDoWrap),
    html body #mainSearchForm .search-grid .lm-extra-filters-panel > .field-double:has(> #filterPrzebiegOdWrap):has(> #filterPrzebiegDoWrap),
    html body #mainSearchForm .search-grid .field-double.lm-filter-mileage-combined,
    html body #mainSearchForm .search-grid .lm-filter-mileage-combined {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        gap: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
        align-items: stretch !important;
        overflow: hidden !important;
        border-radius: 12px !important;
    }

    html body #mainSearchForm .field-double:has(> #filterPrzebiegOdWrap):has(> #filterPrzebiegDoWrap) > #filterPrzebiegOdWrap,
    html body #mainSearchForm .field-double:has(> #filterPrzebiegOdWrap):has(> #filterPrzebiegDoWrap) > #filterPrzebiegDoWrap,
    html body #mainSearchForm .lm-filter-mileage-combined > #filterPrzebiegOdWrap,
    html body #mainSearchForm .lm-filter-mileage-combined > #filterPrzebiegDoWrap {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    html body #mainSearchForm .field-double:has(> #filterPrzebiegOdWrap):has(> #filterPrzebiegDoWrap) > #filterPrzebiegOdWrap,
    html body #mainSearchForm .lm-filter-mileage-combined > #filterPrzebiegOdWrap {
        border-radius: 12px 0 0 12px !important;
        border-right: 1px solid rgba(205, 216, 229, .72) !important;
    }

    html body #mainSearchForm .field-double:has(> #filterPrzebiegOdWrap):has(> #filterPrzebiegDoWrap) > #filterPrzebiegDoWrap,
    html body #mainSearchForm .lm-filter-mileage-combined > #filterPrzebiegDoWrap {
        border-radius: 0 12px 12px 0 !important;
    }

    html body #mainSearchForm #filterPrzebiegOdWrap select,
    html body #mainSearchForm #filterPrzebiegDoWrap select,
    html body #mainSearchForm #filterPrzebiegOdWrap .ctrl,
    html body #mainSearchForm #filterPrzebiegDoWrap .ctrl {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}

/* =========================================================
   OtoLider - mobile mileage labels v38
   Tylko mobile: przywraca pełne etykiety Przebieg od / Przebieg do.
   Nie rusza desktopu i nie zmienia zachowania selectów.
   ========================================================= */
@media (max-width: 760px) {
    html body #mainSearchForm #filterPrzebiegOdWrap > .lm-filter-label,
    html body #mainSearchForm #filterPrzebiegDoWrap > .lm-filter-label {
        font-size: 0 !important;
        color: transparent !important;
    }

    html body #mainSearchForm #filterPrzebiegOdWrap > .lm-filter-label::after,
    html body #mainSearchForm #filterPrzebiegDoWrap > .lm-filter-label::after {
        display: inline !important;
        color: #142941 !important;
        font-size: 14px !important;
        line-height: 1 !important;
        font-weight: 950 !important;
        white-space: nowrap !important;
    }

    html body #mainSearchForm #filterPrzebiegOdWrap > .lm-filter-label::after {
        content: "Przebieg od" !important;
    }

    html body #mainSearchForm #filterPrzebiegDoWrap > .lm-filter-label::after {
        content: "Przebieg do" !important;
    }

    html body #mainSearchForm #filterPrzebiegOdWrap.has-value > .lm-filter-label::after,
    html body #mainSearchForm #filterPrzebiegDoWrap.has-value > .lm-filter-label::after {
        color: #6a7d92 !important;
        font-size: 11px !important;
        font-weight: 850 !important;
    }
}

/* =========================================================
   OtoLider - mobile type switch v40 FLAT
   Tylko mobile: lekka belka Wszystkie / Nowe / Używane / Elektryczne
   od lewej do prawej, bez efektu chmurki/kapsuły.
   Aktywny element: delikatne tło + niebieskie podkreślenie.
   Desktop pozostaje bez zmian.
   ========================================================= */
@media (max-width: 760px) {
    html body .lm-search-actions-shell {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 10px 0 14px !important;
        margin: 0 !important;
        background: transparent !important;
        overflow: visible !important;
    }

    html body .lm-search-actions-row {
        width: min(100%, 430px) !important;
        max-width: 430px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: stretch !important;
        overflow: visible !important;
    }

    html body .lm-search-actions-tabs,
    html body .lm-search-actions-button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    html body .search-bottom.lm-filtr-szukaj {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        display: block !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    html body .search-bottom.lm-filtr-szukaj .type-switch {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        min-height: 48px !important;
        display: flex !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 0 14px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-snap-type: x proximity !important;
        scrollbar-width: none !important;
        touch-action: pan-x !important;
        background: rgba(255, 255, 255, .96) !important;
        border-top: 1px solid #dce5ef !important;
        border-bottom: 1px solid #dce5ef !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    html body .search-bottom.lm-filtr-szukaj .type-switch::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    html body .search-bottom.lm-filtr-szukaj .type-switch a {
        position: relative !important;
        flex: 0 0 auto !important;
        min-width: max-content !important;
        min-height: 48px !important;
        height: 48px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        padding: 0 18px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: #142940 !important;
        font-size: 13px !important;
        line-height: 1 !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
        text-decoration: none !important;
        box-shadow: none !important;
        scroll-snap-align: start !important;
    }

    html body .search-bottom.lm-filtr-szukaj .type-switch a::before {
        display: none !important;
        content: none !important;
    }

    html body .search-bottom.lm-filtr-szukaj .type-switch a::after {
        content: "" !important;
        position: absolute !important;
        left: 12px !important;
        right: 12px !important;
        bottom: 0 !important;
        height: 3px !important;
        display: block !important;
        border-radius: 999px 999px 0 0 !important;
        background: transparent !important;
        pointer-events: none !important;
    }

    html body .search-bottom.lm-filtr-szukaj .type-switch a.is-active {
        color: #123f8f !important;
        background: rgba(47, 99, 230, .055) !important;
    }

    html body .search-bottom.lm-filtr-szukaj .type-switch a.is-active::after {
        background: #2f63e6 !important;
    }

    html body .lm-search-actions-button .lm-search-submit-main {
        width: calc(100% - 44px) !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 48px !important;
        height: 48px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 22px !important;
        border-radius: 999px !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        box-sizing: border-box !important;
    }
}

/* =========================================================
   OtoLider - mobile promotions lazy v43
   Cel:
   - promowania mobile bez autoplay i bez odświeżania w tle,
   - Oferta dnia / Basic / Light mają podobną wielkość kart,
   - jedna karta prawie na szerokość ekranu,
   - spokojne placeholdery dla dogrywanych sekcji,
   - zwykły przycisk na listę wszystkich ogłoszeń osobowych.
   Desktop pozostaje bez zmian.
   ========================================================= */
@media (max-width: 760px) {
    html body .lm-mobile-promotions {
        padding: 14px 0 10px !important;
        background: #eef3f7 !important;
    }

    html body .lm-mobile-promo-section {
        width: min(100%, 430px) !important;
        margin: 0 auto 16px !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
    }

    html body .lm-mobile-promo-head {
        margin: 0 0 9px !important;
        padding: 0 1px !important;
    }

    html body .lm-mobile-promo-title {
        font-size: 18px !important;
        line-height: 1.15 !important;
        font-weight: 950 !important;
    }

    html body .lm-mobile-promo-counter {
        color: #617489 !important;
        font-size: 12px !important;
        font-weight: 900 !important;
    }

    html body .lm-mobile-promo-scroller {
        display: flex !important;
        gap: 10px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 2px 12px 12px !important;
        margin: 0 -12px !important;
        scrollbar-width: none !important;
    }

    html body .lm-mobile-promo-scroller::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

    html body .lm-mobile-promo-card,
    html body .lm-mobile-promo-card.lm-mobile-promo-card--offer {
        flex: 0 0 calc(100% - 22px) !important;
        min-width: 0 !important;
        max-width: none !important;
        scroll-snap-align: start !important;
        display: grid !important;
        grid-template-rows: 178px auto !important;
        border-radius: 15px !important;
        box-shadow: 0 8px 20px rgba(25, 48, 76, 0.10) !important;
    }

    html body .lm-mobile-promo-card--offer {
        border-color: #d5e0eb !important;
    }

    html body .lm-mobile-promo-body {
        padding: 11px 12px 12px !important;
        gap: 7px !important;
    }

    html body .lm-mobile-promo-name {
        font-size: 15px !important;
        line-height: 1.18 !important;
    }

    html body .lm-mobile-promo-price {
        font-size: 18px !important;
    }

    html body .lm-mobile-promo-placeholder {
        min-height: 266px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        padding: 18px !important;
        border: 1px solid #dbe5ef !important;
        border-radius: 15px !important;
        background: rgba(255, 255, 255, .82) !important;
        color: #60748b !important;
        font-size: 13px !important;
        font-weight: 850 !important;
        text-align: center !important;
        box-shadow: 0 6px 16px rgba(25, 48, 76, 0.06) !important;
    }

    html body .lm-mobile-promo-placeholder span {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 34px !important;
        padding: 0 12px !important;
        border-radius: 999px !important;
        background: #f5f8fb !important;
        border: 1px solid #dde7f0 !important;
    }

    html body .lm-mobile-all-ads-action {
        width: min(100%, 430px) !important;
        margin: 2px auto 10px !important;
        padding: 0 12px !important;
        box-sizing: border-box !important;
    }

    html body .lm-mobile-all-ads-link {
        width: 100% !important;
        min-height: 50px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        border-radius: 999px !important;
        background: #2f63e6 !important;
        color: #ffffff !important;
        font-size: 15px !important;
        font-weight: 950 !important;
        text-decoration: none !important;
        box-shadow: 0 8px 18px rgba(47, 99, 230, .22) !important;
    }

    html body .lm-mobile-all-ads-link:visited,
    html body .lm-mobile-all-ads-link:hover,
    html body .lm-mobile-all-ads-link:active {
        color: #ffffff !important;
        text-decoration: none !important;
    }
}

/* =========================================================
   OtoLider - mobile promotions card size v45
   Cel:
   - większe, spokojniejsze karty promowań na mobile,
   - jedna karta prawie na całą szerokość ekranu,
   - tylko minimalna sugestia kolejnej karty po prawej,
   - Oferta dnia / Basic / Light nadal mają ten sam rozmiar.
   Desktop bez zmian.
   ========================================================= */
@media (max-width: 760px) {
    html body .lm-mobile-promo-section {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    html body .lm-mobile-promo-head {
        padding-left: 2px !important;
        padding-right: 2px !important;
    }

    html body .lm-mobile-promo-scroller {
        gap: 8px !important;
        padding: 2px 8px 13px !important;
        margin-left: -8px !important;
        margin-right: -8px !important;
        scroll-padding-left: 8px !important;
    }

    html body .lm-mobile-promo-card,
    html body .lm-mobile-promo-card.lm-mobile-promo-card--offer {
        flex-basis: calc(100% - 8px) !important;
        grid-template-rows: 206px auto !important;
        border-radius: 16px !important;
        box-shadow: 0 9px 22px rgba(25, 48, 76, 0.11) !important;
    }

    html body .lm-mobile-promo-body {
        padding: 12px 13px 13px !important;
        gap: 8px !important;
    }

    html body .lm-mobile-promo-name {
        font-size: 16px !important;
        line-height: 1.18 !important;
    }

    html body .lm-mobile-promo-meta {
        font-size: 12px !important;
    }

    html body .lm-mobile-promo-price {
        font-size: 19px !important;
    }

    html body .lm-mobile-promo-details {
        font-size: 12px !important;
    }

    html body .lm-mobile-promo-placeholder {
        min-height: 305px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 380px) {
    html body .lm-mobile-promo-card,
    html body .lm-mobile-promo-card.lm-mobile-promo-card--offer {
        grid-template-rows: 196px auto !important;
    }

    html body .lm-mobile-promo-name {
        font-size: 15px !important;
    }

    html body .lm-mobile-promo-price {
        font-size: 18px !important;
    }
}

/* =========================================================
   OtoLider - mobile promotions no-peek v46
   Cel:
   - jedna karta promowania na szerokość widoku sekcji,
   - bez widocznego fragmentu kolejnej karty po prawej,
   - licznik 1 / 10, 1 / 40, 1 / 80 zostaje jako informacja,
   - przewijanie palcem zostaje,
   - desktop bez zmian.
   ========================================================= */
@media (max-width: 760px) {
    html body .lm-mobile-promo-scroller {
        gap: 10px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        scroll-padding-left: 8px !important;
        scroll-padding-right: 8px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
    }

    html body .lm-mobile-promo-card,
    html body .lm-mobile-promo-card.lm-mobile-promo-card--offer {
        flex: 0 0 100% !important;
        flex-basis: 100% !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        scroll-snap-align: start !important;
    }
}

/* =========================================================
   OtoLider - mobile cleanup below promotions v47
   Cel:
   - po nowych mobilnych promowaniach nie pokazujemy już starych elementów desktopowych,
   - chowamy lewy panel Ogłoszenia z sekcji Light,
   - chowamy stare kontrolki Play / strzałki / Zobacz promowania Light,
   - chowamy trzy dolne komunikaty informacyjne z dolne-komunikaty.php,
   - zostawiamy Popularne marki, Poszukiwacz i sekcję Dla firm i nie tylko.
   Desktop bez zmian.
   ========================================================= */
@media (max-width: 760px) {
    /* Stary desktopowy nagłówek i linki promowań są zastąpione przez sekcje mobilne. */
    html body.lm-home-modern .main.container > .lm-home-promoted-topline,
    html body.lm-home-modern .main.container > .lm-home-promoted-over-ads-links {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    /* Stary Basic desktopowy, bo na mobile działa już osobna sekcja Basic z JS. */
    html body.lm-home-modern #lm-basic-rotator {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    /* Stary blok Light zawiera lewy panel Ogłoszenia i kontrolki Play/strzałki.
       Na mobile zastępuje go nowa sekcja Light generowana w lm-mobile-promotions. */
    html body.lm-home-modern .section-2.lm-light-stage1-section,
    html body.lm-home-modern .main .section-2.lm-light-stage1-section,
    html body.lm-home-modern #lm-light-rotator,
    html body.lm-home-modern .lm-light-stage1-area,
    html body.lm-home-modern .lm-light-stage1-footer,
    html body.lm-home-modern .lm-light-stage1-footer-basiclike,
    html body.lm-home-modern .lm-category-sidebar {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    /* Dolne trzy komunikaty informacyjne: Poszukujesz / Sprzedajesz / Sprawdź nas.
       Na mobile nie wnoszą tyle co ogłoszenia, Poszukiwacz i sekcja firmowa. */
    html body.lm-home-modern .bottom-three {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    /* Popularne marki zostają celowo widoczne. */
    html body.lm-home-modern .lm-popular-brands-section {
        display: block !important;
        visibility: visible !important;
    }
}


/* =========================================================
   OtoLider - mobile lista ogłoszeń v1
   Plik docelowy: /web/lidermoto/assets/mobile/otolider-mobile.css

   Cel:
   - ta sama mobilna góra co na stronie głównej: topbar, pasek kategorii i uproszczona wyszukiwarka,
   - bez ruszania desktopu listy ogłoszeń,
   - lewy filtr desktopowy na telefonie jest ukryty; pełne filtrowanie zostaje w górnej wyszukiwarce,
   - karty ogłoszeń dostają tylko bezpieczne dopasowanie do szerokości telefonu.
   ========================================================= */
@media (max-width: 760px) {
    html body.lm-list-modern,
    html body.lm-mobile-listing-page {
        background: #eef3f7 !important;
    }

    html body.lm-list-modern .lm-list-search-zone {
        margin: 0 !important;
        padding: 0 !important;
        background: #eef3f7 !important;
    }

    html body.lm-list-modern .lm-list-search-zone .search-zone {
        margin: 0 !important;
        padding: 0 0 8px !important;
        background: #eef3f7 !important;
        border-top: 0 !important;
        border-bottom: 1px solid #dce4ec !important;
    }

    html body.lm-list-modern .lm-list-search-zone .search-zone .container {
        width: min(100%, 430px) !important;
        max-width: 430px !important;
        margin: 0 auto !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
    }

    /* Lista nie ma własnego hero jak strona główna, więc wyszukiwarka zaczyna się spokojnie pod paskiem kategorii. */
    html body.lm-list-modern #mainSearchForm {
        margin-top: 0 !important;
    }

    html body.lm-list-modern .lm-list-shell {
        width: min(100%, 430px) !important;
        max-width: 430px !important;
        margin: 0 auto !important;
        padding: 10px 10px 28px !important;
        box-sizing: border-box !important;
    }

    html body.lm-list-modern .lm-content-layout {
        display: block !important;
        width: 100% !important;
    }

    /* Na mobile pełne filtrowanie jest w górnej wyszukiwarce; lewy panel desktopowy wróci ewentualnie jako osobny drawer. */
    html body.lm-list-modern .lm-category-details-sidebar,
    html body.lm-list-modern .lm-category-sidebar {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    html body.lm-list-modern .lm-layout-main {
        width: 100% !important;
        min-width: 0 !important;
    }

    html body.lm-list-modern .lm-results-bar {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        margin: 8px 0 10px !important;
        align-items: stretch !important;
    }

    html body.lm-list-modern .lm-results-count {
        min-height: 32px !important;
        padding: 0 2px !important;
        color: #17314f !important;
        font-size: 13px !important;
        font-weight: 900 !important;
    }

    html body.lm-list-modern .lm-sort-select {
        width: 100% !important;
        min-height: 44px !important;
        border-radius: 12px !important;
        border: 1px solid #d4dfeb !important;
        background: #ffffff !important;
        color: #17314f !important;
        font-size: 14px !important;
        font-weight: 850 !important;
    }

    html body.lm-list-modern .lm-filter-summary {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 7px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        margin: 0 -10px 10px !important;
        padding: 0 10px 4px !important;
    }

    html body.lm-list-modern .lm-filter-summary::-webkit-scrollbar {
        display: none !important;
    }

    html body.lm-list-modern .lm-filter-summary .lm-chip,
    html body.lm-list-modern .lm-filter-summary .lm-clear {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }

    html body.lm-list-modern .lm-list-grid {
        gap: 12px !important;
    }

    html body.lm-list-modern .lm-ad-card {
        display: grid !important;
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        border-radius: 16px !important;
        border: 1px solid #d5e0eb !important;
        background: #ffffff !important;
        overflow: hidden !important;
        box-shadow: 0 8px 20px rgba(25, 48, 76, 0.10) !important;
        transform: none !important;
    }

    html body.lm-list-modern .lm-ad-card:hover {
        transform: none !important;
    }

    html body.lm-list-modern .lm-ad-photo {
        width: 100% !important;
        height: 210px !important;
        min-height: 210px !important;
        max-height: 210px !important;
        margin: 0 !important;
        border-radius: 0 !important;
        background: #dfe7ef !important;
    }

    html body.lm-list-modern .lm-ad-photo img,
    html body.lm-list-modern .lm-ad-photo-placeholder {
        width: 100% !important;
        height: 210px !important;
        min-height: 210px !important;
        max-height: 210px !important;
        object-fit: cover !important;
    }

    html body.lm-list-modern .lm-badge-stack {
        left: 10px !important;
        top: 10px !important;
        gap: 6px !important;
    }

    html body.lm-list-modern .lm-badge {
        min-height: 24px !important;
        padding: 0 9px !important;
        border-radius: 999px !important;
        font-size: 11px !important;
        line-height: 1 !important;
    }

    html body.lm-list-modern .lm-ad-main {
        padding: 11px 12px 12px !important;
        display: grid !important;
        gap: 9px !important;
    }

    html body.lm-list-modern .lm-ad-title {
        color: #0b559c !important;
        font-size: 17px !important;
        line-height: 1.18 !important;
        font-weight: 950 !important;
        white-space: normal !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    html body.lm-list-modern .lm-spec-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        overflow: visible !important;
    }

    html body.lm-list-modern .lm-spec-item {
        min-width: 0 !important;
        padding: 7px 8px !important;
        border-radius: 10px !important;
        background: #f5f8fb !important;
        white-space: normal !important;
    }

    html body.lm-list-modern .lm-spec-item span {
        color: #6a7b8c !important;
        font-size: 10px !important;
        line-height: 1.1 !important;
        margin-bottom: 3px !important;
    }

    html body.lm-list-modern .lm-spec-item strong {
        color: #152941 !important;
        font-size: 12px !important;
        line-height: 1.15 !important;
        font-weight: 900 !important;
    }

    html body.lm-list-modern .lm-ad-bottom {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 9px !important;
        min-height: 0 !important;
        align-items: start !important;
    }

    html body.lm-list-modern .lm-price-line {
        gap: 6px !important;
    }

    html body.lm-list-modern .lm-price {
        color: #0d1724 !important;
        font-size: 21px !important;
        line-height: 1.05 !important;
    }

    html body.lm-list-modern .lm-location {
        max-width: 100% !important;
        color: #5f7084 !important;
        font-size: 12px !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        margin-top: 2px !important;
    }

    html body.lm-list-modern .lm-card-actions {
        display: grid !important;
        grid-template-columns: 1fr 44px !important;
        gap: 8px !important;
        justify-content: stretch !important;
        width: 100% !important;
    }

    html body.lm-list-modern .lm-btn {
        min-height: 42px !important;
        border-radius: 12px !important;
        background: #eef4fb !important;
        color: #20496d !important;
        font-size: 13px !important;
        font-weight: 900 !important;
    }

    html body.lm-list-modern .lm-btn-icon {
        width: 44px !important;
        height: 42px !important;
        min-height: 42px !important;
        border-radius: 12px !important;
        background: #17314f !important;
        color: #ffffff !important;
        font-size: 17px !important;
    }

    html body.lm-list-modern .lm-pagination {
        margin-top: 16px !important;
        gap: 7px !important;
    }

    html body.lm-list-modern .lm-pagination a,
    html body.lm-list-modern .lm-pagination span {
        min-width: 40px !important;
        min-height: 40px !important;
        border-radius: 12px !important;
    }
}

/* =========================================================
   OtoLider - mobile ogłoszenie v1
   Cel:
   - tylko mobilny topbar na stronie pojedynczego ogłoszenia,
   - ukrycie starego paska desktopowego na telefonie,
   - ukrycie widoku porównywarki na mobile bez usuwania mechanizmu PHP/JS,
   - bez ingerencji w galerię, cenę, parametry i kontakt.
   ========================================================= */

@media (max-width: 760px) {
    body.lm-mobile-ad-view.lm-mobile-header-ready .topbar,
    body.lm-mobile-ad-view.lm-mobile-header-ready .topbar-fallback,
    body.lm-mobile-ad-view.lm-mobile-header-ready .lm-sticky-userbar,
    body.lm-mobile-ad-view.lm-mobile-header-ready .lm-userbar,
    body.lm-mobile-ad-view.lm-mobile-header-ready .lm-business-public-topbar {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    body.lm-mobile-ad-view [data-lm-topbar-compare-link],
    body.lm-mobile-ad-view [data-lm-topbar-compare-label],
    body.lm-mobile-ad-view [data-compare-toggle],
    body.lm-mobile-ad-view .lm-small-action[data-compare-toggle] {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.lm-mobile-ad-view .lm-page {
        padding-top: 10px !important;
    }

    body.lm-mobile-ad-view .lm-mobile-topbar {
        display: block !important;
    }

    body.lm-mobile-ad-view .lm-mobile-drawer-links a[data-mobile-compare-link] {
        display: none !important;
    }
}



/* =========================================================
   OtoLider - mobile ogłoszenie v4
   Porządek menu i porównywarki tylko w wersji mobilnej.
   Bez zmian desktopu i bez zmian PHP.
   ========================================================= */

@media (max-width: 760px) {
    body.lm-mobile-ad-view .lm-mobile-compare-hidden,
    body.lm-mobile-ad-view [data-compare-toggle],
    body.lm-mobile-ad-view [data-lm-topbar-compare-link],
    body.lm-mobile-ad-view [data-lm-topbar-compare-label],
    body.lm-mobile-ad-view .lm-small-action[data-compare-toggle],
    body.lm-mobile-ad-view .lm-compare-link,
    body.lm-mobile-ad-view .lm-compare-btn,
    body.lm-mobile-ad-view .lm-ad-compare,
    body.lm-mobile-ad-view .compare-link,
    body.lm-mobile-ad-view .compare-button,
    body.lm-mobile-ad-view .compare-btn {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body.lm-mobile-ad-view .lm-mobile-drawer[data-mobile-source="ad-view"] .lm-mobile-drawer-links {
        padding-top: 10px !important;
    }

    body.lm-mobile-ad-view .lm-mobile-drawer[data-mobile-source="ad-view"] .lm-mobile-drawer-links a.lm-mobile-drawer-add {
        order: -10 !important;
        min-height: 46px !important;
        margin: 0 0 10px !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 12px !important;
        background: #c91f2f !important;
        color: #ffffff !important;
        font-size: 15px !important;
        font-weight: 950 !important;
        box-shadow: 0 6px 16px rgba(201, 31, 47, 0.20) !important;
    }

    body.lm-mobile-ad-view .lm-mobile-drawer[data-mobile-source="ad-view"] .lm-mobile-drawer-links a.lm-mobile-drawer-add:visited,
    body.lm-mobile-ad-view .lm-mobile-drawer[data-mobile-source="ad-view"] .lm-mobile-drawer-links a.lm-mobile-drawer-add:hover,
    body.lm-mobile-ad-view .lm-mobile-drawer[data-mobile-source="ad-view"] .lm-mobile-drawer-links a.lm-mobile-drawer-add:active {
        color: #ffffff !important;
        text-decoration: none !important;
    }
}


/* =========================================================
   OtoLider - mobile shell v1
   Wspólne zasady mobilnej powłoki portalu.
   ========================================================= */
@media (max-width: 760px) {
    html.lm-mobile-menu-open,
    html.lm-mobile-menu-open body {
        overflow: hidden !important;
        touch-action: none !important;
    }

    body.lm-mobile-shell-ready .lm-mobile-topbar[data-mobile-source="shell"] {
        display: block !important;
    }

    body.lm-mobile-shell-ready .lm-mobile-drawer[data-mobile-source="shell"] .lm-mobile-drawer-links {
        padding-top: 10px !important;
    }

    body.lm-mobile-shell-ready .lm-mobile-drawer[data-mobile-source="shell"] .lm-mobile-drawer-links a.lm-mobile-drawer-add {
        order: -10 !important;
        min-height: 46px !important;
        margin: 0 0 10px !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 12px !important;
        background: #c91f2f !important;
        color: #ffffff !important;
        font-size: 15px !important;
        font-weight: 950 !important;
        box-shadow: 0 6px 16px rgba(201, 31, 47, 0.20) !important;
    }

    body.lm-mobile-shell-ready .lm-mobile-drawer[data-mobile-source="shell"] .lm-mobile-drawer-links a.lm-mobile-drawer-add:visited,
    body.lm-mobile-shell-ready .lm-mobile-drawer[data-mobile-source="shell"] .lm-mobile-drawer-links a.lm-mobile-drawer-add:hover,
    body.lm-mobile-shell-ready .lm-mobile-drawer[data-mobile-source="shell"] .lm-mobile-drawer-links a.lm-mobile-drawer-add:active {
        color: #ffffff !important;
        text-decoration: none !important;
    }

    body.lm-mobile-shell-ready .lm-mobile-drawer[data-mobile-source="shell"] .lm-mobile-drawer-links a[href*="porown"],
    body.lm-mobile-shell-ready .lm-mobile-drawer[data-mobile-source="shell"] .lm-mobile-drawer-links a[href*="compare"] {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/* =========================================================
   OtoLider - mobile ogłoszenie: galeria przesuwana palcem v1
   Marker: OTOLIDER_MOBILE_AD_GALLERY_SWIPE_V1_20260610

   Zakres:
   - tylko mobile,
   - desktop bez zmian,
   - główne strzałki galerii ukryte na telefonie,
   - miniatury zostają przesuwane palcem,
   - JS obsługuje swipe na głównym zdjęciu.
   ========================================================= */
@media (max-width: 760px) {
    html body.lm-mobile-ad-view .lm-main-photo {
        touch-action: pan-y !important;
        overscroll-behavior-x: contain !important;
        cursor: grab !important;
    }

    html body.lm-mobile-ad-view .lm-main-photo.is-mobile-swiping {
        cursor: grabbing !important;
    }

    html body.lm-mobile-ad-view .lm-main-photo-arrow {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    html body.lm-mobile-ad-view .lm-thumbs-shell {
        grid-template-columns: minmax(0, 1fr) !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    html body.lm-mobile-ad-view .lm-thumbs-arrow {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    html body.lm-mobile-ad-view .lm-thumbs-row {
        padding-left: 2px !important;
        padding-right: 2px !important;
        scrollbar-width: none !important;
        -webkit-overflow-scrolling: touch !important;
        scroll-snap-type: x proximity !important;
    }

    html body.lm-mobile-ad-view .lm-thumbs-row::-webkit-scrollbar {
        display: none !important;
    }
}
